summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAge
...
* control: log an error if we fail to remove the write callbackRoy Marples2021-01-27
|
* WhitespaceRoy Marples2021-01-27
|
* control: unlink privileged socket when shutting down without privsepRoy Marples2021-01-26
| | | | | Otherwise we have a connection refused when dhcpcd starts again as it sees the stale socket file.
* Linux: fix a memory leak when dhcpcd exits or the log is reopenedRoy Marples2021-01-24
|
* eloop: Allow eloop to process all fds returned from poll(2)Roy Marples2021-01-24
| | | | | | | | | | | | | | | | | | | | | | We do this by ensuring the events list or pollfd struct storage is not modified during the revent processing. An event with a fd of -1 means it's been deleted and one without a pollfd struct reference has been newly added. This also allows us to count down the number of fd's that returned a revent so we can break the loop early if possible. This is a really minor optimisation that at best only applies if more than one revent is returned via poll(2). In the case on dhcpcd on NetBSD with privsep, the number of fd's is really low. And on other platforms or without privsep it's low also (just not as low). It's only when you run dhcpcd per interface that the number of fd's starts to creep upwards as you then need one per address dhcpcd is monitoring (as well as the ARP listener per IPv4 address for non NetBSD). However, I use eloop in other code where this could be a good saving and dhcpcd is where the master version of this lives!
* script: Use rt_proto_add to ensure no duplicate interfaces on OpenBSDRoy Marples2021-01-18
| | | | | OpenBSD allows matching priorities, so we need to take the interfaces in the order given to ensure uniqueness.
* Release dhcpcd-9.4.0dhcpcd-9.4.0Roy Marples2020-12-28
|
* script: ignore inactive interfaces for orderingRoy Marples2020-12-28
|
* DHCP: Split hardware address randomisation out of anonymous optionRoy Marples2020-12-28
| | | | A 3rd party might want to control the randomisation.
* DHCP: For anonymous, just use a generic clientidRoy Marples2020-12-27
|
* 20-resolv.conf: Don't call resolvconf -c if we didn't call -CRoy Marples2020-12-27
| | | | | | This solves the warnings on all OS other than Linux who don't have a supporting resolvconf for deprecating DNS because they never emit the NOCARRIER_ROAMING reason.
* Check for NetBSD in prior, as we did beforeRoy Marples2020-12-27
|
* dhcpcd: Don't roam when anonymous is setRoy Marples2020-12-27
| | | | We can now remove the NOCARRIER_PRESERVE_IP define.
* NetBSD: Map IP Persistance to roamingRoy Marples2020-12-27
| | | | We can use IN_IFF_TENTATIVE for this.
* Adjust prior to build routes and run script after aborting protocols for roamingRoy Marples2020-12-27
|
* hooks: add NOCARRIER_ROAMING reasonRoy Marples2020-12-27
| | | | | | | | | | | | | | | | | | | | | This is given when the OS supports the concept of wireless roaming or the IP setup can be persisted when the carrier drops. When this happens, routes are moved to a higher metric (if supported) to support non preferred but non roaming routes. The `interface_order` hook variable will now order the interfaces according to priority and move roaming interfaces to the back of the list. If resolvconf is present then it is called with the -C option to deprecate DNS and if carrier comes back it is called again with the -c option to activate it once more. As part of this change, default route metrics have been changed to support a larger number of interfaces. base metric 1000 (was 200) wireless offset 2000 (was 100) IPv4LL offset 1000000 (was 10000) roaming offset 2000000
* src/dhcpcd.c: fix build without fork or signals (#20)Fabrice Fontaine2020-12-26
| | | | | | | | | | | Since version 9.3.3 and commit a5348dd02c86fa940cd93f203d0aa974cae0563c, build without fork or signals fails on: dhcpcd.c: In function ‘main’: dhcpcd.c:2261:3: error: label ‘start_master’ used but not defined goto start_master; ^~~~ Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
* privsep: log sandbox when not daemonisingRoy Marples2020-12-26
|
* linux: ARM64 stock kernel does not emit hardware in cpuinfoRoy Marples2020-12-26
| | | | They have no plans to add it either, so just hardcode AArch64.
* privsep: Fix Linux i386 for SECCOMP as it just uses socketcallRoy Marples2020-12-12
| | | | | | Rather than accept(2), recv(2), etc..... which is horrible! Thanks to Steve Hirsch <stevehirsch49@msn.com> for testing.
* DHCP6: Fix a LGTM issueRoy Marples2020-12-12
|
* privsep: Allow getsockopt for SO_RCVBUF on LinuxRoy Marples2020-12-12
| | | | For when the link socket overflows
* link: Report errors obtaining recv buffer size on link overflowRoy Marples2020-12-12
|
* link: Only report hardware address changes for active interfacesRoy Marples2020-12-12
|
* Linux: Support wireless IP roamingRoy Marples2020-12-12
| | | | | | | | | | | | | | This is achieved by checking that the interface is wireless, IFF_UP and IFF_LOWER_UP are present, but IFF_RUNNING is missing. This gives exactly the same support as modern NetBSD when carrier loss is detected, but without the address verifications when the carrier comes back as that needs to be handled in the kernel. While IP setup is maintained, other configuration data is discarded. Note that this should be improved in the future. Thanks to Boris Krasnovskiy <borkra@gmail.com> for helping with this.
* privsep: Don't log a BPF error that network is downRoy Marples2020-12-09
| | | | The master process will catch this clean remove the BPF process.
* Linux: Fix privsep build by including sys/termios.h for all platformsMikhail Efremov2020-12-08
|
* Release dhcpcd-9.3.4dhcpcd-9.3.4Roy Marples2020-11-28
|
* DHCP6: Abort in test mode when an error is returned by server.Roy Marples2020-11-25
|
* Don't stop control in testRoy Marples2020-11-25
|
* options: Allow duid to take a valueRoy Marples2020-11-25
| | | | If a value is given, it overrides /var/db/dhcpcd/duid.
* options: allow --ia_na=1 and --ia_pd=2 on the command lineRoy Marples2020-11-25
| | | | This only works for non master mode.
* DHCP: If error adding the address in oneshot, exit with failureRoy Marples2020-11-24
| | | | | | Otherwise we loop. It's unlikely oneshot would be used with IPv6 due to addresses having lifetimes.
* DHCP: Only listen to the address if we successfully added itRoy Marples2020-11-23
| | | | | Fixes an issue on Linux where the headers advertise something newer than what the kernel actually provides.
* Improve readability.Roy Marples2020-11-21
|
* DHCP6: Delegated activations work once moreRoy Marples2020-11-21
| | | | This was broken with the --noconfigure option in dhcpcd-9.3.3
* DHCP6: Fix segfault introduced in dhcpcd-9.3.3Roy Marples2020-11-21
| | | | lo0 won't have a configuration for example.
* dhcpcd.conf(8): add all -> at allLars Wendler2020-11-20
|
* Release dhcpcd-9.3.3dhcpcd-9.3.3Roy Marples2020-11-20
|
* privsep: adjust comment for priorMatthew Clarkson2020-11-19
| | | | Note that this is a requirement for printf over serial terminals.
* privsep: Allow ioctl TCGETSMatthew Clarkson2020-11-19
| | | | | printf on some platforms seems to require it. Without this, script_dump() may fault.
* privsep: Allow fcntl64 and fstat64 to fix ARM32 talking to the controllerMatthew Clarkson2020-11-13
| | | | We already allow fcntl and fstat so this is not a problem.
* route: Correct prior logicRoy Marples2020-11-13
|
* dhcpcd: Don't create launcher process if keeping in foregroundRoy Marples2020-11-11
| | | | There is little point.
* control: create an unpriv socket for non master modeRoy Marples2020-11-11
| | | | This allows `dhcpcd -U4 eth0` to work once more.
* When adding a route, the interface will always have options.Roy Marples2020-11-04
|
* Add --noconfigure optionRoy Marples2020-11-04
| | | | | With this set dhcpcd will not configure anything on the host. The expectation is that a 3rd party script will instead.
* fix if_getnetworknamespace matching bug. (#19)Ted Feng2020-11-03
| | | Co-authored-by: Ted Feng <Ted.Feng@Aviatnet.com>
* Linux: Fix detecting existing IPv4 addressesRoy Marples2020-11-03
| | | | This is important for better NetworkManager support.
* options: Don't log unknown option errors when printing the pidfileRoy Marples2020-11-02
|