oweals/odhcp6c.git
11 years agoodhpc6c: status code support in reply
Hans Dedecker [Wed, 23 Oct 2013 12:04:38 +0000 (12:04 +0000)]
odhpc6c: status code support in reply

The patch implements support for status code handling in
reply messages as described in RFC3313 paragraph 18.1.8.
The client will
*log the status codes returned by the client
*send a request if no binding status code is returned for
a given IA
*send further renew/rebind if the IA was not present in
the reply
*terminate message exchange when no prefix/no address
status code is returned in reponse to a request
*terminate message exchange when unspec fail status code
is returned
*calculate t1/t2/t3 when all IA's have been processed and
based on recorded t1/t2/valid timer values per IA

Without this patch I have seen issues with request messages
send without any IA_PD/IA_NA and t1/t2/t3 timer values which
were not correct. These changes have been tested intensive
against an ISC DHCPv6 server

Signed-off-by: Hans Dedecker <hans.dedecker@gmail.com>
11 years agoodhcp6c: preference and status code support in advertise
Hans Dedecker [Wed, 23 Oct 2013 12:04:27 +0000 (12:04 +0000)]
odhcp6c: preference and status code support in advertise

The patch implements handling of advertise messages
as described in RFC3315 paragraph 17.1.2. Client will
stop collecting advertise messages if preference option
is equal to 255 or if the first RT has elapsed. Status
codes are handled in the advertise message depending on
the startup parameters

Signed-off-by: Hans Dedecker <hans.dedecker@gmail.com>
11 years agoodhcp6c: message retransmission count support
Hans Dedecker [Wed, 23 Oct 2013 12:04:01 +0000 (12:04 +0000)]
odhcp6c: message retransmission count support

The patch implements message retransmission count (MRC) support as
described in RFC3315 paragraphs 5.5 and 14 for DHCPv6 request/release/
decline messages. Patch also disables multicast packets loopback.

Signed-off-by: Hans Dedecker <hans.dedecker@gmail.com>
11 years agoAvoid updating too often if ISP spams RAs
Steven Barth [Wed, 23 Oct 2013 08:13:00 +0000 (10:13 +0200)]
Avoid updating too often if ISP spams RAs

11 years agoFix handling of PD-Advertisements
Steven Barth [Thu, 17 Oct 2013 07:19:01 +0000 (09:19 +0200)]
Fix handling of PD-Advertisements

11 years agoMake SOL_MAX_RT configurable and default to 120
Steven Barth [Mon, 14 Oct 2013 13:29:39 +0000 (15:29 +0200)]
Make SOL_MAX_RT configurable and default to 120

11 years agoPrefer servers with bigger prefixes
Steven Barth [Mon, 14 Oct 2013 12:14:15 +0000 (14:14 +0200)]
Prefer servers with bigger prefixes

11 years agoDon't hang indefinitely if REQUEST is never answered
Steven Barth [Fri, 11 Oct 2013 07:33:00 +0000 (09:33 +0200)]
Don't hang indefinitely if REQUEST is never answered

11 years agoodhcp6c: improve server selection
Steven Barth [Mon, 7 Oct 2013 08:21:34 +0000 (10:21 +0200)]
odhcp6c: improve server selection

11 years agoCheck for local addr more often
Steven Barth [Fri, 4 Oct 2013 06:26:38 +0000 (08:26 +0200)]
Check for local addr more often

11 years agora: validate hop-limit
Steven Barth [Wed, 2 Oct 2013 14:10:43 +0000 (16:10 +0200)]
ra: validate hop-limit

11 years agoHandle NoAddrsAvail IA-status
Steven Barth [Sat, 21 Sep 2013 10:49:05 +0000 (12:49 +0200)]
Handle NoAddrsAvail IA-status

11 years agoRestart transaction if server returns IAID error code
Steven Barth [Wed, 18 Sep 2013 10:25:20 +0000 (12:25 +0200)]
Restart transaction if server returns IAID error code

11 years agoAdd default T1, T2, T3 for buggy servers
Steven Barth [Thu, 12 Sep 2013 12:48:57 +0000 (14:48 +0200)]
Add default T1, T2, T3 for buggy servers

11 years agoMerge preliminary prefix class support
Steven Barth [Sat, 31 Aug 2013 08:48:56 +0000 (10:48 +0200)]
Merge preliminary prefix class support

11 years agoMerge branch 'hnet'
Steven Barth [Sat, 31 Aug 2013 08:11:15 +0000 (10:11 +0200)]
Merge branch 'hnet'

Conflicts:
src/ra.c

11 years agoUpdate README
Steven Barth [Fri, 30 Aug 2013 14:57:23 +0000 (16:57 +0200)]
Update README

11 years agoRemove DAD for now due to kernel issues
Steven Barth [Fri, 30 Aug 2013 15:41:55 +0000 (17:41 +0200)]
Remove DAD for now due to kernel issues

11 years agoMerge remote-tracking branch 'up/master' into hnet
Markus Stenberg [Thu, 1 Aug 2013 09:05:56 +0000 (11:05 +0200)]
Merge remote-tracking branch 'up/master' into hnet

11 years agoFix including PD in request
Steven Barth [Thu, 1 Aug 2013 07:28:27 +0000 (09:28 +0200)]
Fix including PD in request

11 years agoMerge remote-tracking branch 'up/master' into hnet
Markus Stenberg [Wed, 31 Jul 2013 21:58:33 +0000 (23:58 +0200)]
Merge remote-tracking branch 'up/master' into hnet

11 years agoInclude IAs in Request to be more compatible with some servers
Steven Barth [Wed, 31 Jul 2013 17:05:55 +0000 (19:05 +0200)]
Include IAs in Request to be more compatible with some servers

11 years agoAdd support for colored address in IA_NA
Maico Le Pape [Tue, 30 Jul 2013 21:10:54 +0000 (23:10 +0200)]
Add support for colored address in IA_NA

Signed-off-by: Maico Le Pape <mlepape@cisco.com>
11 years agoAdd better overflow safety in resend
Steven Barth [Wed, 3 Jul 2013 17:15:36 +0000 (19:15 +0200)]
Add better overflow safety in resend

11 years agoMerge branch 'master' into hnet
Markus Stenberg [Mon, 24 Jun 2013 10:53:03 +0000 (13:53 +0300)]
Merge branch 'master' into hnet

Conflicts:
README
src/dhcpv6.c
src/odhcp6c.h

11 years agoAllow overriding the interface-identifier for public addresses
Steven Barth [Tue, 18 Jun 2013 12:44:43 +0000 (14:44 +0200)]
Allow overriding the interface-identifier for public addresses

11 years agoAdd sanity checks for NDP and MTU parameters from RAs
Steven Barth [Thu, 13 Jun 2013 06:36:31 +0000 (08:36 +0200)]
Add sanity checks for NDP and MTU parameters from RAs

11 years agoUpdate README
Steven Barth [Fri, 31 May 2013 14:05:00 +0000 (16:05 +0200)]
Update README

11 years agoWork around false-positive DAD-hits
Steven Barth [Fri, 31 May 2013 13:45:42 +0000 (15:45 +0200)]
Work around false-positive DAD-hits

11 years agoFix handling of multiple RAs in a row.
Steven Barth [Fri, 31 May 2013 09:27:48 +0000 (11:27 +0200)]
Fix handling of multiple RAs in a row.

The default route-entry was not correctly reinitialized.
Thanks to pmarks-net for the detailed bugreport.

11 years agoAdd more sanity checks and logging to DAD
Steven Barth [Tue, 28 May 2013 16:26:34 +0000 (18:26 +0200)]
Add more sanity checks and logging to DAD

11 years agoHonor T1 and T2 from server better
Steven Barth [Tue, 21 May 2013 10:10:37 +0000 (12:10 +0200)]
Honor T1 and T2 from server better

11 years agoFix reconfigure accept option transmission
Steven Barth [Tue, 21 May 2013 08:25:33 +0000 (10:25 +0200)]
Fix reconfigure accept option transmission

11 years agoFix IA expiring logic
Steven Barth [Mon, 20 May 2013 14:27:23 +0000 (16:27 +0200)]
Fix IA expiring logic

11 years agoscript: fix delay call handling
Steven Barth [Wed, 15 May 2013 11:06:29 +0000 (13:06 +0200)]
script: fix delay call handling

11 years agoExport AFTR-IP as well and update README
Steven Barth [Mon, 13 May 2013 15:17:07 +0000 (17:17 +0200)]
Export AFTR-IP as well and update README

11 years agoFix possible buffer overflows in DNS handling
Steven Barth [Mon, 13 May 2013 15:00:38 +0000 (17:00 +0200)]
Fix possible buffer overflows in DNS handling

11 years agoAdd support for DS-Lite AFTR
Steven Barth [Sun, 12 May 2013 09:03:48 +0000 (11:03 +0200)]
Add support for DS-Lite AFTR

11 years agoUse key=val pairs for additional prefix params
Steven Barth [Wed, 8 May 2013 12:39:35 +0000 (14:39 +0200)]
Use key=val pairs for additional prefix params

11 years agoUpdate README
Steven Barth [Mon, 6 May 2013 19:00:31 +0000 (21:00 +0200)]
Update README

11 years agoReadjust call-delay to be more backward-compatible
Steven Barth [Sun, 5 May 2013 14:11:25 +0000 (16:11 +0200)]
Readjust call-delay to be more backward-compatible

11 years agoSet a global default DHCPv6 exchange timeout
Steven Barth [Sun, 5 May 2013 13:56:42 +0000 (15:56 +0200)]
Set a global default DHCPv6 exchange timeout

This delays SLAAC-updates before any DHCPv6-binding is established.

11 years agoUpdate README again
Steven Barth [Tue, 23 Apr 2013 06:30:46 +0000 (08:30 +0200)]
Update README again

11 years agoUpdate README
Steven Barth [Tue, 23 Apr 2013 06:26:01 +0000 (08:26 +0200)]
Update README

11 years agoSet default SOL_MAX_RT to 1h
Steven Barth [Tue, 23 Apr 2013 06:20:26 +0000 (08:20 +0200)]
Set default SOL_MAX_RT to 1h

11 years agoSeveral bugfixes
Steven Barth [Mon, 22 Apr 2013 17:46:14 +0000 (19:46 +0200)]
Several bugfixes

11 years agoSet SOL_MAX_RT to 7200 according to RFC 6204 bis
Steven Barth [Sun, 21 Apr 2013 17:58:24 +0000 (19:58 +0200)]
Set SOL_MAX_RT to 7200 according to RFC 6204 bis

11 years agoFix authentication option format
Steven Barth [Sun, 14 Apr 2013 17:29:20 +0000 (19:29 +0200)]
Fix authentication option format

11 years agoFix CFLAGS and README
Steven Barth [Mon, 8 Apr 2013 07:18:26 +0000 (09:18 +0200)]
Fix CFLAGS and README

11 years agoFix compilation
Steven Barth [Mon, 8 Apr 2013 07:12:50 +0000 (09:12 +0200)]
Fix compilation

11 years agoAdd reconfigure authentication
Steven Barth [Mon, 8 Apr 2013 06:58:58 +0000 (08:58 +0200)]
Add reconfigure authentication

11 years agoInitial support for RFC 6603
Steven Barth [Sun, 7 Apr 2013 09:25:11 +0000 (11:25 +0200)]
Initial support for RFC 6603

11 years agoUpdate license headers
Steven Barth [Thu, 4 Apr 2013 09:19:12 +0000 (11:19 +0200)]
Update license headers

11 years agoUpdate README to reflect RA-features
Steven Barth [Thu, 4 Apr 2013 09:05:51 +0000 (11:05 +0200)]
Update README to reflect RA-features

11 years agoFixed prefix class finding - it was starting from wrong offset. Now works.
Markus Stenberg [Tue, 26 Mar 2013 14:45:05 +0000 (16:45 +0200)]
Fixed prefix class finding - it was starting from wrong offset. Now works.

11 years agoMerge pull request #6 from fingon/bugfix
sbyx [Tue, 26 Mar 2013 13:26:25 +0000 (06:26 -0700)]
Merge pull request #6 from fingon/bugfix

Fixed a race condition with signals

11 years agoMerge branch 'master' into hnet
Markus Stenberg [Tue, 26 Mar 2013 13:22:05 +0000 (15:22 +0200)]
Merge branch 'master' into hnet

11 years agoMerge branch 'bugfix' into hnet
Markus Stenberg [Tue, 26 Mar 2013 13:16:24 +0000 (15:16 +0200)]
Merge branch 'bugfix' into hnet

11 years agoFixed race condition - ra_init may already result in SIGIO, and without signal handle...
Markus Stenberg [Tue, 26 Mar 2013 13:15:25 +0000 (15:15 +0200)]
Fixed race condition - ra_init may already result in SIGIO, and without signal handler set, code goes boom.

11 years agoFirst hnet-based version.
Markus Stenberg [Tue, 26 Mar 2013 13:12:50 +0000 (15:12 +0200)]
First hnet-based version.

11 years agoFix IA-status detection
Steven Barth [Mon, 25 Mar 2013 11:45:38 +0000 (12:45 +0100)]
Fix IA-status detection

11 years agoDon't output on stderr by default
Steven Barth [Wed, 20 Mar 2013 13:43:09 +0000 (14:43 +0100)]
Don't output on stderr by default

11 years agoFix priority for on-link routes for prefixes
Steven Barth [Wed, 20 Mar 2013 10:24:30 +0000 (11:24 +0100)]
Fix priority for on-link routes for prefixes

11 years agoFix several incorrect array indices
Steven Barth [Mon, 18 Mar 2013 08:21:53 +0000 (09:21 +0100)]
Fix several incorrect array indices
* fixes preference handling
* fixes custom client IDs

11 years agoAdd option to not send RELEASE when stopping
Steven Barth [Fri, 8 Mar 2013 07:58:28 +0000 (08:58 +0100)]
Add option to not send RELEASE when stopping

11 years agoFix timing issues with large T1 and T2 values
Steven Barth [Fri, 8 Mar 2013 07:53:13 +0000 (08:53 +0100)]
Fix timing issues with large T1 and T2 values

11 years agoBe less verbose in log
Steven Barth [Mon, 11 Feb 2013 13:08:05 +0000 (14:08 +0100)]
Be less verbose in log

11 years agoDo not send undesired preferences for valid and / or preferred times
Steven Barth [Mon, 11 Feb 2013 13:02:16 +0000 (14:02 +0100)]
Do not send undesired preferences for valid and / or preferred times

11 years agoFix timer signedness
Steven Barth [Sun, 3 Feb 2013 17:25:31 +0000 (18:25 +0100)]
Fix timer signedness

11 years agoFix timing issues
Steven Barth [Sun, 3 Feb 2013 17:19:30 +0000 (18:19 +0100)]
Fix timing issues

11 years agoMore IA_NA and IA_PD fixes
Steven Barth [Sat, 2 Feb 2013 10:31:22 +0000 (11:31 +0100)]
More IA_NA and IA_PD fixes

11 years agoFix generation of IA_PD and IA_NA attributes
Steven Barth [Sat, 2 Feb 2013 09:44:10 +0000 (10:44 +0100)]
Fix generation of IA_PD and IA_NA attributes

11 years agoReverse SLAAC-only logic
Steven Barth [Fri, 1 Feb 2013 13:34:02 +0000 (14:34 +0100)]
Reverse SLAAC-only logic

11 years agoFix entry-update logic
Steven Barth [Fri, 1 Feb 2013 12:01:09 +0000 (13:01 +0100)]
Fix entry-update logic

11 years agoAvoid redundant deduplication
Steven Barth [Fri, 1 Feb 2013 11:38:16 +0000 (12:38 +0100)]
Avoid redundant deduplication

11 years agoFix netlink attribute handling
Steven Barth [Fri, 1 Feb 2013 11:26:51 +0000 (12:26 +0100)]
Fix netlink attribute handling

11 years agoDetect more DADFAILED cases
Steven Barth [Fri, 1 Feb 2013 11:05:33 +0000 (12:05 +0100)]
Detect more DADFAILED cases

11 years agoFix segfault
Steven Barth [Fri, 1 Feb 2013 08:25:32 +0000 (09:25 +0100)]
Fix segfault

11 years agoreact more quickly to DHCPv6-replies
Steven Barth [Fri, 1 Feb 2013 07:29:20 +0000 (08:29 +0100)]
react more quickly to DHCPv6-replies

11 years agoFix metric calculation
Steven Barth [Thu, 31 Jan 2013 15:47:11 +0000 (16:47 +0100)]
Fix metric calculation

11 years agoFix RS attempts
Steven Barth [Thu, 31 Jan 2013 15:38:48 +0000 (16:38 +0100)]
Fix RS attempts

11 years agoHandle signals more often
Steven Barth [Thu, 31 Jan 2013 15:31:05 +0000 (16:31 +0100)]
Handle signals more often

11 years agoFix RA-route export again
Steven Barth [Thu, 31 Jan 2013 11:40:00 +0000 (12:40 +0100)]
Fix RA-route export again

11 years agoFix formatting of routes
Steven Barth [Thu, 31 Jan 2013 11:24:00 +0000 (12:24 +0100)]
Fix formatting of routes

11 years agoPrevent OOM DOS
Steven Barth [Thu, 31 Jan 2013 07:38:38 +0000 (08:38 +0100)]
Prevent OOM DOS

11 years agoFix compile error
Steven Barth [Wed, 30 Jan 2013 21:51:30 +0000 (22:51 +0100)]
Fix compile error

11 years agoFix and improve RA-handling code
Steven Barth [Wed, 30 Jan 2013 21:15:07 +0000 (22:15 +0100)]
Fix and improve RA-handling code

11 years agoFix safe entry manipulation
Steven Barth [Wed, 30 Jan 2013 20:05:37 +0000 (21:05 +0100)]
Fix safe entry manipulation

11 years agoAdd RA-handling support
Steven Barth [Wed, 30 Jan 2013 19:19:11 +0000 (20:19 +0100)]
Add RA-handling support

11 years agoFix calculation of preferred and valid times
Steven Barth [Mon, 21 Jan 2013 07:45:16 +0000 (08:45 +0100)]
Fix calculation of preferred and valid times

11 years agoFix DNS-server parsing with more than one server
Steven Barth [Fri, 18 Jan 2013 08:20:19 +0000 (09:20 +0100)]
Fix DNS-server parsing with more than one server

11 years agoDetect a suitable MAC if the main interface doesn't have one (e.g. ppp)
Steven Barth [Thu, 17 Jan 2013 07:53:48 +0000 (08:53 +0100)]
Detect a suitable MAC if the main interface doesn't have one (e.g. ppp)

11 years agoRemove timeout feature
Steven Barth [Thu, 17 Jan 2013 07:36:34 +0000 (08:36 +0100)]
Remove timeout feature

11 years agoRemove support for lost prefixes
Steven Barth [Thu, 17 Jan 2013 07:34:19 +0000 (08:34 +0100)]
Remove support for lost prefixes

11 years agoUpdate requested options
Steven Barth [Wed, 2 Jan 2013 13:32:05 +0000 (14:32 +0100)]
Update requested options

11 years agoUpdate README
Steven Barth [Wed, 2 Jan 2013 13:29:14 +0000 (14:29 +0100)]
Update README

11 years agoImplement RFC 3319 options
Steven Barth [Wed, 2 Jan 2013 13:28:09 +0000 (14:28 +0100)]
Implement RFC 3319 options

11 years agoUpdate README
Steven Barth [Wed, 2 Jan 2013 10:37:42 +0000 (11:37 +0100)]
Update README

11 years agoAdd SNTP option support
Steven Barth [Wed, 2 Jan 2013 10:37:29 +0000 (11:37 +0100)]
Add SNTP option support

11 years agoAdd started and stopped events
Steven Barth [Wed, 2 Jan 2013 09:49:16 +0000 (10:49 +0100)]
Add started and stopped events