Commit Graph

2587 Commits

Author SHA1 Message Date
Roy Marples
369d1314de Rename dhcp6_prefix to delegated_dhcp6_prefix incase a user makes a
DHCPv6 option just called prefix.
Send delegated interfaces to listeners as well.
2014-10-03 17:54:06 +00:00
Roy Marples
f9e1cf0303 Fix IPv6 address announcements from kernel generated link-local addresses. 2014-10-03 14:43:35 +00:00
Roy Marples
ab6bf032d6 dhcpcd has been able to handle IPv6 routing on BSD for a while now. 2014-10-03 11:07:41 +00:00
Roy Marples
5c6411d1a1 Fix a segfault. 2014-10-02 15:20:07 +00:00
Roy Marples
6b56adb667 Really fix double fork. 2014-10-02 13:38:18 +00:00
Roy Marples
fead40d557 Fix double fork. 2014-10-02 13:24:22 +00:00
Roy Marples
34a9f2d191 The decode and print functions should not including the trailing NUL
in their return values to match other functions.
2014-10-02 13:21:29 +00:00
Roy Marples
c88878b044 Don't drop delegated reject route when forking. 2014-10-02 11:07:00 +00:00
Roy Marples
dd1bc58724 Don't daemonise on delegated address dad. 2014-10-02 10:54:02 +00:00
Roy Marples
2cb87923ac Fix some errors 2014-10-02 10:51:32 +00:00
Roy Marples
3bdae69ccf Remove strcpy as it's "dangerous".
Can't use stpcpy for the same reason even though it's perfect for the job.
2014-10-02 10:07:59 +00:00
Roy Marples
b7832ff3d4 Mention the encoding in -V 2014-10-02 08:35:31 +00:00
Roy Marples
8f008ca7f5 Remove vis based encoding - instead expand the DHCP option encoding to a
natural string based on content except as noted:
  *  domain (RFC3397)/dname (string) is strict domain name allowance
     (ie, [alnum] with _- (but not at the start or end))
  *  string is now printable ascii (1-127) until invalid
  *  ascii is all ascii (1-127) until invalid
  *  raw is all chars (1-255) until NUL
  *  binhex is a hex representation of the option including embedded NULs
  *  ssid is still escpaed octal because it's expected to be human readable
     AND can technically be all NUL
  *  everything else has strict option -> value encoding

This removes all shell escaped encoding - dhcpcd will assume that IF the
--script option is a shell, it will quote variables correctly.
The stock dhcpcd-run-hooks does.

dhcpcd -V now prints how the variables will be decoded.

Changed some options in dhcpcd-definitions.conf to more sensible defaults.
2014-10-01 18:32:03 +00:00
Roy Marples
cd23f55d2a Document the possible use of eval. 2014-09-30 14:01:22 +00:00
Roy Marples
6eec5ecbf1 Document more shell escaped characters, how to strip the shell escaped
characters only and how to decode the binary strings.
2014-09-30 12:43:13 +00:00
Roy Marples
2dcc1fa3bc Remove dead increament. 2014-09-29 18:35:46 +00:00
Roy Marples
b41d8098ae Remove the fast loop trying to up an interface which does not report
carrier.
2014-09-29 18:32:15 +00:00
Roy Marples
fc072ca1a8 Fix bounds check. 2014-09-29 13:24:09 +00:00
Roy Marples
3ba3de8e77 Don't use a magic number for print_string flags.
Export if_ssid= for non carrier reasons.
2014-09-29 09:03:12 +00:00
Roy Marples
7bd1cf5bcf Fix compile 2014-09-28 21:04:23 +00:00
Roy Marples
26ee9e8280 Be more safe, escape * ? [ # ? = % as well. 2014-09-28 20:50:43 +00:00
Roy Marples
ca3fa73a42 Fix an unaligned access error on BeagleBone Black with FreeBSD.
Thanks to Guy Yur for the patch.
2014-09-28 20:34:44 +00:00
Roy Marples
bc51f492ad Some strings don't need to be shell escaped - for example when sending to
syslog(2), so just use vis(3).
2014-09-28 20:26:49 +00:00
Roy Marples
e85651997c Reference dhcpcd-code(8) as well as unvis(1). 2014-09-28 20:02:20 +00:00
Roy Marples
adb2ad8de3 Release dhcpcd-6.4.7 2014-09-27 07:43:12 +00:00
Roy Marples
9d04c8660f Fix a compile problem on Linux with IPv6 disabled. 2014-09-27 07:37:15 +00:00
Roy Marples
f05b59c5f2 Fix an impossible clang analyser warning. 2014-09-27 02:22:34 +00:00
Roy Marples
b99d5e06e9 Release dhcpcd-6.4.6 2014-09-27 00:50:18 +00:00
Roy Marples
5b0c4877d5 We only supply svis(3) so rename the files as such. 2014-09-27 00:12:21 +00:00
Roy Marples
c7d3d69b81 Clean up configure _vis files 2014-09-26 23:20:35 +00:00
Roy Marples
9eaad78e05 Document $new_dhcp6_prefix 2014-09-26 22:42:01 +00:00
Roy Marples
30d5091400 Call dhcpcd-run-hooks correctly when delegated prefixes already exist. 2014-09-26 22:35:46 +00:00
Roy Marples
06fd488ca1 Fix a memory error when ia_* config exists but IPv6 is disabled. 2014-09-26 21:50:52 +00:00
Roy Marples
94e34c6e6d Report delegated addresses, fixes [2887c4de47]. 2014-09-26 21:22:14 +00:00
Roy Marples
100558f5c2 Check we are writing to a string before checking for enough space. 2014-09-26 21:13:17 +00:00
Roy Marples
4f2199843d Sanitise the following characters using svis(3) with VIS_CTYLE and VIS_OCTAL:
| ^ & ; < > ( ) $ ` \ " ' <tab> <newline>
This allows a non buggy unvis(1) to decode it 100% and stays compatible with
how dhcpcd used to handle encoding on most platforms.
For systems that supply svis(3) there is a code reduction, for systems that
do not, a slight code increase.

This change mitigates systems affected by bash CVE-2014-6271 and CVE-2014-7169.
2014-09-26 20:07:07 +00:00
Roy Marples
93589d942d Ensure servername and bootfile are safely exported. 2014-09-25 22:29:01 +00:00
Roy Marples
205be82bcf Document DELEGATED6. 2014-09-24 13:05:50 +00:00
Roy Marples
38ebed95dd Whitespace 2014-09-24 13:03:11 +00:00
Roy Marples
dfcf2e0f2f If a lease has no timers, expire it right away. 2014-09-24 12:23:30 +00:00
Roy Marples
81e8123e6e Use ctx options rather than ifp for lease dumping. 2014-09-24 10:15:36 +00:00
Roy Marples
698eadd44c Don't discard expired leases when dumping. 2014-09-24 09:49:09 +00:00
Roy Marples
58550cda79 We don't need to pass a signal handling function. 2014-09-23 09:08:17 +00:00
Roy Marples
037a87ace7 Fix some sign mismatch errors. 2014-09-22 21:02:21 +00:00
Roy Marples
be111d4b71 Fix configure errors without pkg-config installed. 2014-09-22 13:57:58 +00:00
Roy Marples
6c666347cd Detect IPv6 route deletion on Linux. 2014-09-22 10:50:30 +00:00
Roy Marples
23095b8ffd Fix compile on Linux. 2014-09-22 10:27:57 +00:00
Roy Marples
30d48c2935 We can't add link-local addresses to POINTOPOINT interfaces,
the PPP process has to.
Fixes [8fb17a419d].
2014-09-22 10:03:03 +00:00
Roy Marples
3e4fb0bfdc Detect removal of IPv6 routes on BSD 2014-09-22 09:33:29 +00:00
Roy Marples
b7e48083a6 Only hunt for a cross compiler if build != host. 2014-09-21 20:09:25 +00:00