Commit graph

256 commits

Author SHA1 Message Date
Steven Barth
8f877ff42b 6in4: https support for he.net tunnel api
HE.net tunnel update API requests are now made via https if an
SSL-capable wget is installed.  Certificate validation is
conditionally enabled if the CA certs are available.

Signed-off-by: Andrew Skalski <askalski@gmail.com>

SVN-Revision: 43124
2014-10-30 13:15:18 +00:00
Steven Barth
a0d9489e84 odhcp6c: avoid some unnecessary big mallocs
SVN-Revision: 43056
2014-10-25 10:39:02 +00:00
Steven Barth
1db4cb9c92 odhcp6c: fix parse errors with some dhcpv6 servers
SVN-Revision: 42869
2014-10-12 12:18:33 +00:00
Steven Barth
ea0a01d7e2 odhcp6c: fix typo in last commit
SVN-Revision: 42852
2014-10-08 15:27:17 +00:00
Steven Barth
c7a941cf02 odhcp6c: don't assign addresses or prefixes prematurely
SVN-Revision: 42850
2014-10-08 15:16:19 +00:00
Steven Barth
5fa47c3c04 odhcp6c: ensure signal-safety of signal handlers
SVN-Revision: 42841
2014-10-08 09:58:40 +00:00
Steven Barth
8691d75917 odhcp6c: add route-workaround for broken IPv6-ISPs
Some ISP seem to only do stateful DHCPv6 and not sending RAs.
This is technically broken because plain DHCPv6 doesn't carry routes.

We work around here by faking a default route to the DHCPv6 server
if we do not receive a useful RA from the ISP.

This workaround can be turned off with: option fakeroutes 0

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 42803
2014-10-06 11:19:33 +00:00
Steven Barth
75572d0d31 6in4: Tos support
Tos support is added as a string parameter which can have the following values :
   -inherit (outer header inherits the tos value of the inner header)
   -hex value

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 42749
2014-10-02 19:38:15 +00:00
Steven Barth
e7e54ef672 6to4: Tos support
Tos support is added as a string parameter which can have the following values :
   -inherit (outer header inherits the tos value of the inner header)
   -hex value

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 42748
2014-10-02 19:38:04 +00:00
Steven Barth
e9d15da0da 6rd: Tos support
Tos support is added as a string parameter which can have the following values :
     -inherit (outer header inherits the tos value of the inner header)
     -hex value

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 42747
2014-10-02 19:37:58 +00:00
Steven Barth
def69a96e9 map: fix portsets starting with 0 and use regular NAT for 1:1 MAP
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 42741
2014-10-02 19:15:38 +00:00
Steven Barth
36115321be odhcp6c: work around weird ISP RS behaviour
SVN-Revision: 42674
2014-09-27 16:57:47 +00:00
Steven Barth
75cbca0a40 odhcp6c: enable softwires support by default
SVN-Revision: 42274
2014-08-25 06:11:53 +00:00
Steven Barth
462023f45a odhcp6c: Fix white space typo in dhcpv6.script
Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 41893
2014-07-30 13:18:01 +00:00
Felix Fietkau
e7ece301fe odhcp6c: suppress fw3 warnings
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41833
2014-07-26 12:23:28 +00:00
Steven Barth
9231df5665 softwires: redesign dhcp(v6) provisioning
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 41823
2014-07-24 14:17:41 +00:00
Steven Barth
683b622fcd odhcp6c: Send RS with source link-layer address if possible
SVN-Revision: 41778
2014-07-21 10:11:09 +00:00
Jo-Philipp Wich
42bc2c49ae 6in4: send password unhashed
The preferred he.net /nic/update endpoint expects the password or updatekey in
plain text and not as md5 sum, therfore remove the hashing operation from the
script.

This effectively renders the "updatekey" option redundant but we keep it around
for backwards compatibility. Both "option password" and "option updatekey" will
have end up in the "&password=" parameter of the update url and are passed through
unmodified.

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 41358
2014-06-27 10:40:44 +00:00
Steven Barth
2ecdc86b4d map: add support for map-t if available
SVN-Revision: 41003
2014-06-04 14:58:40 +00:00
Steven Barth
54291b16e6 dhcpv6: set default solicit timeout back to 120s
This deliberatly breaks RFC 7083 since its not really user-friendly.

SVN-Revision: 41001
2014-06-04 09:59:45 +00:00
Steven Barth
299c2cd312 6relayd: superseded by odhcpd
SVN-Revision: 40893
2014-06-01 10:28:50 +00:00
Steven Barth
cdbbe71199 odhcp6c: fix last commit
SVN-Revision: 40887
2014-05-30 14:50:42 +00:00
Steven Barth
f8c12d4227 odhcp6c: improve passthrough filter
SVN-Revision: 40886
2014-05-30 14:48:39 +00:00
Jo-Philipp Wich
83ccc9a8f6 6in4: adjust update url (#16617)
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

SVN-Revision: 40876
2014-05-29 09:22:52 +00:00
Steven Barth
c99065ffab odhcp6c: improve passthru filter
SVN-Revision: 40826
2014-05-23 06:29:13 +00:00
Steven Barth
3ce83eb9a0 odhcp6c: export passthru options as netifd data
SVN-Revision: 40825
2014-05-23 06:26:23 +00:00
Steven Barth
cb8ca4bdb8 odhcp6c: add support for option passthru
SVN-Revision: 40824
2014-05-23 06:17:27 +00:00
Steven Barth
bb932910dd Initial support for MAP-E and Lightweight 4over6 protocol
SVN-Revision: 40823
2014-05-22 20:04:53 +00:00
Steven Barth
0c06d76c79 netifd: Fix nested protocols going offline at reload + various route issues
Much thanks to Hans Dedecker

SVN-Revision: 40746
2014-05-09 13:55:34 +00:00
Steven Barth
cc80c11538 odhcp6c: bring up nested interfaces on config change
SVN-Revision: 40745
2014-05-09 11:58:04 +00:00
Steven Barth
8c53f29220 odhcp6c: some more fixes for map / lw4o6 support
SVN-Revision: 40728
2014-05-08 09:17:55 +00:00
Steven Barth
ef9f0fa232 odhcp6c: add preliminary support for MAP provisioning
SVN-Revision: 40604
2014-04-30 15:52:30 +00:00
Steven Barth
c4e09ccb05 6rd: Select first IPv4 address from configured tunlink interface as local tunnel address
Gives the user the control to select the correct WAN IPv4 address to be used by the 6rd tunnel when mutiple WAN interfaces are configured

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 40566
2014-04-24 09:11:44 +00:00
Steven Barth
ba6689b064 ds-lite: disable NAT according to RFC 7084
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 40511
2014-04-14 10:11:54 +00:00
Steven Barth
d2d8970828 odhcp6c: fix recovering from status where all addresses have been lost
SVN-Revision: 40432
2014-04-09 06:57:04 +00:00
Steven Barth
4abcae7a1c ds-lite: compatibility with ISPs that only offer public PDs
SVN-Revision: 40422
2014-04-08 06:19:37 +00:00
Felix Fietkau
6d3672b13b odhcp6c: Add renew handler for proto dhcpv6
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

SVN-Revision: 40386
2014-04-05 18:17:25 +00:00
Steven Barth
a22190340a odhcp6c: add preliminary CER-ID support
SVN-Revision: 40351
2014-03-31 06:43:50 +00:00
Steven Barth
0555ebf66d 6rd / ds-lite: make the firewall-zones of nested-protocols configurable
SVN-Revision: 40020
2014-03-26 10:12:49 +00:00
Steven Barth
7ac0057c1f odhcp6c: pass on delegate-flag on to ds-lite interface
SVN-Revision: 39910
2014-03-13 10:40:56 +00:00
Steven Barth
cd695565fb odhcpd/odhcp6c: fix HMAC-MD5 in DHCPv6-Reconfigure
SVN-Revision: 39868
2014-03-11 08:21:58 +00:00
Steven Barth
d3f39e89a3 odhcp6c: fix int-overflow after 50d (thx Hauke Mehrtens)
SVN-Revision: 39785
2014-03-07 09:35:17 +00:00
Steven Barth
0a3cb4cdff odhcp6c: several fixes
* Reduce RA/DHCPv6 spam filter to 30s by default and make it configurable
* Don't set nd_ra_{reachable,retransmit] to 0 when received in RAs

SVN-Revision: 39775
2014-03-05 08:59:11 +00:00
Steven Barth
12fa3eae23 6in4: add support for he.net updatekey
SVN-Revision: 39646
2014-02-20 21:36:15 +00:00
Steven Barth
97faa098a2 odhcp6c: readd userclass and vendorclass
SVN-Revision: 39628
2014-02-18 18:30:47 +00:00
John Crispin
0da7d381f0 odhcp6c: add validation rules to proto handler
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 39624
2014-02-18 13:34:16 +00:00
Steven Barth
f906a7f565 odhcp6c: send reconfigure-accept again to be compliant
SVN-Revision: 39605
2014-02-17 20:31:21 +00:00
Steven Barth
3194834c55 odhcp6c: remove source-restriction from local routes again (broke relaying)
SVN-Revision: 39575
2014-02-12 08:54:43 +00:00
Steven Barth
c666dcfe08 odhcp6c: Fix timing and some regressions from yesterday
SVN-Revision: 39502
2014-02-06 10:38:02 +00:00
Steven Barth
05c9507cd3 odhcp6c: Add support for userclass and vendorclass
SVN-Revision: 39478
2014-02-05 14:56:37 +00:00
Steven Barth
02c763c4ab odhcp6c: Revert to slightly modified version of old behaviour
Latest changes broke source-restriction of on-link routes. Restoring
old-behaviour but adding correct source-restrictions which prevents
the offlink handler to remove the on-link route.

SVN-Revision: 39454
2014-02-03 09:06:25 +00:00
Steven Barth
a9a0b62785 odhcp6c: improve handling of RA on-link routes and addresses
SVN-Revision: 39451
2014-02-02 19:40:33 +00:00
Steven Barth
b965dab148 odhcp6c: several bugfixes and improvements
* Fixed broken stateless-mode (fixes #14863)
* Support for multiple IAIDs, improved server compatibility,
  improved NTP/SNTP support and other fixes (thanks to T-Labs)

SVN-Revision: 39433
2014-01-31 11:23:00 +00:00
Steven Barth
e1c5111997 6rd: Make don't fragment bit (df) a configurable variable
Make the IPv4 "do not fragment" bit a configurable variable for the 6rd
tunnel interface as the bit should not be set in the encapsulating IPv4
header according to RFC3056.
On top the config variable allows to enable/disable path mtu discovery
for tunnel interfaces.
Config variable can be passed to netifd as tunnel config support is
already present for the "do not fragment" bit.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 39370
2014-01-23 10:59:04 +00:00
Steven Barth
c67ec51c85 6in4: fix typo in config variable (fixes #14830)
SVN-Revision: 39347
2014-01-20 12:53:15 +00:00
Steven Barth
140a5b22d9 odhcp6c: Use sourcerouting by default
SVN-Revision: 39311
2014-01-17 14:00:04 +00:00
Steven Barth
570eb45f23 odhcp6c: fix several small issues + decrease size
SVN-Revision: 39310
2014-01-17 14:00:00 +00:00
Steven Barth
a5ee266cd9 6in4, 6rd, 6to4: Use source-restricted routes by default
SVN-Revision: 39307
2014-01-17 13:59:47 +00:00
Steven Barth
bc370646cd 6relayd: try to workaround race condition at startup
SVN-Revision: 39184
2014-01-02 11:38:36 +00:00
Steven Barth
e49d67f192 Convert DHCP->6rd and DHCPv6->DS-Lite autoconfig to dynamic interface
SVN-Revision: 39061
2013-12-15 19:38:53 +00:00
Steven Barth
fd50416248 odhcp6c: add source routing support
SVN-Revision: 39058
2013-12-15 19:10:20 +00:00
Steven Barth
4bdd40c08b odhcpd/6c: Add config menu for prefix class ext.
SVN-Revision: 38996
2013-12-05 12:17:09 +00:00
Steven Barth
b5a4fb1c95 6rd: Clear correct IPv6 address bits in 6rdcalc
The correct bits are now cleared in the IPv6 address as the shift
value to the correct byte in the IPv6 address was wrong. Depending
on the stack values this could result in a hanging 6rdcalc program
due to an endless loop.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>

SVN-Revision: 38818
2013-11-16 09:18:14 +00:00
Steven Barth
dfa9ca772b odhcp6c: Multiple improvements and fixes
* Various RFC compliance fixes (thanks to Hans Dedecker)
* Fix RA spam filter logic causing ipv6 connection issues
* Fix parameters -F and -P being order dependent

SVN-Revision: 38577
2013-10-29 13:23:28 +00:00
Steven Barth
d8d0e2c536 odhcp6c: filter similar RAs spammed by some ISPs
SVN-Revision: 38505
2013-10-23 10:31:06 +00:00
Steven Barth
1ff15bfe83 6relayd: reduce fallout of RA spamming a bit
SVN-Revision: 38488
2013-10-21 10:26:57 +00:00
Steven Barth
7e13c80b3d odhcp6c: fix parsing of IA_PD adverts
SVN-Revision: 38433
2013-10-17 07:19:32 +00:00
Steven Barth
156ea733d4 odhcp6c: various fixes
* Make SOL_MAX_RT configurable and default back to 120s
* Prefer servers with bigger prefixes (allows to use Comcast /60)
* Don't hang indefinitely if DHCPv6 REQUEST is not answered

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 38393
2013-10-14 18:53:02 +00:00
Steven Barth
6dbfe22601 odhcp6c: improve server selection, introduce "forceprefix" option
SVN-Revision: 38314
2013-10-07 08:43:33 +00:00
Steven Barth
95e9c260bc odhcp6c: validate hop-limit on RAs
SVN-Revision: 38285
2013-10-02 14:16:05 +00:00
Steven Barth
0ad1d06c13 6relayd: remove compat ULA setting by default (too many bad sideeffects)
SVN-Revision: 38283
2013-10-02 06:14:39 +00:00
Steven Barth
4894800bdd odhcp6c: handle NoAddrsAvail IA-status
SVN-Revision: 38092
2013-09-21 10:54:13 +00:00
Steven Barth
808a1c7808 odhcp6c: Restart when server returns IAID error
SVN-Revision: 38032
2013-09-18 10:27:15 +00:00
Steven Barth
eba3ab9ade odhcp6c: Timing workaround for buggy servers
SVN-Revision: 37951
2013-09-12 12:57:42 +00:00
Steven Barth
b2a71fedd9 odhcp6c: more compatibility fixes
SVN-Revision: 37907
2013-09-05 21:13:51 +00:00
Steven Barth
4d37ae33b6 6relayd: Overridden DNS should affect DHCPv6
SVN-Revision: 37558
2013-07-26 11:59:25 +00:00
Steven Barth
6a034ce5b1 6relayd: Fix DHCPv6-PD with continuous hints
SVN-Revision: 37370
2013-07-16 12:07:06 +00:00
Steven Barth
e3a369e597 odhcp6c: avoid integer overflows in resend logic
SVN-Revision: 37150
2013-07-03 16:14:24 +00:00
Steven Barth
b9aa47d5b6 odhcp6c: add missing config parameter
SVN-Revision: 37148
2013-07-03 13:50:06 +00:00
Florian Fainelli
fe7c236a06 6relayd: prevent build on AVR32
AVR32 misses a bunch of updated syscalls, including timerfd_create()
which is used by 6relayd. Since that requires Linux/libc changes, just
prevent building it for now.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 37040
2013-06-27 15:33:05 +00:00
Steven Barth
cb66ed972b odhcp6c: Add missing config option "ifaceid"
SVN-Revision: 37033
2013-06-25 05:18:20 +00:00
Steven Barth
69cd09ebbf 6relayd: don't accidentally remove regular prefix routes
SVN-Revision: 37018
2013-06-23 16:26:09 +00:00
Steven Barth
f47c4c80d4 6relayd: fix lease-update behaviour for clients without reconfigure
SVN-Revision: 37011
2013-06-22 08:31:28 +00:00
Steven Barth
d0d5f109d8 6relayd: Keep PD-downstream across RENEW/REBIND
SVN-Revision: 37009
2013-06-22 08:19:25 +00:00
Steven Barth
5108318edb 6relayd: Fix DHCPv6-PD assignment logic
SVN-Revision: 36980
2013-06-21 06:15:09 +00:00
Steven Barth
de2a7547b7 6relayd: correctly set downstream routes for DHCPv6-PD
SVN-Revision: 36969
2013-06-19 13:08:33 +00:00
Steven Barth
5219d38da2 odhcp6c: Add option to override interface identifier in RA-client
SVN-Revision: 36959
2013-06-18 12:51:14 +00:00
Steven Barth
302cf427cb odhcp6c: add sanity checks for NDP and MTU parameters from RAs
SVN-Revision: 36930
2013-06-13 06:38:48 +00:00
Steven Barth
4f0a0defa6 6relayd: make route preference and prefix on-link flag configurable
SVN-Revision: 36922
2013-06-11 20:52:27 +00:00
Steven Barth
089d6612ce 6relayd: Work around Windows DHCPv6 quirks Announcing deprecated addresses breaks Windows clients
SVN-Revision: 36815
2013-06-01 17:51:02 +00:00
Steven Barth
7ae506c7d4 odhcp6c: work around spurious false-positive address DECLINEs
SVN-Revision: 36809
2013-05-31 13:49:17 +00:00
Steven Barth
bf582fbb7b odhcp6c: fix handling of multiple RAs in a row
SVN-Revision: 36804
2013-05-31 10:02:39 +00:00
Steven Barth
cdc3caf533 6relayd: Better compatibility with misbheaving DHCPv6 clients * Make the "best" address / prefix the first one being announced * Only add the "best" address to the hosts-file
SVN-Revision: 36772
2013-05-30 15:42:30 +00:00
Steven Barth
dc6625f977 6relayd: more verbosity in leases and logging
SVN-Revision: 36764
2013-05-30 07:56:55 +00:00
Steven Barth
23b3cebd56 odhcp6c: fix or debug disappearing IPv6 addresses
SVN-Revision: 36745
2013-05-28 16:28:14 +00:00
Steven Barth
61c0c6ab68 6relayd: RFC 6204 and naming improvements * Announce delegated prefixes using route info according to RFC 6204 L-3 * Enable hybrid stateless + stateful DHCPv6-mode as default
SVN-Revision: 36738
2013-05-27 20:38:13 +00:00
Steven Barth
f63064a257 6relayd: Fix DHCPv6-server picking up addresses from master interface
SVN-Revision: 36718
2013-05-26 10:06:02 +00:00
Steven Barth
d8d7d7f4aa 6relayd: fix a lease-timing issue with stateful DHCPv6
SVN-Revision: 36702
2013-05-24 12:31:30 +00:00
Steven Barth
9c3ac668e0 6relayd: Let OpenWrt override default CFLAGS
SVN-Revision: 36690
2013-05-22 11:58:54 +00:00
Steven Barth
9d115df749 6relayd: Fix a segfault when multiple downstream interfaces are present
SVN-Revision: 36687
2013-05-21 18:05:37 +00:00