summaryrefslogtreecommitdiffstats
path: root/src/fastd.c
AgeCommit message (Collapse)Author
2014-05-31Unblock signals only during poll/epoll waitMatthias Schiffer
If signals are normally blocked, we can avoid a lot of EINTR handling.
2014-05-31Make log levels verbose and info more usefulMatthias Schiffer
2014-05-31Split main functionMatthias Schiffer
init() is still a bit long, but much better than before.
2014-05-31Fix signal handling racesMatthias Schiffer
2014-05-29Document *everything*Matthias Schiffer
2014-05-29Simplify configuration of cipher and MAC implementationsMatthias Schiffer
Let the cipher and MAC handlers just store the chosen implementations themselves instead of relying on the global configuration.
2014-05-25Unify fastd_peer_group_t and fastd_peer_group_config_t into a single structureMatthias Schiffer
2014-05-25Completely document fastd.hMatthias Schiffer
2014-05-25Make a few struct fields that are not supposed to be changed defines insteadMatthias Schiffer
2014-05-23Implement a different fix for the waitpid race condition not needing a ↵Matthias Schiffer
reaper thread for each child
2014-05-23Revert "Fix waitpid race condition"Matthias Schiffer
This reverts commit 47d84679d6fe71f56d3a013578007dff92ff72db.
2014-05-22Clean up fastd.c includesMatthias Schiffer
2014-05-22Move fastd_handle_receive() to receive.cMatthias Schiffer
2014-05-22Fix waitpid race conditionMatthias Schiffer
Doing a waitpid for all processes in the SIGCHLD handler could sometimes steal a signal from a fastd_shell_command_exec_sync call. To fix this, don't reap the children in the SIGCHLD handler anymore, but create a reaper thread for each asynchronous shell command.
2014-05-05Make systemd support optional againMatthias Schiffer
2014-05-01Remove support for log filesMatthias Schiffer
syslog/journald do a much better job at organizing logs, with the additional advantage of proper log rotation. If someone really wants to have a log file for fastd, they can just redirect stderr.
2014-04-30Remove now unneeded FD_CLOEXEC flag configMatthias Schiffer
2014-04-30shell: close all fds > 2 after forkingMatthias Schiffer
socket/fcntl to set FD_CLOEXEC isn't thread-safe with async verify handlers, and SOCK_CLOEXEC isn't portable.
2014-04-29Fold fastd_open_pipe into fastd_async_init, simpify fastd_setfl and ↵Matthias Schiffer
fastd_setfd and move to fastd.h
2014-04-28More daemonize cleanupMatthias Schiffer
2014-04-28Fix socketpair error messageMatthias Schiffer
2014-04-28Simpilify daemonizeMatthias Schiffer
2014-04-26Revise shell command APIMatthias Schiffer
2014-04-25Move around some codeMatthias Schiffer
2014-04-25Remove ref-counting on remotesMatthias Schiffer
Now that peers have a peer id we can use that to specify a peer in a resolve return. As the remote list of a peer doesn't change without the peer id changing, instead of taking a remote ref we can just use the peer id and remote index.
2014-04-25fastd_peer_claim_address: add parameter to allow claiming addresses of ↵Matthias Schiffer
established peers
2014-04-24Always use size_t for countersMatthias Schiffer
2014-04-23Use socketpair instead of pipe for internal message pipesMatthias Schiffer
While pipe2 recently got O_DIRECT on Linux, we'll just use SOCK_DGRAM to stay portable, and get proper handling of full queues.
2014-04-21Remove vector of new temporary peersMatthias Schiffer
The new poll code has made this second peer list obsolete.
2014-04-20Make ctx globalMatthias Schiffer
2014-04-20Make conf globalMatthias Schiffer
2014-04-19Keep peers in a hash table to allow fast address lookupsMatthias Schiffer
2014-04-19Keep a vector of pollfds instead of regenerating it all the timeMatthias Schiffer
2014-04-19Store peers as vectors of pointers instead of linked listsMatthias Schiffer
2014-04-19Make eth_addrs a vectorMatthias Schiffer
2014-04-19Fix handling of new temporary peersMatthias Schiffer
2014-04-19Optimize maintenance routine (and don't run it more often than necessary)Matthias Schiffer
2014-04-18Fix zombie process cleanupMatthias Schiffer
2014-04-18Clean up shell command handlingMatthias Schiffer
2014-04-11Improve shell command config handlingMatthias Schiffer
2014-04-10Move handling of resolve returns requests to a new source fileMatthias Schiffer
2014-03-25Don't depend on libsystemd-daemon for systemd integration, always use ↵Matthias Schiffer
systemd integration on Linux
2014-03-20Flood forwarded unicast frames the same way as locally generated onesMatthias Schiffer
2014-03-20Flood unicasts for unknown addressesMatthias Schiffer
2014-03-14Adjust copyright yearsMatthias Schiffer
2014-03-13Better systemd integration (enable with ENABLE_SYSTEMD cmake flag)Matthias Schiffer
2014-03-13Rename USE_LIBSODIUM and USE_OPENSSL cmake flags to ENABLE_LIBSODIUM and ↵Matthias Schiffer
ENABLE_OPENSSL
2014-03-10Make --verify-config option more flexibleMatthias Schiffer
2014-03-10Add --verify-config optionMatthias Schiffer
2014-01-26Switch to the new timeout helpers where possibleMatthias Schiffer