Commit Graph

51 Commits

Author SHA1 Message Date
Frank Denis
468b9df67c The size in a %* formatter should be an int, not a size_t value 2015-11-09 02:14:56 +01:00
Frank Denis
cc58c42396 tcpinfo properties are uint32_t 2015-11-09 02:14:56 +01:00
Frank Denis
baef8233dc <stdint.h> is required for uint8_t and friends 2015-11-09 02:14:56 +01:00
angt
09a27fa817 Print usage when an unknown option is present 2015-11-08 17:05:17 +01:00
Frank Denis
69366ab996 Don't expect TCP_INFO and clock_gettime() to be portable
Sadly, TCP_INFO is only available on Linux and FreeBSD. Other systems make
it easy to retrieve interface-specific parameters, but not the parameters
for a given socket, except by inspecting PF states.

clock_gettime() is available on all BSD systems, but not on OSX.

mach_absolute_time() can be used there, but since it was only used to
display the TCP socket info, and TCP_INFO doesn't exist on OSX, let's
just ignore that altogether for now.

That's pretty sad but at least, it makes glorytun usable on !__linux__
2015-11-07 23:13:11 +01:00
angt
62980c97a3 Show TCP_INFO 2015-11-07 13:06:18 +01:00
angt
f53c78f861 Use xored random data in the hash 2015-11-06 18:59:39 +01:00
angt
98331d8b7c Keep last return from fd_{read,write} in netio 2015-11-06 17:54:59 +01:00
angt
91535db6f1 Be more verbose 2015-11-06 17:44:50 +01:00
angt
1c31500018 Warn in stderr and do not use gai_strerror() 2015-11-04 13:06:50 +01:00
angt
8b51e4613c Add option version 2015-11-03 18:03:34 +01:00
angt
24e3ad3f18 Init sodium and check for AES after option() 2015-11-03 17:47:33 +01:00
angt
8e9e5d8e91 Call poll() only when it's needed in fd_{read,write}_all() 2015-11-02 12:44:57 +01:00
angt
4740089f81 Code cleanup 2015-11-01 19:19:00 +01:00
angt
5951a560af Be nice with the CPU in fd_{read,write}_all() 2015-11-01 19:16:51 +01:00
angt
b77fd86f2a Warn if decrypt_packet() fail 2015-10-31 22:37:17 +01:00
angt
1b3c23889a Do not use the shared secret as AES key directly 2015-10-31 22:03:47 +01:00
angt
0aeab9a33b Add a very simple encryption layer for testing 2015-10-31 21:30:51 +01:00
angt
13086a0f88 Fix typo 2015-10-30 16:47:14 +01:00
angt
1722b5e05f Add a more generic option system 2015-10-30 16:34:41 +01:00
angt
c9dca9269f Do not use writev() for now 2015-10-29 18:18:52 +01:00
angt
0957a0c341 Rewrite the ip size directly in the packet 2015-10-29 11:57:32 +01:00
angt
8a7fedcb7a Stop reading if no more space... 2015-10-28 17:14:47 +01:00
angt
504df2e318 Make GCC happy 2015-10-28 16:27:55 +01:00
angt
cf1ccba57f Wait after a failed connect 2015-10-28 08:17:49 +01:00
angt
b480a6eac3 Do not format buffer on restart 2015-10-27 20:11:11 +01:00
angt
e48333d955 Use writev to write in tun 2015-10-27 12:55:41 +01:00
angt
575796fc6f Add get_ip_size() and cleanup 2015-10-26 15:59:02 +01:00
angt
b82f2fd0da Fix poll 2015-10-26 10:45:09 +01:00
angt
fa026aa36d Code cleanup 2015-10-24 22:46:51 +02:00
angt
4b5c774593 Use common-static.h 2015-10-24 15:59:52 +02:00
angt
b01502a115 Set AI_PASSIVE only for listener 2015-10-24 12:12:09 +02:00
angt
7f7e2a7723 Code cleanup 2015-10-24 11:18:25 +02:00
angt
4f4b64bffd Code cleanup 2015-10-24 11:04:11 +02:00
angt
582c9a9ee7 Use fcntl(O_NONBLOCK) instead of old FIONBIO and set tun.fd to be non-blocking 2015-10-24 11:01:37 +02:00
angt
7bce8aad83 Do not use gnu %m 2015-10-22 17:28:10 +02:00
Frank Denis
577f91e42b Remove Linuxisms 2015-10-22 17:08:20 +02:00
angt
7fb0e3f97d Code cleanup 2015-10-22 16:26:12 +02:00
angt
f8484777b3 Add congestion 2015-10-22 11:12:14 +02:00
angt
4d98a16579 Setup fd for perf and always reconnect 2015-10-22 10:47:04 +02:00
angt
692a1c3c55 Warn and quit if an option is unknown 2015-10-22 00:46:02 +02:00
angt
69a3414e76 Drop bad packets 2015-10-22 00:37:35 +02:00
angt
6ad9807f9d First draft of a stupid and slow tunnel 2015-10-21 22:56:10 +02:00
angt
a16215e099 Set SO_REUSEADDR on listener 2015-10-21 18:14:53 +02:00
angt
ae7f1aa941 Try to be a nice guy, even if it is a PoC 2015-10-21 12:32:53 +02:00
angt
559a9ce8bd Add a minimal option and gt_open_sock 2015-10-20 23:55:45 +02:00
angt
796d804f33 Code cleanup 2015-10-20 17:47:18 +02:00
angt
7f2a8ace59 Block on poll 2015-10-20 17:40:36 +02:00
angt
8ad524a0ef Add a buffer_t and fill it from tun 2015-10-20 17:37:43 +02:00
angt
64316dd724 Ignore SIGPIPE too 2015-10-20 17:00:59 +02:00