From: "Peter Müller" <peter.mueller@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] lsof: Update to version 4.95.0
Date: Wed, 06 Jul 2022 19:20:41 +0000 [thread overview]
Message-ID: <5b1b8e9e-1098-8769-529a-df475c97b794@ipfire.org> (raw)
In-Reply-To: <20220510103140.5357-1-adolf.belka@ipfire.org>
[-- Attachment #1: Type: text/plain, Size: 15858 bytes --]
Hello Adolf,
apologies for the belated reply on this one.
Looks good to me - as always, thank you for taking care of it.
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
Thanks, and best regards,
Peter Müller
> - 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(a)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(a)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(a)ipfire.org>
> ---
> lfs/lsof | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/lfs/lsof b/lfs/lsof
> index 8ea9e6c56..eefaf35f5 100644
> --- a/lfs/lsof
> +++ b/lfs/lsof
> @@ -24,10 +24,10 @@
>
> include Config
>
> -VER = 4.91
> +VER = 4.95.0.linux
>
> THISAPP = lsof_$(VER)
> -DL_FILE = $(THISAPP).tar.gz
> +DL_FILE = $(THISAPP).tar.bz2
> DL_FROM = $(URL_IPFIRE)
> DIR_APP = $(DIR_SRC)/$(THISAPP)
> TARGET = $(DIR_INFO)/$(THISAPP)
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>
> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>
> -$(DL_FILE)_BLAKE2 = b727acd6064b1c1d20b13311756c8bcb1cf20f5d68b4295b2a5fe8fcc0dbf35a2957017763212b48c338f5ac251d905f648a9c0df1babd30809676b1aa657b5c
> +$(DL_FILE)_BLAKE2 = 6a7d6353ec7f0f1e14416bff98867e64009c3f3901110c947f845bb3dcf9af3d40755c7ac6d586412a61778bc8ac355d2388cf2cfa8a975dbf4870c339c75a8c
>
> install : $(TARGET)
>
> @@ -70,9 +70,8 @@ $(subst %,%_BLAKE2,$(objects)) :
> $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
> @$(PREBUILD)
> @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
> - cd $(DIR_APP) && tar axf lsof_$(VER)_src.tar
> - cd $(DIR_APP)/lsof_$(VER)_src && ./Configure linux -n
> - cd $(DIR_APP)/lsof_$(VER)_src && make $(MAKETUNING) CC="cc $(CFLAGS) $(LDFLAGS)"
> - cd $(DIR_APP)/lsof_$(VER)_src && install -m 755 -o root -g root lsof /usr/bin
> + cd $(DIR_APP) && ./Configure linux
> + cd $(DIR_APP) && make $(MAKETUNING) CC="cc $(CFLAGS) $(LDFLAGS)"
> + cd $(DIR_APP) && install -m 755 -o root -g root lsof /usr/bin
> @rm -rf $(DIR_APP)
> @$(POSTBUILD)
prev parent reply other threads:[~2022-07-06 19:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-10 10:31 Adolf Belka
2022-07-06 19:20 ` Peter Müller [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5b1b8e9e-1098-8769-529a-df475c97b794@ipfire.org \
--to=peter.mueller@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox