summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-09-12gofmt, use make(chan) without a number argument where possibleLuke Shumaker
2015-09-12Derp, channels and goroutines are enumeratorsLuke Shumaker
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-12inotify: fix the type of the Init1 flagsLuke Shumaker
2015-09-12hackers_watch: fix double-lock errorLuke Shumaker
2015-09-12woops, remove cruft from inotify changeLuke Shumaker
2015-09-11fix several all*Enumerator initializersLuke Shumaker
2015-09-11nslcd_systemd: set up the signal handlers earlierLuke 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-07Disable the nss ldap module for our process (include bindings for libdl)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-05fix nslcd_proto IOLuke Shumaker
2015-09-05The way nslcd_proto's GenericGetNext was designed, nil checks didn't workLuke Shumaker
2015-09-05nslcd_proto.handleRequest had a check backwardsLuke 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-03nslcd_proto/io.go: Derp, the end of the switch block absolutely is reachedLuke Shumaker
2015-09-03Use a defer/recover block to have the exit status on panic match LSB.Luke Shumaker
2015-09-03Fix a race condition: WaitGroup.Add() should be called before "go"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-03remove stray newlineLuke Shumaker
2015-09-03fix the nslcd_proto.Ucred definitionLuke Shumaker
2015-09-03fix bugs in code calling inotifyLuke Shumaker
2015-09-03tidyLuke Shumaker
2015-09-03Fix issues in inotify bindingsLuke Shumaker
2015-09-03fix sd_daemon/logger arg passingLuke 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