Major changes from dhcpcd-4 include
* Single daemon can now run DHCP on multiple interfaces at the same time
* Configuration profiles per interface, ssid, arping and fallback
* Listens to 3rd party programs changing routing information
* Supports DHCP INFORM over PPP
* Can configure static options for destination address
* Control socket so 3rd party program can control or listen directly
to dhcpcd events
* Is also a BOOTP client
Add logic to evaluate license conditions. As frontend for pkgsrc,
pkg_admin gets two new commands (check-license and
check-single-license), which can be used to evaluate a given condition.
pkg_add will be changed to honour licenses at a later point.
Make pkg_delete -d the default behavior, remove the option.
Remove pkg_create -R support (reorder @dirrm entries).
Introduce new plist command @pkgdir, which makes pkg_add add
this directory if it doesn't exist already and pkg_delete remove it
only if no other package has a @pkgdir entry for it. Otherwise
directories are pruned when the last file or directory in them is
removed. @dirrm is now a pure hint, if the directory doesn't exist, it
will be silently skipped.
Make pkg_delete -d the default behavior, remove the option.
Remove pkg_create -R support (reorder @dirrm entries).
Introduce new plist command @pkgdir, which makes pkg_add add
this directory if it doesn't exist already and pkg_delete remove it
only if no other package has a @pkgdir entry for it. Otherwise
directories are pruned when the last file or directory in them is
removed. @dirrm is now a pure hint, if the directory doesn't exist, it
will be silently skipped.
Fixed since dhcpcd-4.0.12 include
* Every DHCP message now requires a ServerID as some rogue DHCP servers
NAK without one.
* Extra UDP validation is now done for testing dhcpcd over a loopback
address space available to processes. this limit exists in most other
modern unix variants, and like most of them, our defaults are unlimited.
remove the old mmap / rlimit.datasize hack.
- adds the VMCMD_STACK flag to all the stack-creation vmcmd callers.
it is currently unused, but was added a few years ago.
- add a pair of new process size values to kinfo_proc2{}. one is the
total size of the process memory map, and the other is the total size
adjusted for unused stack space (since most processes have a lot of
this...)
- patch sh, and csh to notice RLIMIT_AS. (in some cases, the alias
RLIMIT_VMEM was already present and used if availble.)
- patch ps, top and systat to notice the new k_vm_vsize member of
kinfo_proc2{}.
- update irix, svr4, svr4_32, linux and osf1 emulations to support
this information. (freebsd could be done, but that it's best left
as part of the full-update of compat/freebsd.)
this addresses PR 7897. it also gives correct memory usage values,
which have never been entirely correct (since mmap), and have been
very incorrect since jemalloc() was enabled.
tested on i386 and sparc64, build tested on several other platforms.
thanks to many folks for feedback and testing but most espcially
chuq and yamt for critical suggestions that lead to this patch not
having a special ugliness i wasn't happy with anyway :-)
- pkg_add:
- more consistent PKG_PATH processing
- support setting PKG_PATH in pkg_install.conf(5)
- don't crash when installing package with conflicts
- fix updating packages with explicit +PRESERVE
- document the rules for finding packages more clearly
- pkg_info:
- don't complain about PKG_PATH, it is not used
- sync documentation with reality
in n-1 blank lines at the bottom of the display. On the same machine,
running 'top -1' and pressing '1' resulted in a garbled display that
would just get progressively worse. Invert the values returned by
display_setmulti() to correct both issues.
Fixes since dhcpcd-4.0.11 include:
* Logging to LOG_DAEMON instead of LOG_LOCAL0
* Checking for POLLERR and POLLNVAL
* Only opening raw sockets when we have a working link
- improve diagnostic for audit-packages wrapper
- new pkg_delete code:
- topologocial ordering of packages
- bails out before removing anything if it knows that it will run into
problems later
- new option -A: remove automatic installed packages that are no
longer used (e.g. pkg_add foo; pkg_delete -A foo should not alter
the list of installed packages)
- less chatty pkg_info for -Q
- Support for conditional fetch
- Allow correctly overwriting fetchRestartCalls from signal handlers by
making it volatile
- Explicitly document that the size of struct url can increase.
- pkg_add:
- doesn't crash on missing +BUILD_INFO
- for -u skip the package it will update when l oking for conflicts
- don't fail in libarchive when trying to use directories as packages
- pkg_admin:
- stricter argument checking for audit family of commands
- fetch-pkg-vulnerabilities -u will only update if the remove file
is newer
- pkg_delete:
- fix PKG_METADATA_DIR passed to deinstall script
- when using -d, ignore @dirrm
- fix -d code to unregister the correct pkgdb entry
- pkg_info:
- fix crashes on incomplete packages
- DB support is always included from libnbcompat if needed
- pkg_view and linkfarm are not installed any more; they are not moved
into the attic yet, so they can easily be installed as separte package
- common configuration file to customise the behavior of various
components; this supersedes the old audit-packages.conf
- support for PKSC7 signatures (using X509 certs) and GPG signatures for
packages in a secure way. See pkg_admin(8) for how to create them and
pkg_install.conf(5) for the options to use them
- audit-packages and download-vulnerability-list are wrapper scripts
around pkg_admin. They try to mimic the classic options if used
sanely.
"pkg_admin audit" is now an order of magnitude faster than before
- pkg_add uses libarchive and libfetch instead of external ftp and tar:
- progress bar is currently missing for downloads
- "pkg_add -" is no longer supported
- no adhoc check for conficts between dependencies and already
installed packages
- "pkg_add -s" has been replaced with an option in pkg_install.conf,
verification of plain detached GPG signatures is no longer supported
- optional check for vulnerabilities before adding a package
- if /var and /usr/pkg are on different fileystems it is twice as fast
now
- conflicts due to overlapping plists are checked before installation
- pkg_add no longer plays with the process limits
- pkg_add and pkg_delete have a new destdir option; scripts have to
either be modified to use PKG_DESTDIR or should be disabled
- pkg_add -u for now can't be used to update to the exact same version
- internal "rm -rf" and "mkdir_p" code
- all memory allocation failures are not explicitly fatal
- if a file is not removed due to a failed checksum, still remove the
entry from pkgdb
Changes since dhcpcd-4.0.7:
* broadcast address correctly set for hooks
* respect renewal time if given but rebind time is not
* nohook 20-resolv.conf works as well as nohook resolv.conf
* short hostnames are now sent
Changes in this release:
* Make atf-exec be able to kill its child process after a certain period of
time; this is controlled through the new -t option.
* Change atf-sh to use atf-exec's -t option to control the test case's
timeouts, instead of doing it internally. Same behavior as before, but
noticeably faster.
* atf-exec's -g option and atf-killpg are gone due to the previous change.
* Added the atf-check(1) tool, a program that executes a given command and
checks its exit code against a known value and allows the management of
stdout and stderr in multiple ways. This replaces the previous atf_check
function in the atf-sh library and exposes this functionality to both
atf-c and atf-c++.
* Added the ATF_REQUIRE family of macros to the C interface. These help
in checking for fatal test conditions. The old ATF_CHECK macros now
perform non-fatal checks only. I.e. by using ATF_CHECK, the test case
can now continue its execution and the failures will not be reported
until the end of the whole run.
* Extended the amount of ATF_CHECK_* C macros with new ones to provide more
features to the developer. These also have their corresponding
counterparts in the ATF_REQUIRE_* family. The new macros (listing the
suffixes only) are: _EQ (replaces _EQUAL), _EQ_MSG, _STREQ and
_STREQ_MSG.
DHCP_DECLINE now includes the IP and Server in the message.
Trailing NULLs are stripped from string options.
ntpd is only restarted if it is already running.
ClientID is no longer sent by default.
CSR comes before routers and static routes as per RFC 3442.
Host routes are now added correctly.
If a the interface link flaps but status does not change, do not reset the timer.
- fix bug in URL quoting
- man page improvements
- remove passive mode flag, add flag to force active mode and fallback
from passive to active on syntax errors automatically