Commit Graph

56 Commits

Author SHA1 Message Date
Simon Zolin
5c385521c4 + install: check static ip
* move code to network_utils

+ add tests

'dhcp' package has its own network_utils for now

+ doc: add static ip configuration algorithm on Ubuntu
2020-01-31 13:21:22 +03:00
Simon Zolin
dcc575402b Merge: * clients: update runtime clients of type DHCP by event from DHCP module
Close #1378

Squashed commit of the following:

commit e45e2d0e2768fe0677eee43538d381b3eaba39ca
Merge: bea8f79d 5e9c21b0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:20 2020 +0300

    Merge remote-tracking branch 'origin/master' into 1378-dhcp-clients

commit bea8f79dd6f8f3eae87649d853917b503df29616
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 20:08:06 2020 +0300

    minor

commit 6f1da9c6ea9db5bf80acf234ffe322a4cd2d8d92
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 19:31:08 2020 +0300

    fix

commit a88b46c1ded2b460ef7f0bfbcf1b80a066edf1c1
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Wed Jan 29 12:53:22 2020 +0300

    minor

commit d2897fe0a9b726fcd97a04906e3be3d21f6b42d7
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:55:10 2020 +0300

    * clients: update runtime clients of type DHCP by event from DHCP module

commit 3aa352ed2372141617d77363b2f2aeaf3a7e47a0
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:52:08 2020 +0300

    * minor

commit f5c2291e39df4d13b9baf9aa773284890494bb0a
Author: Simon Zolin <s.zolin@adguard.com>
Date:   Tue Jan 28 19:08:23 2020 +0300

    * clients: remove old entries of source type /etc/hosts or ARP
2020-01-30 10:25:02 +03:00
Andrey Meshkov
6bf512f96f -(home): fix searching clients by mac address 2019-12-23 16:59:02 +03:00
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