oweals/odhcpd.git
9 years agoMerge pull request #63 from willmo/router-lifetime
Steven Barth [Wed, 21 Oct 2015 06:47:26 +0000 (08:47 +0200)]
Merge pull request #63 from willmo/router-lifetime

Clamp router lifetime per RFC 4861

9 years agoDon't overflow router lifetime
Will Mortensen [Mon, 19 Oct 2015 03:50:56 +0000 (20:50 -0700)]
Don't overflow router lifetime

When a prefix lifetime was greater than UINT16_MAX, we would advertise a
shorter router lifetime (even potentially 0). Saturate instead.

9 years agoMerge pull request #62 from willmo/dns-lifetime
Steven Barth [Wed, 21 Oct 2015 06:07:52 +0000 (08:07 +0200)]
Merge pull request #62 from willmo/dns-lifetime

Correctly byteswap DNS lifetimes in RAs

9 years agoCorrectly byteswap DNS lifetimes in RAs
Will Mortensen [Mon, 19 Oct 2015 03:59:20 +0000 (20:59 -0700)]
Correctly byteswap DNS lifetimes in RAs

9 years agodhcpv6: use correct length when copying duid
Steven Barth [Mon, 7 Sep 2015 13:28:10 +0000 (15:28 +0200)]
dhcpv6: use correct length when copying duid

9 years agorouter: don't announce as default router if we aren't
Steven Barth [Mon, 7 Sep 2015 09:48:05 +0000 (11:48 +0200)]
router: don't announce as default router if we aren't

9 years agorouter: reduce dns lifetime to 10x maximum interval
Steven Barth [Mon, 7 Sep 2015 09:39:19 +0000 (11:39 +0200)]
router: reduce dns lifetime to 10x maximum interval

9 years agodhcpv6: fix mac-handling
Steven Barth [Mon, 7 Sep 2015 09:21:58 +0000 (11:21 +0200)]
dhcpv6: fix mac-handling

9 years agoFixup RAs/DHCPv6 announcing incorrect addresses
Steven Barth [Tue, 1 Sep 2015 13:29:31 +0000 (15:29 +0200)]
Fixup RAs/DHCPv6 announcing incorrect addresses

9 years agorouter/dhcpv6: use link-local addresses for DNS
Steven Barth [Thu, 20 Aug 2015 09:33:23 +0000 (11:33 +0200)]
router/dhcpv6: use link-local addresses for DNS

9 years agorouter: improve deprecation handling
Steven Barth [Thu, 20 Aug 2015 08:45:31 +0000 (10:45 +0200)]
router: improve deprecation handling

9 years agoMerge pull request #56 from sbyx/revert-46-master
Steven Barth [Thu, 20 Aug 2015 08:42:09 +0000 (10:42 +0200)]
Merge pull request #56 from sbyx/revert-46-master

Revert "RFC: dhcpv4 support openwrt alias ip addr"

9 years agoRevert "RFC: dhcpv4 support openwrt alias ip addr"
Steven Barth [Thu, 20 Aug 2015 08:42:02 +0000 (10:42 +0200)]
Revert "RFC: dhcpv4 support openwrt alias ip addr"

9 years agoMerge pull request #54 from dedeckeh/bugfixes
Steven Barth [Thu, 20 Aug 2015 06:12:30 +0000 (08:12 +0200)]
Merge pull request #54 from dedeckeh/bugfixes

Fixes compile issues and infinite lifetimes

9 years agoMerge pull request #46 from stargieg/master
Steven Barth [Thu, 20 Aug 2015 05:47:02 +0000 (07:47 +0200)]
Merge pull request #46 from stargieg/master

RFC: dhcpv4 support openwrt alias ip addr

9 years agorouter: Fix infinite lifetimes
Hans Dedecker [Mon, 10 Aug 2015 16:31:46 +0000 (18:31 +0200)]
router: Fix infinite lifetimes

9 years agorouter: Fix compile issues
Hans Dedecker [Mon, 10 Aug 2015 16:07:13 +0000 (18:07 +0200)]
router: Fix compile issues

Fix compile issue due to comparison between signed and unsigned integers

9 years agora/dhcpv6: unify address change handling
Steven Barth [Mon, 27 Jul 2015 21:21:57 +0000 (23:21 +0200)]
ra/dhcpv6: unify address change handling

9 years agoFix RA lifetimes
Steven Barth [Fri, 24 Jul 2015 13:46:55 +0000 (15:46 +0200)]
Fix RA lifetimes

9 years agodhcpv6: fix socket generation on relay master
Steven Barth [Fri, 17 Jul 2015 11:06:19 +0000 (13:06 +0200)]
dhcpv6: fix socket generation on relay master

9 years agodhcpv6: send relay-forward messages using correct socket
Steven Barth [Fri, 17 Jul 2015 08:46:07 +0000 (10:46 +0200)]
dhcpv6: send relay-forward messages using correct socket

9 years agorouter: unify RA router and DNS lifetime
Steven Barth [Wed, 15 Jul 2015 07:37:52 +0000 (09:37 +0200)]
router: unify RA router and DNS lifetime

9 years agorouter: fixup RA lifetime calculation
Steven Barth [Wed, 15 Jul 2015 06:56:53 +0000 (08:56 +0200)]
router: fixup RA lifetime calculation

9 years agorouter: fix invalid router lifetime
Steven Barth [Tue, 14 Jul 2015 19:49:57 +0000 (21:49 +0200)]
router: fix invalid router lifetime

9 years agorouter: fix logic inversion
Steven Barth [Tue, 14 Jul 2015 19:44:08 +0000 (21:44 +0200)]
router: fix logic inversion

9 years agondp: reintroduce address replay
Steven Barth [Tue, 14 Jul 2015 18:49:02 +0000 (20:49 +0200)]
ndp: reintroduce address replay

9 years agoRemove unsolicited unicast RAs, adjust intervals
Steven Barth [Tue, 14 Jul 2015 15:56:38 +0000 (17:56 +0200)]
Remove unsolicited unicast RAs, adjust intervals

9 years agondp: fixup relay
Steven Barth [Tue, 14 Jul 2015 09:05:31 +0000 (11:05 +0200)]
ndp: fixup relay

9 years agondp: remove bindtodevice workaround
Steven Barth [Mon, 13 Jul 2015 21:08:19 +0000 (23:08 +0200)]
ndp: remove bindtodevice workaround

9 years agoodhcpd: remove old workaround
Steven Barth [Mon, 13 Jul 2015 21:01:19 +0000 (23:01 +0200)]
odhcpd: remove old workaround

9 years agondp: fixup route replication
Steven Barth [Mon, 13 Jul 2015 20:46:25 +0000 (22:46 +0200)]
ndp: fixup route replication

9 years agorouter: only send RAs to neighbors if unsolicited
Steven Barth [Mon, 13 Jul 2015 20:14:07 +0000 (22:14 +0200)]
router: only send RAs to neighbors if unsolicited

9 years agorouter: only send direct RAs to link-local addresses
Steven Barth [Mon, 13 Jul 2015 20:08:17 +0000 (22:08 +0200)]
router: only send direct RAs to link-local addresses

9 years agomain: fix missing parameter while iterating neighbors
Steven Barth [Tue, 7 Jul 2015 14:04:05 +0000 (16:04 +0200)]
main: fix missing parameter while iterating neighbors

9 years agorouter: also send RAs to every known neighbor
Steven Barth [Tue, 7 Jul 2015 14:01:13 +0000 (16:01 +0200)]
router: also send RAs to every known neighbor

9 years agondp: replay on-link routes instead of address assignments
Steven Barth [Tue, 7 Jul 2015 13:42:55 +0000 (15:42 +0200)]
ndp: replay on-link routes instead of address assignments

9 years agora: keep alive neighbor entries so we can send unicast RAs in the future
Steven Barth [Tue, 30 Jun 2015 09:06:20 +0000 (11:06 +0200)]
ra: keep alive neighbor entries so we can send unicast RAs in the future

9 years agodhcpv4: remove unused addr_attrs struct
Patrick Grimm [Mon, 22 Jun 2015 14:22:36 +0000 (16:22 +0200)]
dhcpv4: remove unused addr_attrs struct

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: add ifdef ubus for dhcp4 ip
Patrick Grimm [Mon, 22 Jun 2015 14:16:04 +0000 (16:16 +0200)]
dhcpv4: add ifdef ubus for dhcp4 ip

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: add in_addr dhcpv4_mask and in_addr dhcpv4_addr to struct interface
Patrick Grimm [Thu, 18 Jun 2015 23:30:29 +0000 (01:30 +0200)]
dhcpv4: add in_addr dhcpv4_mask and in_addr dhcpv4_addr to struct interface
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: fix unitialization of mask
Patrick Grimm [Thu, 18 Jun 2015 02:45:45 +0000 (04:45 +0200)]
dhcpv4: fix unitialization of mask
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: fix char ubus_get_address4 int ubus_get_mask4 function
Patrick Grimm [Thu, 18 Jun 2015 02:27:24 +0000 (04:27 +0200)]
dhcpv4: fix char ubus_get_address4 int ubus_get_mask4 function
Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: add ubus_get_address4 ubus_get_mask4 function
Patrick Grimm [Mon, 15 Jun 2015 01:39:59 +0000 (03:39 +0200)]
dhcpv4: add ubus_get_address4 ubus_get_mask4 function

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: return pointer
Patrick Grimm [Mon, 15 Jun 2015 01:38:09 +0000 (03:38 +0200)]
dhcpv4: return pointer

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: use iface-name
Patrick Grimm [Mon, 15 Jun 2015 01:36:15 +0000 (03:36 +0200)]
dhcpv4: use iface-name

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: remove comment code lines
Patrick Grimm [Sun, 14 Jun 2015 22:43:28 +0000 (00:43 +0200)]
dhcpv4: remove comment code lines

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: use ubus for ipv4 dhcp range calculation
Patrick Grimm [Sun, 14 Jun 2015 22:39:32 +0000 (00:39 +0200)]
dhcpv4: use ubus for ipv4 dhcp range calculation

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: add for_each ipv4-address array in ubus_get_address4 ubus_get_mask4 function
Patrick Grimm [Sun, 14 Jun 2015 22:35:50 +0000 (00:35 +0200)]
dhcpv4: add for_each ipv4-address array in ubus_get_address4 ubus_get_mask4 function

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: add ubus_get_address4 ubus_get_mask4 function
Patrick Grimm [Sun, 14 Jun 2015 20:55:50 +0000 (22:55 +0200)]
dhcpv4: add ubus_get_address4 ubus_get_mask4 function

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv4: read ipv4-address from UBUS to ADDRESS4
Patrick Grimm [Sun, 14 Jun 2015 19:43:20 +0000 (21:43 +0200)]
dhcpv4: read ipv4-address from UBUS to ADDRESS4

Signed-off-by: Patrick Grimm <patrick@lunatiki.de>
9 years agodhcpv6: fix typo
Steven Barth [Thu, 21 May 2015 14:21:59 +0000 (16:21 +0200)]
dhcpv6: fix typo

9 years agodhcpv6-pd: ignore /64 on interface
Steven Barth [Wed, 13 May 2015 12:29:51 +0000 (14:29 +0200)]
dhcpv6-pd: ignore /64 on interface

9 years agodhcpv4: remove invalid free()
Steven Barth [Mon, 11 May 2015 19:49:13 +0000 (21:49 +0200)]
dhcpv4: remove invalid free()

Signed-off-by: Steven Barth <steven@midlink.org>
9 years agoconfig: fix typo in reload_cb
Steven Barth [Tue, 21 Apr 2015 07:42:17 +0000 (09:42 +0200)]
config: fix typo in reload_cb

9 years agodhcpv6: don't initialize IA-handing when turning down interface
Steven Barth [Mon, 20 Apr 2015 17:29:24 +0000 (19:29 +0200)]
dhcpv6: don't initialize IA-handing when turning down interface

9 years agoremove leftover fallout from prefix class support
Steven Barth [Mon, 20 Apr 2015 17:07:45 +0000 (19:07 +0200)]
remove leftover fallout from prefix class support

9 years agoFix logic inversion
Steven Barth [Tue, 14 Apr 2015 14:18:01 +0000 (16:18 +0200)]
Fix logic inversion

Signed-off-by: Steven Barth <steven@midlink.org>
9 years agoFix potential invalid memory access
Steven Barth [Tue, 14 Apr 2015 08:31:10 +0000 (10:31 +0200)]
Fix potential invalid memory access

9 years agora: always send current hop limit
Steven Barth [Fri, 10 Apr 2015 11:52:00 +0000 (13:52 +0200)]
ra: always send current hop limit

9 years agodhcpv6: fix handling of infinite lifetimes
Steven Barth [Mon, 6 Apr 2015 10:47:28 +0000 (12:47 +0200)]
dhcpv6: fix handling of infinite lifetimes

9 years agoproperly handle return codes
John Crispin [Sat, 28 Mar 2015 17:12:21 +0000 (18:12 +0100)]
properly handle return codes

Signed-off-by: John Crispin <blogic@openwrt.org>
9 years agodhcpv6: fix default assignment of non-64
Steven Barth [Mon, 30 Mar 2015 08:53:11 +0000 (10:53 +0200)]
dhcpv6: fix default assignment of non-64

Signed-off-by: Steven Barth <steven@midlink.org>
9 years agodhcpv6: prefer ula over other globals
Steven Barth [Mon, 30 Mar 2015 08:45:38 +0000 (10:45 +0200)]
dhcpv6: prefer ula over other globals

9 years agoReadd missing ubus function definitions
Steven Barth [Mon, 30 Mar 2015 08:08:51 +0000 (10:08 +0200)]
Readd missing ubus function definitions

9 years agoFix hostname export
Steven Barth [Sun, 29 Mar 2015 13:39:20 +0000 (15:39 +0200)]
Fix hostname export

9 years agoRemove prefix coloring support, refine hybrid management mode
Steven Barth [Sun, 29 Mar 2015 12:37:13 +0000 (14:37 +0200)]
Remove prefix coloring support, refine hybrid management mode

9 years agoodhcpd: use proper struct msghdr initializers to fix build error on musl
Felix Fietkau [Sun, 29 Mar 2015 02:31:19 +0000 (04:31 +0200)]
odhcpd: use proper struct msghdr initializers to fix build error on musl

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
9 years agoMerge pull request #36 from fingon/compile-fix
Steven Barth [Mon, 2 Mar 2015 15:31:27 +0000 (16:31 +0100)]
Merge pull request #36 from fingon/compile-fix

DHCPv4: Compile fix on 64bit Debian.

9 years agoDHCPv4: Compile fix on 64bit Debian.
Markus Stenberg [Mon, 23 Feb 2015 11:13:36 +0000 (13:13 +0200)]
DHCPv4: Compile fix on 64bit Debian.

9 years agoMerge pull request #29 from mehlis/rework-dhcpv4_assign
Steven Barth [Thu, 19 Feb 2015 14:56:35 +0000 (15:56 +0100)]
Merge pull request #29 from mehlis/rework-dhcpv4_assign

dhcpv4_assign: rework the assignment logic

10 years agoDHCPv6: enable flash-renumbering hack only for /64 prefixes
Steven Barth [Thu, 6 Nov 2014 13:36:19 +0000 (14:36 +0100)]
DHCPv6: enable flash-renumbering hack only for /64 prefixes

10 years agoMerge pull request #30 from dedeckeh/bugfixes
sbyx [Thu, 30 Oct 2014 13:23:35 +0000 (14:23 +0100)]
Merge pull request #30 from dedeckeh/bugfixes

Fix IPv6 DNS server adddress selection

10 years agoFix IPv6 DNS server adddress selection
Hans Dedecker [Thu, 30 Oct 2014 11:30:32 +0000 (12:30 +0100)]
Fix IPv6 DNS server adddress selection

Fix selection of IPv6 DNS address in DHCPv6 and RA overwrite as an address could be selected
with preferred lifetime zero while IPv6 addresses are in use with non zero preferred
lifetimes.
Fix tries to pick the IPv6 address with the longest preferred lifetime now.
Fixes also the issue an IPv6 address with preferred lifetime zero could be returned in DHCPv6
DNS server option while an IPv6 address with non zero preferred lifetime is returned as DNS
recursive RA option for the same set of available IPv6 addresses.

10 years agodhcpv4_assign: rework the assignment logic
Christian Mehlis [Tue, 21 Oct 2014 16:30:46 +0000 (18:30 +0200)]
dhcpv4_assign: rework the assignment logic

10 years agoMerge pull request #28 from mehlis/dhcpv4_assign-clarify
sbyx [Tue, 21 Oct 2014 15:39:48 +0000 (17:39 +0200)]
Merge pull request #28 from mehlis/dhcpv4_assign-clarify

dhcpv4_assign: try 100 times to find a IP

10 years agodhcpv4_assign: try 100 times to find a IP
Christian Mehlis [Tue, 21 Oct 2014 15:34:24 +0000 (17:34 +0200)]
dhcpv4_assign: try 100 times to find a IP

This is what the comment on the loop is saying.
Also change the srand comment to match to the actual code.

10 years agodhcpv6: fix calculation of T1 and T2
Steven Barth [Sat, 18 Oct 2014 15:46:34 +0000 (17:46 +0200)]
dhcpv6: fix calculation of T1 and T2

10 years agondp: more fixes
Steven Barth [Fri, 17 Oct 2014 11:14:47 +0000 (13:14 +0200)]
ndp: more fixes

10 years agondp: fix proxying behavior
Steven Barth [Fri, 17 Oct 2014 10:20:33 +0000 (12:20 +0200)]
ndp: fix proxying behavior

10 years agondp: fix proc-setting
Steven Barth [Fri, 17 Oct 2014 08:04:10 +0000 (10:04 +0200)]
ndp: fix proc-setting

10 years agodhcpv6: allow flash renumbering in hybrid management mode
Steven Barth [Thu, 16 Oct 2014 15:29:19 +0000 (17:29 +0200)]
dhcpv6: allow flash renumbering in hybrid management mode

10 years agoBegin rewrite of NDP-relay
Steven Barth [Thu, 16 Oct 2014 15:19:05 +0000 (17:19 +0200)]
Begin rewrite of NDP-relay

10 years agorouter: add support for router address
Steven Barth [Thu, 16 Oct 2014 15:12:26 +0000 (17:12 +0200)]
router: add support for router address

10 years agorouter: unicast RAs to RS senders by default
Steven Barth [Thu, 16 Oct 2014 09:19:53 +0000 (11:19 +0200)]
router: unicast RAs to RS senders by default

10 years agoconfig: remove spurious free() call
Steven Barth [Thu, 25 Sep 2014 11:52:41 +0000 (13:52 +0200)]
config: remove spurious free() call

10 years agoodhcpd: don't kill static lease entries
Steven Barth [Sat, 23 Aug 2014 12:32:00 +0000 (14:32 +0200)]
odhcpd: don't kill static lease entries

10 years agodhcpv4: fix manual dhcp-ranges
Steven Barth [Tue, 19 Aug 2014 05:37:17 +0000 (07:37 +0200)]
dhcpv4: fix manual dhcp-ranges

10 years agoFix compilation errors in last commit
Steven Barth [Tue, 19 Aug 2014 05:22:29 +0000 (07:22 +0200)]
Fix compilation errors in last commit

10 years agodhcpv6-ia: add logging
Steven Barth [Tue, 19 Aug 2014 05:14:15 +0000 (07:14 +0200)]
dhcpv6-ia: add logging

10 years agoMerge pull request #23 from mehlis/nak-to-broadcast
sbyx [Tue, 19 Aug 2014 04:21:09 +0000 (06:21 +0200)]
Merge pull request #23 from mehlis/nak-to-broadcast

dhcpv4: send Nak to broadcast address

10 years agodhcpv4: log reply in a more precise way
Christian Mehlis [Mon, 18 Aug 2014 11:37:03 +0000 (13:37 +0200)]
dhcpv4: log reply in a more precise way

10 years agodhcpv4: send NAK to broacast address
Christian Mehlis [Mon, 18 Aug 2014 11:36:18 +0000 (13:36 +0200)]
dhcpv4: send NAK to broacast address

10 years agodhcpv4: added more comments
Christian Mehlis [Mon, 18 Aug 2014 11:35:16 +0000 (13:35 +0200)]
dhcpv4: added more comments

10 years agoPD: don't consider deprecated assigned prefixes when calculating avilable PD size
Steven Barth [Wed, 13 Aug 2014 14:53:06 +0000 (16:53 +0200)]
PD: don't consider deprecated assigned prefixes when calculating avilable PD size

10 years agoMerge pull request #22 from mehlis/log-dhcp4-events
sbyx [Tue, 12 Aug 2014 13:10:27 +0000 (15:10 +0200)]
Merge pull request #22 from mehlis/log-dhcp4-events

dhcpv4: log requests and replies to syslog

10 years agoMerge pull request #21 from mehlis/fix-nak-by-doing-valid-reply
sbyx [Tue, 12 Aug 2014 13:05:17 +0000 (15:05 +0200)]
Merge pull request #21 from mehlis/fix-nak-by-doing-valid-reply

dhcpv4: offer a valid configuration with DHCP NAK

10 years agodhcpv4: offer a valid configuration with DHCP NAK
Christian Mehlis [Tue, 12 Aug 2014 12:25:33 +0000 (14:25 +0200)]
dhcpv4: offer a valid configuration with DHCP NAK

On network change the client requests a non valid
configuration. In this case we have to reply with
a DHCP NAK. But this NAK can include a valid
configuration like an ACK does.

With this change iDevices and Androids can finish
DHCP even with wrong configuration in first
REQUEST with two packets and without any additional
timeouts and round trips.

10 years agoMerge pull request #20 from mehlis/implement-dhcp4-router-config
sbyx [Tue, 12 Aug 2014 12:59:36 +0000 (14:59 +0200)]
Merge pull request #20 from mehlis/implement-dhcp4-router-config

dhcpv4: implement router configuration option

10 years agodhcpv4: implement router configuration option
Christian Mehlis [Tue, 12 Aug 2014 12:58:06 +0000 (14:58 +0200)]
dhcpv4: implement router configuration option

RFC 2132 defines:

3.5. Router Option

   The router option specifies a list of IP addresses for routers on the
   client's subnet.  Routers SHOULD be listed in order of preference.

   The code for the router option is 3.  The minimum length for the
   router option is 4 octets, and the length MUST always be a multiple
   of 4.

    Code   Len         Address 1               Address 2
   +-----+-----+-----+-----+-----+-----+-----+-----+--
   |  3  |  n  |  a1 |  a2 |  a3 |  a4 |  a1 |  a2 |  ...
   +-----+-----+-----+-----+-----+-----+-----+-----+--

10 years agodhcpv4: log requests and replies to syslog
Christian Mehlis [Tue, 12 Aug 2014 12:30:02 +0000 (14:30 +0200)]
dhcpv4: log requests and replies to syslog

This change let odhcpd print dhcpv4 events
to syslog.