summaryrefslogtreecommitdiff
path: root/nslcd_server
AgeCommit message (Collapse)Author
2017-12-18use contexts for loggingLuke Shumaker
2017-12-18nslcd_{server,systemd}: BREAKING CHANGE: use contextsLuke Shumaker
2017-12-18type_nilbackend.go.gen: use variables to shorten crazy-long lineLuke Shumaker
2017-12-18nslcd_server: respect all values if limits.Timeout < limits.ReadTimeout + ↵Luke Shumaker
limits.WriteTimeout If Timeout : 3s ReadTimeout : 2s WriteTimeout : 2s Then before the effective total Timeout was 2s+2s=4s. That is wrong. It should only be that the Write phase gets to use the full 2s if the Read phase uses <= 1s.
2017-09-08nslcd_server: Add a request size limitLuke Shumaker
2017-09-08nslcd_{server,systemd}: FIX, BREAKING CHANGE: add limitsLuke Shumaker
Added types: nslcd_server: type Limits struct { ...} nslcd_server: type Conn interface{ ... } // a subset of net.Conn nslcd_server.HandleRequest() signature change: -func HandleRequest(backend Backend, in io.Reader, out io.Writer, cred unix.Ucred) (err error) { +func HandleRequest(backend Backend, limits Limits, conn Conn, cred unix.Ucred) (err error) { The `limits Limits` argument is added, and `conn Conn` replaces `in io.Reader` and `out io.Writer`. nslcd_systemd.Main() signature change: -func Main(backend Backend) uint8 { +func Main(backend Backend, limits nslcd_server.Limits) uint8 { The `limits Limits` argument is added.
2017-09-08nslcd_server: FIX: HandleRequest(): error handlingLuke Shumaker
Instead of having a separate channel+goroutine for the backend, just call .Write() right where we get results from the backend, but don't let an error cause us to stop reading from the backend, an error should just cause us to stop writing. This ensures that the backend now always has its output chan drained; before if there were a write error, the backend chan wouldn't get drained, and the resources never released.
2017-09-08nslcd_proto: BREAKING CHANGE: Rethink the panic strategyLuke Shumaker
nslcd_proto.Read() and .Write() panic() with any errors that they may need to emit. This made composition really simple, I was OK with it being against the normal Go style. But, I'm not happy with it anymore; have them return errors now. This leads us in to nslcd_server.HandleRequest() using those panics for control flow. Add a maybePanic(error) function to wrap all of the proto.Read() and proto.Write() calls to restore the panicing behavior.
2017-09-04add canonical import pathsLuke Shumaker
2017-09-03nslcd_systemd: whoops, missed one of the dead assignmentsLuke Shumaker
2017-05-12Have the Makefile be AutoThing friendly.Luke Shumaker
While it mostly played nice with autothing before, by having autothing treat `go generate` as an opaque step, it didn't populate `files.src.gen`.
2017-01-14Rename packages: lukeshu.com/git/go/*.git -> git.lukeshu.com/go/*Luke Shumaker
2017-01-02Tidy: make a private var const instead of varLuke Shumaker
2017-01-01tidy MakefilesLuke Shumaker
2016-12-19Use x/sys/unix instead of the deprecated syscall. BREAKING CHANGE.Luke Shumaker
This is just a search/replace s/syscall/unix/g in the broken code.
2016-12-18Rename packages to make goimports happy. BREAKING CHANGE.Luke Shumaker