Commit Graph
100 Commits
Author SHA1 Message Date
Ian Gulliver d5da4fd9d6 Actually parsing packets 2016-03-10 17:59:24 -08:00
Ian Gulliver 31392f48b9 More input parsing 2016-03-10 17:54:32 -08:00
Ian Gulliver 3cea6ea262 Read input from stdin, push to stderr. Baby's first go 2016-03-10 17:07:44 -08:00
Ian Gulliver a85582ad1e Add go proto build rule 2016-03-10 16:48:28 -08:00
Ian Gulliver 2d1b4919b3 Start of a websocket server. 2016-03-10 16:17:47 -08:00
Ian Gulliver 62fce4fa70 Fix port 2016-03-10 11:38:01 -08:00
Ian Gulliver 89bbc645af Remove AI_ADDRCONFIG, since the netlink socket is missing CLOEXEC and gets inherited by children. 2016-03-10 11:09:58 -08:00
Ian Gulliver acd5ca6b31 Add script for running stutterfuzz 2016-03-09 21:48:54 -08:00
Ian Gulliver af024f5115 Bring back the format lists in --help 2016-03-09 21:16:59 -08:00
Ian Gulliver 88c40641bd Use SIGCHLD, setpgid(), etc. for normal child handling, instead of being fancy. 2016-03-09 20:20:12 -08:00
Ian Gulliver 5056380bd4 Get the exec children back in our progress group/session, and unblock signals to them. 2016-03-09 18:40:29 -08:00
Ian Gulliver 94744ef96f Account for the possibility of stderr not being open when we start. 2016-03-09 18:28:46 -08:00
Ian Gulliver 689bfc7939 Open stdin and stdout to something if they don't arrive open, or bad things happen. 2016-03-09 18:28:00 -08:00
Ian Gulliver 8316739941 Move stdin/out handling entirely into stdinout.c 2016-03-09 18:07:09 -08:00
Ian Gulliver 8898142c97 Show capabilities on startup. 2016-03-09 18:00:22 -08:00
Ian Gulliver 374ff1208b Remaining afl-fuzz output. 2016-03-09 14:38:20 -08:00
Ian Gulliver 318667060a Plaintext additional afl-fuzz inputs. 2016-03-09 14:07:49 -08:00
Ian Gulliver 29fbf5e39e Merge branch 'master' of github.com:flamingcowtv/adsb-tools 2016-03-09 13:29:41 -08:00
Ian Gulliver bff0e1f22f Start of afl-fuzz test cases. 2016-03-09 13:29:28 -08:00
Ian Gulliver e03abd4f74 Add --pid-file 2016-03-09 13:15:15 -08:00
Ian Gulliver cf923fe3fb Add --quiet 2016-03-09 13:10:07 -08:00
Ian Gulliver 87f82b0327 Keep fd 2 open as our log fd, so other things that write there (e.g. assert()) work sanely. 2016-03-09 13:06:26 -08:00
Ian Gulliver fc14de31ff Only grab SIGHUP if we can do something with it. 2016-03-09 12:55:21 -08:00
Ian Gulliver 7167c080a2 Log pre-fork process ID. 2016-03-08 23:19:21 -08:00
Ian Gulliver 62ee0a690c More startup debug info. 2016-03-08 23:17:26 -08:00
Ian Gulliver b455826db2 Switch to signalfd for SIGHUP 2016-03-08 23:04:20 -08:00
Ian Gulliver c0c25bd36a Clean up wakeup teardown. 2016-03-08 22:42:15 -08:00
Ian Gulliver 9f5a6223bf Fix shutdown for lack of input/output. 2016-03-08 22:30:55 -08:00
Ian Gulliver e885723c59 Use signalfd to handle SIGINT and SIGTERM shutdown. 2016-03-08 22:26:04 -08:00
Ian Gulliver ba13ebbe5c deheader 2016-03-08 22:00:08 -08:00
Ian Gulliver b915f38dca Switch out custom wakeup system for timerfd. 2016-03-08 21:53:57 -08:00
Ian Gulliver 3985182304 Stop relying on struct ordering and packing for peer. 2016-03-08 20:47:22 -08:00
Ian Gulliver d39cd62991 Cleanup how we cast and close peers. 2016-03-08 20:41:00 -08:00
Ian Gulliver cd302a1746 Move FORMAT parsing into send code. 2016-03-08 12:22:46 -08:00
Ian Gulliver d5eb4a919e Initialize server before resolve, since server forks and resolve starts a thread. 2016-03-08 11:28:21 -08:00
Ian Gulliver e5af92c331 Add --detach. Add multi-pass flag parsing that lets us get things in the right order. 2016-03-08 11:26:39 -08:00
Ian Gulliver 70ac401a23 Add missing help 2016-03-07 21:42:51 -08:00
Ian Gulliver eb89dafd0d Add --log-timestamps 2016-03-07 20:12:35 -08:00
Ian Gulliver 3bcc2b43ba Log more debug data. 2016-03-07 17:38:18 -08:00
Ian Gulliver 31bb8f2a95 Remove version.h on make clean 2016-03-07 17:18:51 -08:00
Ian Gulliver b7de1adca2 Start to generate version.h 2016-03-07 17:18:23 -08:00
Ian Gulliver 3ef52b16b5 Log file and line number. 2016-03-07 17:08:36 -08:00
Ian Gulliver b434b67dd8 Switch to LOG macro 2016-03-07 17:02:24 -08:00
Ian Gulliver 602c6f729b Add log rotation on SIGHUP 2016-03-07 16:14:35 -08:00
Ian Gulliver ff4f4da608 deheader cleanup 2016-03-07 15:19:00 -08:00
Ian Gulliver db271db748 Switch from pipe to socketpair for consistency. 2016-03-07 14:52:10 -08:00
Ian Gulliver 46696933aa Add --log-file 2016-03-07 11:26:25 -08:00
Ian Gulliver 51eaabe27a Format attributes go in the header, and I are dumb. 2016-03-06 22:08:04 -08:00
Ian Gulliver ca754a817e Cleaner logging of child output 2016-03-06 18:57:37 -08:00
Ian Gulliver c7e1754239 Capture & log child output, rather than sharing our stderr with them. 2016-03-06 18:50:15 -08:00
Ian Gulliver 352d14935f Fix leak & logic error in send/receive connections. 2016-03-06 18:49:41 -08:00
Ian Gulliver 6480a960fa Switch to standard logging framework 2016-03-05 22:54:26 -08:00
Ian Gulliver 06e73e2319 stutterfuzz: Fix crash when shutdown() returns ENOTCONN 2016-03-04 19:17:15 -08:00
Ian Gulliver 746379aee5 Treat SIGTERM like SIGINT 2016-03-04 13:02:43 -08:00
Ian Gulliver 9c1fad10a9 Mention hop limits. 2016-03-03 22:03:31 -08:00
Ian Gulliver 94562acd07 Need to regenerate test cases. Rename files, add new proto and json. 2016-03-03 22:02:16 -08:00
Ian Gulliver 45abe06467 Add hop limit to json and proto formats. 2016-03-03 22:00:02 -08:00
Ian Gulliver 455bee2676 Use some magic devices to prevent users hurting themselves with --file-read=/dev/stdin as we re-use fd 0 2016-03-03 21:27:16 -08:00
Ian Gulliver c101642f89 Style 2016-03-03 21:13:50 -08:00
Ian Gulliver e8a4c55111 Add send+receive and character devices 2016-03-03 21:13:17 -08:00
Ian Gulliver 939b3b1851 Add send-receive channels 2016-03-03 18:28:34 -08:00
Ian Gulliver 77b9decbcd Make send_get_hello public, so we can use it in send_receive 2016-03-02 22:30:45 -08:00
Ian Gulliver 2f6db632b2 Get everyone out of flow's business. 2016-03-02 22:25:56 -08:00
Ian Gulliver e62b84e4e8 Add a peer_count_out_in 2016-03-02 22:10:55 -08:00
Ian Gulliver eaf213f3c0 Set TCP_USERTIMEOUT even on send sockets, to detect stuck processes on the other end. 2016-03-02 22:07:48 -08:00
Ian Gulliver 10ba451458 Move more socket options into the flow framework. 2016-03-02 21:51:30 -08:00
Ian Gulliver 91775999d8 Rename socket_connected to socket_ready, since we use it before accept() 2016-03-02 19:28:02 -08:00
Ian Gulliver 14be11de79 Utility functions for reference counting. 2016-03-02 19:20:25 -08:00
Ian Gulliver 20bc50795d Move fd flow code into flow.c 2016-03-02 19:16:23 -08:00
Ian Gulliver 896874e9d7 Switch wakeup to standard list. 2016-03-02 19:10:31 -08:00
Ian Gulliver 7aa29f1364 Apparently I missed receive when I switched to the new list impl. 2016-03-02 18:54:41 -08:00
Ian Gulliver e2fd6be394 List cleanup. 2016-03-02 18:52:02 -08:00
Ian Gulliver e124977713 File open retries. 2016-03-02 18:49:25 -08:00
Ian Gulliver 58177c93a6 More file scaffolding. 2016-03-02 14:23:58 -08:00
Ian Gulliver 3e5ca27fdf Initial file cleanup. 2016-03-02 13:16:18 -08:00
Ian Gulliver b5799e5489 Change target name to think about multiple fuzzers. 2016-03-02 12:48:29 -08:00
Ian Gulliver eae1924c5c Fix corruption when we parse multiple packets form a single buffer. 2016-03-02 12:45:37 -08:00
Ian Gulliver 630d16451a Rename files to sensible names 2016-03-02 11:26:06 -08:00
Ian Gulliver 627a98c3b4 Merge branch 'master' of github.com:flamingcowtv/adsb-tools 2016-03-02 11:22:09 -08:00
Ian Gulliver d17bfaef6a AFL-discovered testcase files. 2016-03-02 11:21:52 -08:00
Ian Gulliver 761460886a Sync with upstream 2016-03-01 20:17:58 -08:00
Ian Gulliver adfc23cba7 Split out generic resolver functions. 2016-03-01 19:43:11 -08:00
Ian Gulliver 1a45e4361a Finally find a clean ownership solution for resolve(). 2016-02-29 22:37:41 -08:00
Ian Gulliver b6a582e95a Do flow-specific setsockopt() before accept() 2016-02-29 22:17:37 -08:00
Ian Gulliver a093b8a1b6 Switch from dup() + fcntl(F_SETFL, FD_CLOEXEC) to fcntl(F_DUPFD_CLOEXEC) to save a second syscall. 2016-02-29 22:03:04 -08:00
Ian Gulliver b106887617 Clean up file and hello messes. 2016-02-29 20:49:36 -08:00
Ian Gulliver 90de5b80bc Hide more interfaces behind the flow code. 2016-02-29 20:16:57 -08:00
Ian Gulliver 3fb3c02cf5 Encapsulate flow descriptions inside a struct. 2016-02-29 17:12:06 -08:00
Ian Gulliver 3539f9d640 Call less syscalls after each accept() 2016-02-29 15:22:10 -08:00
Ian Gulliver e44edeba53 A word 2016-02-28 23:07:02 -08:00
Ian Gulliver 2e9582d822 New feature addition. 2016-02-28 23:04:12 -08:00
Ian Gulliver d842ad65bb More limits to damage done by write <-> write and disconnected hsots. 2016-02-28 23:03:18 -08:00
Ian Gulliver 5c7bf0b395 If we get a write <-> write connection, don't waste space buffering data we won't use. 2016-02-28 22:50:26 -08:00
Ian Gulliver 49b6b0083b Fix misunderstanding of sendto(MSG_FASTOPEN) 2016-02-28 22:34:53 -08:00
Ian Gulliver aa11eea121 Move more socket code into socket.c 2016-02-28 22:21:07 -08:00
Ian Gulliver 669b289e84 Data flow hype 2016-02-28 21:49:29 -08:00
Ian Gulliver 31aa3fa9a3 Minor fixes 2016-02-28 21:44:21 -08:00
Ian Gulliver 8285011efd PR 2016-02-28 21:41:35 -08:00
Ian Gulliver a3d6adb73b Fix null node name for incoming socket. 2016-02-28 21:23:43 -08:00
Ian Gulliver 0b2a8469ce Formatting 2016-02-28 20:05:40 -08:00