summaryrefslogtreecommitdiff
path: root/src/nshd/hackers_git
AgeCommit message (Collapse)Author
2015-09-12Clean up log messagesLuke Shumaker
2015-09-12Add an inotify watcher utility using channels; use it.Luke Shumaker
The interface of inotify/inutil.Watcher more resembles golang.org/x/exp/inotify; with it using channels instead of repeated calls to Read(). In my use-case, this is useful because it allows implementing a "read" (select, really) that doesn't block Close(); which is required to handle the TERM signal correctly.
2015-09-12hackers_watch: fix double-lock errorLuke Shumaker
2015-09-11fix several all*Enumerator initializersLuke Shumaker
2015-09-11tidyLuke Shumaker
2015-09-11Have nslcd_systemd manage the backend lifecycleLuke Shumaker
2015-09-08I am dumb, fix inotify bindingsLuke Shumaker
2015-09-08oopsLuke Shumaker
2015-09-07implement db_groupLuke Shumaker
2015-09-07clean upLuke Shumaker
2015-09-07Pull the mucking with getgrnam into a getgr package.Luke Shumaker
2015-09-07clean up gofmt differencesLuke Shumaker
2015-09-07manage each users list of groups as a set instead of a listLuke Shumaker
2015-09-05track group membershipLuke Shumaker
2015-09-05minor tidy upLuke Shumaker
2015-09-05hackers_git:parse_user_yaml(): prune duplicate group namesLuke Shumaker
2015-09-05clean up load_yaml_file loggingLuke Shumaker
2015-09-05tidy up hackers_gitLuke Shumaker
2015-09-05inotify: Avoid most of the race conditions, get rid of CintLuke Shumaker
There's still a condition that could be a race with fd-reuse, if one goroutine is calling inotify.{AddWatch,RmWatch,Read}(); another goroutine is calling inotify.Close(), and several things happen between loadFd() running and the add_watch/rm_watch/read syscall launching: - syscall.Close() returns - syscall.Open() reuses the filedescriptor A B syscall(loadFd()) inotify.Close(); syscall.Open() ---------------------------------------------------------- loadFd() syscall.Close() syscall.Open() syscall() Given that Read() can't be allowed to block Close() from running, I'm not sure there's a way to fix this.
2015-09-05The way nslcd_proto's GenericGetNext was designed, nil checks didn't workLuke Shumaker
2015-09-05error handling fixesLuke Shumaker
2015-09-05nslcd_h: each of the custom types should have kind==struct, to make io easyLuke Shumaker
2015-09-05clean up loggingLuke Shumaker
2015-09-04fix filename2uid()Luke Shumaker
2015-09-04fix password loadingLuke Shumaker
2015-09-03Use a defer/recover block to have the exit status on panic match LSB.Luke Shumaker
2015-09-03The comment at the bottom of hackers_watch.go was wrong; fix the race.Luke Shumaker
The actual determinant was this race main worker ------------------- Close() Read() Exit() If Read() returned between when Close() happened and when Exit() happened, then the code ran. It doesn't *really* matter if the code runs, but for predictability, set up a wait group to have Close() block until the worker exits.
2015-09-03fix bugs in code calling inotifyLuke Shumaker
2015-09-03tidyLuke Shumaker
2015-09-03Fix issues in inotify bindingsLuke Shumaker
2015-09-03Use systemd/lsb exit codes, consistentlyLuke Shumaker
2015-09-02clean up formattingLuke Shumaker
2015-09-02Implement all of hackers.git, except the group DBLuke Shumaker
2015-09-02Clean upLuke Shumaker
2015-09-02Turn on C warnings/errorsLuke Shumaker
2015-09-01Finish the hackers.git parserLuke Shumaker
2015-09-01fix formattingLuke Shumaker
2015-08-29roll sleeves up, do actual yaml the hard wayLuke Shumaker
2015-08-29stuffLuke Shumaker
2015-08-28Clean up, based on making godoc slightly more readableLuke Shumaker
2015-08-28implement hackers_watchLuke Shumaker
2015-08-28switch to my own inotify bindings, the golang.org/x/exp bindings are crapLuke Shumaker
2015-08-27wipLuke Shumaker
2015-08-27wipLuke Shumaker