<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dhcpcd.git, branch dhcpcd-9.3.2</title>
<subtitle>DHCP / IPv4LL / IPv6RA / DHCPv6 client
</subtitle>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/'/>
<entry>
<title>Release dhcpcd-9.3.2</title>
<updated>2020-11-01T14:07:38+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-11-01T14:07:38+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=407de1ed009d5c5a8ab3121d6b1f4b24f65717da'/>
<id>407de1ed009d5c5a8ab3121d6b1f4b24f65717da</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix compile without various defines</title>
<updated>2020-10-30T22:18:57+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T22:18:57+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=88702bf5b60ef29c9cf14d3f06077b18c1e7c3b3'/>
<id>88702bf5b60ef29c9cf14d3f06077b18c1e7c3b3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove debug from prior</title>
<updated>2020-10-30T16:13:49+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T16:13:49+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=734031c7caec9f6a62a2b42aabd960cc13816d6d'/>
<id>734031c7caec9f6a62a2b42aabd960cc13816d6d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>privsep: don't leave a BOOTP process hanging around on SIGUSR1</title>
<updated>2020-10-30T16:11:44+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T16:11:44+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=d5e1be0978418214c3b03872bd60f96a6604ea87'/>
<id>d5e1be0978418214c3b03872bd60f96a6604ea87</id>
<content type='text'>
When not in master mode.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When not in master mode.
</pre>
</div>
</content>
</entry>
<entry>
<title>log: Allow logopen to be called without logclose</title>
<updated>2020-10-30T15:16:02+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T15:16:02+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=b0525d9d351a1ea9f473f850af2ec4f19f811bc7'/>
<id>b0525d9d351a1ea9f473f850af2ec4f19f811bc7</id>
<content type='text'>
logclose is meant to free resources.
On Linux this means that _log_prog is also free'd and once in the
chroot we cannot work it out again.

As such allow logopen to close what it needs to so that reopening
works.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
logclose is meant to free resources.
On Linux this means that _log_prog is also free'd and once in the
chroot we cannot work it out again.

As such allow logopen to close what it needs to so that reopening
works.
</pre>
</div>
</content>
</entry>
<entry>
<title>privsep: Allow logfile reopening in a chroot</title>
<updated>2020-10-30T14:19:16+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T14:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=c963b6033c4bf32c4c72c725f05a0374d32bd370'/>
<id>c963b6033c4bf32c4c72c725f05a0374d32bd370</id>
<content type='text'>
Now that only the privileged actioneer does the actual logging
we can safely reopen the file we are logging to.
This also closes and re-opens the syslog connection.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now that only the privileged actioneer does the actual logging
we can safely reopen the file we are logging to.
This also closes and re-opens the syslog connection.
</pre>
</div>
</content>
</entry>
<entry>
<title>privsep: Send all log messages to the privileged actioneer</title>
<updated>2020-10-30T03:43:51+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-30T03:43:51+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=c3069de559a30980fa5c72af7e483d912f010002'/>
<id>c3069de559a30980fa5c72af7e483d912f010002</id>
<content type='text'>
If dhcpcd starts and no syslogd implementation is running then
various syscall filters could be triggered when dhcpcd wants to syslog
and it's already in a chroot.

Not all libc openlog implementations support LOG_NDELAY and
openlog does not return an error code and can also mask errno back to 0.
So we have no way of knowing if we have a syslog connection or not.
This means we cannot cache the connection at startup because syslog itself
will try and open if no connection.

As such, all logging is now directed to the dhcpcd privileged actioneer
process which will handle all the syslog and log file writing actions.

The only downside of this approach (other than an extra fd per process)
is that we no longer know which PID raised the message. While we could
put the correct PID in the logfile as we control the API, we cannot
put it into syslog as we cannot control that API.
As all privsep errors should log which function they came from this
will hopefully not be an issue as on the happy path only the master
process will log stuff.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If dhcpcd starts and no syslogd implementation is running then
various syscall filters could be triggered when dhcpcd wants to syslog
and it's already in a chroot.

Not all libc openlog implementations support LOG_NDELAY and
openlog does not return an error code and can also mask errno back to 0.
So we have no way of knowing if we have a syslog connection or not.
This means we cannot cache the connection at startup because syslog itself
will try and open if no connection.

As such, all logging is now directed to the dhcpcd privileged actioneer
process which will handle all the syslog and log file writing actions.

The only downside of this approach (other than an extra fd per process)
is that we no longer know which PID raised the message. While we could
put the correct PID in the logfile as we control the API, we cannot
put it into syslog as we cannot control that API.
As all privsep errors should log which function they came from this
will hopefully not be an issue as on the happy path only the master
process will log stuff.
</pre>
</div>
</content>
</entry>
<entry>
<title>DHCP: Implement IPv6-Only Preferred option, RFC 8925.</title>
<updated>2020-10-26T11:19:54+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-26T11:19:54+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=25e2eec83b600968f01f7fdb3ebfc3c82fc8c742'/>
<id>25e2eec83b600968f01f7fdb3ebfc3c82fc8c742</id>
<content type='text'>
Enable it like so in dhcpcd.conf:
option ipv6_only_preferred
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable it like so in dhcpcd.conf:
option ipv6_only_preferred
</pre>
</div>
</content>
</entry>
<entry>
<title>privsep: Close BPF socket on ENXIO.</title>
<updated>2020-10-25T15:30:13+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-25T15:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=c5740a4825240847a5a19cd1a840e4f2b5051dfd'/>
<id>c5740a4825240847a5a19cd1a840e4f2b5051dfd</id>
<content type='text'>
This stops log spam if RTM_IFANNOUNCE is delayed for the departing
interface.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This stops log spam if RTM_IFANNOUNCE is delayed for the departing
interface.
</pre>
</div>
</content>
</entry>
<entry>
<title>Bump date for prior</title>
<updated>2020-10-25T08:52:38+00:00</updated>
<author>
<name>Roy Marples</name>
<email>roy@marples.name</email>
</author>
<published>2020-10-25T08:52:38+00:00</published>
<link rel='alternate' type='text/html' href='https://roy.marples.name/cgit/dhcpcd.git/commit/?id=a5ca9384877296a97f0bd87f5738529f641970a7'/>
<id>a5ca9384877296a97f0bd87f5738529f641970a7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
