2 Notes for the distribution of lsof version 4
4 ********************************************************************
5 | The latest release of lsof is always available via anonymous ftp |
6 | from lsof.itap.purdue.edu. Look in pub/tools/unix/lsof. |
7 ********************************************************************
14 Getting Started Quickly
15 Limiting, Filtering, and Selecting Lsof Output
16 Parsing Lsof Output with Another Program
18 Distribution Restrictions
23 The lsof-l Mailing List
24 Version 3 Release Notes
27 3.88, February 17, 1997
28 What's New in Version 4
29 Version 4 Release Notes
30 4.0, February 24, 1997
35 4.04 supplement, April 18, 1997
47 4.16, September 25, 1997
48 4.17, October 14, 1997
49 4.18, October 25, 1997
50 4.19, October 30, 1997
51 4.20, November 11, 1997
52 4.21, December 1, 1997
53 4.22, December 15, 1997
54 4.23, January 16, 1998
55 4.24, January 28, 1998
56 4.25, February 7, 1998
57 4.26, February 17, 1998
68 4.37, September 15, 1998
69 4.38, November 25, 1998
70 4.39, December 29, 1998
71 4.40, January 25, 1999
72 4.41, February 27, 1999
77 4.46, October 23, 1999
78 4.47, November 29, 1999
79 4.48, January 14, 2000
83 4.52, November 8, 2000
84 4.53, December 6, 2000
85 4.54, January 19, 2001
86 4.55, February 15, 2001
89 4.58, September 13, 2001
90 4.59, October 20, 2001
91 4.60, November 9, 2001
92 4.61, January 22, 2002
96 4.65, October 10, 2002
97 4.66, December 22, 2002
100 4.69, October 16, 2003
101 4.70, January 16, 2004
104 4.73, October 21, 2004
105 4.74, January 17, 2005
107 4.76, August 30, 2005
112 4.81, October 21, 2008
114 4.83, January 18, 2010
116 4.85, September 27, 2011
118 4.87, January 2, 2013
119 4.88, October 13, 2014
125 Lsof (for LiSt Open Files) lists files opened by processes on
126 selected Unix systems. Version 4 is a source reorganization of
127 version 3, itself a major revision of version 2. Version 4 has
130 Apple Darwin 9 and Mac OS X 10.[567]
131 FreeBSD 8.[234], 9.0, 10.0 and 11.0 for AMD64-based systems
132 Linux 2.1.72 and above for x86-based systems
135 (The pub/tools/unix/lsof/contrib directory on lsof.itap.purdue.edu
136 contains information on other ports.)
138 If your favorite Unix dialect is not in the list, or if your version
139 of it is more recent than the ones listed, please contact me at
142 Version 3 of lsof was tested on:
144 AIX 3.2.5, 4.1[.[1234]], and 4.2
145 BSDI BSD/OS 2.0, 2.0.1, and 2.1 for x86-based systems
146 DC/OSx 1.1 for Pyramid systems
147 Digital UNIX (DEC OSF/1) 2.0, 3.0, 3.2, and 4.0
148 EP/IX 2.1.1 for the CDC 4680
149 FreeBSD 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5 for x86-based
151 HP-UX 8.x, 9.x, 10.01, 10.10, and 10.20
152 IRIX 5.2, 5.3, 6.0, 6.0.1, and 6.[124]
153 Linux through 2.0.27 for x86-based systems
154 NetBSD 1.0, 1.1, and 1.2 for x86 and SPARC-based
156 NEXTSTEP 2.1 and 3.[0123]
157 OpenBSD 1.2 and 2.0 for x86-based systems
158 Reliant UNIX 5.43 for Pyramid systems
159 RISC/os 4.52 for MIPS R2000-based systems
160 SCO OpenServer Release 1.1, 3.0, and 5.0.x for x86-based
162 SCO UnixWare 2.1 and 2.1.1 for x86-based systems
163 Sequent PTX 2.1.[1569], 4.0.[23], 4.1.[024], 4.2[.1],
165 Solaris 2.[12345], 2.5.1, and 2.6-Beta
167 Ultrix 4.2, 4.3, 4.4, and 4.5
169 Version 3 and its predecessor, version 2, may be found at:
171 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD
177 Using available kernel data access methods -- getproc(), getuser(),
178 kvm_*(), nlist(), pstat(), read(), readx(), /proc -- lsof reads
179 process table entries, task table entries, user areas and file
180 pointers to reach the underlying structures that describe files
183 Lsof interprets most file node structures -- advfsnodes, autonodes,
184 cnodes, cdrnodes, devnodes, fifonodes, gnodes, hsnodes, inodes,
185 mfsnodes, pcnodes, procnodes, rnodes, snodes, specnodes, s5inodes,
186 tmpnodes. It understands NFS connections. It recognizes FIFOs,
187 multiplexed files, Unix and Internet sockets. It knows about
188 streams. It understands /proc file systems for some dialects. On
189 many dialects it recognizes execution text and library references.
190 It knows about AFS on some Unix dialects.
196 The lsof output describes:
198 * the identification number of the process (PID) that has opened
201 * the process group identification number (PGID) of the process
204 * the process identification number of the parent process (PPID)
207 * the command the process is executing;
209 * the owner of the process;
211 * for all files in use by the process, including the executing
212 text file and the shared libraries it is using:
214 * the file descriptor number of the file, if applicable;
216 * the file's access mode;
218 * the file's lock status;
220 * the file's device numbers;
222 * the file's inode number;
224 * the file's size or offset;
226 * the name of the file system containing the file;
228 * any available components of the file's path name;
230 * the names of the file's stream components;
232 * the file's local and remote network addresses;
234 * the TLI network (typically UDP) state of the file;
236 * the TCP state, read queue length, and write queue length
239 * the file's TCP window read and write lengths (Solaris
242 * other file or dialect-specific values.
245 Getting Started Quickly
246 =======================
248 If you want to get started using lsof quickly, or see some examples
249 of how lsof can be used, consult the 00QUICKSTART file of the lsof
252 The 00QUICKSTART file won't help you build or install lsof, but it
253 will cut through the density of the lsof man page, giving you more
254 readily an idea of what you can do with lsof.
256 For information on building and installing lsof, consult the 00README
257 file of the lsof distribution.
260 Limiting, Filtering, and Selecting Lsof Output
261 ==============================================
263 Lsof accepts options to limit, filter, and select its output.
264 These are the possible criteria:
266 * Process ID (PID) number -- to list the open files for a given
269 * Process Group ID (PGID) -- to list the open files for all
270 the processes of a given process group;
272 * User ID number or login name -- to list the open files for
273 all the processes of a given user;
275 * Internet address -- to list the open files using a given
276 Internet address (host name), protocol, or port (number or
277 name); or to list all open Internet files;
281 * file descriptor name or number;
283 * list all open NFS files;
285 * list all open Unix domain socket files;
287 * list all uses of a specific file;
289 * list all open files on a file system.
291 Selection options are normally ORed -- i.e., an open file meeting
292 any of the criteria is listed. The selection options may be ANDed
293 so that an open file will be listed only if it meets all the
296 In the absence of any selection criteria, lsof lists files open to
300 Parsing Lsof Output with Another Program
301 ========================================
303 The lsof -F option directs it to produce "field" output that can
304 easily be parsed by another program. The lsof distribution contains
305 sample awk, perl 4, and perl 5 scripts in its scripts subdirectory
306 that show how to post-process field output.
312 Lsof can be directed to produce output, delay for a specified time,
313 then repeat the output, cycling until stopped by an interrupt or
314 quit signal. This mode is useful for monitoring the status of some
315 file operation -- e.g., an ftp transfer or a tape backup operation.
317 Repeat mode is more efficient when combined with lsof's selection
318 options, since they limit lsof overhead.
320 It's possible to use lsof's field output options to supply repeat
321 mode output to another process for its manipulation. The scripts
322 subdirectory of the lsof distribution has sample Perl scripts
323 showing how to consume lsof repeat mode output from a pipe.
326 Distribution Restrictions
327 =========================
329 Lsof may be used and distributed freely, subject to these limitations:
331 1. Neither the author nor Purdue University is responsible for
332 any consequences of the use of this software.
334 2. The origin of this software must not be misrepresented, either
335 by explicit claim or by omission. Credit to the author and
336 Purdue University must appear in documentation and sources.
338 3. Altered versions must be plainly marked as such, and must not
339 be misrepresented as being the original software.
341 4. This notice may not be removed from or altered in the lsof source
348 Lsof is a tool that is closely tied to the Unix operating system
349 version. It uses header files that describe kernel structures and
350 reads kernel structures that typically change from OS version to
353 DON'T TRY TO USE AN LSOF BINARY, COMPILED FOR ONE UNIX OS VERSION,
356 On some Unix dialects, notably SunOS and Solaris, lsof versions
357 may be even more restricted by architecture type. An lsof binary,
358 compiled for SunOS 4.1.3 on a sun4c machine, for example, won't
359 work on a sun4m machine.
361 AN LSOF BINARY, COMPILED FOR ONE SOLARIS 1.X ARCHITECTURE, ISN'T
362 GUARANTEED TO WORK ON A DIFFERENT SOLARIS 1.X ARCHITECTURE.
365 Distribution Contents
366 =====================
368 The lsof distribution is checked for completeness when it is
369 constructed and by the Inventory script when you run the Configure
370 script. (See The Inventory Script section of the 00README file of
373 Lsof is organized in these parts:
375 * The main lsof directory, containing common sources,
376 configuration and setup scripts and three subdirectories:
377 dialects/, lib/, and scripts/.
379 Lsof is compiled in the main lsof directory after configuration.
380 The selected dialect sources are copied or linked from the
381 specified subdirectory. (Symbolic linking is the standard
384 Common lsof definitions may be found in lsof.h; common
385 function prototypes, proto.h; and common storage, store.c.
387 * The dialects/ subdirectory contains subdirectories with
388 sources specific to UNIX dialect implementations -- e.g.,
389 the dialects/sun/ subdirectory contains sources for the
390 SunOS (Solaris 1.x) and Solaris (2.x) implementations of
391 lsof. The dialects subdirectories also contain Makefiles
392 and scripts for assisting dialect source configuration.
394 Dialect configuration definitions may be found in dlsof.h;
395 other dialect definitions, dlsof.h; dialect prototypes,
396 dproto.h; and dialect storage, dstore.c.
398 * The lib/ subdirectory contains sources for common lsof
399 functions. Not all dialects use the functions -- some have
400 their own versions of them. The lib/ functions are enabled
401 and customized with #define's in the dialect machine.h header
404 * The scripts/ subdirectory contains sample scripts for
405 processing lsof field (-F) output. The scripts are written
406 in AWK, Perl 4, and Perl 5.
408 The 00PORTING file of the lsof distribution has more information
409 on lsof components, configuration, and construction.
415 Lsof is provided as-is without any warranty of any kind, either
416 expressed or implied, including, but not limited to, the implied
417 warranties of merchantability and fitness for a particular purpose.
418 The entire risk as to the quality and performance of lsof is with
419 you. Should lsof prove defective, you assume the cost of all
420 necessary servicing, repair, or correction.
426 Now that the obligatory disclaimer is out of the way, let me hasten
427 to add that I accept lsof bug reports and try hard to respond to
428 them. I will also consider and discuss requests for new features,
429 ports to new dialects, or ports to new OS versions.
431 PLEASE DON'T SEND A BUG REPORT ABOUT LSOF TO THE UNIX DIALECT
434 At worst such a bug report will confuse the vendor; at best, the
435 vendor will forward the bug report to me.
437 Please send all bug reports, requests, etc. to me via email at
441 The lsof-l Mailing List
442 =======================
444 Information about lsof, including notices about the availability
445 of new revisions, may be found in mailings of the lsof-l listserv.
446 For more information about it, including instructions on how to
447 subscribe, read the 00LSOF-L file of the lsof distribution.
450 Version 3 Release Notes
451 =======================
453 See 00DIST in the last lsof 3 revision 3.88, for its complete
454 set of release notes. Lsof revision 3.88 may be found at:
456 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD
459 This is the first official release of lsof 3.
463 3.88 February 17, 1997
465 +======================================+
466 | This is the last version 3 revision. |
467 +======================================+
469 Added documentation files -- 00.README.FIRST[_<version>]
470 and 00RELEASE.SUMMARY_<version> -- to the distribution.
473 What's new in Version 4
474 =======================
476 The main goal of version 4 was to eliminate the confusing common/
477 fragment source file technique. Changing the version number also
478 provided an opportunity to restart the numbering, which at 3.88
479 had risen to a large value.
481 The sources that appeared in the dialects/common subdirectory of
482 version 3 in fragment files have been incorporated into the version
483 4 liblsof.a library as *.c files. This results in significant
484 changes to many source files, scripts, and Makefiles of all dialect
485 versions. It allows elimination of some source files -- ddev.c,
486 dfile.c, dmnt.c -- for dialects now obtaining functions from
487 liblsof.a that formerly came from making dialect source files by
488 combining fragment files.
490 The version 4 liblsof.a sources are stored in the lib/ subdirectory
491 of the main lsof directory. The liblsof.a functions are activated
492 and conditioned in their source files by values #define'd in the
493 dialect dlsof.h and machine.h header files.
495 Dialects that provide a private version of a library function refrain
496 from #define'ing the symbol that would activate the library function
500 Version 4 Release Notes
501 =======================
503 4.0 February 24, 1997
505 +====================================+
506 | This is the first lsof 4 revision. |
507 +====================================+
509 Reorganized sources: eliminated code fragment files
510 and created a library in their place. Modified or
511 deleted many dialect source and header files.
512 Changed documentation accordingly.
514 Added a warning to sgi/Makefile and 00FAQ that advises
515 against using the IRIX C compiler -n32 option when
516 compiling lsof. Thanks go to Peter Ilieve
517 <peter@memex.co.uk> for bringing this to my attention.
519 Dropped IRIX 5.2 in mid-stream, because my 5.2 test
520 system was upgraded to 5.3.
523 Added TFS support for Pyramid dialects.
525 Added test to Configure and to the IRIX dnode.c
526 for the different cnode struct that appears in
527 <cachefs/cachefs_fs.h> on the 6.2 IMPACT distribution.
528 Heddy Boubaker <boubaker@amfou.cenatls.cena.dgac.fr>
529 alerted me to the cnode change and helped test this
532 Shut down the lsof child process before doing a -r
533 sleep(). A comment from Dan Mercer <dam@mmm.com>
538 Based on a report from Pasi Kaara <Pasi.Kaara@atk.tpo.fi>,
539 disabled HP-UX CCIT support in lsof for HP-UX
540 versions 10 and above. Pasi's report also led to
541 changes in the HP-UX machine.h to support use of
542 gcc to compile lsof for HP-UX 10.20 and warnings
543 against using `cc -Aa` or `gcc -ansi` to compile
544 lsof under HP-UX 10.x.
546 With help from Richard Allen <ra@hp.is> taught
547 HP-UX 10.x lsof to name file systems better by
548 using the virtual file system device number. Elias
549 Halldor Agustsson <elias@rhi.hi.is> provided a test
552 Changed NEXTSTEP and UNIXWARE Makefiles to use
553 safer quoting when generating version.h. The change
554 was suggested by Bob Farmer <ucs_brf@unx1.shsu.edu>.
556 Added SHELL=/bin/sh string to all Makefiles.
558 Added support for Linux 2.1.28 on a test system,
559 kindly provided by Jonathan Sergent <sergent@purdue.edu>.
560 Configure tests the Linux 2.1.x's C library lseek()
561 function for proper handling of kernel offsets.
562 If lseek() appears suspect, Configure activates
563 the use of a private lseek() function. Changed
564 the private nlist() function to nlist_private()
565 and taught it to use the query_module() syscall in
566 place of the deprecated get_kernel_syms() one.
567 Added rudimentary AX.25 support for Pierfrancesco
568 Caci <ik5pvx@infogroup.it> who helped test it.
569 Updated the old get_kernel_syms() code to recognize
570 and skip module name entries.
572 Prompted by Marty Leisner <leisner@sdsp.mc.xerox.com>,
573 eased the requirement that service name lookup for
574 the -i option be accompanied by a protocol name. The
575 name is not needed if both TCP and UDP names yield the
578 Added xusers.awk script from Dan Mercer <damercer@mmm.com>
579 to the distribution scripts/ subdirectory.
581 Changed Configure script to use LSOF_VERS for all
582 UNIX dialect version numbers and to pass LSOF_VERS
583 to the dialect Mksrc functions. Also added the
584 ability for a dialect stanza to declare a different
585 dialect Makefile source. Modified dialect Mksrc
586 files -- e.g., linux and sun -- accordingly.
588 Added support for BSD/OS 3.0 with help from Jim
589 Reid <jim@mpn.cp.philips.com>. Terry Kennedy
590 <TERRY@spcvxa.spc.edu> kindly provided a test
591 system. During the port corrected a bug that
592 prevented proper handling of revoked files.
595 At the suggestion of Dan Mercer <damercer@mmm.com>,
596 made HP-UX building of lsof aware of differences
597 between the HP-UX bundled and unbundled C compilers.
599 Added the ability for the lsof builder to define the
600 default warning message issuance state. By default the
601 issuance of warning messages is disabled; defining
602 WARNINGSTATE in machine.h disables it. The Customize
603 script was updated to handle WARNINGSTATE. Dan Mercer
606 Eliminated compiler complaint about improperly cast
607 get_Nl_value() argument in ncache_load() in lib/rnch.c.
609 Corrected zeromem() argument error in SCO dproc.c.
610 Sped up parent directory cache lookup slightly.
612 Updated for PTX 4.4, including additional VxFS (EFS)
616 At the suggestion of Bela Lubkin <belal@sco.COM>
617 changed device cache handling to be more tolerant
618 of a device cache file whose [cm]times are older
619 than the ones on /dev or /devices. The change
620 required adding information to Solaris device cache
621 file clone lines, so the first time lsof 4.04 is
622 run under Solaris it will complain about a bad
623 cached clone device in a previous device cache
624 file, then regenerate it.
626 Added boot file path detection for SCO OSR 5 and
627 above, based on information supplied by Bela.
629 Fixed two bugs in DEC OSF/1 lsof -- an error in
630 reporting locks and a missing continue statement
631 in readdev() after a failure to open a directory.
632 Jan Ole Suhr <josuhr@informatik.tu-clausthal.de>
633 reported the second bug and supplied a fix.
635 Fixed XFS problems with IRIX 6.2 by abandoning the
636 idea that SGI will distribute XFS header files and
637 defining an lsof-private xfs_inode structure. John
638 Paul Morrison <John.Paul.Morrison@MultiActive.com>
639 helped develop and test the 5.3 definition. John
640 R. Vanderpool <fish@daacdev1.gsfc.nasa.gov> helped
641 develop and test the 6.2 definition.
643 Remove obsolete comments about common/*.frag files.
645 Updated Linux lsof for Linux version 2.1.35.
648 Supplement Regenerated the 4.04 distribution to correct a non-
649 device-cache #define misplacement in the Solaris and
650 SunOS dlsof.h. Alexandre Oliva <oliva@dcc.unicamp.br>
651 reported the problem.
654 Corrected an error in 00DCACHE.
656 Made sure SCO /etc/ps/booted.systems is closed.
658 Based on an observation by Bela Lubkin <belal@sco.COM>
659 that the lsof child had needless file descriptors
660 open, closed all but the open pipes between the
661 lsof parent and child.
663 Decommissioned CDC EP/IX support; I no longer have a
666 Based on a suggestion from Patrick Connor
667 <connor@phreak.csd.sgi.com>, added -xansi to CFLAGS
668 for IRIX 5.3 and 6.[234].
670 Also at Patrick's suggestion changed Configure to
671 propagate exact SunOS 4.1.x version to the main
672 and library Makefiles. This allowed the sunos413
673 and sunos413cc Configure abbreviations to be
674 shortened to sunos and sunoscc.
676 Updated obsolete argument uses (-H changed to -n)
677 in count_pf.perl* and watch_a_file.perl scripts.
679 Adjusted Solaris 2.6 lsof for Beta_Update with tips
680 from Casper Dik <casper@holland.Sun.COM>.
682 Fixed a Solaris 2.4 TCP address reporting bug.
685 Added a step to the Makefile clean rules that does
686 a make clean in the lib subdirectory; suggested by
687 Casper Dik <casper@holland.Sun.COM>. (Configure's
688 -clean argument already did this.)
690 Fixed an incorrect awk argument in the sunos*)
691 Configure stanza, reported by Alexandre Oliva
692 <oliva@dcc.unicamp.br>.
694 Added CD9660 (aka ISO) file system support to
695 FreeBSD, NetBSD, and OpenBSD with mods and help
696 from Kenneth Stailey <kstailey@disclosure.com>.
697 (BSDI already had CD9660 support.) While at it,
698 added file descriptor system support to BSDI and
701 Added /kern file system support to OpenBSD. The
702 support wasn't extended to BSDI, FreeBSD, or NetBSD,
703 because it requires Kenneth Stailey's changes to
704 /sys/miscfs/kernfs/kernfs.h.
706 Updated IRIX 6.3 support after getting access to
707 a test system, provided by John Paul Morrison
708 <John.Paul.Morrison@MultiActive.com>. Improved
709 the handling of IRIX 5.1 and greater FIFOs.
712 Based on AIX problem reports from David Capshaw
713 <David.Capshaw@SEMATECH.Org>, changed the aix*
714 Configure script stanza to avoid -bnolibpath for
715 gcc (which the GNU loader doesn't grok) and AIX
716 below 4.1.4 (where -bnolibpath hasn't been tested
717 or is known to be unimplemented), and to refuse to
718 use gcc for compiling lsof in AIX versions below
719 4.1 (because of possible structure alignment
720 problems). Updated 00FAQ appropriately.
722 Added OpenBSD support for EXT2FS. This support
723 has yet to be tested.
725 Tested lsof under OpenBSD 2.1.
727 Activated /kern file system support for NetBSD when
728 Configure senses that /sys/miscfs/kernfs/kernfs.h
729 defines the kern_target structure. This support
730 has not been tested under NetBSD, although it has
731 been tested under OpenBSD.
733 Made some simple changes to the BSDI machine.h,
734 suggested by Jeffrey C. Honig <jch@bsdi.com>.
736 Improved handling of alternate dialect Configure
737 abbreviations -- aix and aixgcc, hpux and hpuxgcc,
738 solaris and solariscc, and sunos and sunoscc.
741 Cleaned up dialect Makefile's, staring with a suggestion
742 from Christopher Schanzle <chris@cam.nist.gov>.
744 Improved Configure's -clean processing.
746 Corrected bugs in Solaris lock reporting.
748 Changed NetBSD Configure stanza to put -I/usr/include
752 Adjusted for latest FreeBSD 3.0 release. This
753 required adding a new kernel name cache module for
754 reading BSD-form hashed kernel name cache entries,
755 rnmh.c, to the lsof library, and adding a #define
756 to each machine.h to select it.
758 Activated rnmh.c for BSDI 2.1, BSDI 3.0, NetBSD
759 1.2, and OpenBSD 2.1.
762 Adjusted for Linux 2.1.x (x > 35) kernels with
763 hashed task structure pointers. Marty Leisner
764 <leisner@sdsp.mc.xerox.com> and Jonathan Sergent
765 <sergent@io.com> tested the adjustment.
767 Replaced readdev() stat() calls with lstat() to
768 reduce device table and cache entries with the same
769 device number and inode values. Added code to
770 remove all remaining duplicates. This fixes a
771 Linux problem reported by Jonathan Sergent and
772 makes device node name output predictable.
774 Corrected a bug in UnixWare stream file handling
775 that prevented searching for the stream file by
776 its associated character device name.
778 Added Pyramid code to determine Reliant UNIX clone
779 major device number differently from that of DC/OSx.
782 Changed Configure to sense that the PTX inp_[fl]addr
783 members of the inpcb structure of <netinet/in_pcb.h>
784 have a struct type and set HASINADDRSTR for use in
785 PTX dnode.c and dsock.c tests.
787 Changed PTX version 4.1.4 tests to use 4.1.3 instead.
788 Carson Wilson <carson@mcs.com> reported the need
789 to do this and tested the change.
791 Fixed a block device table indexing bug in lib/rdev.c,
792 reported by Carson Wilson. The same bug was squashed
795 Added code to the Pyramid Reliant UNIX kread()
796 function to compensate for an address boundary
797 error in the kernel's /dev/kmem driver.
799 Verified that lsof compiles and works under AIX
800 4.2.1. Added an AIX test for the presence of NFS
801 header files, defined HAS_NFS and adjusted AIX
802 dialect sources accordingly.
804 Based on a suggestion from Gaylord Holder
805 <holder@phy.ucsf.EDU>, added DEC OSF/1 code to
806 auto-detect the booted file, whence kernel symbol
807 addresses are obtained.
810 Corrected a device number sign extension problem
811 in the reading and writing of device cache file.
812 The problem was reported by Bela Lubkin <belal@sco.com>
813 and he suggested a fix.
815 Fixed an SCO stream device lookup problem. The
816 report and solution came from Bela Lubkin
818 Enhanced the Configure script to enable cross-
819 configuration of lsof, based on suggestions from
820 Marty Leisner <leisner@sdsp.mc.xerox.com>. A new
821 documentation file, 00XCONFIG, describes the process.
823 Made Pyramid OBJFS support conditional on the
824 presence of supporting header files. Corrected
825 the Pyramid MkKernOpts script so it generates the
826 necessary -D's for the Nile/Jolt architecture.
827 Richard Coley <rcoley@pyra.co.uk> helped.
829 Added another IRIX xfs_inode variant for 6.2, 32
830 bits, no XFS rollup patch.
832 Tested under UnixWare 2.1.2.
835 Taught Pyramid lsof to grok ttyfs vnodes with help
836 from Richard Coley <rcoley@pyra.co.uk>. Fixed some
837 minor bugs in Pyramid FIFO reporting. Eliminated
838 use of the Pyramid UCB compatibility library at
839 Richard's suggestion.
841 Eliminated reporting of "strange" inode numbers
842 for SCO OSR 3.2v5.0.x HPPS files with help from
843 Bela Lubkin <belal@sco.com>
845 Modified port to service name lookup to use a small
846 number of getservbyport() calls before reading the
847 entire map with getservent(). Changed port reporting
848 to represent a zero as `*' to be consistent with
849 other prt number reporting tools like netstat.
850 Casper Dik <casper@holland.Sun.COM> suggested these
851 changes -- the getserv*() one to improve performance
852 for large NIS service name maps.
854 Changed all readdev() functions to make the absence
855 of block devices a warning instead of a fatal error
856 after Brian Redman <ber@ms.com> reported his IRIX
857 6.4 system had no block devices. (It really did
858 have block devices, but readdev()'s lstat() use
859 caused it to miss them in a directory symbolically
860 linked from /dev/dsk->/hw/disk.) Fixed Brian's
861 real problem by changing the IRIX readdev() to use
862 stat() on /dev nodes if a Configure test shows /hw
863 is readable. Extended the potential to do the same
864 to all readdev() functions.
866 For consistency and convenience changed some
867 Configure abbreviations and dialect subdirectory
868 names: "decosf" abbreviation and "osf" dialect
869 subdirectory name to "du"; "netbsd" dialect
870 subdirectory name to "n+obsd"; "next3" abbreviation
871 and "next" dialect subdirectory name to "ns"; "sco"
872 abbreviation and dialect subdirectory name to "osr";
873 "sgi" dialect subdirectory name to "irix"; and
874 "unixware" abbreviation and dialect subdirectory
877 Added #if/#endif clauses to the AIX rmdupdev()
878 function to avoid clone processing for AIX versions
879 less than 4.1.4. The problem was reported by Toralf
880 Foerster <toralf.foerster@io-warnemuende.de>, who
881 supplied corrective code.
883 Added support for new style NetBSD inode with i_ffs
884 and i_e2fs union members.
886 Improved Configure and 00FAQ information on Digital
887 UNIX configuration subdirectory with suggestions
888 from Brad Krebs <brad@EECS.Berkeley.EDU>.
891 Reorganized the Solaris handling of the inode
892 structure header file, ufs_inode.h, to eliminate
893 VxFS structure definition conflicts for Solaris
894 2.4, based on information from Greg Earle
895 <earle@netbsd4me.jpl.nasa.gov>.
897 Cleaned up some typos and confusion in Configure's
898 help output, based on comments from Bela Lubkin
901 Added a 00DIALECTS file, containing UNIX dialect
902 version numbers, that can be used by Configure and
906 Aligned `Configure -help` output better. Removed
907 Configure's 2.6 Beta test adjustments.
909 Added improved Solaris VxFS configuration and
910 handling, based on information from Greg Earle
911 <earle@netbsd4me.jpl.nasa.gov>.
913 Added socket state -- TCO or TPI -- for socket
914 files at the suggestion of Ian Fitchet
915 <I.D.Fitchet@ftel.co.uk>.
917 4.16 September 25, 1997
918 Added reporting of TCP/TPI queue lengths and window
919 sizes ala netstat to NAME column. Added -T option
920 to select or de-select TCP/TPI info reporting.
921 (Window sizes are only reported for Solaris.)
922 Fixed anomalies along the way in SIZE/OFF processing
925 Fixed service name argument processor to allow
926 minus signs as part of the name. Consequently this
927 disallows names with embedded minus signs from
928 being specified as the start of a range.
930 Added 00FAQ entries explaining why lsof won't find
931 a file being edited with vi, why window sizes aren't
932 reported for all dialects, and what the "no more
933 information" message means.
935 Forced Pyramid CC to be /usr/ccs/bin/cc to avoid
936 accidental use of the BSD variant in /usr/ucb/cc.
938 Added support for Linux glibc2, including a Configure
939 test; cross-Configure support (00XCONFIG); and much
940 unfortunate and risky sleight-of-hand in lsof Linux
941 dialect header and source files, forced upon lsof
942 by incompatibilities between Linux kernel and glibc2
945 Included in scripts/identd.perl5 a Perl 5 implementation
946 of an identd server, using lsof, provided by Kapil
947 Chowksey <kchowksey@hss.hns.com>.
949 Updated IRIX 6.4 xfs_inode guess.
951 4.17 October 14, 1997
952 Added -V option for verbose search result reporting.
953 Verbose reports are prepared for failure to locate
954 file names, command names, Internet addresses or
955 files, login names, NFS files, PIDs, PGIDs, and UIDs.
957 Augmented Linux NFS file test to cope with kernels
958 whose NFS code is in a loadable module. Need for
959 the test was pointed out by Jonathan Sergent
960 <sergent@csociety.ecn.purdue.edu>. The change
961 required that Linux have private dmnt.c source,
963 Completed a Linux 2.1.57 port on a system provided
966 4.18 October 25, 1997
967 Eliminated memory leaks in alloc_lfile(), lkup_port(),
968 and NEXTSTEP's process_text() function.
970 Added recognition of OpenBSD 2.2 in Configure,
971 supplied by Kenneth Stailey <kstailey@disclosure.com>.
973 Consolidated print_file() functions to use the one
974 in lib/prtf.c. Made it configurable and changed
975 it to size print columns dynamically.
979 WITH DYNAMICALLY SIZED PRINT COLUMNS LSOF 4.18
980 PRODUCES OUTPUT SIGNIFICANTLY DIFFERENT FROM THAT
981 OF PREVIOUS REVISIONS. LINES ARE GENERALLY SHORTER
982 AND THERE IS GENERALLY LESS BLANK SPACE BETWEEN
983 COLUMNS AND THE ITEMS IN THEM. THERE ARE NO LONGER
984 ANY SPACES BETWEEN DEVICE NUMBER ELEMENTS, ONLY
989 Added special types and print specification modifiers
990 for file size and offset to handle UNIX dialects
991 with 64 bit sizes and offsets. Paul Eggert
992 <eggert@twinsun.com> reported the need for this
995 With Paul Eggert's help picked lint from the lsof
996 library, the main level lsof sources, and the Sun
999 Added documentation, including the file 00LSOF-L,
1000 about the lsof-l LISTSERV.
1002 Added support for Reliant UNIX on the RM600. Bob
1003 Passarella <rmpassar@pyramid.com> supplied the
1004 changes. Kevin Smith <kevin@pyramid.com> helped
1005 arrange test systems. While incorporating Bob's
1006 changes, modified lib/rnch.c to handle kernel ncache
1007 structs whose name is accessed via a char *, rather
1008 than in a char array.
1010 Changed #include order of <sys/socketvar.h> for
1011 Solaris 2.x. W. Richard Stevens <rstevens@kohala.com>
1012 pointed out the need to do this.
1014 4.19 October 30, 1997
1015 Changed Pyramid Reliant RM600 proc scan to skip
1016 SSYS (p_flag) processes, since they don't seem to
1017 have a readable u_cdir vnode.
1019 Enabled Pyramid Reliant UNIX kread() work-around
1020 for DC/OSx, too, since its read(/dev/kmem) kernel
1021 driver seems to share the page boundary bug this
1022 work-around circumvents.
1024 Changed SzOffFtm_d and SzOffFtm_dv (new formats at
1025 4.18 to print size and offset) from signed to
1026 unsigned. Setting them signed at 4.18 was an
1029 Plugged a memory leak that caused the loss of 130
1030 bytes per repeat-mode pass. Fixed it with a simple
1031 work-around in main(). Lionel Cons <Lionel.Cons@cern.ch>
1034 4.20 November 11, 1997
1035 Tested under BSDI 3.1.
1037 Added support for Reliant UNIX Mesh IPC files with
1038 help from Billy Ho <bho@pyramid.com>.
1040 Added support to Digital UNIX lsof that uses the
1041 libmsfs tag_to_path() function (when it exists) to
1042 look up AdvFS path names. The idea and sample code
1043 came from Dean Brock <brock@cs.unca.edu>. Converted
1044 Dean's code into more general purpose support for
1045 private name cache lookups via the HASPRIVNMCACHE
1046 #define in the dialect machine.h file and code
1047 conditional on it in the printname() function.
1049 Taught Digital UNIX lsof to recognize NFS3 file
1050 systems. Corrected Digital UNIX lsof DEVICE column
1053 4.21 December 1, 1997
1054 Squashed bug, introduced at revision 4.18, that
1055 resulted in double reporting of each selected PID
1056 when terse mode (-t) was specified.
1058 Corrected minor bug, also introduced at 4.18, that
1059 might cause an extra print_proc() pass when one
1060 PID has been specified.
1062 Added -R to lsof options in scripts/idrlogin.perl*.
1063 The option should have been there -- it was supposed
1064 to be mandatory for PGID reporting -- but a bug,
1065 corrected in revision 4.18, previously made -R
1068 Enabled configuring for BSDI BSD/OS 4.0 per a
1069 suggestion from Jeff Honig <jch@bsdi.com>.
1071 Enabled replacement of scoff_t with off64_t (scoff_t
1072 is used to type r_size and r_localsize in the rnode
1073 struct) for IRIX 5.3 systems that have the NFS
1074 kernel rollup patch (1477). This compensates for
1075 SGI's failure to distribute an updated <sys/fs/rnode.h>
1078 Validated under Linux 2.0.3[12], Linux 2.1.64, and
1081 Added FreeBSD root directory reporting, courtesy
1082 of Dan Nelson <dnelson@emsphone.com>.
1084 4.22 December 15, 1997
1085 Made adjustments for Linux 2.1.7[02].
1087 Improved NAME information for Linux UNIX domain
1090 Added option +|-M to control the reporting of
1091 portmapper registration information in square
1092 brackets after the TCP or UDP port or service name.
1093 Kenneth Stailey <kstailey@disclosure.com> suggested
1094 the feature and provided sample code from OpenBSD.
1095 Reporting is disabled by default in the distribution
1096 and may be enabled with +M; if lsof is compiled
1097 with HASPMAPENABLED (e.g., from machine.h), reporting
1098 will be enabled by default and can be disabled with
1101 Changed the -w option to +|-w to match the syntax
1102 of the +|-M option and to eliminate any options
1103 that flip meaning when a symbol is defined at
1104 compile time. For both +|-M and +|-w, specifying
1105 `-' when the default state is disabled or specifying
1106 `+' when the default state is enabled causes no
1109 !!!WARNING The -w option has changed in lsof 4.22. WARNING!!!
1111 Made the +|- prefix legal for most options, but
1112 didn't document it in the man page or help panel.
1113 Most options that disable something -- e.g., -b,
1114 -C, -n, -P -- now disable when the prefix is `-'
1115 and enable when it is `+'. Since the states these
1116 options disable are enabled by default, I chose to
1117 avoid documentation complexity and confusion by
1118 not mentioning that they can be used with the `+'
1121 Condensed the help panel.
1123 Made sure Digital UNIX Configure stanza puts normal
1124 include path (e.g., /usr/include) before system
1127 Added IPX socket information reporting to Linux
1128 with help from Jonathan Sergent <sergent@purdue.edu>.
1130 4.23 January 16, 1998
1131 Fixed conflict arising from the quondam replacement
1132 of the Sun Solaris <netdb.h> with a BIND/BSD version.
1134 With help from Jonathan Sergent <sergent@purdue.edu>
1135 developed a /proc file system based Linux lsof.
1136 It needs some Linux 2.1.x release to work -- I'm
1137 not sure which, but I tested under 2.1.72, 2.1.76,
1138 and 2.1.79. The Configure script selects special
1139 sources for this lsof, so the full lsof distribution
1140 now contains both /dev/kmem and /proc based sources
1141 for Linux lsof. An optional kernel mod, written
1142 by Jonathan, enhances the /proc-based lsof ability
1143 to recognize IPX socket files. Reorganized and
1144 augmented the Linux sections in 00FAQ to explain
1145 the two types of Linux lsof.
1147 Defined DOSTAT_FUNCTION for dostat() in misc.c to
1148 select the function, stat() or lstat(), it will use.
1149 DOSTAT_FUNCTION is normally undefined, defaults to
1150 lstat(), and is only defined for the /proc-based
1151 Linux lsof in its dlsof.h.
1153 Made conditional on the presence of IRIX 6.4 XFS
1154 rollup patch #6 an XFS node change introduced in
1155 revision 4.16. Identified the patch with help
1156 from John R. Vanderpool <fish@daacdev1.gsfc.nasa.gov>.
1158 Added NFS node compensation for NetBSD 1.3. The
1159 code and suggestion for it was supplied by Jean-Luc
1160 Richier <richier@imag.fr>.
1162 Added diagnostic messages to the /dev/kmem-based
1163 Linux Mksrc script to report errors during the
1164 construction of the kernel name cache header file,
1165 kncache.h. Added 00FAQ information on kncache.h.
1167 Added a new Linux test host, running 2.0.33 and
1168 GlibC, provided by Steve Logue <stevel@mail.cdsnet.net>.
1170 Ported to PTX 4.1.3 and 4.4.2. Adjusted lib/rnch.c
1171 for 4.4.2 to allow customization f additional ncache
1172 struct element names.
1174 4.24 January 28, 1998
1175 Changed /proc-based Linux lsof offset test to use "/"
1176 instead of "/etc/passwd".
1178 To assist Jim Mintha <jim@geog.ubc.ca> with the
1179 packaging of lsof for Debian Linux, added a
1180 DEBIAN_LINUX_LSOF #define to trigger the activation
1181 of special system map file location code in the
1182 /dev/kmem-based dproc.c.
1184 Applied modification to dialects/bsdi/dlsof.h from
1185 Ingimar Robertson <iar@skyrr.is>, enabling lsof to
1186 compile for BSDI BSD/OS 2.0.
1188 Corrected a documentation error in 00DCACHE, pointed
1189 out by Thomas Anders <anders@hmi.de>. The error was
1190 created when the -V option was added at lsof 4.17.
1192 Made IRIX 5.3 through 6.3 lsof aware of IRIX SCSI
1193 tape devices (e.g., /dev/tape). Dave Olson of SGI
1194 and Randolph J. Herber of FNAL provided valuable
1195 advice, and Igor Schein <ischein@air-boston.com>
1198 Added a machine.h symbol (NEVER_HASDCACHE) that
1199 prevents Customize from offering to change HASDCACHE.
1200 The symbol may appear anywhere in machine.h --
1201 e.g., in a comment. Included the symbol in a
1202 comment of the HASDCACHE section of the /proc-based
1203 Linux lsof machine.h, and accompanied it with
1204 warnings against #define'ing HASDCACHE. Did the
1205 same thing for WARNDEVACCESS (NEVER_WARNDEVACCESS
1206 is the suppressant.)
1208 4.25 February 7, 1998
1209 Corrected an IRIX mis-cast of file offset (position).
1210 Igor Schein <ischein@air-boston.com> reported the
1211 problem. This was offered as a patch to 4.24.
1212 Picked some lint Igor pointed out.
1214 At Igor's suggestion added an optional decimal
1215 digit size argument to the -o option. This argument
1216 specifies how many file offset decimal digits can
1217 follow "0t" before lsof switches to a "0x..." form.
1218 The argument size specification doesn't count the
1219 two characters of the "0t". A size of 0 means
1220 unlimited. The default is OFFDECDIG (8), preserving
1221 compatibility with existing lsof output; it can be
1222 changed by the lsof builder. When size is specified
1223 with -o it does not force offset display; -o without
1224 a size still must be used to do that.
1226 Added an IRIX 6.2, 32 bit system, XFS node patch,
1227 courtesy of Ulrich Bernhard <rzubu@rzu.unizh.ch>.
1229 For my own convenience enabled Configure to use
1230 /usr/local/bin/gcc for NEXTSTEP. This allows
1231 circumvention of a gcc 2.8.0 ranlib problem on
1232 my test 3.1 `040 cube.
1234 Added flags recommended by the RISC/os and Ultrix
1235 compilers for the updated (and longer) main.c.
1237 Updated FreeBSD cd9660_node.h Configure test.
1239 4.26 February 17, 1998
1240 Added shared process group processing for IRIX 5.3,
1241 and IRIX 6.1 and above, based on investigation of
1242 a bug report from Igor Schein <ischein@air-boston.com>.
1243 Igor helped test this addition.
1245 Improved handling of file system name arguments.
1246 It's now done in a manner similar to fuser. The
1247 -f argument forces path names to be considered as
1248 simple files, rather than as file system names.
1249 The +f flag forces them to be considered as file
1250 system names. Normally path arguments are considered
1251 file system names when they match a mounted-on
1252 directory in the system's mount table, or when they
1253 match a mounted file system's block device. Igor
1254 Schein helped test this change.
1256 Igor also suggests that the proper compilation of
1257 the IRIX 6.4 proc structure after patch 2536 has
1258 been installed may need -DPIOMEMOPS. So lsof's
1259 MkKernOpts script was updated to propagate that
1260 option from CCOPTS in /var/sysgen/system/irix.sm,
1261 even though patch 2536 doesn't add -DPIOMEMOPS to
1262 it. Added a 00FAQ item on this patch.
1264 Added a fatal warning message about names forced
1265 to be file system names (with +f) that have no
1266 match in the mount table.
1268 Improved the -V message for files and file systems
1269 for which no open files were found. Added reporting
1270 of /proc file and file system search failures.
1272 Did some code reorganization to combine the multiple
1273 ck_file_arg() functions into one. Moved the new
1274 function from the library to the top level and put
1275 it in arg.c; moved the usage function from arg.c
1276 to a new top-level source file, usage.c, to balance
1277 top-level source file size. The new usage.c depends
1278 on version.h; arg.c no longer does.
1280 Added flag recommended by the DU compiler for the
1281 updated (and longer) main.c.
1284 At the request of Igor Schein <ischein@air-boston.com>
1285 added a conditional repeat mode option, using the
1286 `+' prefix to the `r' option. +r operates as does
1287 -r with the exception that it exits the first time
1288 no open files have been listed during a cycle.
1289 The exit code will be zero when any open files have
1290 been listed; one, if none were ever listed.
1292 Ported lsof to HP-UX 11.0 with the help of Richard
1293 Allen. This port hasn't been tested on a 64 bit
1294 kernel; I'm sure it won't work there without more
1295 mods. It may not work on PA 2 architectures; I've
1296 only tested it under PA 1 and a separate, busy
1297 tester reported PA 2 problems that I've been unable
1300 In anticipation of getting access to a 64 bit HP-UX
1301 kernel and the pending start of the Solaris 2.7
1302 Beta test (It will have 64 bit kernel addressing.),
1303 started adding support for 64 bit kernel pointers.
1304 This includes: ubiquitous use of the KA_T cast
1305 for kernel pointers; a format to print them,
1306 KA_T_FMT_X; a function to print them, print_kptr();
1307 and modifications to most kernel-related functions
1308 -- e.g., process_file(), process_node(),
1309 process_socket(), readvfs() -- to process kernel
1310 addresses as KA_T types.
1312 Fixed minor bug in handling path name arguments
1313 that end with a `/'.
1315 Removed support for RISC/os; its test system is no
1318 Made modifications to insure that lsof output
1319 doesn't contain non-printable characters. All such
1320 characters are now printed in the printf form
1321 "\x%02x". Several new common functions were
1322 installed in misc.c to support "safe" printing.
1323 This second major modification in 4.27 to common
1324 and dialect code could have introduced bugs not
1328 Refined unprintable format to use \b, \f, \r, \n,
1329 \t, and ^* (for CTRL) forms. Corrected omission
1330 of safestrprt() use for field output command name.
1331 These changes were offered as patches to 4.27.
1333 Made space an unprintable character (\x20) in the
1334 COMMAND column; printable elsewhere, including the
1335 NAME column, field output, and error messages.
1337 Made sure FD column is parseable as a single entity
1338 -- i.e., has no embedded space. Thus, if the access
1339 mode is unknown but there is a known lock mode, (a
1340 very rare case) the access mode will be printed as
1343 Picked lint with gcc 2.8.0 under Solaris 2.6.
1345 With the help of Dave Olson of SGI identified a
1346 proc struct element that should have been added to
1347 <sys/proc.h> by IRIX 6.4 patch 2536. Added a
1348 work-around for it to the lsof Configure script.
1349 Igor Schein <ischein@air-boston.com> identified
1350 that the patch caused a proc structure length
1351 complaint from lsof. Removed an obsolete 00FAQ
1352 item on the patch, installed at lsof 4.26, explaining
1353 that no solution was yet available.
1355 Added a 00FAQ item on how BIND installs its own
1356 header files, including <netdb.h>, which may cause
1357 the rpcent struct definition to vanish. Solaris
1358 has an automatic lsof work-around, but that hasn't
1359 been (and probably can't be) propagated to all
1360 dialects supported by lsof. The 00FAQ item recommends
1361 re-installation of the vendor header files that
1362 BIND has replaced. (Others include <rpcent.h>,
1363 <sys/bitypes.h>, and <sys/ctypes.h>.)
1368 Corrected bug in Internet address matching. The
1369 matching formerly stopped if the foreign address
1370 matched, thus failing to check the local address
1371 for a match. That led to a possible false "Internet
1372 address not located" warning (i.e., in response to
1373 -V) about the local address, when both foreign and
1374 local addresses were specified with -i. This
1375 correction was offered as a patch to 4.28.
1377 Changed readmnt() usage in an attempt to defer
1378 mount readlink() and stat() delays until they are
1381 Corrected two bugs in the Digital UNIX readdev()
1382 function. Made the correction available as a patch
1383 to 4.28 and regenerated the 4.28 DU binaries.
1385 Added a missing argument to a print-kptr() call in
1386 the HP-UX dsock.c. The missing argument causes a
1387 fatal gcc error. The problem was reported by Eyal
1388 Shaynis <eyal.shaynis@telrad.co.il>. The fix was
1389 offered as a 4.28 patch.
1391 Adjusted for Digital UNIX 4.0D; the spec_node
1392 structure is now defined in <sys/specdev.h>. Kris
1393 Chandrasekhar <Kris.Chandrasekhar@digital.com>
1394 identified the need for the adjustment.
1396 Incorporated a bug fix from Brian McAllister
1397 <mcallister@mit.edu> to the DU readmnt() function.
1398 This fix was offered as a patch to 4.28.
1400 Added "safe" printing to a SunOS clone device error
1403 Corrected bug in tabling of Linux /proc-based lock
1406 Corrected bug in handling of SunOS TLI streams.
1407 Dan Farmer <zen@trouble.org> reported the problem.
1409 Added a Solaris 2.6 work-around to keep the BIND
1410 <sys/bitypes.h> from colliding with the Solaris
1413 Strengthened the Configure test for /proc-based
1414 Linux lsof, based on a report from Marty Leisner
1415 <leisner@sdsp.mc.xerox.com>.
1417 Tested on OpenBSD 2.3.
1419 Made AIX changes that allow use with 3.2.5. The
1420 changes were suggested and tested by Brett Hogden
1423 Added Solaris 2.6 AFS support. Disabled reporting
1424 of some node numbers for Solaris 2.5 and above open
1425 AFS files. The node number computation algorithms
1426 used for SunOS 4.1.x and Solaris less than 2.5 no
1427 longer always work under Solaris 2.5 and above.
1430 Corrected a pid structure member naming error for
1431 UnixWare < 2.1.2. The problem was reported by
1432 Richard van Meurs <vanmeurs.anva@atriserv.nl>. He
1433 supplied the correction. This was offered as a
1436 Had a report from Igor Schein <ischein@air-boston.com>
1437 that IRIX 6.4 patch 2839 is another SGI kernel
1438 patch, along with 2536, that changes the size of
1439 the proc structure in the kernel without changing
1440 the proc structure in <sys/proc.h>. Upon further
1441 investigation found that the effect of these patches
1442 on the proc structure is not consistent. Therefore,
1443 dropped the Configure patch test for IRIX 6.4 and
1444 made the code in irix/dproc.c slightly more tolerant
1445 of proc structure size differences for IRIX 6.4.
1446 Igor help test the change.
1448 Corrected Solaris >= 2.5 AFS inode number generation.
1449 Craig Everhart <Craig_Everhart@transarc.com> helped
1450 find the cause of the problem. This was offered as
1453 Refined the Linux /dev/kmem-based glibc evasion
1454 for the timeval structure to make it work with
1455 glibc version 2.0.7. This required defining a new
1456 global symbol, TIMEVAL_LSOF, default timeval, that
1457 the /dev/kmem-based Linux lsof can set to its
1458 private glibc timeval name, distinct from the kernel
1461 Added support for Alpha to the /dev/kmem-based
1462 Linux lsof. Alexandre Oliva <oliva@dcc.unicamp.br>
1463 provided a test system. Added an item to 00FAQ
1464 about lsof, the Alpha processor, and Linux.
1466 Added a 00FAQ item about lsof year 2000 compliance.
1467 Basically it says lsof is probably compliant,
1468 because its only date or time computations are done
1469 with time_t values, but I haven't done any specific
1470 Y2K validation. I don't have plans to do any.
1472 Added support for UnixWare 7. Chris Daniels
1473 <chrisd@dlpco.com> provided a test system and Don
1474 Draper <dond@sco.COM> provided technical information.
1475 Added BFS and SFS file system support to lsof for
1478 Updated Solaris VxFS support for VxFS 3.2.1. Greg
1479 Earle <earle@netbsd4me.jpl.nasa.gov> reported the
1480 need for the update. Greg and Roger Klorese
1481 <rogerk@veritas.com> provided technical information.
1482 Scott McClung <mcclung@primenet.com> tested.
1484 Changed IRIX XFS patch detection in anticipation of
1485 learning there are multiple XFS patches for IRIX 6.4
1486 that require different versions of the lsof-invented
1487 xfs_inode structure.
1490 Added a VxFS #if/#endif wrap to a section of the
1491 HP-UX dnode.c that wasn't properly protected. The
1492 problem was reported by Peter Klosky <PKlosky@bdm.com>.
1493 This was offered as a patch to 4.30.
1495 Added support for Solaris 2.7 (first Beta release).
1496 Mike Sullivan <Mike.Sullivan@Eng.Sun.COM> provided
1497 technical advice and helped test. Charles Stephens
1498 <cfs@jurassic.eng.Sun.COM> also helped test.
1500 Fixed bug in /proc-based Linux that caused it to
1501 access /proc/mounts excessively. Marty Leisner
1502 <leisner@sdsp.mc.xerox.com> provided a syscall
1503 trace that identified the bug. The fix was offered
1506 Adjusted the IRIX 6.4 private structure definition
1507 for the XFS node to accommodate patch 2970. Igor
1508 Schein <ischein@air-boston.com> identified the
1509 patch and the required adjustment.
1512 Corrected Solaris 2.7 code for reporting PCFS
1513 (floppy disk) node numbers. Casper Dik
1514 <casper@holland.sun.com> supplied the fix. The
1515 fix was offered as a patch to 4.31.
1517 Corrected a bug in conditional repeat mode handling
1518 pointed out by Igor Schein <ischein@air-boston.com>.
1519 This was offered as a patch to 4.31.
1521 Improved reporting of AIX open(/dev/memory device)
1524 Corrected a Solaris < 2.5 KA_T declaration error,
1525 pointed out by Robert Kiessling <robert@easynet.de>.
1526 Changed KA_T from a #define to a typedef for all
1527 dialects to prevent future problems of this kind.
1529 Changed the sample Perl 5 script big_brother.perl5
1530 to report a four digit year from localtime().
1532 Added support for AIX 4.3[.1]. Bill Pemberton
1533 <wfp5p@tigger.itc.virginia.edu> provided a test
1534 system. Andrew Kephart <akephart@austin.ibm.com>
1535 and Tom Weaver <tvweaver@austin.ibm.com> provided
1536 technical assistance. Niklas Edmundsson
1537 <nikke@ing.umu.se> did 4.3.1 testing.
1539 Added -qmaxmem option to CFLAGs for an AIX compilation
1540 with an xlc version 4.x compiler.
1542 Adjusted Linux socket handling for changes in the
1543 AX25 members of the sock struct. Richard Green
1544 <rtg@tir.com> pointed out the problem. Tested
1545 /dev/kmem-based lsof under Linux 2.0.34.
1548 Added generic IPv6 support to common lsof sources
1549 and specific IPv6 support to AIX sources. Andrew
1550 Kephart <akephart@austin.ibm.com> supplied the
1551 additions and helped with testing. Bill Pemberton
1552 <wfp5p@tigger.itc.virginia.edu> provided a test
1553 system. The modification affected sources for
1554 every dialect, whether it supports IPv6 or not, by
1555 changing the interfaces to the common Internet
1556 address function ent_inaddr().
1558 Added support for the NetBSD UVM virtual memory
1559 system. Paul Kranenburg <pk@cs.few.eur.nl> supplied
1562 Bracketed HP-UX 11 use of <sys/spinlock.h> with
1565 Corrected printing of PCB address in DEVICE column
1569 Updated 00FAQ to discuss TCP and UDP ports private
1570 to the AIX kernel and 00README to describe how ACLs
1571 can be used to give lsof permission to read the
1572 kernel memory devices. Add information to 00FAQ
1573 and 00README about other OpenBSD architectures
1574 where lsof is reported to compile and run. Added
1575 section to 00FAQ discussing how an incorrect loader
1576 path environment variable value can prevent lsof
1577 from loading correctly.
1579 Improved Solaris namefs and doorfs support so that
1580 it is now possible to search for an open VDOOR file
1581 by the path name of its fattached file system
1582 object. Igor Schein <igor@txc.com> requested the
1583 ability to do such a search. Even with the change,
1584 lsof can't always identify path names for open
1587 Also at Igor's request, improved reporting of
1588 information on open Solaris VCHR files that share
1589 a common vnode, and Solaris UNIX domain socket
1592 Corrected print_kptr() argument error in PTX dnode.c,
1593 reported by Mark Price <mprice@sequent.com>.
1594 Compensated for ncache element naming differences,
1595 introduced at PTX 4.4.2; Kurtis D. Rader
1596 <krader@sequent.com> reported the problem.
1598 Changed output column title from INODE to NODE to
1599 better reflect the column's contents of node IDs
1600 for more than just inodes.
1602 Improved Configuration and processing for Solaris
1603 AFS. Corrected AIX AFS 3.4 afs_rwlock_t simulation.
1605 Corrected a cast problem with two AIX knlist()
1606 calls, thus quieting an AIX 4.2.1 compiler argument
1607 type warning. Jon Champlin <champlin@us.ibm.com>
1608 reported the problem.
1610 Added support to most dialect versions (exception:
1611 /proc-based Linux) to warn when the identity of
1612 the kernel where lsof was compiled doesn't match
1613 the running identity. The warning can be suppressed
1614 with -w. Note: determining AIX state requires
1615 calling oslevel, a potentially slow operation.
1616 Jon Champlin <champlin@us.ibm.com> suggested this
1619 !!!! WARNING !!!! !!!! WARNING !!!! !!!! WARNING !!!!
1621 Those using the lsof cross-configuration capability
1622 (see 00XCONFIG), should be aware that the kernel
1623 identity test feature introduces two new basic
1624 cross configuration environment variables, LSOF_ARCH
1627 !!!! WARNING !!!! !!!! WARNING !!!! !!!! WARNING !!!!
1629 Identified a situation where a Solaris UNIX domain
1630 socket name is known and can be searched for by
1631 name; added the necessary code.
1634 Made the kernel identity check an option with the
1635 HASKERNIDCK #define in machine.h. Enabled altering
1636 of HASKERNIDCK with the Customize script. Added
1637 a clause to the help output that indicates the
1638 build-time HASKERNIDCK status.
1640 Added more information to the NAME column for
1641 Solaris UNIX domain sockets. Made them searchable
1642 by their clone device path name. Igor Schein
1643 <igor@txc.com> requested this.
1645 Completed the HP-UX 11 port with support for its
1646 optional 64 bit kernel. Rich Rauenzahn
1647 <rrauenza@cup.hp.com> provided a test system.
1648 Corrected errors with HP-UX 11 lock reporting and
1649 private kernel structure and type definitions.
1650 Added support for HP-UX NFS3 files.
1652 Limited mount table warnings -- e.g., when -b is
1653 used -- to one set per mount point.
1655 Fixed some mount table scanning and usage bugs,
1656 including one in Solaris, reported by Kjetil Torgrim
1657 Homme <kjetilho@ifi.uio.no>.
1660 Made corrections and additions to IPv6 support and
1661 to AF_ROUTE socket handling, supplied by Jean-Luc
1662 Richier <Jean-Luc.Richier@imag.fr>. Jean-Luc's
1663 additions provide IPv6 support for the Inria IPv6
1664 implementations on FreeBSD and NetBSD.
1666 Fixed two Solaris 2.5, 2.5.1, 2.6 and 2.7 TCP and
1667 UDP host name or IP address reporting bugs, reported
1668 by James Mathiesen <James-Mathiesen@deshaw.com>.
1669 This fix was offered as a patch to 4.35.
1671 Updated the Customize script to cause ENTER to use
1672 all defaults. Amir J. Katz <amir@ndsoft.com>
1673 suggested this and helped test the changes.
1675 Updated Solaris ICMP and IP stream handling, based
1676 on a report from Igor Schein <igor@txc.com>.
1678 Fixed a bug in the Digital UNIX mount table handling,
1679 reported by Bob Ward <bward@thehartford.com>.
1680 While working on the bug, found and updated some
1681 obsolete AdvFS code. This fix was offered as a
1684 4.37 September 15, 1998
1685 Deactivated SGI IRIX support and archived revision
1686 4.36 sources and binaries in pub/tools/unix/lsof/OLD.
1688 Improved performance of FD searching. This was
1689 offered as a patch to 4.36.
1691 Amir J. Katz <amir@ndsoft.com> pointed out that
1692 ranlib isn't needed for AIX or Solaris. Made
1693 appropriate Configure script changes.
1695 Fixed a file offset reporting bug for HP-UX VCHR
1696 and VBLK device nodes located on a VxFS root. Doug
1697 Siebert <douglas-siebert@iowa.edu> reported the
1698 bug. The fix was offered as a patch to 4.36.
1700 Resolved an HP-UX root device name reporting bug,
1701 partly caused by an out-dated local copy of the
1702 <sys/mount.h> mount structure, by generating a
1703 local header file with the structure that can be
1704 compiled without needing _KERNEL defined. Doug
1705 Siebert also reported this bug.
1707 Changed some dialect source code -- Digital UNIX,
1708 Solaris, SunOS, and UnixWare -- to make more
1709 consistent with ps the user ID lsof reports in the
1710 USER column. Added a 00FAQ entry about it. Igor
1711 Schein <igor@txc.com> reported the Solaris and
1712 SunOS lsof inconsistencies with what ps(1) reports.
1714 Ported lsof to Pyramid ReliantUNIX 5.44.
1716 Added brackets as comments to case, do, done, else,
1717 endif, esac, if, and while statements in Configure
1718 to assist in navigating its clauses.
1720 Added more Linux 2.0.x glibc work-arounds.
1722 Added support for UnixWare 7.0.1.
1724 Ralph Forsythe <ralph@contact-paging.com> provided
1725 a new FreeBSD test system.
1727 4.38 November 25, 1998
1728 Added support for recent FreeBSD 3.0 distributions.
1729 A 3.0 test system was provided by David O'Brien
1730 <obrien@NUXI.com>. This was offered as a patch
1733 Updated the scripts/idrlogin.perl* files to look
1734 for sshd processes in addition to rlogind and
1737 Added support for DU 5.0 Beta. Berkley Shands
1738 <berkley@cs.wustl.edu> provided a test system.
1740 Added support for OpenBSD 2.4 with changes supplied
1741 by Kenneth Stailey <kstailey@disclosure.com>.
1743 Changed the Solaris 2.7 tests and documentation to
1746 Made some changes to the header files for NEXTSTEP
1747 3.3 and added support for OPENSTEP 4.x with help
1748 from Michael A. Hovan III <mhovan@BLaCKSMITH.com>
1749 and Carl Lindberg <Carl_Lindberg@BLaCKSMITH.com>.
1750 The combined dialect subdirectory is named n+os.
1751 One of Carl's changes propagates RC_CFLAGS to the
1752 library Makefile. Timothy J. Luoma <luomat@peak.org>
1753 helped test under NEXTSTEP 3.3 and OPENSTEP 4.2.
1755 Made UW 7.x version sensitive to the presence of
1756 ptf7038. Added peer PCB address to Unix domain
1757 socket Name column, even when a path name has been
1758 located. Information for these changes was supplied
1759 by Francis Le Bourse <flebourse@intelcom.fr>. Lee
1760 Penn <lee@dlpco.com> provided a test system.
1762 Tested lsof under OSR 5.0.5 on a test system also
1763 provided by Lee Penn.
1765 Made path name argument processing more tolerant
1766 of errors per a suggestion from Julian Gordon
1767 <julian@cadence.com>.
1769 Acquired a new UnixWare 2.x test system, generously
1770 provided by Computer Classroom, Inc. -- Matthew
1771 Thurmaier <matt@compclass.com>, Ken Laing
1772 <ken@compclass.com>, and Andrew Merril
1773 <andrew@compclass.com>. Updated Configure to accept
1774 a UnixWare version of 2.1.3.
1776 Updated kmem-based lsof for Linux 2.0.36.
1778 Updated NetBSD sources for a change in a UVM virtual
1779 mapping header file.
1781 Corrected a cache allocation bug in Sun format
1782 kernel name cache handling. The bug only shows up
1783 when the kernel name cache is inaccessible.
1785 4.39 December 29, 1998
1786 Corrected problems with large device number handling
1787 for 64 bit Solaris 7. The problems were reported
1788 by Steve Bellenot <bellenot@math.fsu.edu>. Steve
1789 helped test the fixes. The fixes were offered as
1790 two patches to lsof 4.38.
1792 Improved FreeBSD Configure operations for header
1793 files that must be obtained from the kernel source
1794 tree, based on a suggestion from David O'Brien
1797 For Bela Lubkin <filbo@deepthought.armory.com> made
1798 optional with +f[cfn] the display of file structure
1799 address, shared use count, and node structure
1800 address. /proc-based Linux doesn't implement this
1801 feature, because it doesn't read kernel structures
1802 from kernel memory. Modified the PTX -X option to
1803 take advantage of the new file structure display
1804 option. Added shared.perl5 to the scripts/
1805 subdirectory to provide an example of how +f[fn]
1806 might be used to track shared file descriptors and
1809 Added more /dev/kmem-based Linux glibc evasions,
1810 provided by Jeff Johnson <jbj@redhat.com> and Maciej
1811 Lesniewski <nimir@kis.p.lodz.pl>. Jeff helped test
1812 them on various Linux architectures.
1814 Tested on AIX 4.3.2; no changes were required.
1815 Doug Crabill <dgc@purdue.edu> provided a test
1818 Fixed -c option to detect missing command name when
1819 following option begins with `+'.
1821 4.40 January 25, 1999
1822 Added support for using the CDS compiler for Reliant
1823 Unix 5.44 and above. Made Reliant Unix MIPC support
1824 optional, dependent on the presence of <sys/mipc.h>.
1826 Based on a report from Michael Schmitz <MSchmitz@lbl.gov>
1827 that /dev/kmem-based lsof misbehaves on a Linux
1828 2.0.x m68k kernel without module support, made the
1829 absence of query_module() or get_kernel_syms()
1830 Linux kernel support a fatal error. Updated relevant
1831 sections of 00FAQ to reflect the change.
1833 Added the ability to force the Linux Configure
1834 stanza to use the /proc or /dev/kmem source base
1835 via a LINUX_BASE environment variable specification.
1836 This is a cross-configuration assist.
1838 Added "+D <dir>" and "+d <dir>" options for directory
1839 searching. +D searches the entire tree, starting
1840 at <dir>, including <dir>, its contents, and its
1841 subdirectory branches; +d searches only <dir> and
1842 its contents, but not its subdirectory branches.
1843 Improved lsof's searching of the specified name
1844 list to compensate for anticipated long lists from
1847 Made an egrep in the Solaris Configure stanza usable
1848 by the standard and XPG4 egrep's. Kenneth Stailey
1849 <kstailey@disclosure.com> pointed out the improvement.
1851 Fixed bugs in /dev/kmem-based Linux and UnixWare
1852 Unix domain socket name searching.
1854 Changed a Linux Alpha #include to be conditional
1855 on the presence of its named header file, so that
1856 lsof will compile on Red Hat 5.1 and 5.2 (Linux
1857 kernel 2.0.35) where the header file is absent.
1858 The problem was reported by Alexandre Oliva
1859 <oliva@dcc.unicamp.br>.
1861 Fixed an AIX 4.3+ bug in procinfo struct space
1862 allocation, reported by Jeff Stewart <jws@purdue.edu>.
1863 This was offered as a patch to 4.39.
1865 Added an lstatsafely() function to offer the same
1866 isolation for lstat() calls that statsafely() offers
1867 for stat() calls. This made DOSTAT_FUNCTION no
1868 longer necessary, so deleted it.
1870 With help from Laurent P. Montaron <lpm@sequent.com>
1871 ported lsof to PTX 4.4.4. Laurent did a monumental
1872 job of identifying TCP/IP changes by their TCP
1873 version, rather than by their PTX (With mix 'n
1874 match PTX and TCP/IP versions, the PTX version
1875 often has no bearing on the TCP/IP version.), and
1876 changed the Configure script and pre-processor
1877 #if/#else/#endif blocks to match. He also updated
1878 Unix domain socket handling for PTX TCP/IP versions
1881 Updated CLIENT handle acquisition of fill_portmap()
1882 in print.c to use the more modern RPC function
1883 clnt_create() in place of clnttcp_create() where
1884 possible. PTX 4.4.4 requires clnt_create().
1886 4.41 February 27, 1999
1887 Added FreeBSD 3.1 and and 4.0 support with help
1888 from Sheldon Hearn <axl@iafrica.com>, David O'Brien
1889 <obrien@NUXI.com>, and John Polstra <jdp@polstra.com>.
1891 Corrected bungled AIX 4.3+ patch that went into
1894 Reorganized the Configure script to improve Makefile
1895 construction. A specific impetus for this was to
1896 allow FreeBSD system-wide make flags to be propagated
1897 to the lsof Makefiles, but other goals were to make
1898 sure that the DEBUG= make entry can over-ride
1899 standard CFLAGS values, and to better manage the
1900 identification of compilers and their versions.
1901 Two compiler-related values may now be supplied in
1902 environment variables: 1) the compiler path in
1903 LSOF_CC; and 2) the compiler version in LSOF_CCV.
1904 00XCONFIG documents them.
1906 Added support for Pyramid Reliant Unix bsdsfs,
1907 msockfs, and sockfs file systems.
1909 Added an optional LSOF_CINFO string to Configure,
1910 producing a CINFO string in selected Makefiles,
1911 producing a #define LSOF_CINFO in selected version.h
1912 header files. The purpose of this is to allow
1913 Configure the option to propagate information to
1914 the lsof -v output. It is now used for Linux to
1915 identify the code base, and for HP-UX 10.30 and
1916 11.0 and Solaris 7 to identify the kernel bit size.
1918 Added system information to NEXTSTEP and OPENSTEP
1919 -v output, from the second line of hostinfo's
1922 Fixed a login name buffer overflow problem in the
1923 processing of -u option values. This was offered
1924 as a patch to 4.40. !!!THIS IS A SERIOUS STACK
1925 OVERFLOW BUG; A LINUX EXPLOIT EXISTS FOR IT THAT
1926 OPENS A BASH SHELL WITH LSOF'S AUTHORITY -- E.G,
1927 SETGID(KMEM) POWER!!!
1929 Improved the Solaris mount table filter so the
1930 volume manager's fake mount point, "/vol", is
1931 ignored and doesn't supplant "/" in NAME column
1932 path assemblies. Igor Schein <igor@txc.com> reported
1933 this bug and provided important help in finding
1934 it. This was offered as a patch to 4.40.
1936 Changed the Linux /dev/kmem-based lock ownership
1937 test to answer a problem reported by Tom Christiansen
1938 <tchrist@jhereg.perl.com>. This was offered as a
1941 Installed an HP-UX 11 patch, suggested by Kevin
1942 Vajk <kvajk@cup.hp.com>, that adjusts a private
1943 lsof kernel header file, derived via Q4, to correspond
1944 to an HP-UX patch bundle.
1946 Made NetBSD 1.3I sockproto structure adjustment.
1949 Fixed a typo in the HP-UX dfile.c that caused +fF
1950 and +fN output controls to swap effect.
1952 Enabled for OpenBSD 2.5 per notice from Kenneth
1953 Stailey <kstailey@kstailey.tzo.com>
1955 Made more VM accommodations for FreeBSD 4.0.
1957 Improved file system search reporting to include
1958 path name components when they're available, instead
1959 of mindlessly reporting the file system name in
1960 the NAME column. Guy Dallaire <gdallair@geocities.com>
1961 brought the need for this change to my attention.
1963 Updated Solaris 2.6 VxFS for Veritas Oracle Database
1964 Edition 2.0, VxFS version 3.3, and VxVm version
1965 2.5.4, based on a report from Chris Kordish
1966 <chris.kordish@East.Sun.COM>. Chris kindly provided
1969 Improved HP-UX ipc_s patch detection in Configure,
1970 response in .../dialects/hpux/hpux11/ipc_s.h, and
1971 documentation in 00FAQ, Kevin Vajk <kvajk@cup.hp.com>
1974 Added to Customize the option to suppress HASKERNIDCK
1975 selection for specified dialects. Suppressed it
1976 for /proc-based Linux lsof, and removed its test
1977 and code from there. Tin Le <tin@netimages.com>
1978 alerted me to the need for this update.
1980 Ported to official Digital UNIX 5.0 release.
1982 Changed DU lsof to use the knlist(3) function when
1983 no kernel file has been specified with -k. This
1984 change was suggested by Erich Wimmer
1985 <Erich.Wimmer@digital.com>.
1987 Updated Configure for latest NetBSD (1.3I?) with
1988 UVM support the default.
1991 Corrected a typo in the Solaris gcc discussion in
1992 00FAQ. Made changes to the Solaris 2.5[.1] private
1993 tcp_s structure. Both changes were done in response
1994 to reports from Igor Schein <igor@txc.com>, who
1995 tested the Solaris 2.5 change.
1997 Made more IPv6 adjustments to lsof for Tru64 UNIX
1998 (Digital UNIX) 5.0, based on information obtained
1999 from Compaq by Berkley Shands <berkley@cs.wustl.edu>.
2001 Corrected HP-UX error message about HP-UX 11 q4 usage.
2002 Amir Katz <amir@ndsoft.com> reported the correction.
2004 Fixed a GlibC 2.1 conflict in /proc-based Linux lsof.
2006 Fixed a man page typo reported by Vlad Harchev
2009 Changed some Solaris 2.7 references to Solaris 7
2010 in Configure and 00XPORTING.
2012 Added a Solaris example to the echo statements that
2013 are the install rule in the SunOS/Solaris Makefile.
2015 Added a field to the file structure output --
2016 FILE-FLAG (file structure open flags, f_flag[s],
2017 and process file flags, typically u_pofile)) --
2018 enabled with +f[gG]. Its field output character
2021 Figured out another piece of the HP-UX 11 patched
2022 ipc_s structure puzzle with the help of Keith Kalet
2023 <KEITH_KALET@HP-USA-om41.om.hp.com>.
2025 Fixed a PTX real vnode to real inode interpretation
2028 Added link count to lsof output. Eric Dumazet
2029 <dumazet@risgw.ris.fr> requested and helped test
2030 it. The new +L option enables and filters it.
2031 Its field output character is `k'.
2033 Updated Configure script to recognize NetBSD 1.4.
2035 Updated AFSConfig to handle default answers to
2038 Incorporated patch from Jonathan Sergent <sergent@io.com>
2039 that enables /proc-based Linux lsof to run on both
2040 32 and 64 bit kernels.
2042 Updated Configure script with a patch from David
2043 O'Brien <obrien@NUXI.com> that recognizes FreeBSD 3.2.
2046 Corrected use of nlink member of hsnode for SunOS
2047 4.1.x High Sierra File System files. John Dzubera
2048 <zube@tlaloc.stat.colostate.edu> reported the
2049 problem and helped test the fix. Also fixed a
2050 SunOS segmentation fault bug. These fixes were
2051 offered as a patch to 4.43.
2053 Improved handling of /proc-based Linux UNIX PCB
2056 Fixed a NEXTSTEP and OPENSTEP bug that made repeat
2057 option (-r) processing malfunction. This fix was
2058 offered as a patch to 4.43.
2060 Fixed Configure so it doesn't use -O in the Cflags
2061 for the bundled HP-UX C compiler. Jim Ankenbrandt
2062 <jankenbrandt@penton.com> reported the problem.
2064 Corrected output ordering of parent PID and process
2065 group ID when both -R and -g are specified.
2067 Enhanced the pdev.c and pdvn.c library modules for
2068 wider use. These dialect versions use the new
2069 library modules: DEC OSF/1, Digital UNIX, and Tru64
2070 UNIX; Pyramid DC/OSx and Reliant UNIX; SCO OSR and
2071 UnixWare; and Sequent PTX.
2073 Added basic clone device support to /dev/kmem-based
2074 HP-UX lsof for HP-UX 10.30 and higher.
2076 Added raw socket support to /proc-based Linux lsof.
2078 Changed NODE-ADDR column title to NODE-ID in
2079 anticipation of using more general identification
2080 information in the column.
2082 Ported to UnixWare 7.1, using a test system kindly
2083 provided by Matt Thurmaier <matt@compclass.com>
2084 and Don Draper <dond@sco.com>.
2086 Updated for NetBSD 1.4C VM changes, and a new
2087 current and root working directory structure.
2089 Made minor adjustment for latest Tru64 UNIX 5.0
2093 Fixed quoting problem in DEC OSF/1, Digital Unix,
2094 and Tru64 UNIX Makefile's install rule. The problem
2095 was reported by Berkley Shands <berkley@cs.wustl.edu>.
2096 Fixed bug in Tru64 UNIX 4 lsof that caused FDs to
2097 be skipped. These fixes were offered in a patch
2100 Fixed a repeat-mode /proc-based Linux lsof bug,
2101 reported by Sami Farin <sfarin@ratol.fi>. This
2102 was offered as a patch to 4.44.
2104 Picked lint, some reported by Sami Farin.
2106 Corrected a 00DCACHE documentation error in a sample
2107 shell script. The problem was reported by Chad R.
2108 Larson <chad@larsons.org>. Changed commented-out
2109 entries in machine.h files so they require more
2110 thought and work when the comments are removed,
2111 based on a remark by Chad.
2113 Compensated for the practice of Solaris 7 and above
2114 to record the dev= value in /etc/mnttab in 32 bit
2115 mode, even on 64 bit systems. This was offered as
2118 Added a C library test for /proc-based Linux lsof,
2119 so that the #include files can be adjusted for a
2120 non-GlibC environment. The need for this was
2121 reported by Andrew Hill <andrewh@tirin.openworld.co.uk>.
2122 This was offered as a patch to 4.44.
2124 Added support for Auspex LFS 1.8.1 and 1.9.2 to
2125 SunOS 4.1.4 lsof. The support was requested by
2126 Quentin Fennessy <quentin@dvorak.amd.com>, who
2127 provided information and did testing.
2129 Enabled IPv6 support code for NetBSD and OpenBSD,
2130 conditional on Configure script tests. Wolfgang
2131 Rupprecht <wolfgang@wsrcc.com> supplied the NetBSD
2132 code and tested it. The OpenBSD code I constructed
2133 has been compiled but not tested.
2135 Updated the identd Perl 5 script, based on a report
2136 from Wendy Lin <af5@taiyang.cc.purdue.edu> that
2137 the space in its response line in front of the user
2138 name violates RFC 1413.
2140 Added IPv6 support to /proc-based Linux lsof.
2141 Jonathan Sergent <sergent@ETLA.NET> and Andrew
2142 Thomas Sydelko <sydelko@ecn.purdue.edu> kindly
2143 provided a test system.
2145 Updated man page description of AIX multiplexed
2146 files to indicate that they might be /dev/ptc or
2147 /dev/pts, depending on the AIX version. The
2148 correction was suggested by Onno van der Linden
2151 Sylvain Robitaille <syl@alcor.concordia.ca> reports
2152 lsof passes his Y2K tests.
2154 4.46 October 23, 1999
2155 Corrected /proc-based Linux lsof to detect that an
2156 IPv6 address is a mapped IPv4 address. The problem
2157 was reported and analyzed by Arkadiusz Miskiewicz
2158 <misiek@misiek.eu.org>, who also tested the fix.
2160 Added a libc5 library /dev/kmem-based Linux lsof
2161 circumvention, supplied by Jason Lingohr
2162 <lingman@lucid.net.au>.
2164 Corrected a bug in -t (terse) AIX output, reported
2165 by Wendy Lin <af5@taiyang.cc.purdue.edu>. I
2166 introduced the bug at revision 4.43 when adding
2167 FILE_FLAG reporting. This was offered as a patch
2170 Added a work-around for a problem in the OpenBSD
2171 2.3 <sys/pipe.h> header file. Volker Borchert
2172 <bt@teknon.de> provided and tested it.
2174 Improved description of cross-building lsof for a
2175 64 bit Solaris 7 system on a 32 bit system with
2176 suggestions from Phillip Edwards
2177 <Philip.Edwards@sn.wpafb.af.mil>.
2179 Fixed a gawk POSIX-mode pattern error in the Linux
2180 /dev/kmem-based Mksrc script, based on a tip from
2181 Ambrose C. Li <acli@mingpaoxpress.com>.
2183 Fixed a bug in the Tru64 UNIX IPv6 handling, courtesy
2184 of a report from Casper Dik <casper@holland.sun.com>.
2186 Enabled support for OpenBSD 2.6.
2188 Enabled support for BSDI BSD/OS 4.1, based on a
2189 report from Jeffrey C Honig <jch@bsdi.com> that
2190 only a Configure script change is necessary.
2192 Enabled Configure script to use gcc for building
2193 lsof for a 64 bit Solaris 7 and 8 kernels, if the
2194 gcc version is 2.95 or above.
2196 Improved -i option handling for systems with IPv6
2197 support so that it will search for a host name in
2198 both IPv4 and IPv6 families, when that is possible.
2199 As a companion modification, changed -V processing
2200 to report a single error when a multiple host name
2201 match is requested. Casper Dik <casper@holland.Sun.COM>
2204 Fixed a DEC OSF/1, Digital UNIX, Tru64 UNIX repeat
2205 mode bug, reported by Mayer Ilovitz <mayer@cooper.edu>.
2206 Mayer helped test the fix. The fix was offered as a
2209 Changed Solaris socket file recognition scheme, so it
2210 is (nearly) the same through Solaris 8, where the
2211 previous clone device scheme no longer works.
2213 With significant assistance from Casper Dik, added
2214 support for Solaris 8 Beta and Beta refresh. The
2215 IPv6 support in Solaris 8 is still in some flux,
2216 so there are temporary compensations for the
2217 differences between Beta IPv6 support and Beta
2218 refresh IPv6 support. Casper and I hope those
2219 differences disappear by FCS.
2221 Improved the delivery of information on Solaris
2222 2.5.1, 2.6, 7, and 8 door files.
2224 Fixed a repeat mode bug that surfaces when /etc/passwd
2225 changes between cycles. The bug report and diagnostic
2226 help were supplied by Igor Schein <igor@txc.com>.
2227 The fix was offered as a patch to 4.45.
2229 Added support for INRIA IPv6 to NetBSD. Jean-Luc
2230 Richier <Jean-Luc.Richier@imag.fr> provided patches
2231 and a test system on which to verify them.
2233 Added support for AIX 4.3.3. Jeff W. Stewart
2234 <jws@anaconda.cc.purdue.edu> provided a test system.
2236 Made adjustments for FreeBSD 4.0-current.
2238 Improved reporting of information for AIX sockets that
2239 lack protocol control blocks.
2241 4.47 November 29, 1999
2242 Based on a query from Jean-Pierre Radley <jpr@jpr.com>,
2243 changed the lsof top-level Makefile to propagate
2244 CFGF to the library Makefile. (DEBUG was already
2245 being propagated.) Added osrgcc and scogcc Configure
2246 abbreviations (to use gcc) for Jean-Pierre.
2248 In response to a query from Igor Schein <igor@txc.com>,
2249 improved the Configure script test for Solaris 7
2250 and 8 that decides if the compiler can produce 64
2253 Made an ugly hack, based on making a private rnode
2254 structure definition from q4 output, to compensate
2255 for HP-UX 10.20 and lower recent NFS3 patches. HP
2256 didn't supply an updated <nfs/rnode.h> with the
2257 patches. The problem was reported by Will Partain
2258 <partain@mekb2.sps.mot.com>. Elias Halldor Agustsson
2259 <elias@hi.is> helped identify the patches as
2260 PHNE_18173, PHNE_19426, PHNE_19937, and PHNE_20091,
2261 and provided a test system.
2263 Switched BSDI test system from 2.1 and 3.1 to 4.0.1,
2264 courtesy of Terry Kennedy <terry@tmk.com>.
2266 Added some more dev_t hacks for Alpha FreeBSD 4.0.
2268 Added support for IPv6 on BSD 4.x. The support hasn't
2269 yet been tested, just compiled.
2271 Added support for the mnt file system (mntfs or
2272 /etc/mnttab) on Solaris 8. Tested on Solaris 8
2275 Made selection of optional fields (e.g., PPID with
2276 -FR) in a field output specification select the
2277 optional field, too, so that the option selector
2278 for the field (e.g., -R) isn't also required. This
2279 change was made in response to an inquiry from John
2280 DuBois <spcecdt@armory.com>. This may require some
2281 revision to scripts that parse all field output;
2282 two scripts in the lsof distribution's scripts/
2283 subdirectory had to be updated.
2285 Corrected handling of Linux IPv4 addresses mapped
2288 Tested under OpenBSD 2.6.
2290 4.48 January 14, 2000
2291 Modified -i argument processing of colon-separated
2292 IPv6 addresses to recognize an IPv4 address mapped
2293 in an IPv6 address and handle it as an IPv4 address.
2294 This was offered as a patch to 4.47.
2296 Added a defined symbol (NOWARNBLKDEV) to control
2297 (inhibit) the issuance of a warning when no block
2298 devices are found. This was done anticipating its
2299 need in FreeBSD 4.x, but that dialect version no
2300 longer has any block devices, so HASBLKDEV was
2301 disabled for it instead. NOWARNBLKDEV was left in
2302 place for possible use in the future.
2304 Enabled KAME IPv6 Configure support for FreeBSD
2305 when <netinet6/in6.h> is found.
2307 Disabled use of gcc to compile lsof for 64 bit
2310 Updated Configure to recognized FreeBSD 3.4.
2312 Based on suggestions from Bernt Christandl
2313 <beb@MPA-Garching.MPG.DE> improved AFS configuration
2314 for AIX and Solaris, and updated AIX AFS 3.5 support.
2315 Johannes Tax <tax@bluedog.oit.unc.edu>, Hung T.
2316 Pham <hung_pham@unc.edu>, and Curt Freeland
2317 <curt@grumpy.cse.nd.edu> provided test systems.
2319 Updated lsof's private rnode definition for AIX
2320 4.3.3, since IBM still doesn't ship the
2321 <oncplus/nfs/rnode.h> header file and the rnode
2322 structure definition in <nfs/rnode.h> doesn't match
2323 what the kernel uses. This was offered as a patch
2326 Weakened the test in the Linux /proc-based lsof of
2327 the field count of data lines in /proc/net/{tcp,udp}.
2328 It appears that recent 2.3.x Linux kernels have
2329 added untitled fields to these files. The bug
2330 report came from Gabor Liptak <gaborliptak@usa.net>.
2332 Adjusted for a FreeBSD 4.0 change in the definition
2333 of [_]KERNEL. David O'Brien <obrien@NUXI.com> reported
2334 the problem and provided a test system.
2336 Removed the HASPPID bracket from Fppid (the -R
2337 option state variable) so that the field select
2338 table will compile even when HASPPID is not defined.
2339 This problem was introduced at revision 4.47 with
2340 code that causes some field output characters to
2341 set option states. The problem was reported by
2342 David Bacon <bacon@birch.eecs.lehigh.edu>.
2345 Made clearer in man page that "Lxx" FDs are AIX
2346 loader table references. Also updated the 00FAQ
2347 discussion of the Stale Segment ID bug to include
2350 Modified support for NetBSD 1.4Q to include the
2351 <sys/buf.h> header file to cope with an MFS change.
2353 Added support for OpenBSD UVM virtual memory.
2355 Added support for AIX systems with > 2GB of memory.
2356 Chris Sylvain <csylvain@itg.ummc.umaryland.edu>
2357 reported the problem and provided the solution.
2358 Chris also supplied some minor code cleanup. This
2359 was offered as a patch to 4.48.
2361 Based on new information from Igor Schein <igor@txc.com>
2362 made additional compensation in Configure script
2363 for 64 bit Solaris 7 and 8 gcc.
2365 Added some 00FAQ info on the effect ordering of
2366 the +fg and -FG options has on output format.
2368 Improved NetBSD IPv6 configuration, based on a
2369 suggestion from Thomas Klausner
2370 <wiz@danbala.ifoer.tuwien.ac.at>. Added code to
2371 convert IPv4-mapped-in-IPv6 addresses to IPv4
2374 Updated the information in 00FAQ and the HP-UX 11
2375 binary directory README files on the HP-UX 11 ipis_s
2376 patch with new information supplied by Eric McWhorter
2377 <emcwhorter@xsis.xerox.com>.
2379 Added documentation on changes to HASFSTYPE and
2380 HASNCACHE, and the new HASPRIVPRIPP.
2382 Adjusted Configure for FreeBSD 5.0. Made additional,
2383 necessary changes to Configure and the BSDI sources
2384 to eliminate load errors.
2386 Added KAME IPv6 support to FreeBSD at the request
2387 of Ollivier Robert <roberto@eurocontrol.fr>, who
2388 provided a test system.
2390 Corrected the script that generates the CHECKSUMS
2391 files for binaries to correctly name the detached
2392 PGP certificate. The documentation bug was reported
2393 by Michael Hennecke <hennecke@rz.uni-karlsruhe.de>.
2396 Added a NetBSD alpha test host, courtesy of Ray
2397 Phillips <r.phillips@mailbox.uq.edu.au>. An lsof
2398 4.49 binary, built on Ray's 1.4.1 system was made
2399 available prior to the 3.50 release.
2401 Upgraded the system map file tests in /dev/kmem-based
2402 Linux lsof, making the use of DEBIAN_LINUX_LSOF
2403 unnecessary. Tested the changes on a system made
2404 available by Vincent Kujala <kujala@geog.ubc.ca>
2405 and Jim Mintha <jim@ic.uva.nl>.
2407 Forced AIX to use the large-file-enabled versions
2408 of lstat (lstat64) and stat (stat64) if <sys/stat.h>
2409 contains stat64. This should allow lsof to stat()
2410 AIX files > 2GB even when the builder has not
2411 defined the "large file enabled programming
2412 environment." Configure tests <sys/stat.h> and
2413 puts -DHASSTAT64 in the Makefile's CFLAGS to make
2414 this happen. Fernando A.B. Whitaker
2415 <whitaker@cenapad.unicamp.br> reported the problem.
2416 This was offered as a patch to 4.48.
2418 Enabled Configure script to handle OpenBSD 2.7.
2419 Angelos D. Keromytis <angelos@dsl.cis.upenn.edu>
2420 reported the availability of OpenBSD 2.7 and supplied
2421 the Configure script patch.
2423 Improved handling of DOOR and fattach()'d files in
2426 Changed message about missing kernel symbol file
2427 from "not yet determined" to "none found".
2429 Updated FreeBSD, NetBSD, NEXTSTEP, OpenBSD, and
2430 OPENSTEP support to report "no PCB" and the values
2431 of the SO_CANTSENDMORE and SO_CANTRCVMORE state
2432 flags when a socket structure has no inpcb pointer.
2433 This modification was made to AIX lsof at revision
2434 4.46. Added an entry to 00FAQ about sockets that
2435 have no inpcb pointer.
2437 Upgraded support for FreeBSD 5.0-CURRENT. Ben
2438 Smithurst <ben@scientia.demon.co.uk> supplied
2439 patches and did testing. David O'Brien <obrien@NUXI.com>
2440 supplied a test system. The update included dropping
2441 the Fctty part of file descriptor file system
2442 support, conditional on a Configure script test.
2443 I propagated those changes to BSDI, NetBSD, and
2444 OpenBSD in anticipation of their having the
2445 modification in the future. David also arranged
2446 with Michael Haro <mharo@area51.fremont.ca.us> for
2447 a FreeBSD 3.4 test system.
2449 In response to an lsof 3.72 bug report from Jim Mewes
2450 <jim@corp.phone.com>, added more kernel address
2451 filtering to the lsof function, kread(), that reads
2452 Solaris kernel data.
2454 In response to a report from Marc Duponcheel
2455 <marc@offline.be>, added tests to the /proc-based
2456 Linux lsof to ignore file systems of types "autofs"
2459 Based on a report and information supplied by Casper
2460 Dik <casper@holland.Sun.COM>, updated the ncache_load()
2461 function in lib/rnch.c with new code that deals
2462 with a post Solaris 8 change in kernel name cache
2463 (DNLC) handling. Casper tested the update, which
2464 should be invisible to Solaris versions without
2467 Added support for Solaris VxFS QIO files, based on
2468 a report from Kieran Broadfoot <kieran.broadfoot@gs.com>.
2469 Kieran help test the support.
2471 Added support for PTX 4.4.6 and 4.5[.1] with help
2472 from the usual cast of good people at Sequent.
2474 Added support for 64 bit file sizes and offsets on
2475 BSDI, FreeBSD, NetBSD, and OpenBSD, based on a
2476 report from Dan Nelson <dnelson@emsphone.com>.
2477 Dan supplied a patch and did FreeBSD testing.
2479 Added Configure script recognition of NetBSD 1.5,
2480 based on a report from Andrew Brown <atatat@atatdot.net>.
2481 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> updated
2482 the NetBSD port package to use a pre-release of this
2485 At the last minute saw a notice via deja.com's
2486 UseNet search service that FreeBSD 3.5 had been
2487 released and lsof didn't grok it. Added recognition
2488 of 3.5 to lsof's Configure script, but didn't have
2489 the opportunity to test lsof on 3.5.
2491 4.51 August 21, 2000
2492 Added Configure script support for the upcoming
2493 Solaris 9 release based on suggestions from Casper
2494 Dik <Casper.Dik@holland.sun.com>.
2496 Changed sample Perl scripts to assume that
2497 /usr/local/bin/perl is Perl 5 and Perl 4 may be
2498 found in /usr/local/bin/perl4.
2500 Updated Configure to recognize FreeBSD 4.1 and made
2501 a FreeBSD pre-release distribution available.
2503 Bela Lubkin <belal@sco.COM> tested lsof on the
2504 upcoming SCO OSR 5.0.6 release and reports that
2505 lsof appears to work properly.
2507 Updated the AIX compiler test in Configure to
2508 recognize its version 5.
2510 Updated AIX 4.3.3 support with automatic recognition
2511 of the proper rnode structure, based on machine
2512 bit width. Also added code to detect when processing
2513 the -X option that lsof has been compiled with the
2514 "other" AIX 4.3.3 user structure and to apply
2515 compensations. When a compensation method works,
2516 it's applied during subsequent -X processing; when
2517 none works, further -X processing is disabled.
2519 Added Tru64 UNIX 5.1 support. Updated Tru64 UNIX
2520 library text file support to recognize new kernel
2521 support for AdvFS library files. Berkley Shands
2522 <berkley@cs.wustl.edu> and Klaus Saggerer USG
2523 [saggerer@zk3.dec.com> helped put me in contact
2524 with Chang Song <song@zk3.dec.com>, the developer
2525 of 5.1's new kernel name cache and he helped me
2526 develop new code in lsof to access it.
2528 Corrected reporting of PTX fattach()'d address.
2530 Changed Configure and dlsof.h for NetBSD and OpenBSD
2531 to use /usr/include/uvm header files when available.
2532 Andrew Brown <atatat@atatdot.net>, Thomas Klausner
2533 <wiz@danbala.ifoer.tuwien.ac.at>, and Wolfgang
2534 Rupprecht <wolfgang@wsrcc.com> pointed out the need
2535 to do this for NetBSD. Andrew provided access to
2536 a NetBSD 1.5 system for verifying the changes.
2538 Installed snprintf() support, including a private
2539 version in the lsof library for those UNIX dialects
2540 without the function. Changed all sources to use
2541 it instead of sprintf() and strcpy().
2543 Fixed a memory leak in the readvfs() functions of
2544 BSDI, DEC/OSF1, Digital UNIX, FreeBSD, NetBSD,
2545 OpenBSD, and Tru64 UNIX.
2547 Tested on Linux 2.4.
2549 Modified the Pyramid MkKernOpts script to compensate
2550 for `uname -s` configuration alternatives. Robert
2551 Dahlem <Robert.Dahlem@ffm2.siemens.de> supplied
2554 Obtained access to an FCS Solaris 8 64 bit system
2555 and built lsof on it, using Sun Workshop C 5.0 and
2556 gcc 2.96 20000814 (experimental). Both compilers
2557 produce a working lsof.
2560 4.52 November 8, 2000
2561 Completed work on an HP-UX 11.11 port that uses a
2562 pstat(2) interface provided by HP. To distinguish
2563 it from its predecessors for HP-UX, this lsof
2564 version is called PSTAT-based and the predecessor
2565 versions are now called /dev/kmem-based. I am
2566 indebted to the far-sightedness and support of
2567 these good people at HP for making PSTAT-based lsof
2568 possible: Carl Davidson, Louis Huemiller, Rich
2569 Rauenzahn, and Sailu Yallapragada. The PSTAT-based
2570 sources are in lsof_4.52/dialects/hpux/pstat, the
2571 /dev/kmem-based ones in lsof_4.52/dialects/hpux/kmem.
2573 Ported to IBM Monterey for Merced|Itanium, aka AIX
2574 5L. It configures via the Configure script's "aix"
2575 abbreviation and has been tested on AIX 5L Beta 3.
2576 Jay Beck, Steve Dibbell, Loc Le, Nasser Momtaheni,
2577 and Malcom Zung of IBM provided generous support.
2578 Since AIX 5L is still in Beta testing, this port
2579 can't be considered complete.
2581 Added Configure support for OpenBSD 2.8. David
2582 Mazieres <dm@cs.nyu.edu> provided a test system.
2584 Based on a report from Marc Christensen
2585 <marc@mecworks.com> added sockfs to the mount scan
2586 exemption list for /proc-based Linux lsof.
2588 Added large file, CDFS, and DOSFS for UnixWare 7.x.
2589 Added UnixWare device memory mapping support. All
2590 UnixWare changes were supplied by Eric Dumazet
2591 <edumazet@cosmosbay.com> Eric also supplied some
2592 miscellaneous bug fixes.
2594 Deferred name cache loading until printname() needs
2595 to use the name cache.
2597 Terminated Pyramid, SunOS 4.1.x, and Ultrix support,
2598 because test systems are no longer available.
2599 Final Pyramid and Ultrix source code distributions
2600 for lsof revision 4.51 may be found on lsof.itap.purdue.edu
2601 in pub/tools/unix/lsof/OLD/src. The no longer
2602 supported SunOS 4.1.x source code is still distributed
2603 with the Solaris source code.
2605 Added code to set Solaris node address to real vnode
2606 address, when applicable.
2608 John Speno <speno@lopan.isc-net.upenn.edu> provided
2609 information that enabled me to update the Tru64
2610 AdvFS (MSFS) node definition for AdvFS version 5.
2612 Added Tru64 5.x CFS support with help from Kris
2613 Chandrasekhar <Kris.Chandrasekhar@compaq.com>,
2614 Diane Lebel <lebel@zk3.dec.com>, and John Speno.
2615 The support only provides information about cached
2618 Installed a Configure patch for HP-UX 11 supplied by
2619 Kenneth Stailey <kstailey@disclosure.com> that adds
2620 another command to q4 input.
2622 Tested on FreeBSD 4.2.
2624 Will Day <willday@rom.oit.gatech.edu> and Frank
2625 Winkler <frank.winkler@germany.sun.com> graciously
2626 supplied Solaris 8 binaries.
2628 Added Solaris 9 text file support, supplied by
2629 Casper Dik <Casper.Dik@holland.sun.com>.
2631 4.53 December 6, 2000
2632 Added the AIX 5L j2_lock.h to the distribution with
2633 a Configure script step to use it when it's missing
2634 from /usr/include/j2.
2636 Removed SunOS 4.1.x support.
2638 Removed Linux 2.0.x /dev/kmem support.
2640 Fixed VBLK and VCHR special device file reporting
2641 to handle /dev information more accurately.
2643 Added a Apple Darwin / Mac OS X 1.2 port, provided
2644 by Allan Nathanson <ajn@apple.com>. Allan also
2645 arranged for a test system so I can maintain this
2646 port. An additional test system was provided by
2649 Dropped claims of support for all UnixWare versions
2650 except 7.1.0, since that is the only version on
2651 which I can test lsof. Even though lsof 4.53 is
2652 deprecated for UnixWare 2.1.3, installed a patch
2653 for it with testing done by A. Channing Clark
2654 <clark.channing@heb.com>.
2656 Dropped claims of support for all SCO OpenServer
2657 versions except 5.0.5, since that is the only
2658 version on which I can test lsof.
2660 4.54 January 19, 2001
2661 Added compensation for a change that made the
2662 FreeBSD mount structure invisible. I can only test
2663 back to 3.2 and the compensation works there, so
2664 it's been #ifdef'd for 3.2 and above. David O'Brien
2665 <obrien@FreeBSD.org> provided the necessary clue.
2667 Based on a report from Valdis Kletnieks
2668 <Valdis.Kletnieks@vt.edu>, changed all IPv6 support
2669 to report a TYPE of IPv6 for sockets with IPv4
2670 addresses mapped in IPv6 addresses. The previous
2671 lsof behavior was to report their TYPE as IPv4.
2673 Restored the Linux GlibC test to Configure, removed
2674 at revision 4.53, based on a report from John Dzubera
2675 <zube@cs.colostate.edu>, that RedHat Linux 6.0 still
2678 Made setting of link count for Solaris more selective.
2680 Limited Readlink() recursion to MAXSYMLINKS. The bug
2681 was reported by Jan Dvorak <johnydog@go.cz>.
2683 Dropped the *claim* that lsof runs on Solaris 2.5.1.
2684 It may well do so, but I no longer have access to a
2687 Fixed an #endif comment typo, reported by Igor Schein.
2689 Fixed a typo in a cast for a Tru64 UNIX 5.1 function
2690 and updated Configure for Tru64 UNIX 5.0 and 5.1 with
2691 information from Jesse Perry <jesse.perry@compaq.com>.
2693 Corrected non-fatal typos in the AdvFS support in
2694 dnode.c for Tru64 UNIX.
2696 Added msdos file system support for NetBSD and OpenBSD.
2697 Andrew Brown <atatat@atatdot.net> requested and helped
2700 4.55 February 15, 2001
2701 Based on a report from Bernd Eckenfels <ecki@lina.inka.de>
2702 added support in lsof for files in /proc/<PID>/maps
2703 that have been deleted.
2705 Changed PGRP output title to PGID, conforming to
2706 the most common current abbreviation for Process
2707 Group ID (PGID). While some systems continue to
2708 use *pgrp for internal kernel variable names, most
2709 systems that support the display of PGID via ps(1)
2710 now title it PGID. The lsof -g and -Fg options
2711 operations are unchanged in function; only titles
2712 and descriptions have changed. Also changed internal
2713 variable names from *PGRP and *pgrp to *PGID and
2714 *pgid where possible.
2716 Dropped the *claim* that lsof runs on HP-UX 9.x.
2717 It may well do so, but I no longer have access to
2720 In response to a suggestion from Jeff Howie
2721 <jeff.howie@federated.ca> added support for command
2722 name selection by regular expression. A new form
2723 of the -c option value is use to identify and
2724 specify a regular expression.
2726 Restore the *claim* that lsof works on UnixWare
2727 7.0, since I re-acquired a test system.
2730 Corrected some problems Amir Katz <Amir_Katz@bmc.com>
2731 found with Insure++, one in lib/dvch.c, the rest
2732 in Solaris sources. Amir's report also helped me
2733 find an error in an snpf() call that caused (the
2734 unsupported) Solaris 2.5.1 lsof to crash. Wally
2735 Winzer, Jr. <wally.winzer@ChampUSA.COM> helped test.
2737 Added support for UnixWare 7.1.1 and above in-kernel
2738 UNIX sockets. John Hughes <john@Calva.COM> kindly
2739 provided code and access to a test system. John
2740 also provided a test system and advice for adding
2741 UnixWare 7.1.1 NonStop Cluster and CFS support.
2742 More help with that effort came from Kurt Gollhardt
2743 (SCO), Barbara Howe (SCO), Bela Lubkin (SCO), and
2744 Dewan Rashid <Dewan.Rashid@ir.com>.
2746 Archived a set of compilation hints (patches) from
2747 Bill Melvin <Bill.Melvin@esc.edu> that make it
2748 possible to compile the old, unsupported lsof 3.08
2749 sources on UnixWare 1.x without NFS or CDFS support.
2751 Installed support supplied by Allan Nathanson
2752 <ajn@apple.com> for the Darwin "Gold Master" release,
2753 Mac OS X 10.0 (aka Darwin 1.3 in its public source
2754 version). Added Allan's CVS repository suggestions
2755 to the script that gets additional header files
2756 from an open source repository.
2758 Tested an HP-UX 11.11 kernel patch from Sailu
2759 Yallapragada that enables reporting of TCP/IP
2760 information for telnetd processes that use the
2761 telnet multiplexor. I don't yet know the kernel
2764 Made the Solaris inclusion of <inet/mi.h> conditional
2765 on the Solaris version. (It's apparently not needed
2766 at 2.6 and above.) Bill Watson <bill.watson@uk.sun.com>
2767 brought this to my attention.
2769 Added alternate Linux 2.4.x lock extent test, supplied
2770 by Jim Mintha <jim@ic.uva.nl>.
2772 Rearranged the lines and pre-processor tests in
2773 regex.h, lib/regex.c, and lib/snpf.c so that unifdef
2774 can be used to eliminate copyright and GPL statements
2775 when the files aren't being used for a particular
2776 dialect. (USE_LIB_* definitions in a dialect's
2777 machine.h header file determine if one or more of
2778 those three files are to be used.)
2780 Added preliminary support for Solaris 8 with VxFS
2781 3.4. This support will be refined as I get
2782 information from Veritas about how they will
2783 distribute the kernel header files lsof needs.
2784 Those header files were omitted from the standard
2785 VxFS 3.4 distribution. Technical assistance and
2786 testing were provided by Calle Dybedahl <cdy@algonet.se>,
2787 Gary Millen <gary.millen@veritas.com>, Rainer Orth
2788 <ro@TechFak.Uni-Bielefeld.DE>, Peter C. Vernam
2789 <pvernam@draper.com>, and Donna Yobs
2790 <Donna.Yobs@veritas.com>
2792 Tested on FreeBSD 4.3-STABLE.
2794 Dropped the *claim* that lsof works on UNIX dialects
2795 where I no longer have test systems: BSDI 2.1,
2796 3.[01] and 4.0; DEC OSF/1, Digital UNIX and True
2797 64 UNIX 2.0 and 3.2; FreeBSD 2.1.[67], 2.2[.x],
2798 3.[012345] and 4.[01]; HP-UX 10.20; NetBSD 1.[234];
2799 SCO OpenServer 5.0.5; and SCO UnixWare 7.0
2801 Tested on Solaris 9 BETA, s81_36.
2804 Help (-h) and version (-v) output now have URLs
2805 for the newly created and timeliest lsof FAQ
2806 (00FAQ in the lsof distribution) at:
2808 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
2810 and the man page for the current lsof distribution
2813 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
2815 Based on a report from Steve Laubscher
2816 <slaubs@woodward.com>, modified dlsof.h for PTX
2817 4.6[.1] to avoid a temporary dnlc_t definition
2818 needed at PTX 4.5.1.
2820 Corrected test for old Linux kernels in Configure.
2821 Henri Karrenbeld <ishtar@cal044202.student.utwente.nl>
2822 brought the error to my attention. Limited Linux
2823 claims to 2.1.72 and above in the documentation.
2825 Improved HP-UX 11 Configure stanza and stream socket
2828 Constructed a work-around for the HP-UX 11 optional
2829 OnlineJFS package. The work-around sadly requires
2830 lsof to have a private version of the vx_inode
2831 structure, since the OnlineJFS package doesn't
2832 update <sys/fs/vx_inode.h>. Troyan Krastev
2833 <Troyan.Krastev@ricoh-usa.com> brought the bug to
2834 my attention and Michael Bracewell
2835 <michael@ra.TSS.PeachNet.EDU> provided a test system
2836 where I developed the work-around.
2838 Added locale support to lsof's isprint() test,
2839 based on a suggestion from Dan Mercer <damercer@mmm.com>.
2840 Lsof will use setlocale(), when that function and
2841 its supporting <locale.h> header file are available.
2843 Added OpenBSD 2.9 support.
2845 Based on a report from Aaron Rhodes <arhodes@psionic.com>
2846 and with testing help from Aaron, made the lsof
2847 4.56 revision compile and work on OpenBSD 2.6.
2848 While that OpenBSD version is no longer supported,
2849 Aaron's report exposed a Configure script bug
2850 affecting OpenBSD versions lsof does support.
2852 Updated for FreeBSD 5.0-CURRENT. Szilveszter Adam
2853 <sziszi@petra.hos.u-szeged.hu> help test. The lsof
2854 FreeBSD ports packager, David O'Brien <obrien@FreeBSD.org>,
2857 Tested on AIX 5.1. Loc Le and Nasser Momtaheni of
2858 IBM provided test systems.
2860 4.58 September 13, 2001
2861 Added options to safestrprt() and safestrprtn() to
2862 surround the string with '"' and to suppress the
2863 printing of an ending '\n'. Use of these functions
2864 in device cache file error message reporting answers
2865 a suggestion for better error reporting from John
2866 Jackson <jrj@purdue.edu>.
2868 Fixed a Solaris 2.6 and above problem related to
2869 searching for "large" (O_LARGEFILE) files by name;
2870 lsof was using the wrong version of [l]stat(2).
2871 The bug was reported by Daniel Trinkle
2872 <trinkle@cs.purdue.edu>.
2874 Added AIX 4.1.4 and above XTI socket support.
2876 Added OSR Xenix Shared Data and Semaphore file type
2877 support with modifications supplied by Bela Lubkin.
2879 Updated OPENSTEP support with modifications from Carl
2880 E. Lindberg <lindberg@clindberg.org>. The changes
2881 enable the correct reporting of executable and
2882 library open files ("txt" type).
2884 Limited claims of OpenServer support to the versions
2885 where I currently test, 5.0.4 and 5.0.6. (Lsof
2886 probably works on 5.0.5.)
2888 Enabled processing of -C option for PSTAT-based HP-UX
2891 Enabled and tested on FreeBSD 4.4.
2893 Corrected a file system test example in 00QUICKSTART,
2894 based on a report from Jun Biao WANG <wangjunb@cn.ibm.com>.
2896 Made available for re-distribution a user-contributed
2897 port of lsof 4.51 to Reliant UNIX 5.45. Thomas
2898 Mauterer <Thomas.Mauterer@philosys.de> contributed
2901 4.59 October 20, 2001
2902 With the closing of the Sequent Synergy Links Lab
2903 by IBM, terminated lsof support for PTX. The last
2904 tested PTX lsof revision, 4.58, is available on
2905 lsof.itap.purdue.edu in .../lsof/OLD/src.
2907 Adjusted for FreeBSD 5.0-CURRENT NFS header file
2908 changes, based on a report from Jos Backus
2911 Corrected a bug in the way Linux lsof identifies
2912 the owner of a process. Lionel Cons <lionel.cons@cern.ch>
2913 reported the problem and tested the fix. Added
2914 code to avoid stat(2) calls on regular Linux files
2915 whenever possible. Lionel reported the need to do
2916 this (AFS files) and tested the new code.
2918 Added new output field for raw device number in
2919 hex. The field is identified with 'r'. This field
2920 is NOT selected when -F or -F0 is specified so that
2921 its appearance won't disturb existing scripts that
2922 process field output.
2924 Added support for OpenUNIX 8. A test system was
2925 provided by Larry Rosenman <ler@lerctr.org>.
2926 Matthew Thurmaier <matt@compclass.com> and many
2927 people from Caldera provided technical assistance.
2929 Added an additional UVM test to the NetBSD Configure
2930 stanza. Andrew Brown <atatat@atatdot.net> supplied
2931 the test; it recognizes NetBSD 1.5Y UVM changes to
2932 the vnode structure recently committed by Chuck
2935 Applied Configure and get-xnu-headers.sh script
2936 changes suppled by Allan Nathanson <ajn@apple.com>
2939 Added for Bela Lubkin <belal@mammoth.ca.caldera.com>
2940 OSR-specific environment variables to supply values
2941 to the Configure script. The variables are described
2944 Added an IP version selector to the -i option
2947 4.60 November 9, 2001
2948 Added special handling to and corrected bugs in
2949 the matching of IPv4 in IPv6 addresses to -i6:<...>
2952 Made 00FAQ corrections and updates, based on
2953 discussions with Igor Schein <igor@txc.com>.
2955 Modified Configure script to detect a 64 bit capable
2956 gcc compiler and permit it to be used to build 64
2957 bit (PA-RISC 2) lsof for HP-UX 11.00. Tested with
2958 HP's gcc package, which Rich Rauenzahn of HP kindly
2959 installed on a test system at HP. Stefan Marquardt
2960 <stefan.marquardt@hagebau.de> helped test.
2962 Made lsof's method of killing its child process
2963 more robust, based on a suggestion from Bela Lubkin
2964 <belal@caldera.com>.
2966 Modified all dialect Makefile segments to accept
2967 select -v #define's from the environment -- a
2968 builder's comment, host, logname, system information
2969 and user name. This was done for Bela Lubkin, so
2970 he can "tune" the -v output when he packages lsof
2971 in the upcoming Caldera OSR 5.0.7 release.
2973 Changed Perl scripts in scripts/ to put the lsof
2974 path consistently in $LSOF. Also added a fix from
2975 Bela Lubkin to scripts/big_brother.perl5 that allows
2976 it to tolerate SCO OSR "ago" clauses in open UDP
2977 file information. Strengthened emphasis in
2978 scripts/00README that the scripts are examples that
2979 shouldn't be expected to run on all UNIX dialects
2980 without modification.
2982 At Bela Lubkin's suggestion changed the device
2983 cache file format examples in 00DCACHE and 00FAQ
2984 to avoid "%U%". That's an SCCS escape sequence.
2986 Added support for OpenBSD 3.0.
2988 Added +DAportable to CFLAGS for 32 bit HP-UX 11.
2989 Amir Katz <Amir_Katz@bmc.com> suggested the addition.
2991 4.61 January 22, 2002
2992 Updated field output example Perl scripts in the
2993 scripts/ subdirectory to discover the lsof path,
2994 starting at .. and proceeding through the PATH
2995 environment variable's directories.
2997 Added minor OSR Configure script fixes, provided
2998 by Bela Lubkin <belal@caldera.com>.
3000 In response to a report from Joshua Wright
3001 <Joshua.Wright@jwu.edu> modified NetBSD and OpenBSD
3002 Configure stanzas and sources so that lsof can be
3003 built when there is no system source tree (e.g.,
3006 In response to a report from Peter Valchev
3007 <pvalchev@openbsd.org> improved the UVM test in
3008 the OpenBSD Configure stanza.
3010 Updated Configure script to recognize FreeBSD 4.5.
3011 Updated for FreeBSD 5.0 procfs and pseudofs changes.
3013 Updated HP-UX stanza to see if the compiler named
3014 in the LSOF_CC environment variable is the bundled
3015 compiler. If it is, "-O" is omitted from the
3018 Updated Digital UNIX 4.x and Tru64 UNIX error message
3019 related to kernel name list failures. Added an FAQ
3020 section about how a kloadsrv daemon failure can cause
3021 knlist(3) to fail. The condition was reported by
3022 Douglas B. Jones <douglas@gpc.peachnet.edu>
3024 Based on a report from Mark W. Eichin <eichin@thok.org>
3025 made Linux lsof capable of handling and reporting
3026 file sizes greater than 32 bits.
3028 Tested on Solaris 9 BETA-Refresh.
3030 Corrected a bug in the matching of IPv4 addresses,
3031 mapped in IPv6 addresses, to an IPv4 parameter to
3034 Ported to 64 bit Power AIX 5.1 kernel with advice
3035 from David Clissold <cliss@austin.ibm.com> and Marc
3036 Stephenson <marc@austin.ibm.com>, and on a test
3037 system provided by Loc Le <lple@us.ibm.com>.
3040 Updated 00README to reflect the usefulness of gcc
3041 for building AIX lsof. Documented a report from
3042 Brian L. Gentry <BGentry@nationsrent.com> of success
3043 on AIX 4.3.3. I documented my success on 32 bit
3044 Power AIX 5.1 and my lack of success on ia64 AIX
3045 5.1 and 64 bit Power AIX 5.1.
3047 Improved UnixWare >=7.1.1 reporting of UNIX socket
3048 NAME field information for NonStop Cluster systems
3049 with a patch provided by John Hughes <john@Calva.COM>.
3050 Offered John's improvement as a patch to lsof 4.61.
3052 Corrected bugs in handling of open files on block
3053 devices by OSR lsof. The bugs were reported by
3054 Bela Lubkin <filbo@deepthought.armory.com>.
3056 Fixed bug in writing >32 bit device numbers for
3057 block devices to the device cache file.
3059 Added support for reporting block special nodes
3060 not in /dev (or /devices). That required "like
3061 device special" be changed to "like block special"
3062 and "like character special". (00FAQ was updated.)
3064 Based on a report from Peter Valchev <pvalchev@openbsd.org>
3065 improved the definition of the source for NetBSD
3066 and OpenBSD kernel symbols (the nlist() source
3067 file). NetBSD now defaults to getbootfile(3) if
3068 it is available, /netbsd otherwise. OpenBSD now
3069 defaults to /dev/ksyms if it is available, /bsd
3072 Made possible compilation under BSD/OS (BSDI) 5.0
3073 with changes to Configure, dialects/bsdi/dlsof,
3074 dialects/bsdi/dproc.c and lib/rnmh.c. The changes
3075 were suggested by Steven Hinkle <hinkle@bsdi.com>.
3076 Note that these changes do not substantiate a claim
3077 that lsof works on BSDI 5.0, because I haven't
3080 Updated OpenUNIX private <sys/fs/memfs_mnode.h>,
3081 based on a report from Larry Rosenman <ler@lerctr.org>
3082 that it had been updated by Caldera patch OU800PK3.
3083 Unfortunately the patch only corrects some of the
3084 problems with the header file, so it is still
3085 necessary to distribute a private patched version
3086 of it with the lsof sources.
3088 Applied a man page correction reported by Frederic
3089 Delanoy <max_ok@yahoo.com>.
3091 Corrected cast bugs related to using the HP-UX
3092 bundled C compiler on HP-UX 11.11.
3095 Added HPUX_BOOTFILE environment variable for use
3096 by the Configure script in determining HP-UX kernel
3097 configuration information -- e.g., the state of
3098 the ipis_s structure in the HP-UX 11 kernel. The
3099 change was suggested by Marc Bejarano <beej@alum.mit.edu>.
3100 Marc also suggested some changes to the HP-UX
3101 section in 00FAQ that discusses Configure's use of
3104 Fixed a bug in the Solaris lsof file system matching
3105 code. It was not reporting that VCHR files in
3106 /devices were in / when /devices was in /, too.
3108 Corrected bugs in device number, file size, file
3109 offset, and raw device number field output generation.
3111 Added recognition of OpenBSD 3.1 to the Configure
3112 script with a suggestion from Peter Valchev
3113 <pvalchev@sightly.net>. Note that this change does
3114 not constitute a claim that lsof works on OpenBSD
3115 3.1, because I haven't tested it there.
3117 Built an automated test suite. (See 00TEST and
3118 the tests/ sub-directory of the lsof main directory).
3119 Bela Lubkin requested it. Dale Talcott, John
3120 Hughes, and Larry Rosenman helped me validate it
3123 During the development of the test suite I discovered
3124 the following lsof bugs or missing features, and
3125 corrected or supplied them.
3127 * Corrected the reporting of locks for:
3128 o Digital UNIX 4.0d and Tru64 Unix 5.[01];
3129 o HP-UX 10.30 and 11.00;
3133 * Enabled HP-UX 10.30 and 11.00 to report open NFS
3136 * Corrected the reporting of UNIX domain socket
3137 names for Apple Darwin, FreeBSD 4.5 and above,
3138 NetBSD 1.4.1 and above, and for OpenBSD 3.0 and
3141 * Enabled HP-UX 11.11 to stat(2) large files.
3143 * Fixed handling of combination 32 and 64 bit
3144 device numbers in AIX 64 bit architectures.
3146 Updated the AIX 4.3.3 NFS rnode recognition code,
3147 first installed at revision 4.51. It looks like
3148 some IBM update has restored a single rnode structure
3149 independent of the machine bit width.
3151 Updated the NetBSD and OpenBSD sources so NetBSD
3152 can process DTYPE_PIPE files, as OpenBSD was already
3155 Updated Darwin get-xnu-headers.sh script to reflect
3156 information about a recent reorganization of the
3157 Darwin CVS hierarchy, supplied by Allan Nathanson
3160 Added defense against the standard I/O descriptor
3164 Corrected some FreeBSD pre-processor directives.
3165 David O'Brien <obrien@NUXI.com> pointed them out.
3167 Updated lsof's main() function to: 1) close all
3168 open file descriptors above 2 before starting; and
3169 2) to set a non-interfering umask. Moved GET_MAX_FD
3170 test from misc.c to proto.h, so that main() could
3171 use it. Added multiple-include protection to
3174 Moved FAQ's test suite Q's & A's to a more appropriate
3175 section. Added a Q&A on HASSECURITY option and
3176 its affect on searching for open files. (That was
3177 already in the man page.)
3179 Updated hpux/kmem/dnode.c for HP-UX < 11 compilation
3180 with information from John Dzubera <Zube@CS.ColoState.EDU>.
3181 While lsof doesn't support HP-UX < 11 any more, I
3182 try to avoid disabling it there when possible, and
3183 a locking fix for HP-UX >= 11 in lsof 4.63
3184 inadvertently disabled compilation of lsof for
3185 HP-UX < 11. Fixed long-standing bug in HP-UX 10.20
3188 Removed language from the test suite programs that
3189 requires an ANSI-C compiler. This allowed the test
3190 suite to be validated with cc and gcc on the un-
3191 supported HP-UX 10.20.
3193 At the suggestion of Manuel Bouyer <bouyer@antioche.eu.org>
3194 switched NetBSD and OpenBSD lsof from using nlist()
3195 to using kvm_nlist(). Made the same change for
3196 BSDI, Darwin, and FreeBSD.
3198 Validated test suite on OPENSTEP 4.2.
3200 In response to a suggestion from Jeff Stoner
3201 <jstoner@blackboard.com> enhanced support for the
3202 FD list of the -d option to allow it to be either
3203 an exclusion or inclusion list, using the '^' prefix
3204 to denote exclusions.
3206 Made adjustments for FreeBSD 4.6 and 5.0-CURRENT.
3207 Fixed a FreeBSD /etc/make.conf CFLAGS extraction
3208 bug, reported by Kris Kennaway <kris@obsecurity.org>,
3209 and new a bug in the fix, reported by Eric Cronin
3210 <ecronin@eecs.umich.edu>
3212 Added nullfs support for FreeBSD, NetBSD, and OpenBSD
3213 at the request of Andrew Brown <atatat@atatdot.net>.
3215 Modified all readmnt() functions to ignore mounted-on
3216 directory names that don't begin with '/'.
3218 Tested on NetBSD 1.6A and OpenBSD 3.1.
3220 Upgraded to Solaris 9 FCS with two changes to the
3221 BETA-Refresh support: 1) an adjustment to dnode.c
3222 for a change in the so_so (sonode) structure; and
3223 2) addition of Solaris 9 FCS specific DNLC code.
3224 David Comay <David.Comay@Eng.Sun.COM> sent me the
3225 dnode.c change and Casper Dik <Casper.Dik@sun.com>
3226 helped with the new DNLC support code.
3228 Applied OpenUNIX changes that permit lsof to compile
3229 and run on the upcoming 8.0.1 release. The changes
3230 were supplied by Robert Lipe <robertl@caldera.com>.
3231 Larry Rosenman <ler@lerctr.org> provided a test
3234 Added Solaris fd file system support.
3236 4.65 October 10, 2002
3237 Adjusted for change in FreeBSD 5.0-CURRENT inode
3238 structure, reported by David O'Brien <obrien@NUXI.com>.
3239 Adjusted for changes in FreeBSD 5.0-CURRENT <sys/vnode.h>.
3240 One change was reported by Anders Nordby
3241 <anders@FreeBSD.org>. Adjusted for FreeBSD 5.0-CURRENT
3242 on sparc64 architecture.
3244 Enhanced the error reporting of Solaris lsof when
3245 it detects a kvm_open() failure, and added a 00FAQ
3246 entry on the cause, based on a report from Peter
3247 J. Bertoncini <pjb@anl.gov>.
3249 Enabled compiling of lsof for NetBSD 1.5 with the
3250 NULL file system, using a patch from Andrew Brown
3251 <atatat@atatdot.net>.
3253 Removed a hack in the LTbigf test program that was
3254 once needed when it was compiled on Solaris 9 BETA-
3255 Refresh with gcc. The hack isn't needed on Solaris
3256 9 FCS. Janet Hempstead <jan@library.carleton.ca>
3257 brought the need for this change to my attention.
3259 Applied a patch, supplied by Andrew Brown
3260 <atatat@atatdot.net>, that updates lsof for NetBSD
3261 version 1.6F. Corrected handling of the NetBSD
3264 Updated to BSDI BSD/OS 4.3 on a test system kindly
3265 provided by Terry Kennedy <terry@tmk.com>.
3267 Updated to FreeBSD 4.7.
3269 Updated to Apple Darwin 1.5, 5.x and 6.x with
3270 patches supplied by Allan Nathanson <ajn@apple.com>.
3271 The patches include IPv6 support.
3273 Updated Configure to use the -bnolibpath loader
3274 option when building lsof on a PowerPC, running
3275 AIX 5 or greater. Valdis Kletnieks
3276 <Valdis.Kletnieks@vt.edu> informed me this was
3277 needed. Lsof for AIX 5.x was initially developed
3278 on the IA64, where -bnolibpath can't be used and
3279 I didn't think to restore it to PowerPC loads when
3280 AIX 5.x became available for that architecture.
3282 Updated to UnixWare 7.1.3 on a test system provided
3283 by Larry Rosenman <ler@lerctr.org>. Removed claims
3284 that lsof works on OpenUNIX 8.0.1, because UnixWare
3285 7.1.3 is the release name of OpenUNIX 8.0.1.
3287 Based on a comment that his e-mail address was
3288 wrong in the lsof distribution from Kenneth Stailey
3289 <kstailey@disclosure.com>, removed all e-mail
3290 addresses from lsof documentation files except this
3291 one, 00DIST. The addresses in 00DIST are used to
3292 send revision release notices to those who contributed
3293 to a revision, but the addresses in this file for
3294 previous revisions and in other documentation files
3295 sometimes grow stale and are never validated.
3297 4.66 December 22, 2002
3298 Acquired Solaris 7 and 8 test systems, courtesy of
3299 John Dzubera <Zube@CS.ColoState.EDU>. Updated
3300 00TEST and tests/TestDB accordingly.
3302 Clarified FreeBSD 5.0 architecture claims at the
3303 suggestion of David O'Brien <obrien@NUXI.com>.
3304 Also implemented David's suggestion to change
3307 Installed changes to DNLC handling in OSR lsof in
3308 preparation for handling changes in the OSR 5.0.7
3309 DNLC cache. Information about the changes and
3310 patches to handle them were supplied by Bela Lubkin
3311 <filbo@deepthought.armory.com>.
3313 Upgraded True 64 UNIX support to the 5.1B release
3314 on a test system provided by Berkley Shands
3315 <berkley@cse.wustl.edu> Had to used relaxed ANSI
3316 compilation because of an error in a system header
3317 file and other lsof source usages.
3319 Implemented the HASNOSOCKSECURITY compile-time
3320 option. When it and HASSECURITY are defined, lsof
3321 will be built to list only the user's open files,
3322 but will also list anyone else's open socket files,
3323 provided the "-i" option selects their listing.
3324 Updated the Customize script to ask about setting
3325 HASNOSOCKSECURITY. Left it undefined in all dialect
3326 machine.h header files. This change was requested
3327 by Kenneth Stailey <kstailey@speakeasy.net> for
3330 Added support for OpenBSD 3.2 and its kernel trace
3333 Improved lsof help (-h) and version (-v) information
3336 Fixed a FreeBSD 4.7 and above off-by-two UNIX domain
3337 socket path termination bug, reported by Ken Stailey
3338 <kstailey@speakeasy.net>
3341 Began the transition of the lsof ftp server host
3342 name from vic.cc.purdue.edu to lsof.itap.purdue.edu.
3343 That reflects Purdue organizational changes. This
3344 first step makes the new name an alias to the old
3345 one. The old name, vic.cc.purdue.edu, will remain
3346 usable for an extended period.
3348 Corrected a revision number reference in section
3349 17.17 of 00FAQ on the appearance of Solaris negative
3350 DNLC caching handing.
3352 Updated 00FAQ discussion of compilers for 64 bit
3355 Validated test suite for 64 bit Solaris 8 and gcc.
3357 At the request of Alek O. Komarnitsky <alek@komar.org>
3358 added the "+c <width>" option to enable optional
3359 changing of the COMMAND column output maximum width
3360 from the default to <width>. The default maximum
3361 width remains CMDL, as defined in lsof.h.
3363 Fixed three AIX kernel bit size detection bugs,
3364 one in the AIX Configure script stanza, the second
3365 and third in the AIX dproc.c get_kernel_access()
3366 function. The bugs were reported by Pierre-Yves
3367 Fontaniere <pyf@cc.in2p3.fr>, who tested the fixes.
3369 Added kernel event queue file support for FreeBSD,
3370 NetBSD and OpenBSD. Andrew Brown <atatat@atatdot.net>
3373 Updated to AIX 5.2 on a test system provided by
3374 Dale Talcott <dtalcott@purdue.edu>. Had to build
3375 work-arounds for two missing AIX 5.2 header files,
3376 <j2/j2_snapshot> and <proc/proc_public.h>. Corrected
3377 an off-by-one UNIX socket addressing bug. Taught
3378 AIX lsof to handle both jfs and jfs2 files at the
3379 same time. Adjusted for an IBM mistake in the
3380 sizing of the fdsinfo structure in <procinfo.h>
3381 Toshiya Nakamura <TOSHIYAN@jp.ibm.com> helped test,
3383 Updated to FreeBSD 4.8. Corrected another bug in
3384 FreeBSD UNIX domain socket name handling.
3386 Corrected gcc build problems on HP-UX 11i, reported
3387 by Yuliy Minchev <yuliy@mobiltel.bg>.
3389 Updated BSDI BSD/OS support to 4.3.1.
3391 Augmented a lock ID test on NetBSD to check if the
3392 ID is an LWP pointer.
3395 Enhanced Configure script's cleanup operations.
3397 Added support for OpenBSD 3.3, based on a report
3398 from Peter Valchev <pvalchev@sightly.net>.
3400 Improved the description of the detached PGP
3401 signature certificate file in the main lsof README
3402 file, based on a suggestion from Diana Stockdale
3403 <diana@mpl.ucsd.edu>.
3405 Installed a work-around for FreeBSD 5.0-CURRENT on
3406 Alpha to avoid a compiler register use complaint.
3408 Corrected a 'c' option error message. Gnele
3409 <blaadeleng@yahoo.com> reported the problem.
3411 Upgraded EXT2FS and UFS support for NetBSD and
3412 OpenBSD to handle new inode information, and the
3413 fast UFS1 and UFS2 file systems.
3415 With the help of Andrew Brown <atatat@atatdot.net>
3416 determined the NetBSD snapshot (1.6F) at which
3417 <sys/mount.h> could be included under _KERNEL, thus
3418 eliminating the lsof netexport.h hack. The same
3419 change applies to OpenBSD versions 3.3 and above.
3421 Applied a patch from Armin Gruner <ag@muc.de> that
3422 corrects the use of the HASPROCFS definition in the
3423 FreeBSD dialect sources.
3425 Corrected spelling errors in 00FAQ and in the
3426 generated 00.README.FIRST_<version> file of the
3427 distribution archive. John Jackson <jrj@purdue.edu>
3428 and Ray Phillips <r.phillips@jkmrc.uq.edu.au>
3429 spotted and reported the errors.
3431 Corrected a spelling error in a comment and incorrect
3432 use of an alarm function in the LTsock test program.
3434 At the suggestion of Stuart Anderson <sba@srl.caltech.edu>
3435 added preliminary (and incomplete) SAM-FS file system
3436 support to Solaris lsof. Completion awaits availability
3437 of SAM-FS internals.
3439 Fixed a Solaris device name printing bug, reported by
3440 Ric Anderson <ric@tick.Telcom.Arizona.EDU>, only
3441 visible when HASDCACHE is not defined. Ric helped
3444 Fixed an AIX kernel bit size handling bug related
3445 to the NFS node (rnode) structure.
3447 Corrected a print_kptr() function call error in the AIX
3448 AFS code, reported by David Steiner
3449 <david.r.steiner@Dartmouth.EDU>. Upon further reflection
3450 and because I no longer have appropriate AIX AFS test
3451 systems, disabled AIX AFS support in the Configure script
3452 for AIX versions above 4.3.3.0 or AIX AFS versions above 3.5.
3454 Added support for FreeBSD 5.1.
3456 With advice from Allan Nathanson <ajn@apple.com> adjusted
3457 the Darwin get-xnu-headers.sh script to access the kernel
3458 header files needed by lsof from a new form of the Apple
3459 open source repository.
3461 Installed Linux and lsof library bug fixes and
3462 improvements, supplied by Marian Jancar <mjancar@suse.cz>.
3463 One Linux improvement handles mount strings that
3464 have octal escapes in them, eg., \040 for embedded
3465 blanks. Marian tested the changes.
3467 4.69 October 16, 2003
3468 Received and applied an OpenBSD patch from Peter Valchev
3469 <pvalchev@sightly.net> that replaces a ctob() call with
3470 a sysconf() call. Peter claims sysconf() is needed for
3471 OpenBSD on SPARC. (It is not needed for NetBSD on SPARC.)
3473 With the upgrade of my only Solaris 7 test system
3474 to, Solaris 8, dropped the *claim* that lsof works
3475 on Solaris 7. That doesn't mean it won't work
3476 there, so those who want lsof for Solaris 7 probably
3477 should be able to build it there and it probably
3480 Revised lsof's DNLC handling for BSD derivatives,
3481 including: BSDI; Darwin, DEC OSF/1, Digital UNIX
3482 and Tru64 UNIX; FreeBSD; NetBSD; and OpenBSD. The
3483 latest NetBSD distribution's dropping of the vnode
3484 capability ID (v_id) required the revision.
3486 Adjusted to the latest FreeBSD 5.1-CURRENT.
3488 Added NetBSD support for using kvm_getproc2().
3490 Added a patch from Andrew Brown <atatat@atatdot.net>
3491 to handle NetBSD enum conflicts and changes in the
3492 <miscfs/kernfs/kernfs.h> and <miscfs/procfs/procfs.h>
3495 Added a "#define _KERNEL" to the AIX dnode2.c source
3496 file for compatibility with a new <j2/j2_inode.h>
3497 AIX 5.2 header file version. The addition was
3498 supplied by Dick Dunbar <Dick.Dunbar@Siebel.com>
3499 and was offered as a patch to lsof 4.68/
3501 Added support for a second type of Solaris SAMFS.
3502 Stuart Anderson <sba@srl.caltech.edu> provided the
3503 support. SAMFS support in lsof SOLARIS remains
3504 scanty, because Sun won't release any details on
3505 its kernel structures.
3507 Dropped the *claim* that lsof works on AIX 4.3.3,
3508 because I was unable to test it there. That doesn't
3509 mean it won't work there, so those who want lsof
3510 for AIX 4.3.3 probably should be able to build it
3511 there and it probably will work there.
3513 Updated for Solaris 10 on test systems provided by
3514 Mike Miscevic <miscevic@hotpop.com>. Casper Dik
3515 <casper@holland.sun.com> provided significant help.
3516 During the Solaris 10 port found and fixed an lofs
3517 handling bug that prevented reporting of open lofs
3520 Updated the DNLC test, LTdnlc, to provide a possible
3521 explanation about file systems on which the test
3524 Modified the procedure for obtaining missing Darwin
3525 XNU kernel header files. The new one requires more
3526 manual intervention, but is the best that can be
3527 done with the way Apple open sources are now
3528 organized. 00FAQ explains the new procedures for
3529 those not used to downloading Apple open source
3532 Added support for Apple Darwin 7.0 (Mac OS X 10.3)
3533 with patches supplied by Allan Nathanson <ajn@apple.com>.
3534 Dropped the *claim* that lsof builds and works on
3535 Apple Darwin below 6.0.
3537 Validated lsof on FreeBSD 4.9, using a test system
3538 provided by Ben Lewis <bl@purdue.edu>.
3540 Validated lsof on FreeBSD 5.1-CURRENT for Amd64.
3541 David O'Brien <obrien@FreeBSD.org> provided a test
3544 Changed the NetBSD Configure stanza to do header
3545 file searches in /usr/include by default. The
3546 LSOF_INCLUDE and NETBSD_SYS environment variables
3547 may still be used to specify other search paths.
3548 Discussions with Andrew Brown and Wolfgang S.
3549 Rupprecht <wolfgang@wsrcc.com> led to the change.
3551 4.70 January 16, 2004
3552 Improved shell-portability of the linux stanza of
3553 the Configure script with a patch from Paul Jarc
3556 Added a "silent" rule to tests/Makefile for Paul.
3557 Updated, extended and clarified the test suite
3558 documentation in 00FAQ and 00TEST.
3560 Fixed Solaris 10 dlsof.h typo, reported by Mike
3561 Miscevic <miscevic@hotpop.com>. The typo prevents lsof
3562 from loading cleanly in Solaris 10 builds past 40.
3564 Fixed a Solaris HSFS node number reporting bug and
3565 added a structure definition work-around for Solaris
3568 Converted PGP signing to GPG. My previous PGP key can
3569 be used, but the gpg "--allow-non-selfsigned-uid"
3570 option may have to be used when it is imported into a
3573 Added bz2 compression.
3575 Updated for OpenBSD 3.4.
3577 Added a work-around for a missing header file in the
3578 s10_44 Solaris 10 build.
3580 Added support for FreeBSD 5.2-BETA and 5.2-CURRENT.
3582 Updated Linux AX25 support with modifications supplied
3583 by Lutz Poetschulat <dl9cu@db0zwi.de>.
3585 Added raw IPv6 support to Linux lsof.
3587 Improved handling of parameters after "-i@".
3589 Improved file name test in LTdnlc.c.
3591 Added loop count controls to the reading of Solaris
3592 lock chains. The change was implemented as a result of
3593 a report from Steve Gonczi <steve@relicore.com>.
3595 Based on a report from John Jackson <jrj@purdue.edu>,
3596 enabled a Solaris 10 <sys/lgrp.h> work-around for
3597 Solaris 9, too. (Patch 112233 installs an lgrp.h on
3598 Solaris 9 that needs the work-around.)
3600 With help from Andrew Brown <atatat@atatdot.net> and
3601 John Heasley <heas@netbsd.org> added log-structured
3602 file system (LFS) support for NetBSD and OpenBSD.
3604 Added AMD64 to the list of FreeBSD 5.x-CURRENT
3605 supported architectures. FreeBSD.org provides a test
3606 system, courtesy of (I believe) David O'Brien
3607 <obrien@FreeBSD.org>.
3609 Added a cast to lseek() in the HP-UX /dev/kmem-based
3610 kread() function to make it work properly with the
3611 bundled HP C compiler.
3614 Added text file support to Apple Darwin lsof and
3615 enabled the lsof executable portion of the LTbasic
3616 test. Added support for Darwin kernel queue, POSIX
3617 semaphore and POSIX shared memory files. Tested on
3618 Darwin 7.2 (aka Mac OS 10.3.2).
3620 Added process_kqueue() function prototypes for FreeBSD,
3623 Picked some lint in AIX sources, lib/rnmh.c and
3626 Added "-x [fl]" cross-over option, which enables +d and
3627 +D processing to cross over symbolic links and|or file
3628 system mount points. Discussion with Johan Lindquist
3629 <johan@smilfinken.net> and Eric Williams (aka The Ghost
3630 In The Machine) <ewill3@earthlink.net> on Linux news
3631 groups revealed the need for the option.
3633 Updated support for UnixWare 7.1.4.
3635 Added support for the optional reporting of socket
3636 options, socket states and TCP flags for most currently
3637 supported dialects. John Smith <lbalbalba@hotmail.com>
3638 and Tristan Nefzger <tn@bhtrader.com> requested the
3639 information. The dialects and their versions for which
3640 this feature has become available include:
3642 AIX 4.3.2 and 5.[12]
3645 Digital UNIX and Tru64 UNIX 4.0
3647 HP-UX 11 and 11.11 (aka 11i)
3652 SCO OpenServer Release 5.0.6
3653 Solaris 2.6, 8, 9 and 10
3656 Modified the Configure stanza for HP-UX 11 with better
3657 q4 detection. Steve Bonds <3vhmxxm02@sneakemail.com>
3658 supplied the modification.
3660 Applied a patch from Mike Miscevic <miscevic@hotpop.com>
3661 to enable lsof to compile with the zone support in the
3662 Solaris 10 s10_b51 release. Added information on lsof
3663 zone behavior to 00FAQ.
3665 Added a "-z [z]" option to Solaris 10 lsof. It enables
3666 the listing of zone name and can also be used to select
3667 the listing of processes and their files from specified
3671 Corrected Solaris 10 ZONE column title display bug with
3672 a patch from Joep Vesseur <Joep.Vesseur@Sun.COM>. Joep's
3673 fix was offered as a patch to 4.71.
3675 Based on a report from Jean-Pierre Radley <jpr@jpr.com>
3676 about an unexpected GNU uname Configure interaction on
3677 OSR, and working from information received from Bela
3678 Lubkin, changed the OSR Configure stanza to use
3679 /bin/uname instead of uname. Added an FAQ entry about
3680 Configure version detection problems.
3682 Added the +m and "+m m" options in response to a dialog
3683 with Robert T. Brown <rbrown@netmentor.com>. The
3684 options allow the creation of a mount table supplement
3685 file which can be used on selected dialects to get
3686 device numbers when stat(2) and lstat(2) can't deliver
3687 them. (That's generally the result of an inaccessible
3688 NFS server.) Currently the new options are supported
3691 Made cpumask_t typedef _KERNEL compensation for FreeBSD
3692 5.2-CURRENT. Refined it for 5.2.1-RELEASE with testing
3693 help from Scott Ellentuch <tuc@ttsg.com>.
3695 Added support for FreeBSD 4.10. Larry Rosenmann
3696 <ler@lerctr.org> kindly provided a test system.
3698 Added support for NetBSD 2.0 with patches supplied by
3699 Andrew Brown <atatat@atatdot.net>. Andrew also
3700 provided two test systems.
3702 Made handling of Linux maps file more robust, based on
3703 a report from Jan Blunck <J.Blunck@tu-harburg.de>. As
3704 a side benefit, made handling of generated stat(2)
3705 information more flexible.
3707 As a result of a discussion with Jason Fortezzo
3708 <fortezza@mechanicalism.net>, adjusted lsof for Solaris
3709 to obtain the maximum user name length from ut_name of
3710 the utmpx structure, if <utmpx.h> exists.
3712 Tested under OpenBSD 3.5.
3714 Updated 00README information about using gcc (via the
3715 Configure aixgcc abbrevisiation) to compile lsof on
3716 AIX. Ann Janssen <ajanssen@nebook.com> made me aware
3717 the information was out of date.
3719 Added an AIX SIGDANGER handler and some 00FAQ sections
3720 on lsof memory usage after a discussion with Tom Qin
3721 <tom.qin@citigroup.com> about lsof memory usage.
3723 Added scripts/sort_res.perl5, contributed by Fabian
3724 Frederick <fabian.frederick@gmx.fr>. The script
3725 displays lsof output sorted by size and path name.
3727 Improved handling of files on Linux NFS mount points
3728 that use the root_squash option, based on discussions
3729 with Paul Szabo <psz@maths.usyd.edu.au>.
3731 Updated FreeBSD 5.2-CURRENT support, based on a problem
3732 report from Filippo Natali <filippo@widestore.net>.
3734 Corrected improper FreeeBSD 5.x-CURRENT #if condition,
3735 reported by Kim Culhan <kimc@kim.net>.
3737 Added a Configure script work-around for AIX 5.2 lsof
3738 with JFS2, compiled by gcc >= 3.3. The work-around
3739 was supplied by Florian M. Weps <fmw@hactrn.ch>.
3741 4.73 October 21, 2004
3742 Added an __XPG4_CHAR_CLASS__ #define before
3743 #include'ing <ctype.h> on Solaris to restore lsof's
3744 ability to display special characters such as acute-e.
3746 Added wide-character (e.g., UTF-8) support where
3747 possible, prompted by a request from Kyungjoon Lee
3748 <kjoonlee@gmail.com>. Some older dialects -- e.g.,
3749 NetBSD 1.4.1 -- don't support wide characters, so the
3750 wide character support is enabled by definitions in
3751 each dialect's machine.h. Dialects with wide-
3752 character support are listed in 00FAQ.
3754 Make a FreeBSD 5.2-CURRENT adjustment for <sys/pipe.h>,
3755 supplied by Sergey A. Osokin <osa@FreeBSD.ORG>.
3757 Implemented a Linux feature request made by Jakub
3758 Jelinek <jakub@redhat.com> that enhances lsof's ability
3759 to locate UNIX domain sockets whose paths are named as
3760 arguments. Jakub supplied suggested code.
3762 Dropped *claims* that lsof works on AIX below 5.1, SCO
3763 Dropped *claims* that lsof works on AIX below 5.1, SCO
3764 Openserver 5.0.4, Tru64 UNIX 5.0, and UnixWare below
3765 7.1.4. Lsof will probably build and work on those UNIX
3766 dialect versions, but I no longer have any way to test
3769 Added support for FreeBSD 5.3 and 6.0. The FreeBSD
3770 5.3 support hasn't been tested.
3772 Added FD test code that will allow dialect versions to
3773 test FD option selections. Used the new code in the
3774 PSTAT-based HP-UX lsof to enable it to avoid scanning
3775 the mount table when its information is not needed.
3776 The addition was made in response to a query from
3777 Harvey Garner <Harvey.Garner@championusa.com> about
3778 lsof performance in a busy NFS environment.
3780 Upgraded lsof's AIX support level to AIX 5.3, based on
3781 a report from Dick Dunbar <Dick.Dunbar@Siebel.com>. (I
3782 have not tested lsof under AIX 5.3.) Based on Dick's
3783 recommendation and local testing changed the C for AIX
3784 version 6 and higher -qmaxmem option value to -1.
3786 Made LSOF_AR environment variable more useful and
3787 documented it in 00XCONFIG.
3789 Corrected the use of sum(1) to generate signatures for
3790 the lsof distribution and binaries to match the
3791 documentation that claims it is sum -r output. Jin
3792 Guojun <jin@george.lbl.gov> noticed and reported the
3795 Tested under OpenBSD 3.6.
3797 Added checksum and GPG certificate files for the bz2,
3798 gz and Z lsof distribution archives. The new files
3799 reside with the distribution archives and supplement
3800 the signature information already inside the archives.
3802 Validated on Solaris 10, i8xpc, build s10_63.
3804 4.74 January 17, 2005
3805 Fixed a Solaris segment fault bug on systems that lack
3806 a /dev/allkmem device. Offered the fix as a patch to
3807 lsof 4.73. The bug was reported by Donald Zoch
3808 <donald.zoch@amd.com>.
3810 Updated lsof for FreeBSD 6.0 and higher for a change in
3811 <sys/vnode.h>, based on a report from Sergey A. Osokin
3812 <osa@FreeBSD.ORG>. Made the update available in a 4.74
3813 'A' edition pre-release.
3815 Filed an HP bug report about missing pstat(2) CWD info
3816 for LOFS on HP-UX 11.11 and higher. The missing CWD
3817 info was noticed by Ermin Borovac <e.borovac@bom.gov.au>.
3818 Added info to 00FAQ about the problem, which can cause
3819 the lsof test suite's LTbasic test to fail.
3821 Updated the q4-generated tcp_s.h in the lsof
3822 distribution and added socket option support for HP-UX
3823 11.00. Erwin Reyns <ereyns@europarl.eu.int> helped
3826 Updated for Solaris 10, build s10_69, with a patch
3827 supplied by Mike Miscevic <miscevic@hotpop.com>.
3829 Added v_path support to Solaris 10 lsof. That relieves
3830 it of having to read and decode the kernel DNLC, and
3831 delivers full paths more reliably.
3833 Added specialized NFS4 support to Solaris 10 lsof.
3835 Applied Solaris 10 patches to lsof supplied by Casper
3836 Dik <casper@holland.sun.com>.
3838 Updated lsof for NetBSD 2.99.10 and tested it on a
3839 system provided by Andrew Brown <atatat@atatdot.net>.
3841 Added support for the FreeBSD 6.0-CURRENT f_vnode
3842 pointer in the file structure.
3844 Added BSDI, FreeBSD, NetBSD and OpenBSD support for the
3845 *effnlink member of the inode structure. This makes
3846 the lsof LTnlink test run faster on all modified
3847 dialects and correctly on OpenBSD.
3849 Added ptyfs support for NetBSD, using modifications
3850 provided by Andrew Brown.
3852 Changed the netbsd Configure stanza to look by default
3853 for system header files in both /usr/include and
3854 /usr/src. (The NETBSD_SYS environment variable can
3855 still be used to select an alternate for /usr/src.)
3857 Corrects two FreeBSD 4.10 RPC/XDR type definitions.
3859 Added an FAQ Q&A about setuid and setgid restrictions
3860 in HP-UX 11.11. The information in the answer was
3861 supplied by Frank Sanders <frank.sanders@siemens.com>.
3863 Added abbreviations for AXI FCIO and FSNAPSHOT file
3864 flags. Holger VanKoll <Holger.VanKoll@swisscom.com>
3865 reported the missing FCIO.
3867 Adjusted lsof's private AIX 64 bit rnode structure for
3868 64 bit AIX 5.2 systems. (IBM doesn't distribute a
3869 correct <nfs/rnode.h> for it.)
3871 Corrected a Linux socket inode printing bug reported by
3872 Igor Schein <igor@txc.com>.
3874 Updated for FreeBSD 4.11. The support compiles but
3877 Back-ported a FreeBSD 6.0-CURRENT fix to FreeBSD
3878 5.3-RELEASE-p1. That was done to solve a compilation
3879 problem reported by Radko Keves <rado@daemon.sk>.
3882 Dropped the *claim* that lsof works on DEC OSF/1 and
3883 Digital UNIX, since my last 4.0 test system has been
3884 removed. The last tested distribution of lsof on DEC OSF/1
3885 and Digital UNIX was revision 4.74. It has been archived
3886 on lsof.itap.purdue.edu in pub/tools/unix/lsof/OLD/src.
3888 Added negation forms to the values in the -g (PGID) and
3889 -p (PID) lists. Negated PGID and PID values, like
3890 negated UID or login name values, are applied without
3891 ORing or ANDing and take effect before any other
3892 selection criteria are applied.
3894 At the request of Marcin Gozdalik <gozdal@gmail.com>
3895 added a -X option for Linux. The option inhibits the
3896 reading of the /proc/net/tcp* and /proc/net/udp*
3899 Based on a report from David Gutierrez
3900 <davegu1@hotmail.com> changed DEC OSF/1 process table
3901 allocation to request memory in smaller increments.
3903 Based on a report from jayjwa <jayjwa@atr2.ath.cx>
3904 updated the Customize script to use "tail -n 1" where
3907 Enabled support for FreeBSD 5.4.
3909 Improved the BSDI, FreeBSD, NetBSD, OpenBSD and Solaris
3910 kvm_open() and kvm_openfiles() error messages.
3912 Enabled support for NetBSD 2.99.12.
3914 Improved HP-UX Configure stanza with help from Piet
3915 Starreveld <pstarrev@csc.com>. Picked some lint Piet
3918 Enabled IPv6 support for HP-UX > 11. Piet Starreveld
3919 helped test it on 11.23, among others.
3921 Updated for HP-UX 11.23 on the ia64 architecture.
3923 Updated to latest FreeBSD 6.0-CURRENT, using a test
3924 system provided by Andrzej Tobola <ato@iem.pw.edu.pl>.
3926 Added support for SCO OSR 6.0.0 and UnixWare 7.1.4 with
3927 help from Richard at SCO.
3929 Corrected a Linux bug in NFS handling, reported by Karel Zak
3930 <kzak@redhat.com>. Karel supplied a patch.
3932 Improved the code for accessing an AIX 3.2 and higher
3933 sockaddr_un structure, thus eliminating a segmentation
3936 Updated for AIX 5.3.
3938 Added preliminary (DEBUG) support for the AIX SANFS
3941 Fixed a bug in the Solaris 10 processing of the vnode's
3942 v_path pointer with code supplied by Edward Jajko
3943 <ejajko@portal.com>. The fix was offered as a patch to
3946 Dropped support for OpenUNIX 8, since a test system is
3947 no longer available. Archived an OpenUNIX-only
3948 distribution of the last revision (4.74) tested on
3949 OpenUNIX in pub/tools/unix/lsof/OLD/src.
3951 Tested under Openbsd 3.7.
3953 Tested under Darwin 7.7.0.
3955 Enabled building on amd64 Solaris 10 with hints from
3956 Marc Aurele La France <tsi@ualberta.ca>. Marc provided
3959 Supplied a missing quote in the FreeBSD Configure
3960 stanza. Carl Cook <Info@quantum-sci.com> reported the
3963 Removed "-O" option from tests/Makefile so that the
3964 HP-UX bundled compiler won't complain.
3966 4.76 August 30, 2005
3967 Corrected an example and spelling errors in man page.
3969 Updated for Apple Darwin 8.x with changes supplied by
3970 Allan Nathanson <ajn@apple.com>. Allan also provided a
3973 Completed documentation of CLRLFILEADD in all machine.h
3976 At the request of Chris Markle <cmarkle@sendmail.com>
3977 added partial listen queue length to socket options
3978 displayed when -Tf is specified. Partial queue length
3979 is not reported for all dialects. (00FAQ lists the
3980 ones where it is reported.)
3982 Updated for FreeBSD 7.0 with information supplied by
3983 Andrzej Tobola <ato@iem.pw.edu.pl>.
3985 Updated Solaris VxFS support for VxFS versions 4 and
3986 above with technical advice from Craig Harmer
3987 <craig_harmer@symantec.com>, Gary Millen
3988 <gary_millen@symantec.com> and Chuck Silvers
3989 <charles_silvers@symantec.com>. Testing help was
3990 provided by Michael Antlitz <mantlitz@prophasys.com>,
3991 Steve Ginsberg <steve@dhapdigital.com> and Kenneth
3992 Stailey <kstailey@yahoo.com>.
3994 Fixed a Solaris address space map processing bug.
3995 Janardhan Molumuri <mjanardhan@gmail.com> reported the
3996 bug and help me identify it. Made the fix available as
3999 Added support for Solaris 10 port and CTFS files. The
4000 CTFS support is imcomplete, because I don't know how
4001 to get inode number, size and link count. (There's
4002 a new 00FAQ entry about that.)
4004 Investigated a report from Christopher J Warweg
4005 <warwegc@GAO.GOV> that the CHECKSUMS for the lsof 4.75
4006 binary for 64 bit Solaris 8 was incorrect. It was my
4007 packaging error. I rebuilt and repackaged the binary.
4009 Enabled support for Linux map file names with embedded
4013 Added -X option support for Solaris 10 and above. When
4014 -X is specified lsof will report cached v_node path
4015 names for unlinked files, followed by "(deleted)".
4016 Improved cached vnode path name handling by adding
4017 "(?)" to the end of path names of questionable accuracy.
4018 Updated 00FAQ to reflect these changes.
4020 Updated for FreeBSD 7.0-CURRENT.
4022 Fixed name addition spacing bug, reported by Stuart
4023 Anderson <anderson@ligo.caltech.edu>. Also updated
4024 Solaris 10 SAMFS support at Stuart's request.
4026 Added missing "break;" and another HASSTATVFS test to
4027 the NetBSD and OpenBSD dnode.c. Bill Behr
4028 <bbehr@networkstoragecorp.com> reported those needs.
4030 Fixed an HP-UX 11 file descriptor "chunk" size problem,
4031 reported by Per Allansson <per@appgate.com>. Per helped
4032 devise the fix and tested it. This fix was offered as
4033 a patch to lsof 4.76.
4035 Updated for FreeBSD 6.0-STABLE and FreeBSD
4038 Updated scripts/sort_res.perl5 with changes supplied by
4039 Frederick Fabian <fabian.frederick@skynet.be>, the
4040 author of the script.
4042 Corrected +|-M man page documentation error, reported
4043 by Roger Cornelius <rac@tenzing.org>.
4045 Improved FreeBSD user device random seed generation in
4046 response to a problem report from Danny Braniss
4047 <danny@cs.huji.ac.il>.
4049 Eliminated three syntax error bugs and other compiler
4050 complaints from the PSTAT-based lsof. H. Merijn Brand
4051 <h.m.brand@xs4all.nl> reported the problems and tested
4054 Eliminated compiler complaints in the test suite.
4056 Investigated problems with the building of lsof on
4057 PA-RISC HP-UX 11.23, based on a report from John
4058 Orndorff <John.Orndorff@sungard.com>. Found that
4059 neither the HP bundled C compiler nor gcc would build
4060 lsof, but the the HP unbundled ANSI C compiler would.
4061 Concluded that HP bundled C compiler can't handle
4062 <gssapi/gssapi.h>. Devised a work-around to gcc's
4063 omission of the rpcent structure definition of
4064 <netdb.h> that allows it to compile lsof's print.c, but
4065 the resulting binary doesn't run reliably. Documented
4066 the situation in 00FAQ.
4068 Changed reporting of unknown file types. The number of
4069 an unknown type is now reported as four octets. The
4070 change was made in response to a Linux lsof bug report
4071 from Karel Zak <kzak@redhat.com>.
4073 Dropped the *claim* that lsof works on BSDI BSD/OS
4074 since my last test system has been removed. The last
4075 tested distribution of lsof for BSDI BSD/OS was
4076 revision 4.76. It has been archived on
4077 lsof.itap.purdue.edu in pub/tools/unix/lsof/OLD/src.
4079 As a result of discussing the lsof source tar's MD5
4080 checksum with Andrew Bell <andrew.bell.ia@gmail.com>,
4081 changed the description of a suitable MD5 tool in the
4082 lsof distribution's documentation to name the openssl
4085 Enabled compilation on Solaris 10 1/06 with a fix sent
4086 by Jason Fortezzo <fortezza@mechanicalism.net>. Made
4087 the fix available as a patch to 4.76.
4089 Adjusted to FreeBSD 5.5-PRERELEASE.
4091 Corrected a bug in the lsof library's process_file()
4092 function to enable the locating of AIX XTI sockets by
4093 their TCP/IP address values. The bug was reported by
4094 Michel Dubois <Dubois@sears.ca>.
4096 Based on a bug report from Karel Zak <kzak@redhat.com>
4097 added command name length checking to as many dialects
4098 as possible (Linux for Karel) for the "-c c" option.
4100 Updated for OpenBSD 3.[89]. Tested the 3.9 update on a
4101 system provided by David Mazieres. I have not tested
4102 on OpenBSD 3.8, but David reports lsof 4.76 worked
4105 Ended regression testing of lsof on 32 bit Solaris 8
4106 with the ending of access to a test system. Lsof
4107 continues to be tested on 64 bit Solaris 8.
4110 Added more information to the lsof FAQ about missing
4111 link counts and sizes on Linux files.
4113 Simplified Linux stat() and lstat() usage.
4115 Relocated #define's that prevent OpenBSD compilation on
4116 systems without a /proc file system. Pieter Bowman
4117 <bowman@math.utah.edu> reported the problem.
4119 Added code to avoid processing Linux /proc/<PID>/maps
4120 file entries with zero device and node numbers. Some
4121 such entries now have names associated with them that
4122 are not path names -- e.g., "[heap]", "[stack]" or
4123 "[vdso]". Scott Worley <sworley@chkno.net> reported
4124 lsof's mishandling of such entries.
4126 Added SELinux security context support, provided by
4127 James Antill <james.antill@redhat.com>. I have not
4128 tested this, but James and Karel Zak <kzak@redhat.com>
4131 Added the #include of <sys/types.h> to Solaris lsof to
4132 enabled compilation on Solaris 10 6/06. Peter Harvey
4133 Peter.Harvey@Sun.COM diagnosed the problem and supplied
4136 Added better support for JFS2 on AIX 5.2 and 5.3, based
4137 on bug reports and help from Thomas Braunbeck
4138 <BRAUNBEC@de.ibm.com> and Tom Whitty <TWHITTY@cerner.com>.
4140 Documented that lsof supports AIX 5.3 only up through
4141 maintenance level 1 (ML1).
4143 Enabled Solaris lsof to locate the AFS vnode operation
4144 address for OpenAFS 1.4.1. The fix was supplied by
4145 Robert Jelinek <Robert.Jelinek@MorganStanley.com>.
4147 Enabled support for Solaris 10 ZFS. If the necessary
4148 ZFS header files aren't found, lsof offers the option
4149 to drop ZFS support, to use internal, possibly
4150 inaccurate structure definitions, or to supply a path
4151 to the missing header files. Horst Scheuermann
4152 <Horst.Scheuermann@uni-trier.de> provided a development
4153 system and helped test the support.
4155 Corrected a typo in the man page, reported by Eric S.
4156 Raymond <esr@thyrsus.com>.
4158 Changed the spelling of macroes to macros in lsof
4159 source and documentations files, based on a suggestion
4160 from Josh Soref <timeless@gmail.com> and verification
4163 The following dialects are no longer supported: 32 bit
4164 AIX 5.2, HP-UX 11, OpenStep 4.2, Solaris 2.6, Solaris
4165 8, True Unix 64 and UnixWare 7.1.4. Lsof may work on
4166 them, but I no longer have test systems for them.
4167 Support for OpenBSD ends at its version 3.9 for lack of
4168 interest in the port.
4172 **************** IMPORTANT NOTE ******************
4174 * Lsof support has been reduced to the following *
4175 * dialects: AIX, FreeBSD, Linux and Solaris, and *
4176 * only in selected versions of those dialects. *
4177 * The selected versions are listed in this file *
4178 * and in other lsof documentation. *
4180 * I have made this move because of retirement *
4181 * and because I no longer have many test systems *
4182 * available to me. *
4186 **************************************************
4188 Fixed a Solaris VXFS permission problem when accessing
4189 the VXFS inode offsets. The bug was reported by
4190 Gregory A. Ivanov <ivga@mts.ru>. Gregory tested the
4193 Moved an #include <string.h> later in FreeBSD dlsof.h
4194 to enable compilation on recent FreeBSD releases. The
4195 change was supplied by Roy Marples <uberlord@gentoo.org>.
4197 Improved Linux /proc file stream reading speed by applying
4198 an expanded version of a patch from Eric Dumazet
4199 <dada1@cosmosbay.com> that allocates a page size buffer
4200 to each stream. Improved TCP, TCP6, UDP and UDP6 hashing
4201 by determining the hash bucket count from the /proc/net
4202 sockstat and sockstat6 files. The improvement was
4203 suggested by Eric and he provided sample code. Eric also
4204 tested both improvements.
4206 Modified Configure script to build lsof on FreeBSD
4207 6.2. Tested it on a system provided by Larry Rosenman
4210 Fixed a Linux maps file processing bug that prevented path
4211 names from having an embedded colon. James Lingard
4212 <jchl@arastra.com> reported the bug and helped with its
4215 Based on reports from Eric Dumazet and Samuel Thibault
4216 <samuel.thibault@ens-lyon.org> added support for the
4217 Linux 2.6.22 kernel's /proc/<PID>/fdinfo files -- i.e.,
4218 file offset and flags. Samuel Thibault provided a test
4221 Fixed a Linux UNIX socket memory leak, reported by
4222 Philip Shin <pshin@xceedium.com>. Phillip supplied the
4225 With generous assistance from HP added support for an HP-UX
4226 11.23 patch that makes TLI/XTI socket address information
4229 Fixed a header file problem for FreeBSD 6.2 on the Alpha
4230 architecture. The problem was reported by Pekka Honkanen
4231 <phonkane@cc.hut.fi>. Pekka tested the fix.
4233 Based on a report and using suggested fixes from Karel Zak
4234 <kzak@redhat.com>, made these changes to Linux lsof: corrected
4235 a getpidcon() error message; insured that inode numbers are
4236 handled correctly for their unsigned long long type; and
4237 improved SELinux handling. At the request of Alon Bar-Lev
4238 <alonbl@gentoo.org> added the LINUX_HASSELINUX environment
4239 variable to enable or inhibit SElinux support unconditionally.
4241 Updated Configure for FreeBSD 8.0-CURRENT and tested lsof on
4244 Added a patch provided by Oles Hnatkevych
4245 <don_oles@able.com.ua> for FreeBSD systems where the root
4246 file system is on a CD9660 device.
4248 Added compensation for the disappearance of FMARK and FDEFER
4249 from the FreeBSD 8.0-CURRENT <sys/file.h>.
4251 Updated FreeBSD lsof with ZFS support. Larry Rosenman
4252 <ler@lerctr.org>, Erwin Lansing <erwin@FreeBSD.org>, Wesley
4253 Shields <wxs@atarininja.org> and Dmitry Morozovsky
4254 <marck@rinet.ru> provided test systems.
4256 Fixed a socket file identification problem reported by
4257 Pavol Rusnak <stick@gk2.sk>. Pavol also reported the
4258 cause of the problem.
4260 Added the ability to format the repeat mode marker line
4261 with strftime(3), where the dialect supports the
4262 localtime(3) and strftime(3) C library functions. The
4263 addition was suggested by Mike Depot <mdepot@comcast.net>,
4264 who also tested it. The addition required creating a new
4265 main lsof source module, util.c, that contains functions
4266 whose compilation conflicts with the general header file
4267 tree defined by lsof.h and dlsof.h.
4269 Based on reports from Andrei V. Lavreniyuk
4270 <andy.lavr@reactor-xg.kiev.ua> and Pav Lucistnik
4271 <pav@FreeBSD.org> updated the FreeBSD 7.0 and above
4272 file lock handling to use new locking structures. The
4273 update requires a terrible hack to get a definition for
4274 the lock owner structure from a kernel source module
4275 into a local lsof header file.
4278 Updated for a FreeBSD 7.0 and above byte level locking
4279 change. The problem was reported by Conrad J. Sabatier
4280 <conrads@cox.net>, who helped test the update. Wesley
4281 Shields <wxs@FreeBSD.org> provided an 8.0-CURRENT test
4284 Propagated the FreeBSD 7.0 and above locking changes to
4285 FreeBSD 6.x, based on a report from Edwin Groothuis
4286 <edwin@FreeBSD.org>.
4288 Added warnings for unsupported dialects or versions.
4290 Added Linux support for the UDPLITE protocol. Eric
4291 Dumazet <dada1@cosmosbay.com> supplied a patch.
4293 Added a missing quote to the Configure script's
4296 Added a usage.o rule to the HP-UX PSTAT-based
4297 Makefile. I mistakenly deleted the rule at revision
4298 4.79. The missing rule was reported by Kawaljeet Kaur
4299 <kawaljeet.malviya@gmail.com> who tested the corrected
4302 4.81 October 21, 2008
4303 Updated the Darwin libproc sources with changes from
4304 Allan Nathanson <ajn@apple.com>. Tested them on a iMac
4305 mini, provided by Apple Inc.
4307 Changed dummy declarations in library source files to
4308 eliminate complaints about unused variables and empty
4309 object files. This change may not work on dialects I
4310 can no longer test; it has been tested on some versions
4311 of AIX, Darwin, FreeBSD, Linux and Solaris.
4313 At the request of Hal Brooks <hal@uga.edu> added support
4314 for Linux /proc/net/packet files. Hal tested it.
4316 Added socket file only performance enhancements to Linux
4317 and PSTAT-based HPUX lsof.
4319 Added htonl call around improper usage of INADDR_LOOPBACK;
4320 report from an Apple engineer forwarded by Allan Nathanson
4323 Adjusted for FreeBSD-8.0 change in device number handling.
4324 The adjustment should work for FreeBSD 5 and above, should
4325 the 8.0 change be propagated downward. The problem was
4326 reported by Pav Lucistnik <pav@FreeBSD.org>. An updated
4327 test system was provided by Erwin Lansing <erwin@FreeBSD.org>.
4329 Reduced AIX support to version 5.3, since test systems with
4330 older versions are no longer available to me.
4332 At the request of Marjo F. Mercado <mmercado@xceedium.com>
4333 and Phil Shin <pshin@xceedium.com> applied some speed
4334 improvements to lsof, particularly when the files of
4335 interest are /Internet files -- i.e., selected with lsof's
4336 "-i" option. Added a two new options to assist the
4337 improvements: 1) "-c^<command>" to tell lsof to exclude the
4338 named command(s); and 2) "-stcp|ud>:[^]state' to tell lsof
4339 to include in its reporting or exclude ('^') from its
4340 reporting Internet files in the named states (e.g., LISTEN,
4341 ^CLOSE_WAIT, IDLE, etc.) For the most part these changes
4342 apply only to AIX, Darwin, FreeBSD, PSTAT-based HP-UX, Linux
4343 and Solaris, since those are the only places I could test
4344 them. They are controlled by the HASTCPUDPSTATE definition
4345 in each dialect's machine.h header file. Marjo and Phil
4346 provided HP-UX 11.23 and 11.31 test systems.
4348 Fixed a stat(2) problem on HP-UX 11.31 while testing the
4351 Adjusted for kernel header file changes in FreeBSD
4352 8.0-CURRENT. Larry Rosenman <ler@lerctr.org> provided
4355 Added a warning for Solaris systems where VxFS node info
4356 can't be obtained from the VxFS utility library. The
4357 warning was requested by Tom Matthews <Tom.MATTHEWS@rbs.com>.
4359 Corrected mishandling of file system path name arguments
4360 that have trailing slashes, except, of course, the root
4361 file system, "/". Allan Nathanson <ajn@apple.com> reported
4365 Corrected an over-zealous exclusion test that caused
4366 lsof to report nothing when it was given no arguments
4367 and built with HASSECURITY and HASNOSOCKSECURITY enabled.
4368 Joshua Kinard <kumba@gentoo.org> reported the bug and
4369 supplied information for reproducing it.
4371 Based on a report from Dan Trinkle <trinkle@cs.purdue.edu>
4372 corrected use of <sys/utsname.h> for 32 bit Solaris 10
4373 and above compilations. Simultaneously eliminated a
4374 casting complaint in arg.c and updated Configure to use
4375 the appropriate 64 bit compilation option (-xarch=v9 or
4376 -m64) with the Solaris Sun C compiler.
4378 Updated for FreeBSD 7.1-PRERELEASE with information
4379 supplied by Larry Rosenman <ler@lerctr.org>.
4381 Updated the Darwin libproc sources with changes from
4382 Allan Nathanson <ajn@apple.com>. Tested them on a iMac
4383 mini, provided by Apple Inc. Allan also provided man
4386 Updated the FreeBSD Makefile to use the ${MAKE} variable
4387 for ZFS dnode2.c module compilation, based on a suggestion
4388 from Alexis Ballier <aballier@gentoo.org>.
4390 Improved the Solaris VxFS library location test, based on a
4391 suggestion from Jason Fortezzo <fortezza@mechanicalism.net>.
4392 Jason tested the change.
4394 Updated Solaris 10 ZFS support for ZFS version 4 and ZFS
4395 pool version 10, using a test system kindly provided by
4396 Vladislav Nespor <vladislav.nespor@id.ethz.ch>. Renata
4397 Maria Dart <renata@slac.stanford.edu> tested on ZFS
4398 version 4, verifying that the update works there, too.
4399 (ZFS pool version 10 is apparently the ZFS version shipped
4400 with the 10/08 update to Solaris. The original ZFS
4401 support targeted ZFS version 3.)
4403 I still consider ZFS support in Solaris lsof a hack,
4404 because it depends on a znode structure definition that
4405 I developed using dbx. Sun is remiss in not distributing
4406 the ZFS header files used to build the distributed kernel.
4408 Because of the znode structure definition hack, I can't
4409 guarantee that lsof ZFS support will work for any other
4412 Solaris 10: adjusted to a change in the way devices are
4413 stored in the kernel; fixed a problem in zone handling;
4414 and added rudimentary sharedfs support. Carson Gaspar
4415 <carson@taltos.org> reported the device number problem,
4416 provided a test system, and tested the changes. Peter
4417 Vines <psv2b@eservices.virginia.edu> reported the zone
4418 handling problem and tested the fix.
4420 Adapted to FreeBSD 8.0-CURRENT changes in device number
4421 computation. Problem was reported by Erwin Lansing
4422 <erwin@FreeBSD.org>. Larry Rosenman <ler@lerctr.org>
4423 provided a test system.
4425 Corrected Solaris Configure test for appropriate VxFS
4426 library when using gcc to compile lsof.
4428 Updated for loss of KAME IPv6 FreeBSD accommodations.
4430 Adapted to FreeBSD 7.2. Made Configure script recognized
4433 4.83 January 18, 2010
4434 Converted Solaris 10 and above ZFS support to use the CTF
4435 debugger library, libctf. Code was supplied by Robert
4436 Byrnes <Robert.Byrnes@deshaw.com>.
4438 Corrected a typo in the testing of the LINUX_HASSELINUX
4439 environment variable in the Configure script. The error
4440 was reported by Mike Frysinger <vapier@gentoo.org>.
4441 At Mike's request made Configure script accept LSOF_RANLIB
4442 (ranlib command), LSOF_CFGF (additional configuration flags)
4443 and LSOF_CFGL (additional library specifications) from the
4446 Enabled complilation of Solaris 10 lsof after a recent Sun
4447 patch which changed the PC file system's structure. Peter
4448 Vernam <pvernam@draper.com> reported the problem and helped
4451 Made the sort of configuration CFLAGS in the CkTestDB
4452 script impervious to locale settings.
4454 Ported to Solaris 11, using a test system kindly provided
4455 by David Day <dday76@gmail.com>.
4457 Adjusted to the disappearance of <nfs/rpcv2.h> in FreeBSD
4460 Changed Solaris node type lookup to a hashed method and
4461 added some ability for it to handle duplicate vnodeop names
4464 Updated for FreeBSD 9.0-CURRENT. Andrzej Tobola
4465 <ato@iem.pw.edu.pl> provided a test system. Extends the
4466 fix to FreeBSD 6.0 and above via a Configure test and a
4467 compile-time definition. The need for the extension was
4468 reported by Erik Trulsson <ertr1013@student.uu.se>>
4470 Made corrections to FAQ typographical errors, suggested
4471 by Josh Soref <timeless@gmail.com>.
4473 Added __UCLIBC__ test to Linux dlsof.h so lsof would compile
4474 on an Intel ARM XScale processor. The addition was provided
4475 by Doug Kehn <rdkehn@yahoo.com>.
4477 Added test for <utmpx.h> to FreeBSD configuration. Improved
4478 its use in lsof.h. The changes were supplied by Martin Wilke
4482 Fixed a man page nroff command error with a correction
4483 supplied by Josh Soref <timeless@gmail.com>.
4485 Made Configure script recognize FreeBSD 7.3. Larry Rosenman
4486 <ler@lerctr.org> provided a test system.
4488 Improved task support, initially for Linux only, with help
4489 provided by Jerome Marchand <jmarchan@redhat.com> and
4490 Miklos Szeredi <mszeredi@suse.cz>. The support includes a
4491 new compile-time definition, HASTASKS, and a new run time
4492 option, "-K" to select task reporting.
4494 While adding help output support for "-K", reorganized the
4495 printing of help columns to make it much easier to add a new
4498 Updated the Solaris PC file system structure patch in
4499 revision 4.83 so it will compile with gcc.
4501 Disabled the Solaris lgrp_root work-around in the Solaris
4502 machine.h so it won't cause compilation problems on Solaris
4503 11. It no longer causes compilation problems on my Solaris
4504 9 and 10 test systems, but some older Solaris 9 and 10
4505 versions may still need it, so the work-around was left in
4506 the Sun machine.h and a FAQ entry was created about it.
4508 Updated for Solaris 11 b134, using a test system kindly
4509 provided by Carson Gaspar <carson@taltos.org>. Made
4510 provisions for the next ZFS version. Added info about
4511 the failure of the LTnlink test on ZFS file systems.
4513 Corrected typo in Configure script, reported by Dmitry
4514 Berezin <dmitryb@oit.rutgers.edu>.
4516 4.85 September 27, 2011
4517 John Dzubera <Zube@CS.ColoState.EDU> kindly provided a patched
4518 Solaris 9 test system with the lgrp_root conflict and I was
4519 able to devise an automatic work-around for the conflict. The
4520 special note in .../dialects/sun/machine.h was removed and
4521 the 17.28.1 FAQ entry was modified to reflect the update.
4523 Added a Solaris 11 work-around for a typedef problem with
4524 <sys/mutex.h>. Carson Gaspar <carson@taltos.org> reported
4525 the problem and supplied the work-around.
4527 Added support for FreeBSD 7.4 and 8.2; tested on systems
4528 provided by Larry Rosenman <ler@lerctr.org>.
4530 Added support for 32 bit Solaris 11 lsof with mods supplied
4531 by Jan Wortelboer <J.H.P.Wortelboer@uva.nl>.
4533 Added Solaris 11 support for using an alternate genunix
4534 location. Bill Goodridge <bill@its.brooklyn.cuny.edu>
4535 reported the alternate location.
4537 Added further Linux cross configuration support to lsof's
4538 Configure script. The additional support was supplied by
4539 Grant Erickson <erick205@umn.edu>. See the descriptions of
4540 the LINUX_* environmen variables in 00XCONFIG for more
4541 information. Tested lsof on Linux kernel 2.6.32 and picked
4542 some lint that surfaced during the test.
4544 Added fixes and changes for Apple Mac OS X 10.6, provided by
4545 Allan Nathanson <ajn@apple.com>. Allan also provided a test
4548 Tested on FreeBSD 6.4 i386, using a test system provided by
4549 Terry Kennedy <TERRY@tmk.com>. Updated for recent FreeBSD ZFS
4550 changes on an 8.2 amd64 test system also provided by Terry.
4552 Changed documentation to indicate FreeBSD 7.x is no longer
4553 supported, since I no longer have a test system.
4555 Made some changes to the lsof man page, suggested by Navid
4556 <evi1m4chine@googlemail.com>.
4558 Added compensation for Solaris 10 systems that have patch
4559 144488-10. The patch requires that the new header file
4560 <sys/socket_proto.h> be included while _KERNEL is defined.
4561 Brett Bartick <Brett.bartick@nomura.com> reported the problem
4562 first, followed by Stuart Anderson <anderson@ligo.caltech.edu>.
4563 Michael Hocke <michael.hocke@nyu.edu> suggested a work-around
4564 which I refined to limit it to the specific Solaris 10 instance
4565 and then tested on a system provided by Charles Stephens
4568 Added the +|-e option for Linux. It exempts file systems
4569 named by path from function calls that might block in the
4570 kernel -- i.e., stat(2) and lstat(2), and when the +e form
4571 is used, readlink (2). The new packager of lsof for the
4572 Linux Fedora and RHEL distributions, Peter Schiffer
4573 <pschiffe@redhat.com>, asked for the feature so it could
4574 be used with Clearcase file systems, whose implementation
4575 can block stat(2) calls. I consider this feature very risky
4576 and easy to misuse -- e.g., specifying the file system as
4577 '/' would exempt all file systems. I don't intend to
4578 propagate this option to any other UNIX dialect that lsof
4581 Made FreeBSD 9 adjustment.
4583 Fixed a Linux bug that prevented the display of paths for
4584 abstact UNIX sockets. Masatake Yamato <yamato@redhat.com>
4585 reported the bug and supplied a patch.
4587 Added compensation for the removal of RPC header files from
4588 GlibC 2.14 for Linux. Marek Behun <kabel@blackhole.sk>
4589 reported the problem and supplied a patch.
4591 Added support for Linux Netlink protocol. Masatake Yamato
4592 requested the support and supplied a patch. Peter Schiffer
4593 <pschiffe@redhat.com> provided a test system.
4595 Corrected Linux UDP6-lite path. The error was reported by
4596 Masatake Yamato and he also supplied a patch.
4599 Lsof for AIX is no longer supported on any versions of that
4602 Added information about the clang compiler for FreeBSD to the
4605 Corrected an arg.c bug in the accumulation of +|-e option
4606 values, reported by Peter Schiffer <pschiffe@redhat.com>.
4607 This correction was supplied as a patch to revision 4.85.
4609 Enabled FreeBSD 10 support and tested it there on a system
4610 provided by Larry Rosenman <ler@lerctr.org>.
4612 Updated for latest Solaris 11 with patches supplied by
4613 Carson Gaspar <carson@taltos.org>. Carson supplied a test
4616 Adjusted Linux file system search method to compensate for
4617 NFS mounts that have duplicate device numbers. The problem
4618 was reported by Peter Schiffer <pschiffe@redhat.com>, who
4619 provided a test system.
4621 At the request of Peter Schiffer <pschiffe@redhat.com>, added
4622 support for Linux SCTP socket files. Peter provided a test
4623 system. Applied a warning patch supplied by Peter.
4625 Added support for Mac OS X 10.7 (Lion), provided by Allan
4626 Nathanson <ajn@apple.com>. Allan also supplied a test
4629 Enabled FreeBSD 8.3 support and tested it there on a system
4630 provided by Larry Rosenman <ler@lerctr.org>.
4632 Corrected the FAQ information on ZFS with Solaris 10 after
4633 Steven Blackmon <stblackm@cisco.com> and Prasad Jampala
4634 <jampalp@cisco.com> pointed out that it was incorrect --
4635 i.e., outdated by the libctf changes at revision 4.83.
4637 Added code to handle a Linux NFS-mounted root. Jia He
4638 <hejianet@linux.vnet.ibm.com> reported the need for this.
4640 4.87 January 2, 2013
4641 Added an entry to 00FAQ about lsof behavior when the
4642 HASSECURITY and HASNOSOCKSECURITY options are defined.
4643 Carson Gaspar <carson@taltos.org> pointed out the need
4644 for this clarification.
4646 Added a work-around for a missing definition of mach_port_t
4647 in Darwin 9 (Mac OS/X 10.5.8). The work-around was supplied
4648 by Jim Reid <jim@rfc1035.com>.
4650 Added support for Linux anon_inodefs, provided by Masatake
4651 YAMATO <yamato@redhat.com>.
4653 Documented a Solaris 9 and 10 portmap reporting problem
4654 (+M) in 00FAQ. The problem was reported by Clint
4655 Roberts <Clint.Roberts@ttius.com>. I have no solution
4656 to the problem, but discuss a possible work-around in
4657 the answer to this 00FAQ question: "Why doesn't lsof
4658 report portmap registrations for some Solaris versions?"
4660 Added FreeBSD support for the oldnfs and newnfs file system
4661 types. Daniel Braniss <danny@cs.huji.ac.il> reported the
4662 need for the addition.
4664 Added ICMP socket support for Linux with code provided by
4665 Masatake YAMATO <yamato@redhat.com>.
4667 Corrected the reporting of process group ID for libproc
4668 versions of Mac OS X with a patch from Jeff Trawick
4669 <trawick@gmail.com>. The patch has not been applied to
4670 Darwin kmem versions, because of little call for them
4671 and inadequate test system access. The patch has been
4672 tested on Mac OS X 10.8 (Mountain Lion), courtesy of a
4673 test system provided by Allan Nathanson <ajn@apple.com>.
4675 Added thread support to those FreeBSD versions that have
4676 ki_numthreads in their kinfo_proc structure. This also
4677 activates the -K option for those FreeBSD versions. Jeff
4678 Trawick reported problems with FreeBSD lsof when threads
4679 are present and this addition solves those problems.
4681 Made changes to 00FAQ and the distribution, suggested by
4682 Warren Young <warren@etr-usa.com>. The 00FAQ changes
4683 center on sections that discuss the -s option. The changes
4684 to the distribution include a ChangeLog file that is either
4685 a pointer to or a copy of 00DIST, the distribution notes.
4687 Added support to FreeBSD for using the clang compiler.
4689 Added Linux support for using the getxattr() call to obtain
4690 socket protocol identification when it is can't be obtained
4691 from the /proc/net files that lsof examines. Masatake YAMATO
4692 <yamato@redhat.com> developed the kernel patch to getxattr()
4693 and supplied the lsof patch.
4695 4.88 October 13, 2014
4696 Reduced to 50 the number of open file descriptors lsof
4697 attempts to close while trying to protect itself from a
4698 file descriptor exec() attack. This limits the overhead
4699 lsof incurs on systems that have large file descriptor
4700 limits, yet provides sufficient open descriptors for the
4701 library functions lsof calls.
4703 Updated for changes in FreeBSD 10 with advice from Eygene
4704 Ryabinkin <rea@freebsd.org>. Taught Configure to recognize
4707 Herein am noting that lsof for Solaris 10 or 11 is no longer
4708 supported. I no longer have test systems. Some support is
4709 still available from Casper Dik <Casper.Dik@oracle.com> and a
4710 Solaris 11 patch he provided is included in this revision.
4712 Initialized local variables in the Linux process_id() function.
4713 Jia He <jiakernel@gmail.com> reported the problem.
4715 Added support for FreeBSD 11.
4717 Updated FreeBSD ZFS Configure stanza to supply a dummy
4718 opt_kdtrace.h when needed.
4720 Added tmpfs file system support for FreeBSD.
4722 Since a test system is no longer available, dropped the
4723 claim of FreeBSD 4.9 support.
4725 Added the +|-E options for Linux. -E displays endpoint info;
4726 +E displays endpoint info and endpopint files. Masatake YAMATO
4727 <yamato@redhat.com> requested this support and suggested code
4730 Fixed a Linux bug handling processes whose command includes a
4731 non-printing character, particularly a NEWLINE character, and
4732 clarified printing of single '\\' characters in command and
4733 file names. Stephane Chazelas <stephane.chazelas@gmail.com>
4734 reported the problem.
4736 Added support for Linux RDMA and CRYPTO protocal names and UNIX
4737 socket type with code from Masatake YAMATO <yamato@redhat.com>.
4739 Fixed field output to insure that the field descriptor field is
4740 always selected, since it identifies the file set. The bug was
4741 reported by Gary Plewa <gary.m.plewa-1@lowes.com>.
4743 Vic Abell <abe@purdue.edu>