7aa29f1364
Apparently I missed receive when I switched to the new list impl.
Ian Gulliver
2016-03-02 18:54:41 -08:00
e2fd6be394
List cleanup.
Ian Gulliver
2016-03-02 18:52:02 -08:00
e124977713
File open retries.
Ian Gulliver
2016-03-02 18:49:25 -08:00
58177c93a6
More file scaffolding.
Ian Gulliver
2016-03-02 14:23:58 -08:00
3e5ca27fdf
Initial file cleanup.
Ian Gulliver
2016-03-02 13:16:18 -08:00
b5799e5489
Change target name to think about multiple fuzzers.
Ian Gulliver
2016-03-02 12:48:29 -08:00
eae1924c5c
Fix corruption when we parse multiple packets form a single buffer.
Ian Gulliver
2016-03-02 12:45:37 -08:00
630d16451a
Rename files to sensible names
Ian Gulliver
2016-03-02 11:26:06 -08:00
627a98c3b4
Merge branch 'master' of github.com:flamingcowtv/adsb-tools
Ian Gulliver
2016-03-02 11:22:09 -08:00
d17bfaef6a
AFL-discovered testcase files.
Ian Gulliver
2016-03-02 11:21:52 -08:00
761460886a
Sync with upstream
Ian Gulliver
2016-03-01 20:17:58 -08:00
adfc23cba7
Split out generic resolver functions.
Ian Gulliver
2016-03-01 19:43:11 -08:00
1a45e4361a
Finally find a clean ownership solution for resolve().
Ian Gulliver
2016-02-29 22:37:41 -08:00
b6a582e95a
Do flow-specific setsockopt() before accept()
Ian Gulliver
2016-02-29 22:17:37 -08:00
a093b8a1b6
Switch from dup() + fcntl(F_SETFL, FD_CLOEXEC) to fcntl(F_DUPFD_CLOEXEC) to save a second syscall.
Ian Gulliver
2016-02-29 22:03:04 -08:00
b106887617
Clean up file and hello messes.
Ian Gulliver
2016-02-29 20:49:36 -08:00
90de5b80bc
Hide more interfaces behind the flow code.
Ian Gulliver
2016-02-29 20:16:57 -08:00
3fb3c02cf5
Encapsulate flow descriptions inside a struct.
Ian Gulliver
2016-02-29 17:12:06 -08:00
3539f9d640
Call less syscalls after each accept()
Ian Gulliver
2016-02-29 15:22:10 -08:00
e44edeba53
A word
Ian Gulliver
2016-02-28 23:07:02 -08:00
2e9582d822
New feature addition.
Ian Gulliver
2016-02-28 23:04:12 -08:00
d842ad65bb
More limits to damage done by write <-> write and disconnected hsots.
Ian Gulliver
2016-02-28 23:03:18 -08:00
5c7bf0b395
If we get a write <-> write connection, don't waste space buffering data we won't use.
Ian Gulliver
2016-02-28 22:50:26 -08:00
49b6b0083b
Fix misunderstanding of sendto(MSG_FASTOPEN)
Ian Gulliver
2016-02-28 22:34:53 -08:00
aa11eea121
Move more socket code into socket.c
Ian Gulliver
2016-02-28 22:21:07 -08:00
669b289e84
Data flow hype
Ian Gulliver
2016-02-28 21:49:29 -08:00
31aa3fa9a3
Minor fixes
Ian Gulliver
2016-02-28 21:44:21 -08:00
8285011efd
PR
Ian Gulliver
2016-02-28 21:41:35 -08:00
a3d6adb73b
Fix null node name for incoming socket.
Ian Gulliver
2016-02-28 21:23:43 -08:00
0b2a8469ce
Formatting
Ian Gulliver
2016-02-28 20:05:40 -08:00
35d5a1f883
More formatting.
Ian Gulliver
2016-02-28 20:05:02 -08:00
31dd90fea2
Layout cleanup.
Ian Gulliver
2016-02-28 20:03:25 -08:00
68fbe187b1
More protocol docs.
Ian Gulliver
2016-02-28 19:59:04 -08:00
5f99768ab3
Update build instructions.
Ian Gulliver
2016-02-28 19:49:06 -08:00
388741d3e0
Proto definition.
Ian Gulliver
2016-02-28 19:16:13 -08:00
1c9eec7cf7
Minor cleanups.
Ian Gulliver
2016-02-28 19:02:12 -08:00
4f9d9af660
JSON protocol description start.
Ian Gulliver
2016-02-28 18:56:37 -08:00
05a67df06f
Clearer language about hex string lengths.
Ian Gulliver
2016-02-28 18:36:12 -08:00
6bee996d5a
Trace children in valgrind.
Ian Gulliver
2016-02-28 15:58:11 -08:00
58a8576da8
Add --exec-{send,receive}
Ian Gulliver
2016-02-28 15:53:55 -08:00
29d0b33161
Set FD_CLOEXEC after dup()
Ian Gulliver
2016-02-28 13:15:12 -08:00
b9d179b957
Largefile support.
Ian Gulliver
2016-02-28 13:11:32 -08:00
e86ea97671
--file-{read,write,append}
Ian Gulliver
2016-02-28 13:08:04 -08:00
fdafe2e055
Convenience function for simple hello.
Ian Gulliver
2016-02-28 12:45:00 -08:00
161ea56d45
Corral the last setsockopt() call into one place.
Ian Gulliver
2016-02-28 12:34:43 -08:00
9e591904ac
Better cleanup rule.
Ian Gulliver
2016-02-27 22:55:48 -08:00
98c1a5c458
Fix length tracking for parsing.
Ian Gulliver
2016-02-27 22:53:57 -08:00
0e35f24476
Line endings and byte count clarification.
Ian Gulliver
2016-02-27 22:50:56 -08:00
b183cd9904
More spiffy test rule stuff.
Ian Gulliver
2016-02-27 22:46:54 -08:00
86a3a64be6
Add make test rule.
Ian Gulliver
2016-02-27 22:44:19 -08:00
4414337f2e
Move fuzz script into makefile.
Ian Gulliver
2016-02-27 22:25:25 -08:00
c79beb441f
Same math problem in parsing.
Ian Gulliver
2016-02-27 22:21:09 -08:00
31d11a63bd
New test cases.
Ian Gulliver
2016-02-27 22:19:14 -08:00
66d21dcad9
Bad math calculating overlay start.
Ian Gulliver
2016-02-27 22:19:02 -08:00
4237f4f8c0
Segfault in serialize code.
Ian Gulliver
2016-02-27 22:11:28 -08:00
153544c8b2
Fix crash sending protocols without a greeting.
Ian Gulliver
2016-02-27 22:03:56 -08:00
4f0b2c82e9
Write header to stdout target.
Ian Gulliver
2016-02-27 21:56:37 -08:00
92334724f0
Add mode AC handling, and clean up the parsers and serializers to avoid duplication.
Ian Gulliver
2016-02-27 21:50:15 -08:00
b7e32d1b48
Change proto protocol so the whole stream is also decodable as a proto.
Ian Gulliver
2016-02-27 19:14:04 -08:00
071613d061
Use static greeting buffers.
Ian Gulliver
2016-02-27 16:23:26 -08:00
8d9b40e954
Minor hello cleanups.
Ian Gulliver
2016-02-27 12:48:01 -08:00
2c5b6419d6
Working TCP fastopen for connect-send.
Ian Gulliver
2016-02-27 12:41:56 -08:00
79fc645fa0
Start of fastopen support.
Ian Gulliver
2016-02-27 10:12:48 -08:00
675fb51282
More afl fixes.
Ian Gulliver
2016-02-26 23:36:05 -08:00
c315de6354
JSON: check the source id, not the server id.
Ian Gulliver
2016-02-26 21:14:28 -08:00
7d83d122df
Fix server_id overflow due to utf8 blowup in json.
Ian Gulliver
2016-02-26 20:58:23 -08:00
d6cb3afd9d
Centralize packet sanity checks, and bound one value that was overflowing.
Ian Gulliver
2016-02-26 14:55:43 -08:00
207cd1e3a1
Add fuzzing script.
Ian Gulliver
2016-02-26 14:34:53 -08:00
a9cfb590e1
Fix some messy shutdown.
Ian Gulliver
2016-02-26 14:31:35 -08:00
8ed1f152a6
Support both types of line endings in airspy_adsb. Fix a bug in raw line ending handling that could delay packets.
Ian Gulliver
2016-02-26 14:18:28 -08:00
e3a372e1ea
Hex parsing hardening.
Ian Gulliver
2016-02-26 14:09:37 -08:00
e89d30af24
Two more AFL source files.
Ian Gulliver
2016-02-26 13:57:12 -08:00
9f5ad1518a
Fixes from american fuzzy lop testing.
Ian Gulliver
2016-02-26 13:56:52 -08:00
8d9a11076b
Add an always trigger list, so we can handle non-socket IO properly.
Ian Gulliver
2016-02-26 11:12:45 -08:00
680cce544f
Centralized list implementation.
Ian Gulliver
2016-02-26 10:30:18 -08:00
7e91e3e21d
Add some test cases for the plain-text formats.
Ian Gulliver
2016-02-25 23:55:53 -08:00
d985503e8b
Avoid default behavior of make.
Ian Gulliver
2016-02-25 23:47:33 -08:00
19a9d498bd
Enable -Weverything, fix a ton of bugs.
Ian Gulliver
2016-02-25 23:37:37 -08:00
fe2486c398
Enable shadow warnings, fix one case.
Ian Gulliver
2016-02-25 21:24:10 -08:00
092764bf7e
Fix send behavior, again, to not use read as a proxy for write.
Ian Gulliver
2016-02-25 21:22:59 -08:00
2ff838a0f1
Expect sockets always.
Ian Gulliver
2016-02-25 17:33:14 -08:00
99882bc5c7
Enable socket keepalives.
Ian Gulliver
2016-02-25 17:27:07 -08:00
3235211bc2
More sensible cleanup ordering.
Ian Gulliver
2016-02-25 16:48:51 -08:00
3155381678
Shut down if we run out of inputs or outputs.
Ian Gulliver
2016-02-25 16:33:58 -08:00
a9dc7c25db
Switch back to write(), since we have non-sockets.
Ian Gulliver
2016-02-25 16:33:47 -08:00
5e604f0596
In/out reference counting.
Ian Gulliver
2016-02-25 16:17:25 -08:00
aa940137c1
Move proto into its own dir.
Ian Gulliver
2016-02-25 15:22:57 -08:00
3816be8b3d
Fix leak of second+ receive/send object.
Ian Gulliver
2016-02-25 15:17:45 -08:00
4f14845c75
Rename --dump to --stdout. Add --stdin.
Ian Gulliver
2016-02-25 15:12:16 -08:00
46fd0c3c8b
Tear down resolver before others.
Ian Gulliver
2016-02-25 11:57:23 -08:00
6f082ecf32
Use send(MSG_NOSIGNAL) instead of write() in one other place.
Ian Gulliver
2016-02-25 11:56:51 -08:00
b4171c971a
Avoid double call of send_del() on write failure and from epoll loop.
Ian Gulliver
2016-02-24 21:30:39 -08:00
a408ddba2d
Switch from shutdown(SHUT_RD) to EPOLLIN to detect send <-> send misconfigurations.
Ian Gulliver
2016-02-24 21:21:14 -08:00
4a83b453bb
Ask for SIGPIPE not to be sent, instead of ignoring it.
Ian Gulliver
2016-02-24 20:28:48 -08:00
3e2c426e95
Fix --connect-send. Half-close connections so we can detect two read sockets talking to each other.
Ian Gulliver
2016-02-24 20:25:31 -08:00
1635534243
Switch from sketchy dup() juggling to callbacks to retry outgoing connection.
Ian Gulliver
2016-02-24 20:15:09 -08:00
63f5313b96
Set EPOLL_CLOEXEC
Ian Gulliver
2016-02-23 22:24:03 -08:00
025d14c6a6
Add framing to proto, since it isn't built in to protobuf.
Ian Gulliver
2016-02-23 21:30:29 -08:00
c70886e55c
Proto parsing working.
Ian Gulliver
2016-02-23 19:46:42 -08:00
4f48153d4f
More proto parsing.
Ian Gulliver
2016-02-23 16:43:36 -08:00