Tim FitzGeorge [Tue, 5 Apr 2022 03:29:03 +0000 (05:29 +0200)]
ipblocklist-sources: New package.
Placing the ipblocklist sources file as an own package, easily
allows to update this single file during a core update and to
keep the vendor details for the blocklists up-to-date.
Signed-off-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk> Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
Stefan Schantl [Sat, 5 Mar 2022 09:01:24 +0000 (10:01 +0100)]
ipblocklist-functions.pl: Abort and return code if a list is empty or
not parse-able.
In case the downloaded list is empty or the parser is not able to parse
it properly, the download_and_create_blocklist() function now exits and
will return "empty_list" as new error code.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
This function is responisible for downloading and converting the
blocklist into an ipset compatible format.
The only required argument is the blocklist (in upper letter format) which should be
performed. It automatically will setup an upstream proxy (if configured)
and grab the file specified in the blocklist vendor configuration hash.
There is a maximum amount of five attempts until the script gives up and
returns a "dl_error". In case the server responses with "Not Modified"
(Code 304) a "not_modified" will be returned.
If the blocklist successfully has been grabbed, the modification date
get stored for further purposes and the list content will be converted
and stored in an ipset compatible format.
Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org> Inspired-by: Tim FitzGeorge <ipfr@tfitzgeorge.me.uk>
Peter Müller [Thu, 7 Jul 2022 13:52:09 +0000 (13:52 +0000)]
Core Update 169: Delete unused initrd on 32-bit ARM to save space in /boot
On 64-bit ARM, this is still needed for booting. Since the initrds were
already shipped with the updater, there is no need to regenerate them
locally again.
Adolf Belka [Tue, 10 May 2022 10:31:40 +0000 (12:31 +0200)]
lsof: Update to version 4.95.0
- Update from version 4.91 to 4.95.0
- version 4.91 was the last version provided bia purdue.edu after which they stopped
maintaining it. It is now taken over ny the lsof-org team at Github.
https://github.com/lsof-org/lsof
- Update of rootfile not required - only one line in the rootfile
- Changelog
lsof-4.95.0-linux
[n+obsd] fix syntax error
Corrected end of comment.
This change closes #138.
@albert-github reported this issue in #138,
and provided the fix in #140
Don't ignore failures in test/Makefile
Tobias Geerinckx-Rice <me@tobias.gr> provides the fix.
Update perl scripts for the past few decades of progress
Generally, perl is available on base systems - people who are manually
installing perl into /usr/local/bin are the exception rather than the
rule. In addition, Perl 5 was release in 1994, so Perl 4 isn't relevant
any more. We've also standardized on the .pl extension, rather than
.perl5 or whatever.
Provided by @dilinger (Andres Salomon) in #149.
A commit in the pull request includes work of Nicholas Bamber.
Drop LSOF_CCDATE across all dialects to ensure reproducible builds
Simplify things for reproducible builds by just getting rid of
the embedded date/time string. With LSOF_CCDATE gone, keeping
SOURCE_DATE_EPOCH around doesn't make much sense, so drop that as
well. Folks doing reproducible builds should still override the
LSOF_HOST, LSOF_LOGNAME, LSOF_SYSINFO, and LSOF_USER variables (as
they were previously doing before SOURCE_DATE_EPOCH).
Provided by @dilinger (Andres Salomon) in #150.
[FreeBSD] get the ISO9660 filesystem working again
The ISO9660 filesystem broke starting with FreeBSD 7 due to the header
location changing. Fix the header search path to get it to be detected
again. Fix the header inclusion order. Also add the new way of finding
dev_t on more recent FreeBSD versions.
Provided by Damjan Jovanovic in #151.
[FreeBSD] add support for msdosfs on FreeBSD
Provided by Damjan Jovanovic in #151.
Fix FD field description.
In 811dc78 the output format was changed to not printf the `f`
field by default, however the field description in `lsof_fields.h`,
as seen in `-F?` output still included the `(always selected)` text.
Provided by @algorythmic (Grisha Levit) in #158.
Adjust alignment of buffer passed to stat().
The original code passes char[] buffer to stat(). This can be cause
a SIGBUS. #160 reported an actual crash on armv7a + glibc-2.33 platform.
See also https://sourceware.org/bugzilla/show_bug.cgi?id=27993.
Reported by @10ne1 in #160.
Clean up source code and documentats.
- remove trailing whitespace,
- fix some issues in scripts found through shellcheck, and
- fix spelling
Provided by @a1346054 in #163.
man page: fix hyphen issues
Properly use '-' and '\-' in the man page, ensuring that users
can cut & paste commandline options without issue. Original
patch from Raoul Gunnar Borenius <borenius@dfn.de>, and
submitted/expanded by @dilinger (Andres Salomon) in #168.
[FreeBSD] update for FreeBSD 13 & 14, and various internal changes
submitted by @DmitryAndric & @emaste.
[FreeBSD] remove various old FreeBSD versions from support
submitted by @emaste
[FreeBSD] configure: suggest variable to set if FreeBSD sys not
found
submitted by @emaste
Fix broken LSOF_CFLAGS_OVERRIDE.
Provided by Fabrice Fontaine in #172.
[linux] Remove sysvlegacy function.
Provided by Fabrice Fontaine in #195.
[linux] use close_range instead of calling close repeatedly
At the starting up, lsof closes its file descriptors greater
than 2 by calling close(2) repeatedly. As reported in #186,
it can take long time. Linux 5.9 introduced close_range(2).
The new system call can close multiple file descriptors faster.
@qianzhangyl reported the original issue (#186).
Add -Q option for adjusting exit status when failed to find a
search item (#129)
In the original code, lsof returned 1 when it failed to find a
search item. With the new option, lsof returns 0 in the case.
Document -Q option in manpage/00QUICKSTART, and adjust -h
output by @dilinger (Andres Salomon) in #129.
Improve readability of complex adverbial clause by adding a
comma.
Provided by Danny Fowler in #156.
lsof-4.94.0-linux
(All changes in this version are ported from
lsof-org/lsof-linux repository at GitHub).
Introduced a new test harness. The harness can run
test cases specific to a dialect. It is designed for
running test cases on CI environment like Travis-CI.
However, it is runnable locally with following command
line:
$ ./check.sh DIALECT
after making lsof executable.
[linux] Fixed a bug +|-E options output for pipe.
If two processes use the same fd number for a pipe
connecting them, the option didn't print the
information about it.
[linux] Fixed a bug +|-E options output for PTY.
If two processes use the same fd number for a PTY
connecting them, the option didn't print the
information about it.
[linux] Fixed a bug +|-E options output for PTY.
The code for detecting a slave device was incorrect.
[linux] Fixed a potential bug +|-E options output for
PTY. A structure field for the feature was not
initialized.
[linux] Added a code for decoding O_PATH flag in +fg
option.
[linux] Added a code for decoding O_CLOEXEC flag as CX
in +fg option.
[linux] Added a code for decoding O_TMPFILE flag as
TMPF in +fg option.
[linux] Added Linux display of INET socket endpoint
information with +|-E option. The option handles
INET sockets using IPC.
[linux] Added support for POSIX MQ of Linux
implementation. A POSIX message queue (MQ) is
represented in a fd on Linux. lsof reported it as a
regular file. lsof with this change reports it as a
file with PSXMQ type if mqueue file system is mounted.
[linux] Added Linux display of POSIX message queue
endpoint information with +|-E option. mqueue file system
must be mounted to display the information.
[linux] Added Linux display of INET6 socket endpoint
information with +|-E option. The option handles
INET6 sockets using IPC.
[FreeBSD] update to include <sys/_lock.h> on recent -CURRENT
since it is no longer implicitly included via header pollution.
[linux] Added Linux display of eventfd endpoint information
with +|-E option. The option handles eventfd using IPC.
[FreeBSD] include <stdbool.h> for recent change requiring
refcount(9).
Enhanced -r option. With `c<N>' specifier, lsof can stop itself
when the number of iterations reaches at <N>.
[linux] Fixed accessing an uninitialized local variable.
Detected by valgrind.
[linux] fix a crash when printing the endpoint for unaccepted
unix socket with +E option.
This closes the github issue #74 reported by @jolmg.
[linux] abort execution when failing in memory allocation for
socket private data.
[linux] decode the name of DCCP socket type.
[linux] decode more netlink protocol numbers (RDMA, CRYPTO, and
SMC).
[linux] print the connection state of unix domain socket
Lsof can print the state of TCP socket like:
nc 22247 yamato 3u IPv4 471409 0t0 TCP localhost:38802->localhost:9999 (ESTABLISHED)
This change exnteds this feature to support unix domain sockets.
LISTEN, UNCONNECTED, CONNECTING, CONNECTED, DISCONNECTING,
and UNKNOWN can be taken as a state.
An example of output:
evince 17333 yamato 1u unix 0x0000000054183795 0t0 89141 type=STREAM (CONNECTED)
This feature is enabled by default.
To turn off printing state information, use -T option.
Don't display command usage even when a file (or directory) listed
in command line doesn't exist.
This closes the github issue #90 reported by @rowlap.
[FreeBSD] merge all the FreeBSD specific fixes from the FreeBSD sysutils/lsof port
[linux] allow reproducible builds
In a reproducible build all varied information is removed. This
change does so, by checking if the standard SOURCE_DATE_EPOCH
variable is set. If it is, we are attempting a reproducible build
and will strip varying information.
About the standard, see https://reproducible-builds.org/specs/source-date-epoch/
Provided in github pull request #93 by @T4cC0re.
[freebsd] update for r363214
- no user visible changes
Added the way to include (or exclude) all numbered file descriptors
in -d option. "fd" is a pseudo file descriptor name for the purpose.
See the following output on Linux; lsof doesn't print cwd, rtd, txt,
and mem files.
# ./lsof -p $$ -a -d fd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 866421 root 0u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 1u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 2u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 255u CHR 136,1 0t0 4 /dev/pts/1
docs: fixed minor grammatical error in instructions in Customize file
The change is provided by @hardikpnsp.
man page: improve phrasing and add examples
The change is provided by Martin D Kealey.
man page: improve explanation of -t implying -w
The change is provided by Martin D Kealey.
test cases, [linux]: fix tests for large inode-numbers (i >= 2^32)
The change is provided by Henry Peteet.
[linux] handle ffff:ffff in ipv6 addr correctly
The listen address and port of an AF_INET6 socket were not display if
the socket listened at an ipv6 address including ffff:ffff.
Here is a command session demonstrating the bug:
# ip -6 addr add abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62 dev lo
# nc -6 -l abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62 8888 &
[1] 6762
# ./lsof -p 6762 -a -d fd -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nc 6762 yamato 0u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 1u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 2u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 3u sock 0,9 0t0 5833594 protocol: TCPv6
The last line should be:
nc 6762 yamato 3u IPv6 5833594 0t0 TCP [abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62]:8888 (LISTEN)
The original code decoding an ipv6 address uses UINT32_MAX constant
incorrect way.
@zhrf2020 reported this bug in #102.
@zhrf2020 provided the initial version of fix, #109.
man page,[linux]: enumerate abbreviated flags printed with '+f g' option
Make -Fo option work
-Fo option is for printing file offset. For regular files,
the option didn't work.
Here is a command session demonstrating the fix:
# ./lsof -Fo -o0| grep ^o | sort | uniq -c
90586 o0t0
87 o0t101
84 o0t103
...
@JustAnotherArchivist reported this bug in #118.
man page: fix definition of the `o` field on programmatic output
The change is provided by @JustAnotherArchivist who reported
the original issue in #118.
[linux]: show the pid monitored by a pidfd
With this change, lsof prints pidfd in the following form:
[pidfd:%d]
where %d represents the pid monitored by the pidfd.
Example output:
# ./lsof -p 12573 -p 12710 | grep pidfd
dbus-brok 12573 jet 11u a_inode 0,13 0 13312 [pidfd:12575]
dbus-brok 12710 jet 10u a_inode 0,13 0 13312 [pidfd:12711]
fd 11 of pid 12573 monitors pid 12575.
fd 10 of pid 12710 monitors pid 12711.
This change closed #116.
Don't select the file descriptor field by default.
The version 4.88 introduced the change for selecting the file
descriptor field by default. However, the change is not
suitable for users who wants to print only PID field.
@po5857 suggests the use case and the way to improve the man page.
[linux]: enumerate fds monitored by an eventpoll fd
With this change, lsof prints an eventpoll fd in the following form:
[eventpoll:<fd0>,<fd1>,...,<fdn>...]
Here fdX is a file descriptor monitored by the eventpoll fd.
If an eventpoll fd monitors too many file descriptors, lsof
truncates the list of fds. "..." at the end of list implies
the truncation.
Example output:
# sudo ./lsof -p 1 -a -d 10,11,12
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 10u a_inode 0,13 0 11624 [eventpoll:11,12]
systemd 1 root 11r REG 0,4 0 17680 /proc/1/mountinfo
systemd 1 root 12r a_inode 0,13 0 11624 inotify
systemd monitors fd 11 and fd 12 via eventpoll fd 10.
[linux]: implement "make check"
The target runs check.bash.
4.93.2 May 8, 2019
Update the version number embedded in lsof executable.
lsof-4.93.1
4.93.0 May 7, 2019
[freebsd] Made FreeBSD 13 adjustment.
[darwin] Fix a typo causing a build error.
Fix a potential memory leak.
[linux] use tirpc for rpc if libc doesn't provide rpc.h.
Fix a typo in man page.
[linux] fix memory leaks detected by valgrind about unix
endpoint information.
Update the description about -fg and -fG options on linux.
4.93.1 May 7, 2019
Fix a broken symbolic link.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
Michael Tremer [Wed, 29 Jun 2022 18:27:24 +0000 (18:27 +0000)]
aliases: Don't call arpping to announce new IP addresses
I am not sure what the rationale is here, but we should probably not do
this. Other hosts on the network will be able to update their ARP caches
properly.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Acked-by: Peter Müller <peter.mueller@ipfire.org>
Michael Tremer [Wed, 29 Jun 2022 18:27:23 +0000 (18:27 +0000)]
aliases: Add support to assign aliases to multiple RED interfaces
This is a little patch which will extend the aliases page to offer an
interface selection if there are more than one RED interfaces.
This is a little hack to make configuration easier for users who have
manually set up more than one RED interface (e.g. for load balancing or
fail-over) and want to use the UI to configure firewall rules.
As a little benefit on the side, I had to rewrite setaliases.c to use
ip(8) instead of ifconfig(8).
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org> Acked-by: Peter Müller <peter.mueller@ipfire.org>
Robin Roevens [Thu, 30 Jun 2022 10:15:55 +0000 (12:15 +0200)]
zabbix_agentd: Add IPFire specific userparameters
Provide IPFire specific items for the Zabbix server to monitor:
- ipfire.net.gateway.pingtime: Internet Line Quality
- ipfire.net.gateway.ping: Internet connection
- ipfire.net.fw.hits.raw: JSON formatted list of Firewall hits/chain
- ipfire.dhcpd.clients: Number of active DHCP leases
- ipfire.captive.clients: Number of Captive Portal clients
Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Robin Roevens [Thu, 30 Jun 2022 10:15:53 +0000 (12:15 +0200)]
zabbix_agentd: Sudoers file reorganization
- Remove sudoers file 'zabbix' in favour of new IPFire managed
'zabbix_agentd' and user managed 'zabbix_agentd_user' which is
included in the backup
- Provide migration of old sudoers file 'zabbix' or 'zabbix.user' to
new zabbix_agentd_user sudoers file if it was modified by user.
Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Robin Roevens [Thu, 30 Jun 2022 10:15:52 +0000 (12:15 +0200)]
zabbix_agentd: Configfile reorganization
- Restrict default main config to only the bare minimum options
and add upstream provided config as example file.
- Remove /etc/zabbix_agentd from backup and instead add only
zabbix_agentd.conf and subdirs 'scripts' and 'zabbix_agentd.d' to
the backup.
- Move ipfire managed userparameter_pakfire.conf from
user managed dir /etc/zabbix_agentd/zabbix_agent.d to
ipfire managed dir /var/ipfire/zabbix_agentd/userparameters
- Add Include line to existing zabbix_agentd.conf to include
the new ipfire managed config dir /var/ipfire/zabbix_agentd/...
- Add and include mandatory IPFire specific agent configuration
which should never be changed by the user.
Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Robin Roevens [Thu, 30 Jun 2022 10:15:51 +0000 (12:15 +0200)]
zabbix_agentd: Fix agent modules dir and few minor bugs
- Add agent modules-dir to backup
- Remove original, not used agent modules dir from rootfile
- Create modules-dir during install if it not already exists
- bugfix: Add existence check before creating log-dir, avoiding error
messages if it already exists from a previous install
- bugfix: add extract_backup_includes to update.sh script to make
sure backup includes exist when backup is taken.
Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Peter Müller [Wed, 29 Jun 2022 20:28:38 +0000 (20:28 +0000)]
Core Update 169: Drop entropy.cgi
Since the kernel now always reports 256 bits of entropy to be available,
this CGI does not show any useful information anymore. To avoid
confusions, it will hereby be removed entirely.
Fixes: #12893 Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Peter Müller [Sat, 25 Jun 2022 22:20:48 +0000 (22:20 +0000)]
linux: Amend upstream patch to harden mount points of /dev
This patch, which has been merged into the mainline Linux kernel, but
not yet backported to the 5.15.x tree, precisely addresses our
situation: IPFire does not use systemd, but CONFIG_DEVTMPFS_MOUNT.
The only explanation I have for bug #12889 arising _now_ is that some
component (dracut, maybe) changed its behaviour regarding remounting of
already mounted special file systems. As current dracut won't (re)mount
any file system already found to be mounted, this means that the mount
options decided by the kernel remained untouched for /dev, hence being
weak in terms of options hardening possible.
As CONFIG_DEVTMPFS_SAFE would not show up in "make menuconfig", changes
to kernel configurations have been simulated.
Fixes: #12889 Cc: Michael Tremer <michael.tremer@ipfire.org> Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Robin Roevens [Wed, 23 Feb 2022 20:21:30 +0000 (21:21 +0100)]
pakfire: Better errorhandling on downloads
- Add true/false return codes to fetchfile, getmetafile and getmirrors
indicating succes or failure.
- Check on those return codes and fail gracefully with clean
error message(s) when downloads fail.
- Replace duplicate meta-file fetching code in dbgetlist with
getmetafile function (fixing possibly missed cariage return
conversion in meta-files).
- Remove pointless 5 retries to download server-list.db in
selectmirror as fetchfile already retries 5 times.
Adolf Belka [Fri, 17 Jun 2022 09:42:38 +0000 (11:42 +0200)]
rust-paste-0.1.18: Required for update of python3-cryptography
- lfs and rootfile created
- python3-cryptography build requires older version than was already installed.
Therefore named version 0.1.18 created, leaving original rust-paste in place
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Adolf Belka [Fri, 17 Jun 2022 09:42:32 +0000 (11:42 +0200)]
rust-indoc-0.3.6: Required for update of python3-cryptography
- lfs and rootfile created
- python3-cryptography build requires older version than was already installed.
Therefore named version 0.3.6 created, leaving original rust-indoc in place
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Adolf Belka [Fri, 17 Jun 2022 09:42:23 +0000 (11:42 +0200)]
rust-pyo3: Update to version 0.15.1 - required for python3-cryptography
- Update from version 0.13.1 to 0.15.1
- Update of rootfile
- Changelog is too long to include here. For details see CHANGELOG.md file in source
tarball
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Adolf Belka [Fri, 17 Jun 2022 09:42:21 +0000 (11:42 +0200)]
python3-cryptography: Update to version 36.0.2
- Update from version 3.4.7 to 36.0.2
After version 3.4.8 the numbering scheme changed to 35.0.0 in Sept 2021
See Chanelog section 35.0.0 below
- New release requires a lot of rust packages - see Changelog sections 35.0.0 & 36.0.0
below. The required rust packages are installed in separate patches in this series
- Update of rootfile
- Changelog
36.0.2 - 2022-03-15¶
Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1n.
36.0.1 - 2021-12-14¶
Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1m.
36.0.0 - 2021-11-21¶
FINAL DEPRECATION Support for verifier and signer on our asymmetric key
classes was deprecated in version 2.0. These functions had an extended
deprecation due to usage, however the next version of cryptography will drop
support. Users should migrate to sign and verify.
The entire X.509 layer is now written in Rust. This allows alternate
asymmetric key implementations that can support cloud key management
services or hardware security modules provided they implement the necessary
interface (for example: EllipticCurvePrivateKey).
Deprecated the backend argument for all functions.
Added support for AESOCB3.
Added support for iterating over arbitrary request attributes.
Deprecated the get_attribute_for_oid method on CertificateSigningRequest in
favor of get_attribute_for_oid() on the new Attributes object.
Fixed handling of PEM files to allow loading when certificate and key are in
the same file.
Fixed parsing of CertificatePolicies extensions containing legacy BMPString
values in their explicitText.
Allow parsing of negative serial numbers in certificates. Negative serial
numbers are prohibited by RFC 5280 so a deprecation warning will be raised
whenever they are encountered. A future version of cryptography will drop
support for parsing them.
Added support for parsing PKCS12 files with friendly names for all
certificates with load_pkcs12(), which will return an object of type
PKCS12KeyAndCertificates.
rfc4514_string() and related methods now have an optional attr_name_overrides
parameter to supply custom OID to name mappings, which can be used to match
vendor-specific extensions.
BACKWARDS INCOMPATIBLE: Reverted the nonstandard formatting of email address
fields as E in rfc4514_string() methods from version 35.0.
The previous behavior can be restored with:
name.rfc4514_string({NameOID.EMAIL_ADDRESS: "E"})
Allow X25519PublicKey and X448PublicKey to be used as public keys when
parsing certificates or creating them with CertificateBuilder. These key
types must be signed with a different signing algorithm as X25519 and X448
do not support signing.
Extension values can now be serialized to a DER byte string by calling
public_bytes().
Added experimental support for compiling against BoringSSL. As BoringSSL
does not commit to a stable API, cryptography tests against the latest
commit only. Please note that several features are not available when
building against BoringSSL.
Parsing CertificateSigningRequest from DER and PEM now, for a limited time
period, allows the Extension critical field to be incorrectly encoded. See
the issue for complete details. This will be reverted in a future
cryptography release.
When OCSPNonce are parsed and generated their value is now correctly wrapped
in an ASN.1 OCTET STRING. This conforms to RFC 6960 but conflicts with the
original behavior specified in RFC 2560. For a temporary period for
backwards compatibility, we will also parse values that are encoded as
specified in RFC 2560 but this behavior will be removed in a future release.
35.0.0 - 2021-09-29¶
Changed the version scheme. This will result in us incrementing the major
version more frequently, but does not change our existing backwards
compatibility policy.
BACKWARDS INCOMPATIBLE: The X.509 PEM parsers now require that the PEM
string passed have PEM delimiters of the correct type. For example, parsing
a private key PEM concatenated with a certificate PEM will no longer be
accepted by the PEM certificate parser.
BACKWARDS INCOMPATIBLE: The X.509 certificate parser no longer allows
negative serial numbers. RFC 5280 has always prohibited these.
BACKWARDS INCOMPATIBLE: Additional forms of invalid ASN.1 found during X.509
parsing will raise an error on initial parse rather than when the malformed
field is accessed.
Rust is now required for building cryptography, the
CRYPTOGRAPHY_DONT_BUILD_RUST environment variable is no longer respected.
Parsers for X.509 no longer use OpenSSL and have been rewritten in Rust.
This should be backwards compatible (modulo the items listed above) and
improve both security and performance.
Added support for OpenSSL 3.0.0 as a compilation target.
Added support for SM3 and SM4, when using OpenSSL 1.1.1. These algorithms
are provided for compatibility in regions where they may be required, and
are not generally recommended.
We now ship manylinux_2_24 and musllinux_1_1 wheels, in addition to our
manylinux2010 and manylinux2014 wheels. Users on distributions like Alpine
Linux should ensure they upgrade to the latest pip to correctly receive
wheels.
Added rfc4514_attribute_name attribute to x509.NameAttribute.
Added KBKDFCMAC.
3.4.8 - 2021-08-24¶
Updated Windows, macOS, and manylinux wheels to be compiled with
OpenSSL 1.1.1l.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Adolf Belka [Wed, 22 Jun 2022 07:10:59 +0000 (09:10 +0200)]
sudo: Update to version 1.9.11p3
- Update from version 1.9.10 to 1.9.11p3
- Update of rootfile required
- Changelog
What's new in Sudo 1.9.11p3
* Fixed "connection reset" errors on AIX when running shell scripts
with the "intercept" or "log_subcmds" sudoers options enabled.
Bug #1034.
* Fixed very slow execution of shell scripts when the "intercept"
or "log_subcmds" sudoers options are set on systems that enable
Nagle's algorithm on the loopback device, such as AIX.
Bug #1034.
What's new in Sudo 1.9.11p2
* Fixed a compilation error on Linux/x86_64 with the x32 ABI.
* Fixed a regression introduced in 1.9.11p1 that caused a warning
when logging to sudo_logsrvd if the command returned no output.
What's new in Sudo 1.9.11p1
* Correctly handle EAGAIN in the I/O read/right events. This fixes
a hang seen on some systems when piping a large amount of data
through sudo, such as via rsync. Bug #963.
* Changes to avoid implementation or unspecified behavior when
bit shifting signed values in the protobuf library.
* Fixed a compilation error on Linux/aarch64.
* Fixed the configure check for seccomp(2) support on Linux.
* Corrected the EBNF specification for tags in the sudoers manual
page. GitHub issue #153.
What's new in Sudo 1.9.11
* Fixed a crash in the Python module with Python 3.9.10 on some
systems. Additionally, "make check" now passes for Python 3.9.10.
* Error messages sent via email now include more details, including
the file name and the line number and column of the error.
Multiple errors are sent in a single message. Previously, only
the first error was included.
* Fixed logging of parse errors in JSON format. Previously,
the JSON logger would not write entries unless the command and
runuser were set. These may not be known at the time a parse
error is encountered.
* Fixed a potential crash parsing sudoers lines larger than twice
the value of LINE_MAX on systems that lack the getdelim() function.
* The tests run by "make check" now unset the LANGUAGE environment
variable. Otherwise, localization strings will not match if
LANGUAGE is set to a non-English locale. Bug #1025.
* The "starttime" test now passed when run under Debian faketime.
Bug #1026.
* The Kerberos authentication module now honors the custom password
prompt if one has been specified.
* The embedded copy of zlib has been updated to version 1.2.12.
* Updated the version of libtool used by sudo to version 2.4.7.
* Sudo now defines _TIME_BITS to 64 on systems that define __TIMESIZE
in the header files (currently only GNU libc). This is required
to allow the use of 64-bit time values on some 32-bit systems.
* Sudo's "intercept" and "log_subcmds" options no longer force the
command to run in its own pseudo-terminal. It is now also
possible to intercept the system(3) function.
* Fixed a bug in sudo_logsrvd when run in store-first relay mode
where the commit point messages sent by the server were incorrect
if the command was suspended or received a window size change
event.
* Fixed a potential crash in sudo_logsrvd when the "tls_dhparams"
configuration setting was used.
* The "intercept" and "log_subcmds" functionality can now use
ptrace(2) on Linux systems that support seccomp(2) filtering.
This has the advantage of working for both static and dynamic
binaries and can work with sudo's SELinux RBAC mode. The following
architectures are currently supported: i386, x86_64, aarch64,
arm, mips (log_subcmds only), powerpc, riscv, and s390x. The
default is to use ptrace(2) where possible; the new "intercept_type"
sudoers setting can be used to explicitly set the type.
* New Georgian translation from translationproject.org.
* Fixed creating packages on CentOS Stream.
* Fixed a bug in the intercept and log_subcmds support where
the execve(2) wrapper was using the current environment instead
of the passed environment pointer. Bug #1030.
* Added AppArmor integration for Linux. A sudoers rule can now
specify an APPARMOR_PROFILE option to run a command confined by
the named AppArmor profile.
* Fixed parsing of the "server_log" setting in sudo_logsrvd.conf.
Non-paths were being treated as paths and an actual path was
treated as an error.
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Reviewed-by: Peter Müller <peter.mueller@ipfire.org>