Commit Graph

  • 8983df3c86 Update copyright dates. Nicholas J. Kain 2018-02-18 00:43:19 -0500
  • a66f007931 Trivial documentation updates. Nicholas J. Kain 2018-02-18 00:31:39 -0500
  • e08d3b15b5 Remove seccomp support. Nicholas J. Kain 2018-02-09 03:33:04 -0500
  • e8d97205e9 Compile cleanly with -Wsign-conversion. Nicholas J. Kain 2018-02-09 02:39:46 -0500
  • c8dd123a5d README.md: Trivial fix to download links. Nicholas J. Kain 2017-10-04 05:33:36 -0400
  • 3e4812eb35 README.md: Cosmetic improvements. Nicholas J. Kain 2017-09-23 15:17:59 -0400
  • 8bb00c9c36 Convert the README to Markdown README.md. Nicholas J. Kain 2017-09-23 12:18:28 -0400
  • b6dda8f4f8 Update README. Mention the ncmlib requirement and make it more succinct. Nicholas J. Kain 2017-08-24 14:06:56 -0400
  • 759b6bd831 Update to the new ncmlib random API. Nicholas J. Kain 2017-08-24 02:36:31 -0400
  • 0732ed5f84 Disable GCC7 warning implicit-fallthrough and unused-const-variable Nicholas J. Kain 2017-05-13 13:14:35 -0400
  • ed44a90114 state: Faster recovery when carrier lost during DHCP init. Nicholas J. Kain 2017-04-10 09:57:52 -0400
  • 369ff59cab arp: Take extra care to preserve last received ARP packet. Nicholas J. Kain 2017-04-10 09:29:36 -0400
  • 7af3e64a99 arp: Remove reply_offset, and keep previous ARP packet after epoll. Nicholas J. Kain 2017-04-10 08:56:11 -0400
  • bdad082a62 Remove -Wformat=2 -Wformat-nonliteral for C++. Nicholas J. Kain 2017-03-16 23:05:23 -0400
  • 3633d55296 Enable -fno-strict-overflow just to be safer. Nicholas J. Kain 2017-03-16 21:59:55 -0400
  • 348e975f2d reinit_shared_deconfig() was not fully resetting arp state. Nicholas J. Kain 2017-02-27 11:30:35 -0500
  • 8ca0d28f61 reinit_shared_deconfig() was not resetting state completely. Nicholas J. Kain 2017-02-27 11:10:14 -0500
  • 2a26acacdd Handle possible clock_gettime() errors in curms(). Nicholas J. Kain 2017-02-24 08:51:36 -0500
  • a39f1dabfe Fix a typo in clock_gettime error path print that I somehow overlooked. Nicholas J. Kain 2017-02-24 08:39:27 -0500
  • 7f08d4b6fb arp: Handle initial gateway query asynchronously and retry failures. Nicholas J. Kain 2017-02-24 07:39:14 -0500
  • 7080850f38 Silence a spurious ARP defense message from previous commit. Nicholas J. Kain 2017-02-24 06:48:48 -0500
  • 34a8cd7ad9 arp: Handle initial announcement asynchronously and retry failures. Nicholas J. Kain 2017-02-24 06:27:15 -0500
  • 4d87d5075a Handle carrier interruptions in arp_collision_timeout() better. Nicholas J. Kain 2017-02-24 05:36:05 -0500
  • 09d5e9ad3c arp: If first ARP announce fails, rely on the second announce. Nicholas J. Kain 2017-02-24 04:57:33 -0500
  • fa1c5d3a0c Add a comment describing link_set_flags() return values. Nicholas J. Kain 2017-01-19 05:22:22 -0500
  • 1c2a39c544 Reorder client_config_t members to reduce structure padding. Nicholas J. Kain 2017-01-19 05:20:29 -0500
  • 4fdde404aa Remove unused client_config_t foreground variable. Nicholas J. Kain 2017-01-19 05:18:04 -0500
  • c38fd2be9b Convert logical booleans in client_config_t to bool type. Nicholas J. Kain 2017-01-19 05:13:30 -0500
  • 571b22c4b2 Rename client_state_t init variable to program_init. Nicholas J. Kain 2017-01-19 05:05:35 -0500
  • 931530786b Convert logically boolean client_state_t variables from uint8_t to bool. Nicholas J. Kain 2017-01-19 05:01:23 -0500
  • b8ee0bd5c2 Update copyright dates to 2017. Nicholas J. Kain 2017-01-12 06:30:44 -0500
  • 29498f5341 Remove ifsPrevState and set non-infinite timeout on a send error. Nicholas J. Kain 2017-01-12 06:05:00 -0500
  • c47630ffca Rename check_carrier() to carrier_isup() and use bool return. Nicholas J. Kain 2017-01-12 05:25:15 -0500
  • 1fc7bd3144 Eliminate fopen() in cfg.rl. Use unbuffered i/o instead. Nicholas J. Kain 2016-05-06 16:44:10 -0400
  • 04ec7c8f4b Update to latest write_pid semantics and don't write pidfile by default. Nicholas J. Kain 2016-05-06 15:00:31 -0400
  • a47a2feea1 Support resolv_conf.head and resolv_conf.tail. Nicholas J. Kain 2016-05-06 06:41:15 -0400
  • 313da14518 Update nl.[ch] to latest. No functional change for ndhc. Nicholas J. Kain 2016-05-06 06:36:01 -0400
  • a4ea869a54 README: Trivial style edits. Nicholas J. Kain 2015-12-27 01:00:18 -0500
  • 5ab36719f1 If a fd closes unexpectedly in epoll, print error and exit with failure. Nicholas J. Kain 2015-12-25 02:44:54 -0500
  • ae16e26d00 arp: Fix case where changing interface properties consistently fails. Nicholas J. Kain 2015-10-28 20:20:21 -0400
  • e0b5ff8eaf perform_carrier() should not cause ifchd to terminate on failure. Nicholas J. Kain 2015-07-03 00:49:13 -0400
  • 12d8af4c67 Convert remaining ull time-types to ll. Nicholas J. Kain 2015-05-27 23:40:28 -0400
  • 277f0f67c5 When converting timeout from ll to int, also guard against underflow. Nicholas J. Kain 2015-05-27 15:00:02 -0400
  • e02d30dcc5 renewTime, rebindTime should be unsigned long long. Nicholas J. Kain 2015-05-27 13:11:23 -0400
  • abb1b54bfe Fix an overflow that can cause spuriously short epoll timeouts. Nicholas J. Kain 2015-05-27 12:58:42 -0400
  • ba875d4b2e Failsafe should only trigger is the new timeout is also zero. Nicholas J. Kain 2015-05-27 12:35:16 -0400
  • f061a78a18 Fix dumb mistake in patch before last; epoll timeout is in ms, not s. Nicholas J. Kain 2015-05-27 12:29:46 -0400
  • 2057d7cd18 Improve compatibility with clang. Nicholas J. Kain 2015-05-27 12:23:50 -0400
  • 8273b383ab Add a failsafe to prevent epoll busy-spin. Nicholas J. Kain 2015-05-27 12:23:16 -0400
  • 6c136c3f85 Make add_option_(vendor|hostname)() not use ndhc internals. Nicholas J. Kain 2015-02-20 03:58:25 -0500
  • 646931a2bf xid should be regenerated whenever we start a new discover cycle. Nicholas J. Kain 2015-02-20 03:48:13 -0500
  • b8df1b33f5 Fix the timeouts for rebinding and renewing. Nicholas J. Kain 2015-02-18 11:03:58 -0500
  • b3bd13d45f Fix the return values of dhcp_packet_get and arp_packet_get. Nicholas J. Kain 2015-02-18 11:02:13 -0500
  • a627e9dc9c Minor changes to log messages and comments. Nicholas J. Kain 2015-02-18 09:56:38 -0500
  • 3ede5fbe33 Handle the release and renew signals again. Nicholas J. Kain 2015-02-18 07:31:19 -0500
  • 731bd14f0a reinit_selecting() can't fail; convert it to void return. Nicholas J. Kain 2015-02-18 07:12:35 -0500
  • 89d77313c6 Deconfigure the interface if we've failed a fingerprint check. Nicholas J. Kain 2015-02-18 07:12:22 -0500
  • 29da5d21a4 Tolerate DHCP ACKs in REQUESTING state that don't match the serverid. Nicholas J. Kain 2015-02-18 06:52:59 -0500
  • f28495a58b selecting_packet() shouldn't take the xid from the packet. Nicholas J. Kain 2015-02-18 06:01:43 -0500
  • da7d34a300 Bump version to 2.0. Nicholas J. Kain 2015-02-18 05:41:31 -0500
  • 69cf41f1b1 Only process one epoll event at a time. Nicholas J. Kain 2015-02-18 05:36:13 -0500
  • 99ce918a31 Use a coroutine instead of several callback state machines. Nicholas J. Kain 2015-02-18 05:31:13 -0500
  • 37aa866ae4 Move action dispatch out of main epoll loop. Nicholas J. Kain 2015-02-15 06:48:49 -0500
  • 61387408d0 Separate event state gathering from action dispatch in main epoll loop. Nicholas J. Kain 2015-02-15 06:38:03 -0500
  • 658d2954b8 Reduce log spam. Nicholas J. Kain 2015-02-15 02:58:51 -0500
  • e874373dcd Check link carrier via ifch and netlink instead of ioctl. Nicholas J. Kain 2015-02-15 02:50:29 -0500
  • 6c9ca9eecd If ifchd commands fail, propagate the failure back to ndhc. Nicholas J. Kain 2015-02-15 02:29:37 -0500
  • 33aa5b13de Recommend using a process supervisor for high reliability in README. Nicholas J. Kain 2015-02-14 20:50:46 -0500
  • 5b82be8b00 If ifchd interactions fail, terminate. Nicholas J. Kain 2015-02-14 20:47:14 -0500
  • 170f87c0e7 Propagate returns through ifchange_(deconfig|bind). Nicholas J. Kain 2015-02-14 19:10:23 -0500
  • 44175bd77c Make ifch requests synchronous just like sockd requests. Nicholas J. Kain 2015-02-14 16:49:50 -0500
  • 61a48b0fb6 Fix the rfkill waiting. Nicholas J. Kain 2015-02-14 15:33:02 -0500
  • 56cc05599a Add error handling for un-notified carrier downs in ifup_action. Nicholas J. Kain 2015-02-14 05:37:06 -0500
  • b6b778831c Add error handling for un-notified carrier downs when sending packets. Nicholas J. Kain 2015-02-14 05:20:04 -0500
  • d0d8bcf3ff options.[ch] must still be valid C++11 because it is used in ndhs. Nicholas J. Kain 2015-02-14 02:14:30 -0500
  • 00c9479c4c Mark more pointer arguments as never being null. Nicholas J. Kain 2015-02-14 01:46:02 -0500
  • 0535b36534 dhcp.c: Make init_packet() not return a struct. Nicholas J. Kain 2015-02-14 01:41:52 -0500
  • 70c750f50c get_raw_packet: The read length check is stricter than necessary. Nicholas J. Kain 2015-02-14 01:40:06 -0500
  • a7cb063f0c state.c: cosmetic cleanups and a constification Nicholas J. Kain 2015-02-14 00:44:21 -0500
  • 04840c261d Fix some c99 struct initializer uninitialized member warnings that clang detects and GCC misses. Nicholas J. Kain 2015-02-13 23:25:42 -0500
  • 702d8b0c5b Mark pointer arguments that cannot ever be null as [static 1]. Nicholas J. Kain 2015-02-13 23:14:08 -0500
  • cc806acc0b Indicate that client_state_t and client_config_t pointer args cannot ever be null. Nicholas J. Kain 2015-02-13 22:29:03 -0500
  • b6554c2931 Quiet the 'UDP length [] does not match header length' message. Nicholas J. Kain 2015-02-13 21:56:34 -0500
  • b4b6ed8fd5 Check for carrier before sendto() or write() on interface fd. Nicholas J. Kain 2015-02-13 21:53:15 -0500
  • 911d4cc58e Fix the dhcp state bootstrapping when rfkill is set #3. Nicholas J. Kain 2015-02-13 19:08:50 -0500
  • 2e679ed491 Fix the dhcp state bootstrapping when rfkill is set #2. Nicholas J. Kain 2015-02-13 18:35:44 -0500
  • a8af406307 Fix the dhcp state bootstrapping when rfkill is set. Nicholas J. Kain 2015-02-13 18:07:14 -0500
  • 79a97131bc Handle the case where the rfkill is set when ndhc is initializing. Nicholas J. Kain 2015-02-13 17:50:24 -0500
  • 5b050ba498 If the rfkill switch is enabled, do not react to netlink notifications until the rfkill is disabled. They will mostly fail outright. Nicholas J. Kain 2015-02-13 17:20:36 -0500
  • cf81573082 Fix a dumb typo in the previous commit. Nicholas J. Kain 2015-02-13 16:56:56 -0500
  • e3d4d4c1aa rfkill: Add support for reacting to radio kill switch events. Nicholas J. Kain 2015-02-13 16:25:36 -0500
  • 3421f0c585 CMAKE_CROSSCOMPILE should be CMAKE_CROSSCOMPILING. Nicholas J. Kain 2015-02-13 05:12:55 -0500
  • c58a071f52 Update copyright dates. Nicholas J. Kain 2015-02-13 01:54:57 -0500
  • 7cb5506487 Spelling correction in README. Nicholas J. Kain 2015-02-13 01:48:00 -0500
  • 27c9e2c553 Improve fingerprinting to support DHCP relay agents. Nicholas J. Kain 2015-02-12 23:28:54 -0500
  • a395234a67 Support networks with relay agents that have the DHCP server on a different segment. Nicholas J. Kain 2015-02-12 20:49:40 -0500
  • 03fc696267 Update the man page and correct some formatting errors. Nicholas J. Kain 2015-02-12 19:03:09 -0500
  • 9d8d653877 CMake: Do not try to test for the glibc version when cross-compiling. Nicholas J. Kain 2015-02-12 18:46:44 -0500
  • b792162113 Add CROSSCOMPILE_MACHINENAME environment variable for CMake that will allow the host machine type detection to be skipped and the target MACHINENAME to be manually defined. Nicholas J. Kain 2015-02-12 13:35:50 -0500
  • 8e4ea0be72 CMake: Only add -lrt link dependency if glibc is detected. Nicholas J. Kain 2015-02-12 13:05:30 -0500