49edb43232
Close stdout and stderr before exit, to make valgrind output easier reading.
Ian Gulliver
2016-02-23 12:11:07 -08:00
ab6b8cd5e9
Track and clean up receive objects.
Ian Gulliver
2016-02-23 12:08:53 -08:00
77ee1422c1
Sprinkle CLOEXEC around.
Ian Gulliver
2016-02-23 12:00:17 -08:00
f676cc531a
Fix fd leak.
Ian Gulliver
2016-02-23 11:57:40 -08:00
289dcdbb54
Change resolution to use a single resolve thread, and to clean up after itself.
Ian Gulliver
2016-02-23 11:53:17 -08:00
c6a2150a7d
Initial pass at async resolving. This is ugly and leaks memory and I hate it, so dedicated thread incoming.
Ian Gulliver
2016-02-23 10:46:40 -08:00
ebdb3f9dc0
Pass source ID through to JSON output.
Ian Gulliver
2016-02-22 22:00:49 -08:00
bccdc212f2
More info in JSON header.
Ian Gulliver
2016-02-22 21:55:45 -08:00
bc9219b4a8
Split server out.
Ian Gulliver
2016-02-22 21:53:25 -08:00
c6e1eb9d42
Switch stats to use CLOCK_MONOTONIC_COARSE
Ian Gulliver
2016-02-22 16:59:42 -08:00
2ce2ed5bf5
Split out packet. Delete common.
Ian Gulliver
2016-02-22 16:58:13 -08:00
b5ab0cb0a6
Split out peer
Ian Gulliver
2016-02-22 16:49:43 -08:00
b5219d9c1a
Split out buf
Ian Gulliver
2016-02-22 16:41:34 -08:00
f36642b823
Split out hex
Ian Gulliver
2016-02-22 16:36:27 -08:00
21536eee33
Move retry delay calculation into wakeup, since it's only used there.
Ian Gulliver
2016-02-22 16:33:00 -08:00
d6a629fa7e
Switch to an internal implementation of uuid generation, so we can use the randomness pool.
Ian Gulliver
2016-02-22 16:27:44 -08:00
d03590439f
Pool randomness.
Ian Gulliver
2016-02-22 14:57:27 -08:00
16685b8d05
Split out rand
Ian Gulliver
2016-02-22 14:45:18 -08:00
f255170967
Move wakeup into the main thread to remove complexity. Looks like CLOCK_MONOTONIC_COARSE doesn't need a syscall.
Ian Gulliver
2016-02-22 14:37:00 -08:00
70cfaa94aa
Human time for max backoff
Ian Gulliver
2016-02-21 16:57:42 -08:00
a48c4a24f5
Avoid a spinloop waiting for zero ms.
Ian Gulliver
2016-02-21 16:55:31 -08:00
c5a87e89a4
Restore airspy_adsb
Ian Gulliver
2016-02-21 16:52:36 -08:00
d48016fecb
Apparently not deprecated.
Ian Gulliver
2016-02-21 16:48:34 -08:00
8f36ad0db8
Wakeup/delay fixes, and actually add retries for incoming and outgoing.
Ian Gulliver
2016-02-21 16:47:27 -08:00
835a144d6e
Genericize the rand code.
Ian Gulliver
2016-02-21 15:56:07 -08:00
6384e0f20d
Wakeup actually working (probably), add delay calculator.
Ian Gulliver
2016-02-21 15:51:38 -08:00
ec79ba0da1
Much closer to complete cleanup before exit.
Ian Gulliver
2016-02-21 13:57:35 -08:00
71413f97e5
More structure for wakeup.
Ian Gulliver
2016-02-20 23:56:40 -08:00
0e8dd4007c
Factor out more common code in opts parsing.
Ian Gulliver
2016-02-20 23:31:57 -08:00
9df778a88a
Factor out opts parsing, clean up shutdown.
Ian Gulliver
2016-02-20 23:22:00 -08:00
fe5fa29abf
Explain line endings and naming in raw doc.
Ian Gulliver
2016-02-18 17:07:48 -08:00
ec4ac3df3a
Support multiple line endings in raw format.
Ian Gulliver
2016-02-18 17:06:20 -08:00
bca84394ce
Remove airspy_adsb, as it's no longer used by upstream
Ian Gulliver
2016-02-18 17:00:33 -08:00
52ce6767c0
Style
Ian Gulliver
2016-02-18 16:59:04 -08:00
0b9e9fe8f0
Mark airspy_adsb deprecated
Ian Gulliver
2016-02-18 16:58:35 -08:00
11eeb26b9a
Detect timestamp regression.
Ian Gulliver
2016-02-18 10:45:04 -08:00
e3cd9d4b36
Newline after output
Ian Gulliver
2016-02-18 10:22:42 -08:00
2024bdc880
Add simple lib, utility to check mhz.
Ian Gulliver
2016-02-18 10:10:47 -08:00
4ca9fbeb4a
Move gitignore into subdir.
Ian Gulliver
2016-02-18 09:37:53 -08:00
cf6eef6118
Move adsbus into its own dir.
Ian Gulliver
2016-02-18 09:36:53 -08:00
6ac29e9704
Start of wakeup framework.
Ian Gulliver
2016-02-18 09:33:32 -08:00
820d5d6192
Switch to more consistently setting sockets non-blocking.
Ian Gulliver
2016-02-17 22:22:14 -08:00
4398deb2d4
Working model for triggering reconnects on outgoing connections.
Ian Gulliver
2016-02-17 22:14:04 -08:00
ff1a77f22b
Stop disconnecting send clients if we get data from them.
Ian Gulliver
2016-02-17 22:00:05 -08:00
1bc8d49d38
Implement airspy_adsb send support.
Ian Gulliver
2016-02-17 21:53:34 -08:00
236f058654
Stop trying to filter incoming blank RSSI; it looks the same as real data.
Ian Gulliver
2016-02-17 21:53:08 -08:00
83f95ca252
Minor help text fix.
Ian Gulliver
2016-02-17 20:15:56 -08:00
3801b2c9ce
Raw send support.
Ian Gulliver
2016-02-17 20:14:44 -08:00
7d39421966
Clarify some log messages.
Ian Gulliver
2016-02-17 18:02:56 -08:00
44cb3fb122
Beast send support.
Ian Gulliver
2016-02-17 18:01:39 -08:00
5671f37f8a
Split backend and outgoing. Rename backend -> receive, client -> send.
Ian Gulliver
2016-02-17 17:19:57 -08:00
ae5b4c1ce4
Style and include cleanups.
Ian Gulliver
2016-02-17 16:40:09 -08:00
8e2e7b2562
Much more helpful help.
Ian Gulliver
2016-02-17 16:04:11 -08:00
5fd120baec
Move some initialization closer to the client.
Ian Gulliver
2016-02-17 15:43:51 -08:00
e14b444466
Make epoll_fd global as a concession to clarity. Handle client disconnection even when silent.
Ian Gulliver
2016-02-17 15:41:27 -08:00
908a364aef
Add support for listening sockets for outgoing data.
Ian Gulliver
2016-02-17 13:56:13 -08:00
7f8b92deaf
Support incoming connection backends (push to adsbus).
Ian Gulliver
2016-02-17 13:41:33 -08:00
020174d11a
Simply backend API.
Ian Gulliver
2016-02-17 12:30:26 -08:00
ca0e1db556
Add packet type to json output.
Ian Gulliver
2016-02-17 12:13:21 -08:00
c18a03d2e1
Add raw input support.
Ian Gulliver
2016-02-17 12:11:50 -08:00
318ddd2998
Make some JSON output fields optional rather than passing bogus data.
Ian Gulliver
2016-02-17 11:59:37 -08:00
d60a2c9869
Change to slashes for host/port delimiter.
Ian Gulliver
2016-02-17 11:10:01 -08:00
c98e97d8fc
Fix legit stack smash.
Ian Gulliver
2016-02-17 11:07:18 -08:00
f7bdafcfae
Format change.
Ian Gulliver
2016-02-17 11:00:34 -08:00
2daefb44d5
More security.
Ian Gulliver
2016-02-17 10:56:47 -08:00
cb629aa2c4
PIE on
Ian Gulliver
2016-02-17 10:48:34 -08:00
d143eb6e32
Clone instructions.
Ian Gulliver
2016-02-17 10:34:47 -08:00
82e302216b
Style?
Ian Gulliver
2016-02-17 10:34:00 -08:00
3bc366357d
Style.
Ian Gulliver
2016-02-17 10:32:34 -08:00
6c2c2377f2
Add quick build instructions.
Ian Gulliver
2016-02-17 10:31:41 -08:00
f15ebf497e
Store names for backends, print autodetection.
Ian Gulliver
2016-02-17 08:34:19 +00:00
a0d94a4198
Add stats serializer.
Ian Gulliver
2016-02-17 08:30:32 +00:00
0db4d15897
Non-blocking connection support.
Ian Gulliver
2016-02-17 08:05:18 +00:00
a8f1cb5767
Style cleanup.
Ian Gulliver
2016-02-17 04:45:23 +00:00
2da171f3e0
Sanify option parsing.
Ian Gulliver
2016-02-17 01:16:11 +00:00
01d548dbb5
Clean up serialize interface. Switch to jansson for JSON handling. Add server ID. Expose IDs in JSON.
Ian Gulliver
2016-02-17 00:21:28 +00:00
b993764a14
Set client FDs non-blocking.
Ian Gulliver
2016-02-16 21:42:01 +00:00
4241931743
Squash beast RSSI to zero when it's 0xff, since that seems to mean "unknown".
Ian Gulliver
2016-02-16 21:17:08 +00:00
de9ad7a6e7
More size safety checks.
Ian Gulliver
2016-02-16 21:13:51 +00:00
37cd6abb41
Doc updates.
Ian Gulliver
2016-02-16 21:06:28 +00:00
be70180f98
Parse beast.
Ian Gulliver
2016-02-16 19:26:30 +00:00
f83c365c72
Improve JSON readability a bit.
Ian Gulliver
2016-02-16 06:45:02 +00:00
112a978557
Add beast structure.
Ian Gulliver
2016-02-16 03:42:41 +00:00
1d762390ac
Factor out parsing of different packet types.
Ian Gulliver
2016-02-16 03:33:43 +00:00
a1e0e2fe9f
Switch to overlay parsing.
Ian Gulliver
2016-02-16 03:26:52 +00:00
af8b3d0c4c
Add client support, use it to dump json to stdout first.
Ian Gulliver
2016-02-16 02:28:05 +00:00
cbae234327
MLAT (width and frequency) and RSSI (width) scaling working.
Ian Gulliver
2016-02-15 22:01:32 +00:00
bae4398a61
Assign an ID to each backend.
Ian Gulliver
2016-02-15 21:22:23 +00:00
798b75c30d
Saner arg structure.
Ian Gulliver
2016-02-15 21:12:26 +00:00
9b97a2c32c
Factor out backend handling code.
Ian Gulliver
2016-02-15 20:01:48 +00:00
f47e1e766b
Clean up backend detection flow.
Ian Gulliver
2016-02-15 19:07:56 +00:00
7986d40569
Static initializer for backend.
Ian Gulliver
2016-02-15 18:44:26 +00:00
bb1e5cf2ff
Multiple parser support.
Ian Gulliver
2016-02-15 06:47:40 +00:00