Commit Graph

53 Commits

Author SHA1 Message Date
Simon Zolin b9c0b55356 * dhcp: now static leases functionality works before DHCP is started 2019-12-17 15:59:05 +03:00
Simon Zolin 906f26d7d2 - DHCP: normalize leases on startup (prioritize static leases over dynamic) 2019-12-03 20:43:22 +03:00
Simon Zolin df92941ae0 + POST /control/dhcp/reset: Reset DHCP configuration 2019-11-29 17:11:07 +03:00
Simon Zolin 477a4bbf54 * dhcp: move HTTP handlers to dhcpd/ 2019-11-29 17:11:07 +03:00
Simon Zolin 149fcc0f2d * dhcp,clients: DHCP server module is passed to Clients module during initialization. 2019-11-29 17:11:07 +03:00
Simon Zolin 71ce0c6da9 * clients: multiple IP, CIDR, MAC addresses
+ /clients/find
* clients: move code for config read/write
* clients: move HTTP handlers
2019-11-29 16:52:32 +03:00
Simon Zolin fd3e153a04 - dhcp: don't replace a static lease with a dynamic one 2019-09-23 18:47:13 +03:00
Simon Zolin 0c2611ff97 * minor 2019-09-16 13:06:32 +03:00
Simon Zolin c7b5b00d14 Merge: * dhcp: validate range_start/range_end values
Close #848

* commit '625b22a8d7bece655216b926f1b4ce35e14ccb07':
  * dhcp: validate range_start/range_end values
2019-08-23 17:18:30 +03:00
Simon Zolin 7acbeb8956 * dhcp: when adding a static lease, it can replace a dynamic lease 2019-08-23 16:14:00 +03:00
Simon Zolin 625b22a8d7 * dhcp: validate range_start/range_end values 2019-08-23 14:44:23 +03:00
Andrey Meshkov c82e93cfc7 -(dnsforward): fixed sigsegv when protection is disabled
Also, fixed all golint issues

 Closes: #941
2019-08-20 00:55:32 +03:00
Simon Zolin 8e08cddf64 + dhcp: use --workdir value for "leases.db" file path 2019-08-19 14:40:10 +03:00
Simon Zolin 79a5c920a4 * dhcpd: check if subnet mask is correct 2019-07-17 11:55:21 +03:00
Simon Zolin 1c9abd6107 Merge: + dhcpd, clients, dnsfilter: add more tests
#788

* commit '25da23497a19118a22b97d64749fa70337544116':
  + dnsfilter: more tests
  + dhcpd, clients: add more tests
2019-07-01 19:26:27 +03:00
Simon Zolin efaaeb58eb + dhcpd, clients: add more tests 2019-06-26 17:53:05 +03:00
Simon Zolin 0b3ba82242 - dhcp: store lease data in database on each change rather than once on app stop 2019-06-26 14:02:41 +03:00
Simon Zolin eff23f3b62 - dhcp: fix race introduced by static lease add/remove from UI thread 2019-06-26 14:01:59 +03:00
Simon Zolin 3baa6919dc - fix tests and linter issues 2019-05-31 12:27:13 +03:00
Simon Zolin fa47fa3f9c * dhcpd: refactor: use separate objects for ServerConfig and RWMutex 2019-05-28 19:01:24 +03:00
Simon Zolin 763b986955 + dhcp: /dhcp/status: return static leases 2019-05-28 18:59:15 +03:00
Simon Zolin 342699d933 * dhcpd: minor improvements 2019-05-28 18:59:15 +03:00
Simon Zolin 725aeeb910 + dhcp: /dhcp/add_static_lease, /dhcp/remove_static_lease: control static lease table 2019-05-28 18:59:15 +03:00
Simon Zolin cc366495d3 + dhcpd: CheckConfig() 2019-05-28 18:59:15 +03:00
Simon Zolin 0d405c0af8 * dhcpd: move code from Start() to Init() 2019-05-28 18:59:15 +03:00
Simon Zolin 4bb7b654ab + dhcp: FindIPbyMAC() 2019-05-28 18:44:27 +03:00
Simon Zolin d5f46f51b8 - dhcp: fix build on macos #704 2019-04-23 15:14:26 +03:00
Simon Zolin c5ed6da5bd - /control/dhcp/find_active_dhcp: fix DHCP server detection
Before this patch we couldn't receive incoming DHCP packets.
Now we bind() to 0.0.0.0 and set the required network interface
 using SO_BINDTODEVICE option.

As an improvement, we now wait until a reply to our request is
 received and skip all unknown packets.
2019-04-23 12:26:14 +03:00
Andrey Meshkov 7ebfaccc6e Merge with master 2019-03-22 10:36:48 +03:00
Simon Zolin 9bc5a4570e * DHCP: fix and update tests
for:
 + dhcp: handle lease expiration (d68600c5d0)
2019-03-20 14:19:19 +03:00
Simon Zolin ef789acee4 * control: DHCP: don't return expired leases
- fix potential race when lease's data can be modified while UI thread is reading it
2019-03-19 15:54:35 +03:00
Simon Zolin ef637e1313 + DHCP: step-by-step guide for test setup with Virtual Box 2019-03-15 14:00:32 +03:00
Simon Zolin d68600c5d0 + dhcp: handle lease expiration 2019-03-15 14:00:32 +03:00
Simon Zolin 8fa2f48136 + dhcp: use ICMP for IP conflict detection
+ 'icmp_timeout_msec' YAML config setting
2019-03-15 14:00:32 +03:00
Simon Zolin 542a67b84e * dhcp: don't allocate a new lease when processing Request message 2019-03-15 14:00:32 +03:00
Simon Zolin d832d7ce95 * dhcp: don't process Discover/Request packets with empty client HW address 2019-03-15 14:00:32 +03:00
Simon Zolin 92cf7c1aca * dhcp: refactor 2019-03-15 14:00:04 +03:00
Simon Zolin b5f0d48e7f * DHCP: Stop(): wait until the worker is stopped 2019-03-15 13:56:45 +03:00
Simon Zolin 67014c40f7 + DHCP: On-disk database for lease table 2019-03-15 13:56:45 +03:00
Simon Zolin e164cff02b + dhcp: test 2019-03-15 13:56:45 +03:00
Simon Zolin 08bf9b0acb * dhcp: remove code which forces an update of current lease's IP in
Request message handler
2019-03-15 13:56:45 +03:00
Simon Zolin 60fa3b2e95 * dhcp: refactor; log client's HW addr 2019-03-15 13:56:45 +03:00
Simon Zolin 5cb6d97cd7 * use new logger - AdguardTeam/golibs/log 2019-02-27 15:02:11 +03:00
Eugene Bujak 68c8a4d484 Demote some log.printf into log.tracef 2019-02-07 18:24:43 +03:00
Andrey Meshkov ec6b1f7c42 Added golangci-lint configuration and prepared for the integrattion 2019-01-25 20:13:57 +03:00
Andrey Meshkov d078851246 gometalinter 2019-01-25 20:13:57 +03:00
Eugene Bujak 4d3f1b83a6 Fix race conditions found by -race 2018-12-29 19:13:00 +03:00
Eugene Bujak 368e2d1ebd move log wrapper library outside into hmage/golibs/log 2018-12-29 19:12:45 +03:00
Eugene Bujak d8802a9709 Use new log wrapper and add more functions to it. 2018-12-29 17:37:18 +03:00
Eugene Bujak 86d79ae232 dhcpd -- Remember hostname, for UI. 2018-12-29 16:44:07 +03:00