summaryrefslogtreecommitdiffstats
path: root/src/fastd.c
AgeCommit message (Collapse)Author
2015-03-22Rename tuntap to iface to match struct nameMatthias Schiffer
2015-03-22First work towards multi-interface supportMatthias Schiffer
2015-03-22Refactor poll APIMatthias Schiffer
2015-01-20Implement new hash table to keep track of unknown peers handshakes have been ↵Matthias Schiffer
sent to This should significantly reduce the number of handshakes sent after restarting fastd with many active connections.
2015-01-14Refactor handling of platforms without user/group settings (Android)Matthias Schiffer
2015-01-14Update copyright yearsMatthias Schiffer
2015-01-14Add Android 4.1+ support. See doc/README-Android.md for build HOWTO.Rick Lei
* Update CMake files to work with android-cmake * Use unix domain socket for communicating with Android GUI * May also run standalone but requires rooted Android device
2015-01-14Reset all connections on SIGUSR2Matthias Schiffer
2014-09-15status: add uptime and established timesMatthias Schiffer
2014-09-06Fix async command waitpid error handling (again...)Matthias Schiffer
2014-09-05Add status socket to get the current status as JSONMatthias Schiffer
2014-09-04Support dynamic binds with extra options (interface binds, specific ↵Matthias Schiffer
addresses...)
2014-09-01Remove old state dump featureMatthias Schiffer
It will be replaced by a nicer version.
2014-08-24Coding style: always add a space between a pointer's type and the *Matthias Schiffer
2014-08-24Use simple int64_t timestamps in ms instead of timespecsMatthias Schiffer
2014-08-24Fix waitpid EINTR error on SIGCHLDMatthias Schiffer
waitpid may fail with EINTR for SIGCHLD even when all signals are blocked.
2014-08-24Merge peer config into peer structureMatthias Schiffer
With this refactoring, the structure fastd_peer_config_t is merged into fastd_peer_t, and fastd_remote_config_t into fastd_remote_t. This also means we now create peers directly when reading their configurations, which significantly simplifies the whole reload process, and prepares for some future optimizations like a key hash table. Note: This commit is too big, but I couldn't come up with a nice way to split it into smaller pieces...
2014-08-22Remove VECTOR_ALLOCMatthias Schiffer
It is done automatically now if the VECTOR is zeroed before.
2014-08-19Create peer structures for disabled peers as wellMatthias Schiffer
We have a 1:1 association between peers and peer configs now.
2014-08-18Unify enabled and dynamic flags into a config_state flagMatthias Schiffer
2014-08-18Rename WITH_VERIFY CMake option to WITH_DYNAMIC_PEERSMatthias Schiffer
2014-08-18peer: add a flag `dynamic' instead of checking the config field for NULLMatthias Schiffer
2014-08-18Rename "temporary peers" to "dynamic peers"Matthias Schiffer
2014-08-09Move fastd_config_t.peers to fastd_context_t.peer_configsMatthias Schiffer
2014-08-02Encapsulate semaphore handlingMatthias Schiffer
2014-08-02Introduce and use alloc helpersMatthias Schiffer
These new helpers will terminate fastd on allocation failures and add some additional convenience (allow strdup with NULL; typesafe new(type) macros).
2014-08-01Use srandom/random instead of rand_rMatthias Schiffer
There's no need to keep our own seed.
2014-06-14Limit the number of concurrent on-verify runsMatthias Schiffer
2014-06-05Simplify systemd notify socket handlingMatthias Schiffer
2014-06-03Create threads in detached stateMatthias Schiffer
2014-05-31dump_state(): used unsigned instead of size_t to ensure correct variadic ↵Matthias Schiffer
function call
2014-05-31Fix dump_state()Matthias Schiffer
2014-05-31Fix poll race condition on *BSDMatthias Schiffer
2014-05-31More signal handling fixesMatthias Schiffer
2014-05-31Fix blocking signals...Matthias Schiffer
2014-05-31Remove EINTR handling where signals are blocked anywaysMatthias Schiffer
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.