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
126 Lsof (for LiSt Open Files) lists files opened by processes on
127 selected Unix systems. Version 4 is a source reorganization of
128 version 3, itself a major revision of version 2. Version 4 has
131 Apple Darwin 9 and Mac OS X 10.[567]
132 FreeBSD 8.[234], 9.0, 10.0 and 11.0 for AMD64-based systems
133 Linux 2.1.72 and above for x86-based systems
136 (The pub/tools/unix/lsof/contrib directory on lsof.itap.purdue.edu
137 contains information on other ports.)
139 If your favorite Unix dialect is not in the list, or if your version
140 of it is more recent than the ones listed, please contact me at
143 Version 3 of lsof was tested on:
145 AIX 3.2.5, 4.1[.[1234]], and 4.2
146 BSDI BSD/OS 2.0, 2.0.1, and 2.1 for x86-based systems
147 DC/OSx 1.1 for Pyramid systems
148 Digital UNIX (DEC OSF/1) 2.0, 3.0, 3.2, and 4.0
149 EP/IX 2.1.1 for the CDC 4680
150 FreeBSD 1.1.5.1, 2.0, 2.0.5, 2.1, 2.1.5 for x86-based
152 HP-UX 8.x, 9.x, 10.01, 10.10, and 10.20
153 IRIX 5.2, 5.3, 6.0, 6.0.1, and 6.[124]
154 Linux through 2.0.27 for x86-based systems
155 NetBSD 1.0, 1.1, and 1.2 for x86 and SPARC-based
157 NEXTSTEP 2.1 and 3.[0123]
158 OpenBSD 1.2 and 2.0 for x86-based systems
159 Reliant UNIX 5.43 for Pyramid systems
160 RISC/os 4.52 for MIPS R2000-based systems
161 SCO OpenServer Release 1.1, 3.0, and 5.0.x for x86-based
163 SCO UnixWare 2.1 and 2.1.1 for x86-based systems
164 Sequent PTX 2.1.[1569], 4.0.[23], 4.1.[024], 4.2[.1],
166 Solaris 2.[12345], 2.5.1, and 2.6-Beta
168 Ultrix 4.2, 4.3, 4.4, and 4.5
170 Version 3 and its predecessor, version 2, may be found at:
172 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD
178 Using available kernel data access methods -- getproc(), getuser(),
179 kvm_*(), nlist(), pstat(), read(), readx(), /proc -- lsof reads
180 process table entries, task table entries, user areas and file
181 pointers to reach the underlying structures that describe files
184 Lsof interprets most file node structures -- advfsnodes, autonodes,
185 cnodes, cdrnodes, devnodes, fifonodes, gnodes, hsnodes, inodes,
186 mfsnodes, pcnodes, procnodes, rnodes, snodes, specnodes, s5inodes,
187 tmpnodes. It understands NFS connections. It recognizes FIFOs,
188 multiplexed files, Unix and Internet sockets. It knows about
189 streams. It understands /proc file systems for some dialects. On
190 many dialects it recognizes execution text and library references.
191 It knows about AFS on some Unix dialects.
197 The lsof output describes:
199 * the identification number of the process (PID) that has opened
202 * the process group identification number (PGID) of the process
205 * the process identification number of the parent process (PPID)
208 * the command the process is executing;
210 * the owner of the process;
212 * for all files in use by the process, including the executing
213 text file and the shared libraries it is using:
215 * the file descriptor number of the file, if applicable;
217 * the file's access mode;
219 * the file's lock status;
221 * the file's device numbers;
223 * the file's inode number;
225 * the file's size or offset;
227 * the name of the file system containing the file;
229 * any available components of the file's path name;
231 * the names of the file's stream components;
233 * the file's local and remote network addresses;
235 * the TLI network (typically UDP) state of the file;
237 * the TCP state, read queue length, and write queue length
240 * the file's TCP window read and write lengths (Solaris
243 * other file or dialect-specific values.
246 Getting Started Quickly
247 =======================
249 If you want to get started using lsof quickly, or see some examples
250 of how lsof can be used, consult the 00QUICKSTART file of the lsof
253 The 00QUICKSTART file won't help you build or install lsof, but it
254 will cut through the density of the lsof man page, giving you more
255 readily an idea of what you can do with lsof.
257 For information on building and installing lsof, consult the 00README
258 file of the lsof distribution.
261 Limiting, Filtering, and Selecting Lsof Output
262 ==============================================
264 Lsof accepts options to limit, filter, and select its output.
265 These are the possible criteria:
267 * Process ID (PID) number -- to list the open files for a given
270 * Process Group ID (PGID) -- to list the open files for all
271 the processes of a given process group;
273 * User ID number or login name -- to list the open files for
274 all the processes of a given user;
276 * Internet address -- to list the open files using a given
277 Internet address (host name), protocol, or port (number or
278 name); or to list all open Internet files;
282 * file descriptor name or number;
284 * list all open NFS files;
286 * list all open Unix domain socket files;
288 * list all uses of a specific file;
290 * list all open files on a file system.
292 Selection options are normally ORed -- i.e., an open file meeting
293 any of the criteria is listed. The selection options may be ANDed
294 so that an open file will be listed only if it meets all the
297 In the absence of any selection criteria, lsof lists files open to
301 Parsing Lsof Output with Another Program
302 ========================================
304 The lsof -F option directs it to produce "field" output that can
305 easily be parsed by another program. The lsof distribution contains
306 sample awk, perl 4, and perl 5 scripts in its scripts subdirectory
307 that show how to post-process field output.
313 Lsof can be directed to produce output, delay for a specified time,
314 then repeat the output, cycling until stopped by an interrupt or
315 quit signal. This mode is useful for monitoring the status of some
316 file operation -- e.g., an ftp transfer or a tape backup operation.
318 Repeat mode is more efficient when combined with lsof's selection
319 options, since they limit lsof overhead.
321 It's possible to use lsof's field output options to supply repeat
322 mode output to another process for its manipulation. The scripts
323 subdirectory of the lsof distribution has sample Perl scripts
324 showing how to consume lsof repeat mode output from a pipe.
327 Distribution Restrictions
328 =========================
330 Lsof may be used and distributed freely, subject to these limitations:
332 1. Neither the author nor Purdue University is responsible for
333 any consequences of the use of this software.
335 2. The origin of this software must not be misrepresented, either
336 by explicit claim or by omission. Credit to the author and
337 Purdue University must appear in documentation and sources.
339 3. Altered versions must be plainly marked as such, and must not
340 be misrepresented as being the original software.
342 4. This notice may not be removed from or altered in the lsof source
349 Lsof is a tool that is closely tied to the Unix operating system
350 version. It uses header files that describe kernel structures and
351 reads kernel structures that typically change from OS version to
354 DON'T TRY TO USE AN LSOF BINARY, COMPILED FOR ONE UNIX OS VERSION,
357 On some Unix dialects, notably SunOS and Solaris, lsof versions
358 may be even more restricted by architecture type. An lsof binary,
359 compiled for SunOS 4.1.3 on a sun4c machine, for example, won't
360 work on a sun4m machine.
362 AN LSOF BINARY, COMPILED FOR ONE SOLARIS 1.X ARCHITECTURE, ISN'T
363 GUARANTEED TO WORK ON A DIFFERENT SOLARIS 1.X ARCHITECTURE.
366 Distribution Contents
367 =====================
369 The lsof distribution is checked for completeness when it is
370 constructed and by the Inventory script when you run the Configure
371 script. (See The Inventory Script section of the 00README file of
374 Lsof is organized in these parts:
376 * The main lsof directory, containing common sources,
377 configuration and setup scripts and three subdirectories:
378 dialects/, lib/, and scripts/.
380 Lsof is compiled in the main lsof directory after configuration.
381 The selected dialect sources are copied or linked from the
382 specified subdirectory. (Symbolic linking is the standard
385 Common lsof definitions may be found in lsof.h; common
386 function prototypes, proto.h; and common storage, store.c.
388 * The dialects/ subdirectory contains subdirectories with
389 sources specific to UNIX dialect implementations -- e.g.,
390 the dialects/sun/ subdirectory contains sources for the
391 SunOS (Solaris 1.x) and Solaris (2.x) implementations of
392 lsof. The dialects subdirectories also contain Makefiles
393 and scripts for assisting dialect source configuration.
395 Dialect configuration definitions may be found in dlsof.h;
396 other dialect definitions, dlsof.h; dialect prototypes,
397 dproto.h; and dialect storage, dstore.c.
399 * The lib/ subdirectory contains sources for common lsof
400 functions. Not all dialects use the functions -- some have
401 their own versions of them. The lib/ functions are enabled
402 and customized with #define's in the dialect machine.h header
405 * The scripts/ subdirectory contains sample scripts for
406 processing lsof field (-F) output. The scripts are written
407 in AWK, Perl 4, and Perl 5.
409 The 00PORTING file of the lsof distribution has more information
410 on lsof components, configuration, and construction.
416 Lsof is provided as-is without any warranty of any kind, either
417 expressed or implied, including, but not limited to, the implied
418 warranties of merchantability and fitness for a particular purpose.
419 The entire risk as to the quality and performance of lsof is with
420 you. Should lsof prove defective, you assume the cost of all
421 necessary servicing, repair, or correction.
427 Now that the obligatory disclaimer is out of the way, let me hasten
428 to add that I accept lsof bug reports and try hard to respond to
429 them. I will also consider and discuss requests for new features,
430 ports to new dialects, or ports to new OS versions.
432 PLEASE DON'T SEND A BUG REPORT ABOUT LSOF TO THE UNIX DIALECT
435 At worst such a bug report will confuse the vendor; at best, the
436 vendor will forward the bug report to me.
438 Please send all bug reports, requests, etc. to me via email at
442 The lsof-l Mailing List
443 =======================
445 Information about lsof, including notices about the availability
446 of new revisions, may be found in mailings of the lsof-l listserv.
447 For more information about it, including instructions on how to
448 subscribe, read the 00LSOF-L file of the lsof distribution.
451 Version 3 Release Notes
452 =======================
454 See 00DIST in the last lsof 3 revision 3.88, for its complete
455 set of release notes. Lsof revision 3.88 may be found at:
457 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD
460 This is the first official release of lsof 3.
464 3.88 February 17, 1997
466 +======================================+
467 | This is the last version 3 revision. |
468 +======================================+
470 Added documentation files -- 00.README.FIRST[_<version>]
471 and 00RELEASE.SUMMARY_<version> -- to the distribution.
474 What's new in Version 4
475 =======================
477 The main goal of version 4 was to eliminate the confusing common/
478 fragment source file technique. Changing the version number also
479 provided an opportunity to restart the numbering, which at 3.88
480 had risen to a large value.
482 The sources that appeared in the dialects/common subdirectory of
483 version 3 in fragment files have been incorporated into the version
484 4 liblsof.a library as *.c files. This results in significant
485 changes to many source files, scripts, and Makefiles of all dialect
486 versions. It allows elimination of some source files -- ddev.c,
487 dfile.c, dmnt.c -- for dialects now obtaining functions from
488 liblsof.a that formerly came from making dialect source files by
489 combining fragment files.
491 The version 4 liblsof.a sources are stored in the lib/ subdirectory
492 of the main lsof directory. The liblsof.a functions are activated
493 and conditioned in their source files by values #define'd in the
494 dialect dlsof.h and machine.h header files.
496 Dialects that provide a private version of a library function refrain
497 from #define'ing the symbol that would activate the library function
501 Version 4 Release Notes
502 =======================
504 4.0 February 24, 1997
506 +====================================+
507 | This is the first lsof 4 revision. |
508 +====================================+
510 Reorganized sources: eliminated code fragment files
511 and created a library in their place. Modified or
512 deleted many dialect source and header files.
513 Changed documentation accordingly.
515 Added a warning to sgi/Makefile and 00FAQ that advises
516 against using the IRIX C compiler -n32 option when
517 compiling lsof. Thanks go to Peter Ilieve
518 <peter@memex.co.uk> for bringing this to my attention.
520 Dropped IRIX 5.2 in mid-stream, because my 5.2 test
521 system was upgraded to 5.3.
524 Added TFS support for Pyramid dialects.
526 Added test to Configure and to the IRIX dnode.c
527 for the different cnode struct that appears in
528 <cachefs/cachefs_fs.h> on the 6.2 IMPACT distribution.
529 Heddy Boubaker <boubaker@amfou.cenatls.cena.dgac.fr>
530 alerted me to the cnode change and helped test this
533 Shut down the lsof child process before doing a -r
534 sleep(). A comment from Dan Mercer <dam@mmm.com>
539 Based on a report from Pasi Kaara <Pasi.Kaara@atk.tpo.fi>,
540 disabled HP-UX CCIT support in lsof for HP-UX
541 versions 10 and above. Pasi's report also led to
542 changes in the HP-UX machine.h to support use of
543 gcc to compile lsof for HP-UX 10.20 and warnings
544 against using `cc -Aa` or `gcc -ansi` to compile
545 lsof under HP-UX 10.x.
547 With help from Richard Allen <ra@hp.is> taught
548 HP-UX 10.x lsof to name file systems better by
549 using the virtual file system device number. Elias
550 Halldor Agustsson <elias@rhi.hi.is> provided a test
553 Changed NEXTSTEP and UNIXWARE Makefiles to use
554 safer quoting when generating version.h. The change
555 was suggested by Bob Farmer <ucs_brf@unx1.shsu.edu>.
557 Added SHELL=/bin/sh string to all Makefiles.
559 Added support for Linux 2.1.28 on a test system,
560 kindly provided by Jonathan Sergent <sergent@purdue.edu>.
561 Configure tests the Linux 2.1.x's C library lseek()
562 function for proper handling of kernel offsets.
563 If lseek() appears suspect, Configure activates
564 the use of a private lseek() function. Changed
565 the private nlist() function to nlist_private()
566 and taught it to use the query_module() syscall in
567 place of the deprecated get_kernel_syms() one.
568 Added rudimentary AX.25 support for Pierfrancesco
569 Caci <ik5pvx@infogroup.it> who helped test it.
570 Updated the old get_kernel_syms() code to recognize
571 and skip module name entries.
573 Prompted by Marty Leisner <leisner@sdsp.mc.xerox.com>,
574 eased the requirement that service name lookup for
575 the -i option be accompanied by a protocol name. The
576 name is not needed if both TCP and UDP names yield the
579 Added xusers.awk script from Dan Mercer <damercer@mmm.com>
580 to the distribution scripts/ subdirectory.
582 Changed Configure script to use LSOF_VERS for all
583 UNIX dialect version numbers and to pass LSOF_VERS
584 to the dialect Mksrc functions. Also added the
585 ability for a dialect stanza to declare a different
586 dialect Makefile source. Modified dialect Mksrc
587 files -- e.g., linux and sun -- accordingly.
589 Added support for BSD/OS 3.0 with help from Jim
590 Reid <jim@mpn.cp.philips.com>. Terry Kennedy
591 <TERRY@spcvxa.spc.edu> kindly provided a test
592 system. During the port corrected a bug that
593 prevented proper handling of revoked files.
596 At the suggestion of Dan Mercer <damercer@mmm.com>,
597 made HP-UX building of lsof aware of differences
598 between the HP-UX bundled and unbundled C compilers.
600 Added the ability for the lsof builder to define the
601 default warning message issuance state. By default the
602 issuance of warning messages is disabled; defining
603 WARNINGSTATE in machine.h disables it. The Customize
604 script was updated to handle WARNINGSTATE. Dan Mercer
607 Eliminated compiler complaint about improperly cast
608 get_Nl_value() argument in ncache_load() in lib/rnch.c.
610 Corrected zeromem() argument error in SCO dproc.c.
611 Sped up parent directory cache lookup slightly.
613 Updated for PTX 4.4, including additional VxFS (EFS)
617 At the suggestion of Bela Lubkin <belal@sco.COM>
618 changed device cache handling to be more tolerant
619 of a device cache file whose [cm]times are older
620 than the ones on /dev or /devices. The change
621 required adding information to Solaris device cache
622 file clone lines, so the first time lsof 4.04 is
623 run under Solaris it will complain about a bad
624 cached clone device in a previous device cache
625 file, then regenerate it.
627 Added boot file path detection for SCO OSR 5 and
628 above, based on information supplied by Bela.
630 Fixed two bugs in DEC OSF/1 lsof -- an error in
631 reporting locks and a missing continue statement
632 in readdev() after a failure to open a directory.
633 Jan Ole Suhr <josuhr@informatik.tu-clausthal.de>
634 reported the second bug and supplied a fix.
636 Fixed XFS problems with IRIX 6.2 by abandoning the
637 idea that SGI will distribute XFS header files and
638 defining an lsof-private xfs_inode structure. John
639 Paul Morrison <John.Paul.Morrison@MultiActive.com>
640 helped develop and test the 5.3 definition. John
641 R. Vanderpool <fish@daacdev1.gsfc.nasa.gov> helped
642 develop and test the 6.2 definition.
644 Remove obsolete comments about common/*.frag files.
646 Updated Linux lsof for Linux version 2.1.35.
649 Supplement Regenerated the 4.04 distribution to correct a non-
650 device-cache #define misplacement in the Solaris and
651 SunOS dlsof.h. Alexandre Oliva <oliva@dcc.unicamp.br>
652 reported the problem.
655 Corrected an error in 00DCACHE.
657 Made sure SCO /etc/ps/booted.systems is closed.
659 Based on an observation by Bela Lubkin <belal@sco.COM>
660 that the lsof child had needless file descriptors
661 open, closed all but the open pipes between the
662 lsof parent and child.
664 Decommissioned CDC EP/IX support; I no longer have a
667 Based on a suggestion from Patrick Connor
668 <connor@phreak.csd.sgi.com>, added -xansi to CFLAGS
669 for IRIX 5.3 and 6.[234].
671 Also at Patrick's suggestion changed Configure to
672 propagate exact SunOS 4.1.x version to the main
673 and library Makefiles. This allowed the sunos413
674 and sunos413cc Configure abbreviations to be
675 shortened to sunos and sunoscc.
677 Updated obsolete argument uses (-H changed to -n)
678 in count_pf.perl* and watch_a_file.perl scripts.
680 Adjusted Solaris 2.6 lsof for Beta_Update with tips
681 from Casper Dik <casper@holland.Sun.COM>.
683 Fixed a Solaris 2.4 TCP address reporting bug.
686 Added a step to the Makefile clean rules that does
687 a make clean in the lib subdirectory; suggested by
688 Casper Dik <casper@holland.Sun.COM>. (Configure's
689 -clean argument already did this.)
691 Fixed an incorrect awk argument in the sunos*)
692 Configure stanza, reported by Alexandre Oliva
693 <oliva@dcc.unicamp.br>.
695 Added CD9660 (aka ISO) file system support to
696 FreeBSD, NetBSD, and OpenBSD with mods and help
697 from Kenneth Stailey <kstailey@disclosure.com>.
698 (BSDI already had CD9660 support.) While at it,
699 added file descriptor system support to BSDI and
702 Added /kern file system support to OpenBSD. The
703 support wasn't extended to BSDI, FreeBSD, or NetBSD,
704 because it requires Kenneth Stailey's changes to
705 /sys/miscfs/kernfs/kernfs.h.
707 Updated IRIX 6.3 support after getting access to
708 a test system, provided by John Paul Morrison
709 <John.Paul.Morrison@MultiActive.com>. Improved
710 the handling of IRIX 5.1 and greater FIFOs.
713 Based on AIX problem reports from David Capshaw
714 <David.Capshaw@SEMATECH.Org>, changed the aix*
715 Configure script stanza to avoid -bnolibpath for
716 gcc (which the GNU loader doesn't grok) and AIX
717 below 4.1.4 (where -bnolibpath hasn't been tested
718 or is known to be unimplemented), and to refuse to
719 use gcc for compiling lsof in AIX versions below
720 4.1 (because of possible structure alignment
721 problems). Updated 00FAQ appropriately.
723 Added OpenBSD support for EXT2FS. This support
724 has yet to be tested.
726 Tested lsof under OpenBSD 2.1.
728 Activated /kern file system support for NetBSD when
729 Configure senses that /sys/miscfs/kernfs/kernfs.h
730 defines the kern_target structure. This support
731 has not been tested under NetBSD, although it has
732 been tested under OpenBSD.
734 Made some simple changes to the BSDI machine.h,
735 suggested by Jeffrey C. Honig <jch@bsdi.com>.
737 Improved handling of alternate dialect Configure
738 abbreviations -- aix and aixgcc, hpux and hpuxgcc,
739 solaris and solariscc, and sunos and sunoscc.
742 Cleaned up dialect Makefile's, staring with a suggestion
743 from Christopher Schanzle <chris@cam.nist.gov>.
745 Improved Configure's -clean processing.
747 Corrected bugs in Solaris lock reporting.
749 Changed NetBSD Configure stanza to put -I/usr/include
753 Adjusted for latest FreeBSD 3.0 release. This
754 required adding a new kernel name cache module for
755 reading BSD-form hashed kernel name cache entries,
756 rnmh.c, to the lsof library, and adding a #define
757 to each machine.h to select it.
759 Activated rnmh.c for BSDI 2.1, BSDI 3.0, NetBSD
760 1.2, and OpenBSD 2.1.
763 Adjusted for Linux 2.1.x (x > 35) kernels with
764 hashed task structure pointers. Marty Leisner
765 <leisner@sdsp.mc.xerox.com> and Jonathan Sergent
766 <sergent@io.com> tested the adjustment.
768 Replaced readdev() stat() calls with lstat() to
769 reduce device table and cache entries with the same
770 device number and inode values. Added code to
771 remove all remaining duplicates. This fixes a
772 Linux problem reported by Jonathan Sergent and
773 makes device node name output predictable.
775 Corrected a bug in UnixWare stream file handling
776 that prevented searching for the stream file by
777 its associated character device name.
779 Added Pyramid code to determine Reliant UNIX clone
780 major device number differently from that of DC/OSx.
783 Changed Configure to sense that the PTX inp_[fl]addr
784 members of the inpcb structure of <netinet/in_pcb.h>
785 have a struct type and set HASINADDRSTR for use in
786 PTX dnode.c and dsock.c tests.
788 Changed PTX version 4.1.4 tests to use 4.1.3 instead.
789 Carson Wilson <carson@mcs.com> reported the need
790 to do this and tested the change.
792 Fixed a block device table indexing bug in lib/rdev.c,
793 reported by Carson Wilson. The same bug was squashed
796 Added code to the Pyramid Reliant UNIX kread()
797 function to compensate for an address boundary
798 error in the kernel's /dev/kmem driver.
800 Verified that lsof compiles and works under AIX
801 4.2.1. Added an AIX test for the presence of NFS
802 header files, defined HAS_NFS and adjusted AIX
803 dialect sources accordingly.
805 Based on a suggestion from Gaylord Holder
806 <holder@phy.ucsf.EDU>, added DEC OSF/1 code to
807 auto-detect the booted file, whence kernel symbol
808 addresses are obtained.
811 Corrected a device number sign extension problem
812 in the reading and writing of device cache file.
813 The problem was reported by Bela Lubkin <belal@sco.com>
814 and he suggested a fix.
816 Fixed an SCO stream device lookup problem. The
817 report and solution came from Bela Lubkin
819 Enhanced the Configure script to enable cross-
820 configuration of lsof, based on suggestions from
821 Marty Leisner <leisner@sdsp.mc.xerox.com>. A new
822 documentation file, 00XCONFIG, describes the process.
824 Made Pyramid OBJFS support conditional on the
825 presence of supporting header files. Corrected
826 the Pyramid MkKernOpts script so it generates the
827 necessary -D's for the Nile/Jolt architecture.
828 Richard Coley <rcoley@pyra.co.uk> helped.
830 Added another IRIX xfs_inode variant for 6.2, 32
831 bits, no XFS rollup patch.
833 Tested under UnixWare 2.1.2.
836 Taught Pyramid lsof to grok ttyfs vnodes with help
837 from Richard Coley <rcoley@pyra.co.uk>. Fixed some
838 minor bugs in Pyramid FIFO reporting. Eliminated
839 use of the Pyramid UCB compatibility library at
840 Richard's suggestion.
842 Eliminated reporting of "strange" inode numbers
843 for SCO OSR 3.2v5.0.x HPPS files with help from
844 Bela Lubkin <belal@sco.com>
846 Modified port to service name lookup to use a small
847 number of getservbyport() calls before reading the
848 entire map with getservent(). Changed port reporting
849 to represent a zero as `*' to be consistent with
850 other prt number reporting tools like netstat.
851 Casper Dik <casper@holland.Sun.COM> suggested these
852 changes -- the getserv*() one to improve performance
853 for large NIS service name maps.
855 Changed all readdev() functions to make the absence
856 of block devices a warning instead of a fatal error
857 after Brian Redman <ber@ms.com> reported his IRIX
858 6.4 system had no block devices. (It really did
859 have block devices, but readdev()'s lstat() use
860 caused it to miss them in a directory symbolically
861 linked from /dev/dsk->/hw/disk.) Fixed Brian's
862 real problem by changing the IRIX readdev() to use
863 stat() on /dev nodes if a Configure test shows /hw
864 is readable. Extended the potential to do the same
865 to all readdev() functions.
867 For consistency and convenience changed some
868 Configure abbreviations and dialect subdirectory
869 names: "decosf" abbreviation and "osf" dialect
870 subdirectory name to "du"; "netbsd" dialect
871 subdirectory name to "n+obsd"; "next3" abbreviation
872 and "next" dialect subdirectory name to "ns"; "sco"
873 abbreviation and dialect subdirectory name to "osr";
874 "sgi" dialect subdirectory name to "irix"; and
875 "unixware" abbreviation and dialect subdirectory
878 Added #if/#endif clauses to the AIX rmdupdev()
879 function to avoid clone processing for AIX versions
880 less than 4.1.4. The problem was reported by Toralf
881 Foerster <toralf.foerster@io-warnemuende.de>, who
882 supplied corrective code.
884 Added support for new style NetBSD inode with i_ffs
885 and i_e2fs union members.
887 Improved Configure and 00FAQ information on Digital
888 UNIX configuration subdirectory with suggestions
889 from Brad Krebs <brad@EECS.Berkeley.EDU>.
892 Reorganized the Solaris handling of the inode
893 structure header file, ufs_inode.h, to eliminate
894 VxFS structure definition conflicts for Solaris
895 2.4, based on information from Greg Earle
896 <earle@netbsd4me.jpl.nasa.gov>.
898 Cleaned up some typos and confusion in Configure's
899 help output, based on comments from Bela Lubkin
902 Added a 00DIALECTS file, containing UNIX dialect
903 version numbers, that can be used by Configure and
907 Aligned `Configure -help` output better. Removed
908 Configure's 2.6 Beta test adjustments.
910 Added improved Solaris VxFS configuration and
911 handling, based on information from Greg Earle
912 <earle@netbsd4me.jpl.nasa.gov>.
914 Added socket state -- TCO or TPI -- for socket
915 files at the suggestion of Ian Fitchet
916 <I.D.Fitchet@ftel.co.uk>.
918 4.16 September 25, 1997
919 Added reporting of TCP/TPI queue lengths and window
920 sizes ala netstat to NAME column. Added -T option
921 to select or de-select TCP/TPI info reporting.
922 (Window sizes are only reported for Solaris.)
923 Fixed anomalies along the way in SIZE/OFF processing
926 Fixed service name argument processor to allow
927 minus signs as part of the name. Consequently this
928 disallows names with embedded minus signs from
929 being specified as the start of a range.
931 Added 00FAQ entries explaining why lsof won't find
932 a file being edited with vi, why window sizes aren't
933 reported for all dialects, and what the "no more
934 information" message means.
936 Forced Pyramid CC to be /usr/ccs/bin/cc to avoid
937 accidental use of the BSD variant in /usr/ucb/cc.
939 Added support for Linux glibc2, including a Configure
940 test; cross-Configure support (00XCONFIG); and much
941 unfortunate and risky sleight-of-hand in lsof Linux
942 dialect header and source files, forced upon lsof
943 by incompatibilities between Linux kernel and glibc2
946 Included in scripts/identd.perl5 a Perl 5 implementation
947 of an identd server, using lsof, provided by Kapil
948 Chowksey <kchowksey@hss.hns.com>.
950 Updated IRIX 6.4 xfs_inode guess.
952 4.17 October 14, 1997
953 Added -V option for verbose search result reporting.
954 Verbose reports are prepared for failure to locate
955 file names, command names, Internet addresses or
956 files, login names, NFS files, PIDs, PGIDs, and UIDs.
958 Augmented Linux NFS file test to cope with kernels
959 whose NFS code is in a loadable module. Need for
960 the test was pointed out by Jonathan Sergent
961 <sergent@csociety.ecn.purdue.edu>. The change
962 required that Linux have private dmnt.c source,
964 Completed a Linux 2.1.57 port on a system provided
967 4.18 October 25, 1997
968 Eliminated memory leaks in alloc_lfile(), lkup_port(),
969 and NEXTSTEP's process_text() function.
971 Added recognition of OpenBSD 2.2 in Configure,
972 supplied by Kenneth Stailey <kstailey@disclosure.com>.
974 Consolidated print_file() functions to use the one
975 in lib/prtf.c. Made it configurable and changed
976 it to size print columns dynamically.
980 WITH DYNAMICALLY SIZED PRINT COLUMNS LSOF 4.18
981 PRODUCES OUTPUT SIGNIFICANTLY DIFFERENT FROM THAT
982 OF PREVIOUS REVISIONS. LINES ARE GENERALLY SHORTER
983 AND THERE IS GENERALLY LESS BLANK SPACE BETWEEN
984 COLUMNS AND THE ITEMS IN THEM. THERE ARE NO LONGER
985 ANY SPACES BETWEEN DEVICE NUMBER ELEMENTS, ONLY
990 Added special types and print specification modifiers
991 for file size and offset to handle UNIX dialects
992 with 64 bit sizes and offsets. Paul Eggert
993 <eggert@twinsun.com> reported the need for this
996 With Paul Eggert's help picked lint from the lsof
997 library, the main level lsof sources, and the Sun
1000 Added documentation, including the file 00LSOF-L,
1001 about the lsof-l LISTSERV.
1003 Added support for Reliant UNIX on the RM600. Bob
1004 Passarella <rmpassar@pyramid.com> supplied the
1005 changes. Kevin Smith <kevin@pyramid.com> helped
1006 arrange test systems. While incorporating Bob's
1007 changes, modified lib/rnch.c to handle kernel ncache
1008 structs whose name is accessed via a char *, rather
1009 than in a char array.
1011 Changed #include order of <sys/socketvar.h> for
1012 Solaris 2.x. W. Richard Stevens <rstevens@kohala.com>
1013 pointed out the need to do this.
1015 4.19 October 30, 1997
1016 Changed Pyramid Reliant RM600 proc scan to skip
1017 SSYS (p_flag) processes, since they don't seem to
1018 have a readable u_cdir vnode.
1020 Enabled Pyramid Reliant UNIX kread() work-around
1021 for DC/OSx, too, since its read(/dev/kmem) kernel
1022 driver seems to share the page boundary bug this
1023 work-around circumvents.
1025 Changed SzOffFtm_d and SzOffFtm_dv (new formats at
1026 4.18 to print size and offset) from signed to
1027 unsigned. Setting them signed at 4.18 was an
1030 Plugged a memory leak that caused the loss of 130
1031 bytes per repeat-mode pass. Fixed it with a simple
1032 work-around in main(). Lionel Cons <Lionel.Cons@cern.ch>
1035 4.20 November 11, 1997
1036 Tested under BSDI 3.1.
1038 Added support for Reliant UNIX Mesh IPC files with
1039 help from Billy Ho <bho@pyramid.com>.
1041 Added support to Digital UNIX lsof that uses the
1042 libmsfs tag_to_path() function (when it exists) to
1043 look up AdvFS path names. The idea and sample code
1044 came from Dean Brock <brock@cs.unca.edu>. Converted
1045 Dean's code into more general purpose support for
1046 private name cache lookups via the HASPRIVNMCACHE
1047 #define in the dialect machine.h file and code
1048 conditional on it in the printname() function.
1050 Taught Digital UNIX lsof to recognize NFS3 file
1051 systems. Corrected Digital UNIX lsof DEVICE column
1054 4.21 December 1, 1997
1055 Squashed bug, introduced at revision 4.18, that
1056 resulted in double reporting of each selected PID
1057 when terse mode (-t) was specified.
1059 Corrected minor bug, also introduced at 4.18, that
1060 might cause an extra print_proc() pass when one
1061 PID has been specified.
1063 Added -R to lsof options in scripts/idrlogin.perl*.
1064 The option should have been there -- it was supposed
1065 to be mandatory for PGID reporting -- but a bug,
1066 corrected in revision 4.18, previously made -R
1069 Enabled configuring for BSDI BSD/OS 4.0 per a
1070 suggestion from Jeff Honig <jch@bsdi.com>.
1072 Enabled replacement of scoff_t with off64_t (scoff_t
1073 is used to type r_size and r_localsize in the rnode
1074 struct) for IRIX 5.3 systems that have the NFS
1075 kernel rollup patch (1477). This compensates for
1076 SGI's failure to distribute an updated <sys/fs/rnode.h>
1079 Validated under Linux 2.0.3[12], Linux 2.1.64, and
1082 Added FreeBSD root directory reporting, courtesy
1083 of Dan Nelson <dnelson@emsphone.com>.
1085 4.22 December 15, 1997
1086 Made adjustments for Linux 2.1.7[02].
1088 Improved NAME information for Linux UNIX domain
1091 Added option +|-M to control the reporting of
1092 portmapper registration information in square
1093 brackets after the TCP or UDP port or service name.
1094 Kenneth Stailey <kstailey@disclosure.com> suggested
1095 the feature and provided sample code from OpenBSD.
1096 Reporting is disabled by default in the distribution
1097 and may be enabled with +M; if lsof is compiled
1098 with HASPMAPENABLED (e.g., from machine.h), reporting
1099 will be enabled by default and can be disabled with
1102 Changed the -w option to +|-w to match the syntax
1103 of the +|-M option and to eliminate any options
1104 that flip meaning when a symbol is defined at
1105 compile time. For both +|-M and +|-w, specifying
1106 `-' when the default state is disabled or specifying
1107 `+' when the default state is enabled causes no
1110 !!!WARNING The -w option has changed in lsof 4.22. WARNING!!!
1112 Made the +|- prefix legal for most options, but
1113 didn't document it in the man page or help panel.
1114 Most options that disable something -- e.g., -b,
1115 -C, -n, -P -- now disable when the prefix is `-'
1116 and enable when it is `+'. Since the states these
1117 options disable are enabled by default, I chose to
1118 avoid documentation complexity and confusion by
1119 not mentioning that they can be used with the `+'
1122 Condensed the help panel.
1124 Made sure Digital UNIX Configure stanza puts normal
1125 include path (e.g., /usr/include) before system
1128 Added IPX socket information reporting to Linux
1129 with help from Jonathan Sergent <sergent@purdue.edu>.
1131 4.23 January 16, 1998
1132 Fixed conflict arising from the quondam replacement
1133 of the Sun Solaris <netdb.h> with a BIND/BSD version.
1135 With help from Jonathan Sergent <sergent@purdue.edu>
1136 developed a /proc file system based Linux lsof.
1137 It needs some Linux 2.1.x release to work -- I'm
1138 not sure which, but I tested under 2.1.72, 2.1.76,
1139 and 2.1.79. The Configure script selects special
1140 sources for this lsof, so the full lsof distribution
1141 now contains both /dev/kmem and /proc based sources
1142 for Linux lsof. An optional kernel mod, written
1143 by Jonathan, enhances the /proc-based lsof ability
1144 to recognize IPX socket files. Reorganized and
1145 augmented the Linux sections in 00FAQ to explain
1146 the two types of Linux lsof.
1148 Defined DOSTAT_FUNCTION for dostat() in misc.c to
1149 select the function, stat() or lstat(), it will use.
1150 DOSTAT_FUNCTION is normally undefined, defaults to
1151 lstat(), and is only defined for the /proc-based
1152 Linux lsof in its dlsof.h.
1154 Made conditional on the presence of IRIX 6.4 XFS
1155 rollup patch #6 an XFS node change introduced in
1156 revision 4.16. Identified the patch with help
1157 from John R. Vanderpool <fish@daacdev1.gsfc.nasa.gov>.
1159 Added NFS node compensation for NetBSD 1.3. The
1160 code and suggestion for it was supplied by Jean-Luc
1161 Richier <richier@imag.fr>.
1163 Added diagnostic messages to the /dev/kmem-based
1164 Linux Mksrc script to report errors during the
1165 construction of the kernel name cache header file,
1166 kncache.h. Added 00FAQ information on kncache.h.
1168 Added a new Linux test host, running 2.0.33 and
1169 GlibC, provided by Steve Logue <stevel@mail.cdsnet.net>.
1171 Ported to PTX 4.1.3 and 4.4.2. Adjusted lib/rnch.c
1172 for 4.4.2 to allow customization f additional ncache
1173 struct element names.
1175 4.24 January 28, 1998
1176 Changed /proc-based Linux lsof offset test to use "/"
1177 instead of "/etc/passwd".
1179 To assist Jim Mintha <jim@geog.ubc.ca> with the
1180 packaging of lsof for Debian Linux, added a
1181 DEBIAN_LINUX_LSOF #define to trigger the activation
1182 of special system map file location code in the
1183 /dev/kmem-based dproc.c.
1185 Applied modification to dialects/bsdi/dlsof.h from
1186 Ingimar Robertson <iar@skyrr.is>, enabling lsof to
1187 compile for BSDI BSD/OS 2.0.
1189 Corrected a documentation error in 00DCACHE, pointed
1190 out by Thomas Anders <anders@hmi.de>. The error was
1191 created when the -V option was added at lsof 4.17.
1193 Made IRIX 5.3 through 6.3 lsof aware of IRIX SCSI
1194 tape devices (e.g., /dev/tape). Dave Olson of SGI
1195 and Randolph J. Herber of FNAL provided valuable
1196 advice, and Igor Schein <ischein@air-boston.com>
1199 Added a machine.h symbol (NEVER_HASDCACHE) that
1200 prevents Customize from offering to change HASDCACHE.
1201 The symbol may appear anywhere in machine.h --
1202 e.g., in a comment. Included the symbol in a
1203 comment of the HASDCACHE section of the /proc-based
1204 Linux lsof machine.h, and accompanied it with
1205 warnings against #define'ing HASDCACHE. Did the
1206 same thing for WARNDEVACCESS (NEVER_WARNDEVACCESS
1207 is the suppressant.)
1209 4.25 February 7, 1998
1210 Corrected an IRIX mis-cast of file offset (position).
1211 Igor Schein <ischein@air-boston.com> reported the
1212 problem. This was offered as a patch to 4.24.
1213 Picked some lint Igor pointed out.
1215 At Igor's suggestion added an optional decimal
1216 digit size argument to the -o option. This argument
1217 specifies how many file offset decimal digits can
1218 follow "0t" before lsof switches to a "0x..." form.
1219 The argument size specification doesn't count the
1220 two characters of the "0t". A size of 0 means
1221 unlimited. The default is OFFDECDIG (8), preserving
1222 compatibility with existing lsof output; it can be
1223 changed by the lsof builder. When size is specified
1224 with -o it does not force offset display; -o without
1225 a size still must be used to do that.
1227 Added an IRIX 6.2, 32 bit system, XFS node patch,
1228 courtesy of Ulrich Bernhard <rzubu@rzu.unizh.ch>.
1230 For my own convenience enabled Configure to use
1231 /usr/local/bin/gcc for NEXTSTEP. This allows
1232 circumvention of a gcc 2.8.0 ranlib problem on
1233 my test 3.1 `040 cube.
1235 Added flags recommended by the RISC/os and Ultrix
1236 compilers for the updated (and longer) main.c.
1238 Updated FreeBSD cd9660_node.h Configure test.
1240 4.26 February 17, 1998
1241 Added shared process group processing for IRIX 5.3,
1242 and IRIX 6.1 and above, based on investigation of
1243 a bug report from Igor Schein <ischein@air-boston.com>.
1244 Igor helped test this addition.
1246 Improved handling of file system name arguments.
1247 It's now done in a manner similar to fuser. The
1248 -f argument forces path names to be considered as
1249 simple files, rather than as file system names.
1250 The +f flag forces them to be considered as file
1251 system names. Normally path arguments are considered
1252 file system names when they match a mounted-on
1253 directory in the system's mount table, or when they
1254 match a mounted file system's block device. Igor
1255 Schein helped test this change.
1257 Igor also suggests that the proper compilation of
1258 the IRIX 6.4 proc structure after patch 2536 has
1259 been installed may need -DPIOMEMOPS. So lsof's
1260 MkKernOpts script was updated to propagate that
1261 option from CCOPTS in /var/sysgen/system/irix.sm,
1262 even though patch 2536 doesn't add -DPIOMEMOPS to
1263 it. Added a 00FAQ item on this patch.
1265 Added a fatal warning message about names forced
1266 to be file system names (with +f) that have no
1267 match in the mount table.
1269 Improved the -V message for files and file systems
1270 for which no open files were found. Added reporting
1271 of /proc file and file system search failures.
1273 Did some code reorganization to combine the multiple
1274 ck_file_arg() functions into one. Moved the new
1275 function from the library to the top level and put
1276 it in arg.c; moved the usage function from arg.c
1277 to a new top-level source file, usage.c, to balance
1278 top-level source file size. The new usage.c depends
1279 on version.h; arg.c no longer does.
1281 Added flag recommended by the DU compiler for the
1282 updated (and longer) main.c.
1285 At the request of Igor Schein <ischein@air-boston.com>
1286 added a conditional repeat mode option, using the
1287 `+' prefix to the `r' option. +r operates as does
1288 -r with the exception that it exits the first time
1289 no open files have been listed during a cycle.
1290 The exit code will be zero when any open files have
1291 been listed; one, if none were ever listed.
1293 Ported lsof to HP-UX 11.0 with the help of Richard
1294 Allen. This port hasn't been tested on a 64 bit
1295 kernel; I'm sure it won't work there without more
1296 mods. It may not work on PA 2 architectures; I've
1297 only tested it under PA 1 and a separate, busy
1298 tester reported PA 2 problems that I've been unable
1301 In anticipation of getting access to a 64 bit HP-UX
1302 kernel and the pending start of the Solaris 2.7
1303 Beta test (It will have 64 bit kernel addressing.),
1304 started adding support for 64 bit kernel pointers.
1305 This includes: ubiquitous use of the KA_T cast
1306 for kernel pointers; a format to print them,
1307 KA_T_FMT_X; a function to print them, print_kptr();
1308 and modifications to most kernel-related functions
1309 -- e.g., process_file(), process_node(),
1310 process_socket(), readvfs() -- to process kernel
1311 addresses as KA_T types.
1313 Fixed minor bug in handling path name arguments
1314 that end with a `/'.
1316 Removed support for RISC/os; its test system is no
1319 Made modifications to insure that lsof output
1320 doesn't contain non-printable characters. All such
1321 characters are now printed in the printf form
1322 "\x%02x". Several new common functions were
1323 installed in misc.c to support "safe" printing.
1324 This second major modification in 4.27 to common
1325 and dialect code could have introduced bugs not
1329 Refined unprintable format to use \b, \f, \r, \n,
1330 \t, and ^* (for CTRL) forms. Corrected omission
1331 of safestrprt() use for field output command name.
1332 These changes were offered as patches to 4.27.
1334 Made space an unprintable character (\x20) in the
1335 COMMAND column; printable elsewhere, including the
1336 NAME column, field output, and error messages.
1338 Made sure FD column is parseable as a single entity
1339 -- i.e., has no embedded space. Thus, if the access
1340 mode is unknown but there is a known lock mode, (a
1341 very rare case) the access mode will be printed as
1344 Picked lint with gcc 2.8.0 under Solaris 2.6.
1346 With the help of Dave Olson of SGI identified a
1347 proc struct element that should have been added to
1348 <sys/proc.h> by IRIX 6.4 patch 2536. Added a
1349 work-around for it to the lsof Configure script.
1350 Igor Schein <ischein@air-boston.com> identified
1351 that the patch caused a proc structure length
1352 complaint from lsof. Removed an obsolete 00FAQ
1353 item on the patch, installed at lsof 4.26, explaining
1354 that no solution was yet available.
1356 Added a 00FAQ item on how BIND installs its own
1357 header files, including <netdb.h>, which may cause
1358 the rpcent struct definition to vanish. Solaris
1359 has an automatic lsof work-around, but that hasn't
1360 been (and probably can't be) propagated to all
1361 dialects supported by lsof. The 00FAQ item recommends
1362 re-installation of the vendor header files that
1363 BIND has replaced. (Others include <rpcent.h>,
1364 <sys/bitypes.h>, and <sys/ctypes.h>.)
1369 Corrected bug in Internet address matching. The
1370 matching formerly stopped if the foreign address
1371 matched, thus failing to check the local address
1372 for a match. That led to a possible false "Internet
1373 address not located" warning (i.e., in response to
1374 -V) about the local address, when both foreign and
1375 local addresses were specified with -i. This
1376 correction was offered as a patch to 4.28.
1378 Changed readmnt() usage in an attempt to defer
1379 mount readlink() and stat() delays until they are
1382 Corrected two bugs in the Digital UNIX readdev()
1383 function. Made the correction available as a patch
1384 to 4.28 and regenerated the 4.28 DU binaries.
1386 Added a missing argument to a print-kptr() call in
1387 the HP-UX dsock.c. The missing argument causes a
1388 fatal gcc error. The problem was reported by Eyal
1389 Shaynis <eyal.shaynis@telrad.co.il>. The fix was
1390 offered as a 4.28 patch.
1392 Adjusted for Digital UNIX 4.0D; the spec_node
1393 structure is now defined in <sys/specdev.h>. Kris
1394 Chandrasekhar <Kris.Chandrasekhar@digital.com>
1395 identified the need for the adjustment.
1397 Incorporated a bug fix from Brian McAllister
1398 <mcallister@mit.edu> to the DU readmnt() function.
1399 This fix was offered as a patch to 4.28.
1401 Added "safe" printing to a SunOS clone device error
1404 Corrected bug in tabling of Linux /proc-based lock
1407 Corrected bug in handling of SunOS TLI streams.
1408 Dan Farmer <zen@trouble.org> reported the problem.
1410 Added a Solaris 2.6 work-around to keep the BIND
1411 <sys/bitypes.h> from colliding with the Solaris
1414 Strengthened the Configure test for /proc-based
1415 Linux lsof, based on a report from Marty Leisner
1416 <leisner@sdsp.mc.xerox.com>.
1418 Tested on OpenBSD 2.3.
1420 Made AIX changes that allow use with 3.2.5. The
1421 changes were suggested and tested by Brett Hogden
1424 Added Solaris 2.6 AFS support. Disabled reporting
1425 of some node numbers for Solaris 2.5 and above open
1426 AFS files. The node number computation algorithms
1427 used for SunOS 4.1.x and Solaris less than 2.5 no
1428 longer always work under Solaris 2.5 and above.
1431 Corrected a pid structure member naming error for
1432 UnixWare < 2.1.2. The problem was reported by
1433 Richard van Meurs <vanmeurs.anva@atriserv.nl>. He
1434 supplied the correction. This was offered as a
1437 Had a report from Igor Schein <ischein@air-boston.com>
1438 that IRIX 6.4 patch 2839 is another SGI kernel
1439 patch, along with 2536, that changes the size of
1440 the proc structure in the kernel without changing
1441 the proc structure in <sys/proc.h>. Upon further
1442 investigation found that the effect of these patches
1443 on the proc structure is not consistent. Therefore,
1444 dropped the Configure patch test for IRIX 6.4 and
1445 made the code in irix/dproc.c slightly more tolerant
1446 of proc structure size differences for IRIX 6.4.
1447 Igor help test the change.
1449 Corrected Solaris >= 2.5 AFS inode number generation.
1450 Craig Everhart <Craig_Everhart@transarc.com> helped
1451 find the cause of the problem. This was offered as
1454 Refined the Linux /dev/kmem-based glibc evasion
1455 for the timeval structure to make it work with
1456 glibc version 2.0.7. This required defining a new
1457 global symbol, TIMEVAL_LSOF, default timeval, that
1458 the /dev/kmem-based Linux lsof can set to its
1459 private glibc timeval name, distinct from the kernel
1462 Added support for Alpha to the /dev/kmem-based
1463 Linux lsof. Alexandre Oliva <oliva@dcc.unicamp.br>
1464 provided a test system. Added an item to 00FAQ
1465 about lsof, the Alpha processor, and Linux.
1467 Added a 00FAQ item about lsof year 2000 compliance.
1468 Basically it says lsof is probably compliant,
1469 because its only date or time computations are done
1470 with time_t values, but I haven't done any specific
1471 Y2K validation. I don't have plans to do any.
1473 Added support for UnixWare 7. Chris Daniels
1474 <chrisd@dlpco.com> provided a test system and Don
1475 Draper <dond@sco.COM> provided technical information.
1476 Added BFS and SFS file system support to lsof for
1479 Updated Solaris VxFS support for VxFS 3.2.1. Greg
1480 Earle <earle@netbsd4me.jpl.nasa.gov> reported the
1481 need for the update. Greg and Roger Klorese
1482 <rogerk@veritas.com> provided technical information.
1483 Scott McClung <mcclung@primenet.com> tested.
1485 Changed IRIX XFS patch detection in anticipation of
1486 learning there are multiple XFS patches for IRIX 6.4
1487 that require different versions of the lsof-invented
1488 xfs_inode structure.
1491 Added a VxFS #if/#endif wrap to a section of the
1492 HP-UX dnode.c that wasn't properly protected. The
1493 problem was reported by Peter Klosky <PKlosky@bdm.com>.
1494 This was offered as a patch to 4.30.
1496 Added support for Solaris 2.7 (first Beta release).
1497 Mike Sullivan <Mike.Sullivan@Eng.Sun.COM> provided
1498 technical advice and helped test. Charles Stephens
1499 <cfs@jurassic.eng.Sun.COM> also helped test.
1501 Fixed bug in /proc-based Linux that caused it to
1502 access /proc/mounts excessively. Marty Leisner
1503 <leisner@sdsp.mc.xerox.com> provided a syscall
1504 trace that identified the bug. The fix was offered
1507 Adjusted the IRIX 6.4 private structure definition
1508 for the XFS node to accommodate patch 2970. Igor
1509 Schein <ischein@air-boston.com> identified the
1510 patch and the required adjustment.
1513 Corrected Solaris 2.7 code for reporting PCFS
1514 (floppy disk) node numbers. Casper Dik
1515 <casper@holland.sun.com> supplied the fix. The
1516 fix was offered as a patch to 4.31.
1518 Corrected a bug in conditional repeat mode handling
1519 pointed out by Igor Schein <ischein@air-boston.com>.
1520 This was offered as a patch to 4.31.
1522 Improved reporting of AIX open(/dev/memory device)
1525 Corrected a Solaris < 2.5 KA_T declaration error,
1526 pointed out by Robert Kiessling <robert@easynet.de>.
1527 Changed KA_T from a #define to a typedef for all
1528 dialects to prevent future problems of this kind.
1530 Changed the sample Perl 5 script big_brother.perl5
1531 to report a four digit year from localtime().
1533 Added support for AIX 4.3[.1]. Bill Pemberton
1534 <wfp5p@tigger.itc.virginia.edu> provided a test
1535 system. Andrew Kephart <akephart@austin.ibm.com>
1536 and Tom Weaver <tvweaver@austin.ibm.com> provided
1537 technical assistance. Niklas Edmundsson
1538 <nikke@ing.umu.se> did 4.3.1 testing.
1540 Added -qmaxmem option to CFLAGs for an AIX compilation
1541 with an xlc version 4.x compiler.
1543 Adjusted Linux socket handling for changes in the
1544 AX25 members of the sock struct. Richard Green
1545 <rtg@tir.com> pointed out the problem. Tested
1546 /dev/kmem-based lsof under Linux 2.0.34.
1549 Added generic IPv6 support to common lsof sources
1550 and specific IPv6 support to AIX sources. Andrew
1551 Kephart <akephart@austin.ibm.com> supplied the
1552 additions and helped with testing. Bill Pemberton
1553 <wfp5p@tigger.itc.virginia.edu> provided a test
1554 system. The modification affected sources for
1555 every dialect, whether it supports IPv6 or not, by
1556 changing the interfaces to the common Internet
1557 address function ent_inaddr().
1559 Added support for the NetBSD UVM virtual memory
1560 system. Paul Kranenburg <pk@cs.few.eur.nl> supplied
1563 Bracketed HP-UX 11 use of <sys/spinlock.h> with
1566 Corrected printing of PCB address in DEVICE column
1570 Updated 00FAQ to discuss TCP and UDP ports private
1571 to the AIX kernel and 00README to describe how ACLs
1572 can be used to give lsof permission to read the
1573 kernel memory devices. Add information to 00FAQ
1574 and 00README about other OpenBSD architectures
1575 where lsof is reported to compile and run. Added
1576 section to 00FAQ discussing how an incorrect loader
1577 path environment variable value can prevent lsof
1578 from loading correctly.
1580 Improved Solaris namefs and doorfs support so that
1581 it is now possible to search for an open VDOOR file
1582 by the path name of its fattached file system
1583 object. Igor Schein <igor@txc.com> requested the
1584 ability to do such a search. Even with the change,
1585 lsof can't always identify path names for open
1588 Also at Igor's request, improved reporting of
1589 information on open Solaris VCHR files that share
1590 a common vnode, and Solaris UNIX domain socket
1593 Corrected print_kptr() argument error in PTX dnode.c,
1594 reported by Mark Price <mprice@sequent.com>.
1595 Compensated for ncache element naming differences,
1596 introduced at PTX 4.4.2; Kurtis D. Rader
1597 <krader@sequent.com> reported the problem.
1599 Changed output column title from INODE to NODE to
1600 better reflect the column's contents of node IDs
1601 for more than just inodes.
1603 Improved Configuration and processing for Solaris
1604 AFS. Corrected AIX AFS 3.4 afs_rwlock_t simulation.
1606 Corrected a cast problem with two AIX knlist()
1607 calls, thus quieting an AIX 4.2.1 compiler argument
1608 type warning. Jon Champlin <champlin@us.ibm.com>
1609 reported the problem.
1611 Added support to most dialect versions (exception:
1612 /proc-based Linux) to warn when the identity of
1613 the kernel where lsof was compiled doesn't match
1614 the running identity. The warning can be suppressed
1615 with -w. Note: determining AIX state requires
1616 calling oslevel, a potentially slow operation.
1617 Jon Champlin <champlin@us.ibm.com> suggested this
1620 !!!! WARNING !!!! !!!! WARNING !!!! !!!! WARNING !!!!
1622 Those using the lsof cross-configuration capability
1623 (see 00XCONFIG), should be aware that the kernel
1624 identity test feature introduces two new basic
1625 cross configuration environment variables, LSOF_ARCH
1628 !!!! WARNING !!!! !!!! WARNING !!!! !!!! WARNING !!!!
1630 Identified a situation where a Solaris UNIX domain
1631 socket name is known and can be searched for by
1632 name; added the necessary code.
1635 Made the kernel identity check an option with the
1636 HASKERNIDCK #define in machine.h. Enabled altering
1637 of HASKERNIDCK with the Customize script. Added
1638 a clause to the help output that indicates the
1639 build-time HASKERNIDCK status.
1641 Added more information to the NAME column for
1642 Solaris UNIX domain sockets. Made them searchable
1643 by their clone device path name. Igor Schein
1644 <igor@txc.com> requested this.
1646 Completed the HP-UX 11 port with support for its
1647 optional 64 bit kernel. Rich Rauenzahn
1648 <rrauenza@cup.hp.com> provided a test system.
1649 Corrected errors with HP-UX 11 lock reporting and
1650 private kernel structure and type definitions.
1651 Added support for HP-UX NFS3 files.
1653 Limited mount table warnings -- e.g., when -b is
1654 used -- to one set per mount point.
1656 Fixed some mount table scanning and usage bugs,
1657 including one in Solaris, reported by Kjetil Torgrim
1658 Homme <kjetilho@ifi.uio.no>.
1661 Made corrections and additions to IPv6 support and
1662 to AF_ROUTE socket handling, supplied by Jean-Luc
1663 Richier <Jean-Luc.Richier@imag.fr>. Jean-Luc's
1664 additions provide IPv6 support for the Inria IPv6
1665 implementations on FreeBSD and NetBSD.
1667 Fixed two Solaris 2.5, 2.5.1, 2.6 and 2.7 TCP and
1668 UDP host name or IP address reporting bugs, reported
1669 by James Mathiesen <James-Mathiesen@deshaw.com>.
1670 This fix was offered as a patch to 4.35.
1672 Updated the Customize script to cause ENTER to use
1673 all defaults. Amir J. Katz <amir@ndsoft.com>
1674 suggested this and helped test the changes.
1676 Updated Solaris ICMP and IP stream handling, based
1677 on a report from Igor Schein <igor@txc.com>.
1679 Fixed a bug in the Digital UNIX mount table handling,
1680 reported by Bob Ward <bward@thehartford.com>.
1681 While working on the bug, found and updated some
1682 obsolete AdvFS code. This fix was offered as a
1685 4.37 September 15, 1998
1686 Deactivated SGI IRIX support and archived revision
1687 4.36 sources and binaries in pub/tools/unix/lsof/OLD.
1689 Improved performance of FD searching. This was
1690 offered as a patch to 4.36.
1692 Amir J. Katz <amir@ndsoft.com> pointed out that
1693 ranlib isn't needed for AIX or Solaris. Made
1694 appropriate Configure script changes.
1696 Fixed a file offset reporting bug for HP-UX VCHR
1697 and VBLK device nodes located on a VxFS root. Doug
1698 Siebert <douglas-siebert@iowa.edu> reported the
1699 bug. The fix was offered as a patch to 4.36.
1701 Resolved an HP-UX root device name reporting bug,
1702 partly caused by an out-dated local copy of the
1703 <sys/mount.h> mount structure, by generating a
1704 local header file with the structure that can be
1705 compiled without needing _KERNEL defined. Doug
1706 Siebert also reported this bug.
1708 Changed some dialect source code -- Digital UNIX,
1709 Solaris, SunOS, and UnixWare -- to make more
1710 consistent with ps the user ID lsof reports in the
1711 USER column. Added a 00FAQ entry about it. Igor
1712 Schein <igor@txc.com> reported the Solaris and
1713 SunOS lsof inconsistencies with what ps(1) reports.
1715 Ported lsof to Pyramid ReliantUNIX 5.44.
1717 Added brackets as comments to case, do, done, else,
1718 endif, esac, if, and while statements in Configure
1719 to assist in navigating its clauses.
1721 Added more Linux 2.0.x glibc work-arounds.
1723 Added support for UnixWare 7.0.1.
1725 Ralph Forsythe <ralph@contact-paging.com> provided
1726 a new FreeBSD test system.
1728 4.38 November 25, 1998
1729 Added support for recent FreeBSD 3.0 distributions.
1730 A 3.0 test system was provided by David O'Brien
1731 <obrien@NUXI.com>. This was offered as a patch
1734 Updated the scripts/idrlogin.perl* files to look
1735 for sshd processes in addition to rlogind and
1738 Added support for DU 5.0 Beta. Berkley Shands
1739 <berkley@cs.wustl.edu> provided a test system.
1741 Added support for OpenBSD 2.4 with changes supplied
1742 by Kenneth Stailey <kstailey@disclosure.com>.
1744 Changed the Solaris 2.7 tests and documentation to
1747 Made some changes to the header files for NEXTSTEP
1748 3.3 and added support for OPENSTEP 4.x with help
1749 from Michael A. Hovan III <mhovan@BLaCKSMITH.com>
1750 and Carl Lindberg <Carl_Lindberg@BLaCKSMITH.com>.
1751 The combined dialect subdirectory is named n+os.
1752 One of Carl's changes propagates RC_CFLAGS to the
1753 library Makefile. Timothy J. Luoma <luomat@peak.org>
1754 helped test under NEXTSTEP 3.3 and OPENSTEP 4.2.
1756 Made UW 7.x version sensitive to the presence of
1757 ptf7038. Added peer PCB address to Unix domain
1758 socket Name column, even when a path name has been
1759 located. Information for these changes was supplied
1760 by Francis Le Bourse <flebourse@intelcom.fr>. Lee
1761 Penn <lee@dlpco.com> provided a test system.
1763 Tested lsof under OSR 5.0.5 on a test system also
1764 provided by Lee Penn.
1766 Made path name argument processing more tolerant
1767 of errors per a suggestion from Julian Gordon
1768 <julian@cadence.com>.
1770 Acquired a new UnixWare 2.x test system, generously
1771 provided by Computer Classroom, Inc. -- Matthew
1772 Thurmaier <matt@compclass.com>, Ken Laing
1773 <ken@compclass.com>, and Andrew Merril
1774 <andrew@compclass.com>. Updated Configure to accept
1775 a UnixWare version of 2.1.3.
1777 Updated kmem-based lsof for Linux 2.0.36.
1779 Updated NetBSD sources for a change in a UVM virtual
1780 mapping header file.
1782 Corrected a cache allocation bug in Sun format
1783 kernel name cache handling. The bug only shows up
1784 when the kernel name cache is inaccessible.
1786 4.39 December 29, 1998
1787 Corrected problems with large device number handling
1788 for 64 bit Solaris 7. The problems were reported
1789 by Steve Bellenot <bellenot@math.fsu.edu>. Steve
1790 helped test the fixes. The fixes were offered as
1791 two patches to lsof 4.38.
1793 Improved FreeBSD Configure operations for header
1794 files that must be obtained from the kernel source
1795 tree, based on a suggestion from David O'Brien
1798 For Bela Lubkin <filbo@deepthought.armory.com> made
1799 optional with +f[cfn] the display of file structure
1800 address, shared use count, and node structure
1801 address. /proc-based Linux doesn't implement this
1802 feature, because it doesn't read kernel structures
1803 from kernel memory. Modified the PTX -X option to
1804 take advantage of the new file structure display
1805 option. Added shared.perl5 to the scripts/
1806 subdirectory to provide an example of how +f[fn]
1807 might be used to track shared file descriptors and
1810 Added more /dev/kmem-based Linux glibc evasions,
1811 provided by Jeff Johnson <jbj@redhat.com> and Maciej
1812 Lesniewski <nimir@kis.p.lodz.pl>. Jeff helped test
1813 them on various Linux architectures.
1815 Tested on AIX 4.3.2; no changes were required.
1816 Doug Crabill <dgc@purdue.edu> provided a test
1819 Fixed -c option to detect missing command name when
1820 following option begins with `+'.
1822 4.40 January 25, 1999
1823 Added support for using the CDS compiler for Reliant
1824 Unix 5.44 and above. Made Reliant Unix MIPC support
1825 optional, dependent on the presence of <sys/mipc.h>.
1827 Based on a report from Michael Schmitz <MSchmitz@lbl.gov>
1828 that /dev/kmem-based lsof misbehaves on a Linux
1829 2.0.x m68k kernel without module support, made the
1830 absence of query_module() or get_kernel_syms()
1831 Linux kernel support a fatal error. Updated relevant
1832 sections of 00FAQ to reflect the change.
1834 Added the ability to force the Linux Configure
1835 stanza to use the /proc or /dev/kmem source base
1836 via a LINUX_BASE environment variable specification.
1837 This is a cross-configuration assist.
1839 Added "+D <dir>" and "+d <dir>" options for directory
1840 searching. +D searches the entire tree, starting
1841 at <dir>, including <dir>, its contents, and its
1842 subdirectory branches; +d searches only <dir> and
1843 its contents, but not its subdirectory branches.
1844 Improved lsof's searching of the specified name
1845 list to compensate for anticipated long lists from
1848 Made an egrep in the Solaris Configure stanza usable
1849 by the standard and XPG4 egrep's. Kenneth Stailey
1850 <kstailey@disclosure.com> pointed out the improvement.
1852 Fixed bugs in /dev/kmem-based Linux and UnixWare
1853 Unix domain socket name searching.
1855 Changed a Linux Alpha #include to be conditional
1856 on the presence of its named header file, so that
1857 lsof will compile on Red Hat 5.1 and 5.2 (Linux
1858 kernel 2.0.35) where the header file is absent.
1859 The problem was reported by Alexandre Oliva
1860 <oliva@dcc.unicamp.br>.
1862 Fixed an AIX 4.3+ bug in procinfo struct space
1863 allocation, reported by Jeff Stewart <jws@purdue.edu>.
1864 This was offered as a patch to 4.39.
1866 Added an lstatsafely() function to offer the same
1867 isolation for lstat() calls that statsafely() offers
1868 for stat() calls. This made DOSTAT_FUNCTION no
1869 longer necessary, so deleted it.
1871 With help from Laurent P. Montaron <lpm@sequent.com>
1872 ported lsof to PTX 4.4.4. Laurent did a monumental
1873 job of identifying TCP/IP changes by their TCP
1874 version, rather than by their PTX (With mix 'n
1875 match PTX and TCP/IP versions, the PTX version
1876 often has no bearing on the TCP/IP version.), and
1877 changed the Configure script and pre-processor
1878 #if/#else/#endif blocks to match. He also updated
1879 Unix domain socket handling for PTX TCP/IP versions
1882 Updated CLIENT handle acquisition of fill_portmap()
1883 in print.c to use the more modern RPC function
1884 clnt_create() in place of clnttcp_create() where
1885 possible. PTX 4.4.4 requires clnt_create().
1887 4.41 February 27, 1999
1888 Added FreeBSD 3.1 and and 4.0 support with help
1889 from Sheldon Hearn <axl@iafrica.com>, David O'Brien
1890 <obrien@NUXI.com>, and John Polstra <jdp@polstra.com>.
1892 Corrected bungled AIX 4.3+ patch that went into
1895 Reorganized the Configure script to improve Makefile
1896 construction. A specific impetus for this was to
1897 allow FreeBSD system-wide make flags to be propagated
1898 to the lsof Makefiles, but other goals were to make
1899 sure that the DEBUG= make entry can over-ride
1900 standard CFLAGS values, and to better manage the
1901 identification of compilers and their versions.
1902 Two compiler-related values may now be supplied in
1903 environment variables: 1) the compiler path in
1904 LSOF_CC; and 2) the compiler version in LSOF_CCV.
1905 00XCONFIG documents them.
1907 Added support for Pyramid Reliant Unix bsdsfs,
1908 msockfs, and sockfs file systems.
1910 Added an optional LSOF_CINFO string to Configure,
1911 producing a CINFO string in selected Makefiles,
1912 producing a #define LSOF_CINFO in selected version.h
1913 header files. The purpose of this is to allow
1914 Configure the option to propagate information to
1915 the lsof -v output. It is now used for Linux to
1916 identify the code base, and for HP-UX 10.30 and
1917 11.0 and Solaris 7 to identify the kernel bit size.
1919 Added system information to NEXTSTEP and OPENSTEP
1920 -v output, from the second line of hostinfo's
1923 Fixed a login name buffer overflow problem in the
1924 processing of -u option values. This was offered
1925 as a patch to 4.40. !!!THIS IS A SERIOUS STACK
1926 OVERFLOW BUG; A LINUX EXPLOIT EXISTS FOR IT THAT
1927 OPENS A BASH SHELL WITH LSOF'S AUTHORITY -- E.G,
1928 SETGID(KMEM) POWER!!!
1930 Improved the Solaris mount table filter so the
1931 volume manager's fake mount point, "/vol", is
1932 ignored and doesn't supplant "/" in NAME column
1933 path assemblies. Igor Schein <igor@txc.com> reported
1934 this bug and provided important help in finding
1935 it. This was offered as a patch to 4.40.
1937 Changed the Linux /dev/kmem-based lock ownership
1938 test to answer a problem reported by Tom Christiansen
1939 <tchrist@jhereg.perl.com>. This was offered as a
1942 Installed an HP-UX 11 patch, suggested by Kevin
1943 Vajk <kvajk@cup.hp.com>, that adjusts a private
1944 lsof kernel header file, derived via Q4, to correspond
1945 to an HP-UX patch bundle.
1947 Made NetBSD 1.3I sockproto structure adjustment.
1950 Fixed a typo in the HP-UX dfile.c that caused +fF
1951 and +fN output controls to swap effect.
1953 Enabled for OpenBSD 2.5 per notice from Kenneth
1954 Stailey <kstailey@kstailey.tzo.com>
1956 Made more VM accommodations for FreeBSD 4.0.
1958 Improved file system search reporting to include
1959 path name components when they're available, instead
1960 of mindlessly reporting the file system name in
1961 the NAME column. Guy Dallaire <gdallair@geocities.com>
1962 brought the need for this change to my attention.
1964 Updated Solaris 2.6 VxFS for Veritas Oracle Database
1965 Edition 2.0, VxFS version 3.3, and VxVm version
1966 2.5.4, based on a report from Chris Kordish
1967 <chris.kordish@East.Sun.COM>. Chris kindly provided
1970 Improved HP-UX ipc_s patch detection in Configure,
1971 response in .../dialects/hpux/hpux11/ipc_s.h, and
1972 documentation in 00FAQ, Kevin Vajk <kvajk@cup.hp.com>
1975 Added to Customize the option to suppress HASKERNIDCK
1976 selection for specified dialects. Suppressed it
1977 for /proc-based Linux lsof, and removed its test
1978 and code from there. Tin Le <tin@netimages.com>
1979 alerted me to the need for this update.
1981 Ported to official Digital UNIX 5.0 release.
1983 Changed DU lsof to use the knlist(3) function when
1984 no kernel file has been specified with -k. This
1985 change was suggested by Erich Wimmer
1986 <Erich.Wimmer@digital.com>.
1988 Updated Configure for latest NetBSD (1.3I?) with
1989 UVM support the default.
1992 Corrected a typo in the Solaris gcc discussion in
1993 00FAQ. Made changes to the Solaris 2.5[.1] private
1994 tcp_s structure. Both changes were done in response
1995 to reports from Igor Schein <igor@txc.com>, who
1996 tested the Solaris 2.5 change.
1998 Made more IPv6 adjustments to lsof for Tru64 UNIX
1999 (Digital UNIX) 5.0, based on information obtained
2000 from Compaq by Berkley Shands <berkley@cs.wustl.edu>.
2002 Corrected HP-UX error message about HP-UX 11 q4 usage.
2003 Amir Katz <amir@ndsoft.com> reported the correction.
2005 Fixed a GlibC 2.1 conflict in /proc-based Linux lsof.
2007 Fixed a man page typo reported by Vlad Harchev
2010 Changed some Solaris 2.7 references to Solaris 7
2011 in Configure and 00XPORTING.
2013 Added a Solaris example to the echo statements that
2014 are the install rule in the SunOS/Solaris Makefile.
2016 Added a field to the file structure output --
2017 FILE-FLAG (file structure open flags, f_flag[s],
2018 and process file flags, typically u_pofile)) --
2019 enabled with +f[gG]. Its field output character
2022 Figured out another piece of the HP-UX 11 patched
2023 ipc_s structure puzzle with the help of Keith Kalet
2024 <KEITH_KALET@HP-USA-om41.om.hp.com>.
2026 Fixed a PTX real vnode to real inode interpretation
2029 Added link count to lsof output. Eric Dumazet
2030 <dumazet@risgw.ris.fr> requested and helped test
2031 it. The new +L option enables and filters it.
2032 Its field output character is `k'.
2034 Updated Configure script to recognize NetBSD 1.4.
2036 Updated AFSConfig to handle default answers to
2039 Incorporated patch from Jonathan Sergent <sergent@io.com>
2040 that enables /proc-based Linux lsof to run on both
2041 32 and 64 bit kernels.
2043 Updated Configure script with a patch from David
2044 O'Brien <obrien@NUXI.com> that recognizes FreeBSD 3.2.
2047 Corrected use of nlink member of hsnode for SunOS
2048 4.1.x High Sierra File System files. John Dzubera
2049 <zube@tlaloc.stat.colostate.edu> reported the
2050 problem and helped test the fix. Also fixed a
2051 SunOS segmentation fault bug. These fixes were
2052 offered as a patch to 4.43.
2054 Improved handling of /proc-based Linux UNIX PCB
2057 Fixed a NEXTSTEP and OPENSTEP bug that made repeat
2058 option (-r) processing malfunction. This fix was
2059 offered as a patch to 4.43.
2061 Fixed Configure so it doesn't use -O in the Cflags
2062 for the bundled HP-UX C compiler. Jim Ankenbrandt
2063 <jankenbrandt@penton.com> reported the problem.
2065 Corrected output ordering of parent PID and process
2066 group ID when both -R and -g are specified.
2068 Enhanced the pdev.c and pdvn.c library modules for
2069 wider use. These dialect versions use the new
2070 library modules: DEC OSF/1, Digital UNIX, and Tru64
2071 UNIX; Pyramid DC/OSx and Reliant UNIX; SCO OSR and
2072 UnixWare; and Sequent PTX.
2074 Added basic clone device support to /dev/kmem-based
2075 HP-UX lsof for HP-UX 10.30 and higher.
2077 Added raw socket support to /proc-based Linux lsof.
2079 Changed NODE-ADDR column title to NODE-ID in
2080 anticipation of using more general identification
2081 information in the column.
2083 Ported to UnixWare 7.1, using a test system kindly
2084 provided by Matt Thurmaier <matt@compclass.com>
2085 and Don Draper <dond@sco.com>.
2087 Updated for NetBSD 1.4C VM changes, and a new
2088 current and root working directory structure.
2090 Made minor adjustment for latest Tru64 UNIX 5.0
2094 Fixed quoting problem in DEC OSF/1, Digital Unix,
2095 and Tru64 UNIX Makefile's install rule. The problem
2096 was reported by Berkley Shands <berkley@cs.wustl.edu>.
2097 Fixed bug in Tru64 UNIX 4 lsof that caused FDs to
2098 be skipped. These fixes were offered in a patch
2101 Fixed a repeat-mode /proc-based Linux lsof bug,
2102 reported by Sami Farin <sfarin@ratol.fi>. This
2103 was offered as a patch to 4.44.
2105 Picked lint, some reported by Sami Farin.
2107 Corrected a 00DCACHE documentation error in a sample
2108 shell script. The problem was reported by Chad R.
2109 Larson <chad@larsons.org>. Changed commented-out
2110 entries in machine.h files so they require more
2111 thought and work when the comments are removed,
2112 based on a remark by Chad.
2114 Compensated for the practice of Solaris 7 and above
2115 to record the dev= value in /etc/mnttab in 32 bit
2116 mode, even on 64 bit systems. This was offered as
2119 Added a C library test for /proc-based Linux lsof,
2120 so that the #include files can be adjusted for a
2121 non-GlibC environment. The need for this was
2122 reported by Andrew Hill <andrewh@tirin.openworld.co.uk>.
2123 This was offered as a patch to 4.44.
2125 Added support for Auspex LFS 1.8.1 and 1.9.2 to
2126 SunOS 4.1.4 lsof. The support was requested by
2127 Quentin Fennessy <quentin@dvorak.amd.com>, who
2128 provided information and did testing.
2130 Enabled IPv6 support code for NetBSD and OpenBSD,
2131 conditional on Configure script tests. Wolfgang
2132 Rupprecht <wolfgang@wsrcc.com> supplied the NetBSD
2133 code and tested it. The OpenBSD code I constructed
2134 has been compiled but not tested.
2136 Updated the identd Perl 5 script, based on a report
2137 from Wendy Lin <af5@taiyang.cc.purdue.edu> that
2138 the space in its response line in front of the user
2139 name violates RFC 1413.
2141 Added IPv6 support to /proc-based Linux lsof.
2142 Jonathan Sergent <sergent@ETLA.NET> and Andrew
2143 Thomas Sydelko <sydelko@ecn.purdue.edu> kindly
2144 provided a test system.
2146 Updated man page description of AIX multiplexed
2147 files to indicate that they might be /dev/ptc or
2148 /dev/pts, depending on the AIX version. The
2149 correction was suggested by Onno van der Linden
2152 Sylvain Robitaille <syl@alcor.concordia.ca> reports
2153 lsof passes his Y2K tests.
2155 4.46 October 23, 1999
2156 Corrected /proc-based Linux lsof to detect that an
2157 IPv6 address is a mapped IPv4 address. The problem
2158 was reported and analyzed by Arkadiusz Miskiewicz
2159 <misiek@misiek.eu.org>, who also tested the fix.
2161 Added a libc5 library /dev/kmem-based Linux lsof
2162 circumvention, supplied by Jason Lingohr
2163 <lingman@lucid.net.au>.
2165 Corrected a bug in -t (terse) AIX output, reported
2166 by Wendy Lin <af5@taiyang.cc.purdue.edu>. I
2167 introduced the bug at revision 4.43 when adding
2168 FILE_FLAG reporting. This was offered as a patch
2171 Added a work-around for a problem in the OpenBSD
2172 2.3 <sys/pipe.h> header file. Volker Borchert
2173 <bt@teknon.de> provided and tested it.
2175 Improved description of cross-building lsof for a
2176 64 bit Solaris 7 system on a 32 bit system with
2177 suggestions from Phillip Edwards
2178 <Philip.Edwards@sn.wpafb.af.mil>.
2180 Fixed a gawk POSIX-mode pattern error in the Linux
2181 /dev/kmem-based Mksrc script, based on a tip from
2182 Ambrose C. Li <acli@mingpaoxpress.com>.
2184 Fixed a bug in the Tru64 UNIX IPv6 handling, courtesy
2185 of a report from Casper Dik <casper@holland.sun.com>.
2187 Enabled support for OpenBSD 2.6.
2189 Enabled support for BSDI BSD/OS 4.1, based on a
2190 report from Jeffrey C Honig <jch@bsdi.com> that
2191 only a Configure script change is necessary.
2193 Enabled Configure script to use gcc for building
2194 lsof for a 64 bit Solaris 7 and 8 kernels, if the
2195 gcc version is 2.95 or above.
2197 Improved -i option handling for systems with IPv6
2198 support so that it will search for a host name in
2199 both IPv4 and IPv6 families, when that is possible.
2200 As a companion modification, changed -V processing
2201 to report a single error when a multiple host name
2202 match is requested. Casper Dik <casper@holland.Sun.COM>
2205 Fixed a DEC OSF/1, Digital UNIX, Tru64 UNIX repeat
2206 mode bug, reported by Mayer Ilovitz <mayer@cooper.edu>.
2207 Mayer helped test the fix. The fix was offered as a
2210 Changed Solaris socket file recognition scheme, so it
2211 is (nearly) the same through Solaris 8, where the
2212 previous clone device scheme no longer works.
2214 With significant assistance from Casper Dik, added
2215 support for Solaris 8 Beta and Beta refresh. The
2216 IPv6 support in Solaris 8 is still in some flux,
2217 so there are temporary compensations for the
2218 differences between Beta IPv6 support and Beta
2219 refresh IPv6 support. Casper and I hope those
2220 differences disappear by FCS.
2222 Improved the delivery of information on Solaris
2223 2.5.1, 2.6, 7, and 8 door files.
2225 Fixed a repeat mode bug that surfaces when /etc/passwd
2226 changes between cycles. The bug report and diagnostic
2227 help were supplied by Igor Schein <igor@txc.com>.
2228 The fix was offered as a patch to 4.45.
2230 Added support for INRIA IPv6 to NetBSD. Jean-Luc
2231 Richier <Jean-Luc.Richier@imag.fr> provided patches
2232 and a test system on which to verify them.
2234 Added support for AIX 4.3.3. Jeff W. Stewart
2235 <jws@anaconda.cc.purdue.edu> provided a test system.
2237 Made adjustments for FreeBSD 4.0-current.
2239 Improved reporting of information for AIX sockets that
2240 lack protocol control blocks.
2242 4.47 November 29, 1999
2243 Based on a query from Jean-Pierre Radley <jpr@jpr.com>,
2244 changed the lsof top-level Makefile to propagate
2245 CFGF to the library Makefile. (DEBUG was already
2246 being propagated.) Added osrgcc and scogcc Configure
2247 abbreviations (to use gcc) for Jean-Pierre.
2249 In response to a query from Igor Schein <igor@txc.com>,
2250 improved the Configure script test for Solaris 7
2251 and 8 that decides if the compiler can produce 64
2254 Made an ugly hack, based on making a private rnode
2255 structure definition from q4 output, to compensate
2256 for HP-UX 10.20 and lower recent NFS3 patches. HP
2257 didn't supply an updated <nfs/rnode.h> with the
2258 patches. The problem was reported by Will Partain
2259 <partain@mekb2.sps.mot.com>. Elias Halldor Agustsson
2260 <elias@hi.is> helped identify the patches as
2261 PHNE_18173, PHNE_19426, PHNE_19937, and PHNE_20091,
2262 and provided a test system.
2264 Switched BSDI test system from 2.1 and 3.1 to 4.0.1,
2265 courtesy of Terry Kennedy <terry@tmk.com>.
2267 Added some more dev_t hacks for Alpha FreeBSD 4.0.
2269 Added support for IPv6 on BSD 4.x. The support hasn't
2270 yet been tested, just compiled.
2272 Added support for the mnt file system (mntfs or
2273 /etc/mnttab) on Solaris 8. Tested on Solaris 8
2276 Made selection of optional fields (e.g., PPID with
2277 -FR) in a field output specification select the
2278 optional field, too, so that the option selector
2279 for the field (e.g., -R) isn't also required. This
2280 change was made in response to an inquiry from John
2281 DuBois <spcecdt@armory.com>. This may require some
2282 revision to scripts that parse all field output;
2283 two scripts in the lsof distribution's scripts/
2284 subdirectory had to be updated.
2286 Corrected handling of Linux IPv4 addresses mapped
2289 Tested under OpenBSD 2.6.
2291 4.48 January 14, 2000
2292 Modified -i argument processing of colon-separated
2293 IPv6 addresses to recognize an IPv4 address mapped
2294 in an IPv6 address and handle it as an IPv4 address.
2295 This was offered as a patch to 4.47.
2297 Added a defined symbol (NOWARNBLKDEV) to control
2298 (inhibit) the issuance of a warning when no block
2299 devices are found. This was done anticipating its
2300 need in FreeBSD 4.x, but that dialect version no
2301 longer has any block devices, so HASBLKDEV was
2302 disabled for it instead. NOWARNBLKDEV was left in
2303 place for possible use in the future.
2305 Enabled KAME IPv6 Configure support for FreeBSD
2306 when <netinet6/in6.h> is found.
2308 Disabled use of gcc to compile lsof for 64 bit
2311 Updated Configure to recognized FreeBSD 3.4.
2313 Based on suggestions from Bernt Christandl
2314 <beb@MPA-Garching.MPG.DE> improved AFS configuration
2315 for AIX and Solaris, and updated AIX AFS 3.5 support.
2316 Johannes Tax <tax@bluedog.oit.unc.edu>, Hung T.
2317 Pham <hung_pham@unc.edu>, and Curt Freeland
2318 <curt@grumpy.cse.nd.edu> provided test systems.
2320 Updated lsof's private rnode definition for AIX
2321 4.3.3, since IBM still doesn't ship the
2322 <oncplus/nfs/rnode.h> header file and the rnode
2323 structure definition in <nfs/rnode.h> doesn't match
2324 what the kernel uses. This was offered as a patch
2327 Weakened the test in the Linux /proc-based lsof of
2328 the field count of data lines in /proc/net/{tcp,udp}.
2329 It appears that recent 2.3.x Linux kernels have
2330 added untitled fields to these files. The bug
2331 report came from Gabor Liptak <gaborliptak@usa.net>.
2333 Adjusted for a FreeBSD 4.0 change in the definition
2334 of [_]KERNEL. David O'Brien <obrien@NUXI.com> reported
2335 the problem and provided a test system.
2337 Removed the HASPPID bracket from Fppid (the -R
2338 option state variable) so that the field select
2339 table will compile even when HASPPID is not defined.
2340 This problem was introduced at revision 4.47 with
2341 code that causes some field output characters to
2342 set option states. The problem was reported by
2343 David Bacon <bacon@birch.eecs.lehigh.edu>.
2346 Made clearer in man page that "Lxx" FDs are AIX
2347 loader table references. Also updated the 00FAQ
2348 discussion of the Stale Segment ID bug to include
2351 Modified support for NetBSD 1.4Q to include the
2352 <sys/buf.h> header file to cope with an MFS change.
2354 Added support for OpenBSD UVM virtual memory.
2356 Added support for AIX systems with > 2GB of memory.
2357 Chris Sylvain <csylvain@itg.ummc.umaryland.edu>
2358 reported the problem and provided the solution.
2359 Chris also supplied some minor code cleanup. This
2360 was offered as a patch to 4.48.
2362 Based on new information from Igor Schein <igor@txc.com>
2363 made additional compensation in Configure script
2364 for 64 bit Solaris 7 and 8 gcc.
2366 Added some 00FAQ info on the effect ordering of
2367 the +fg and -FG options has on output format.
2369 Improved NetBSD IPv6 configuration, based on a
2370 suggestion from Thomas Klausner
2371 <wiz@danbala.ifoer.tuwien.ac.at>. Added code to
2372 convert IPv4-mapped-in-IPv6 addresses to IPv4
2375 Updated the information in 00FAQ and the HP-UX 11
2376 binary directory README files on the HP-UX 11 ipis_s
2377 patch with new information supplied by Eric McWhorter
2378 <emcwhorter@xsis.xerox.com>.
2380 Added documentation on changes to HASFSTYPE and
2381 HASNCACHE, and the new HASPRIVPRIPP.
2383 Adjusted Configure for FreeBSD 5.0. Made additional,
2384 necessary changes to Configure and the BSDI sources
2385 to eliminate load errors.
2387 Added KAME IPv6 support to FreeBSD at the request
2388 of Ollivier Robert <roberto@eurocontrol.fr>, who
2389 provided a test system.
2391 Corrected the script that generates the CHECKSUMS
2392 files for binaries to correctly name the detached
2393 PGP certificate. The documentation bug was reported
2394 by Michael Hennecke <hennecke@rz.uni-karlsruhe.de>.
2397 Added a NetBSD alpha test host, courtesy of Ray
2398 Phillips <r.phillips@mailbox.uq.edu.au>. An lsof
2399 4.49 binary, built on Ray's 1.4.1 system was made
2400 available prior to the 3.50 release.
2402 Upgraded the system map file tests in /dev/kmem-based
2403 Linux lsof, making the use of DEBIAN_LINUX_LSOF
2404 unnecessary. Tested the changes on a system made
2405 available by Vincent Kujala <kujala@geog.ubc.ca>
2406 and Jim Mintha <jim@ic.uva.nl>.
2408 Forced AIX to use the large-file-enabled versions
2409 of lstat (lstat64) and stat (stat64) if <sys/stat.h>
2410 contains stat64. This should allow lsof to stat()
2411 AIX files > 2GB even when the builder has not
2412 defined the "large file enabled programming
2413 environment." Configure tests <sys/stat.h> and
2414 puts -DHASSTAT64 in the Makefile's CFLAGS to make
2415 this happen. Fernando A.B. Whitaker
2416 <whitaker@cenapad.unicamp.br> reported the problem.
2417 This was offered as a patch to 4.48.
2419 Enabled Configure script to handle OpenBSD 2.7.
2420 Angelos D. Keromytis <angelos@dsl.cis.upenn.edu>
2421 reported the availability of OpenBSD 2.7 and supplied
2422 the Configure script patch.
2424 Improved handling of DOOR and fattach()'d files in
2427 Changed message about missing kernel symbol file
2428 from "not yet determined" to "none found".
2430 Updated FreeBSD, NetBSD, NEXTSTEP, OpenBSD, and
2431 OPENSTEP support to report "no PCB" and the values
2432 of the SO_CANTSENDMORE and SO_CANTRCVMORE state
2433 flags when a socket structure has no inpcb pointer.
2434 This modification was made to AIX lsof at revision
2435 4.46. Added an entry to 00FAQ about sockets that
2436 have no inpcb pointer.
2438 Upgraded support for FreeBSD 5.0-CURRENT. Ben
2439 Smithurst <ben@scientia.demon.co.uk> supplied
2440 patches and did testing. David O'Brien <obrien@NUXI.com>
2441 supplied a test system. The update included dropping
2442 the Fctty part of file descriptor file system
2443 support, conditional on a Configure script test.
2444 I propagated those changes to BSDI, NetBSD, and
2445 OpenBSD in anticipation of their having the
2446 modification in the future. David also arranged
2447 with Michael Haro <mharo@area51.fremont.ca.us> for
2448 a FreeBSD 3.4 test system.
2450 In response to an lsof 3.72 bug report from Jim Mewes
2451 <jim@corp.phone.com>, added more kernel address
2452 filtering to the lsof function, kread(), that reads
2453 Solaris kernel data.
2455 In response to a report from Marc Duponcheel
2456 <marc@offline.be>, added tests to the /proc-based
2457 Linux lsof to ignore file systems of types "autofs"
2460 Based on a report and information supplied by Casper
2461 Dik <casper@holland.Sun.COM>, updated the ncache_load()
2462 function in lib/rnch.c with new code that deals
2463 with a post Solaris 8 change in kernel name cache
2464 (DNLC) handling. Casper tested the update, which
2465 should be invisible to Solaris versions without
2468 Added support for Solaris VxFS QIO files, based on
2469 a report from Kieran Broadfoot <kieran.broadfoot@gs.com>.
2470 Kieran help test the support.
2472 Added support for PTX 4.4.6 and 4.5[.1] with help
2473 from the usual cast of good people at Sequent.
2475 Added support for 64 bit file sizes and offsets on
2476 BSDI, FreeBSD, NetBSD, and OpenBSD, based on a
2477 report from Dan Nelson <dnelson@emsphone.com>.
2478 Dan supplied a patch and did FreeBSD testing.
2480 Added Configure script recognition of NetBSD 1.5,
2481 based on a report from Andrew Brown <atatat@atatdot.net>.
2482 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at> updated
2483 the NetBSD port package to use a pre-release of this
2486 At the last minute saw a notice via deja.com's
2487 UseNet search service that FreeBSD 3.5 had been
2488 released and lsof didn't grok it. Added recognition
2489 of 3.5 to lsof's Configure script, but didn't have
2490 the opportunity to test lsof on 3.5.
2492 4.51 August 21, 2000
2493 Added Configure script support for the upcoming
2494 Solaris 9 release based on suggestions from Casper
2495 Dik <Casper.Dik@holland.sun.com>.
2497 Changed sample Perl scripts to assume that
2498 /usr/local/bin/perl is Perl 5 and Perl 4 may be
2499 found in /usr/local/bin/perl4.
2501 Updated Configure to recognize FreeBSD 4.1 and made
2502 a FreeBSD pre-release distribution available.
2504 Bela Lubkin <belal@sco.COM> tested lsof on the
2505 upcoming SCO OSR 5.0.6 release and reports that
2506 lsof appears to work properly.
2508 Updated the AIX compiler test in Configure to
2509 recognize its version 5.
2511 Updated AIX 4.3.3 support with automatic recognition
2512 of the proper rnode structure, based on machine
2513 bit width. Also added code to detect when processing
2514 the -X option that lsof has been compiled with the
2515 "other" AIX 4.3.3 user structure and to apply
2516 compensations. When a compensation method works,
2517 it's applied during subsequent -X processing; when
2518 none works, further -X processing is disabled.
2520 Added Tru64 UNIX 5.1 support. Updated Tru64 UNIX
2521 library text file support to recognize new kernel
2522 support for AdvFS library files. Berkley Shands
2523 <berkley@cs.wustl.edu> and Klaus Saggerer USG
2524 [saggerer@zk3.dec.com> helped put me in contact
2525 with Chang Song <song@zk3.dec.com>, the developer
2526 of 5.1's new kernel name cache and he helped me
2527 develop new code in lsof to access it.
2529 Corrected reporting of PTX fattach()'d address.
2531 Changed Configure and dlsof.h for NetBSD and OpenBSD
2532 to use /usr/include/uvm header files when available.
2533 Andrew Brown <atatat@atatdot.net>, Thomas Klausner
2534 <wiz@danbala.ifoer.tuwien.ac.at>, and Wolfgang
2535 Rupprecht <wolfgang@wsrcc.com> pointed out the need
2536 to do this for NetBSD. Andrew provided access to
2537 a NetBSD 1.5 system for verifying the changes.
2539 Installed snprintf() support, including a private
2540 version in the lsof library for those UNIX dialects
2541 without the function. Changed all sources to use
2542 it instead of sprintf() and strcpy().
2544 Fixed a memory leak in the readvfs() functions of
2545 BSDI, DEC/OSF1, Digital UNIX, FreeBSD, NetBSD,
2546 OpenBSD, and Tru64 UNIX.
2548 Tested on Linux 2.4.
2550 Modified the Pyramid MkKernOpts script to compensate
2551 for `uname -s` configuration alternatives. Robert
2552 Dahlem <Robert.Dahlem@ffm2.siemens.de> supplied
2555 Obtained access to an FCS Solaris 8 64 bit system
2556 and built lsof on it, using Sun Workshop C 5.0 and
2557 gcc 2.96 20000814 (experimental). Both compilers
2558 produce a working lsof.
2561 4.52 November 8, 2000
2562 Completed work on an HP-UX 11.11 port that uses a
2563 pstat(2) interface provided by HP. To distinguish
2564 it from its predecessors for HP-UX, this lsof
2565 version is called PSTAT-based and the predecessor
2566 versions are now called /dev/kmem-based. I am
2567 indebted to the far-sightedness and support of
2568 these good people at HP for making PSTAT-based lsof
2569 possible: Carl Davidson, Louis Huemiller, Rich
2570 Rauenzahn, and Sailu Yallapragada. The PSTAT-based
2571 sources are in lsof_4.52/dialects/hpux/pstat, the
2572 /dev/kmem-based ones in lsof_4.52/dialects/hpux/kmem.
2574 Ported to IBM Monterey for Merced|Itanium, aka AIX
2575 5L. It configures via the Configure script's "aix"
2576 abbreviation and has been tested on AIX 5L Beta 3.
2577 Jay Beck, Steve Dibbell, Loc Le, Nasser Momtaheni,
2578 and Malcom Zung of IBM provided generous support.
2579 Since AIX 5L is still in Beta testing, this port
2580 can't be considered complete.
2582 Added Configure support for OpenBSD 2.8. David
2583 Mazieres <dm@cs.nyu.edu> provided a test system.
2585 Based on a report from Marc Christensen
2586 <marc@mecworks.com> added sockfs to the mount scan
2587 exemption list for /proc-based Linux lsof.
2589 Added large file, CDFS, and DOSFS for UnixWare 7.x.
2590 Added UnixWare device memory mapping support. All
2591 UnixWare changes were supplied by Eric Dumazet
2592 <edumazet@cosmosbay.com> Eric also supplied some
2593 miscellaneous bug fixes.
2595 Deferred name cache loading until printname() needs
2596 to use the name cache.
2598 Terminated Pyramid, SunOS 4.1.x, and Ultrix support,
2599 because test systems are no longer available.
2600 Final Pyramid and Ultrix source code distributions
2601 for lsof revision 4.51 may be found on lsof.itap.purdue.edu
2602 in pub/tools/unix/lsof/OLD/src. The no longer
2603 supported SunOS 4.1.x source code is still distributed
2604 with the Solaris source code.
2606 Added code to set Solaris node address to real vnode
2607 address, when applicable.
2609 John Speno <speno@lopan.isc-net.upenn.edu> provided
2610 information that enabled me to update the Tru64
2611 AdvFS (MSFS) node definition for AdvFS version 5.
2613 Added Tru64 5.x CFS support with help from Kris
2614 Chandrasekhar <Kris.Chandrasekhar@compaq.com>,
2615 Diane Lebel <lebel@zk3.dec.com>, and John Speno.
2616 The support only provides information about cached
2619 Installed a Configure patch for HP-UX 11 supplied by
2620 Kenneth Stailey <kstailey@disclosure.com> that adds
2621 another command to q4 input.
2623 Tested on FreeBSD 4.2.
2625 Will Day <willday@rom.oit.gatech.edu> and Frank
2626 Winkler <frank.winkler@germany.sun.com> graciously
2627 supplied Solaris 8 binaries.
2629 Added Solaris 9 text file support, supplied by
2630 Casper Dik <Casper.Dik@holland.sun.com>.
2632 4.53 December 6, 2000
2633 Added the AIX 5L j2_lock.h to the distribution with
2634 a Configure script step to use it when it's missing
2635 from /usr/include/j2.
2637 Removed SunOS 4.1.x support.
2639 Removed Linux 2.0.x /dev/kmem support.
2641 Fixed VBLK and VCHR special device file reporting
2642 to handle /dev information more accurately.
2644 Added a Apple Darwin / Mac OS X 1.2 port, provided
2645 by Allan Nathanson <ajn@apple.com>. Allan also
2646 arranged for a test system so I can maintain this
2647 port. An additional test system was provided by
2650 Dropped claims of support for all UnixWare versions
2651 except 7.1.0, since that is the only version on
2652 which I can test lsof. Even though lsof 4.53 is
2653 deprecated for UnixWare 2.1.3, installed a patch
2654 for it with testing done by A. Channing Clark
2655 <clark.channing@heb.com>.
2657 Dropped claims of support for all SCO OpenServer
2658 versions except 5.0.5, since that is the only
2659 version on which I can test lsof.
2661 4.54 January 19, 2001
2662 Added compensation for a change that made the
2663 FreeBSD mount structure invisible. I can only test
2664 back to 3.2 and the compensation works there, so
2665 it's been #ifdef'd for 3.2 and above. David O'Brien
2666 <obrien@FreeBSD.org> provided the necessary clue.
2668 Based on a report from Valdis Kletnieks
2669 <Valdis.Kletnieks@vt.edu>, changed all IPv6 support
2670 to report a TYPE of IPv6 for sockets with IPv4
2671 addresses mapped in IPv6 addresses. The previous
2672 lsof behavior was to report their TYPE as IPv4.
2674 Restored the Linux GlibC test to Configure, removed
2675 at revision 4.53, based on a report from John Dzubera
2676 <zube@cs.colostate.edu>, that RedHat Linux 6.0 still
2679 Made setting of link count for Solaris more selective.
2681 Limited Readlink() recursion to MAXSYMLINKS. The bug
2682 was reported by Jan Dvorak <johnydog@go.cz>.
2684 Dropped the *claim* that lsof runs on Solaris 2.5.1.
2685 It may well do so, but I no longer have access to a
2688 Fixed an #endif comment typo, reported by Igor Schein.
2690 Fixed a typo in a cast for a Tru64 UNIX 5.1 function
2691 and updated Configure for Tru64 UNIX 5.0 and 5.1 with
2692 information from Jesse Perry <jesse.perry@compaq.com>.
2694 Corrected non-fatal typos in the AdvFS support in
2695 dnode.c for Tru64 UNIX.
2697 Added msdos file system support for NetBSD and OpenBSD.
2698 Andrew Brown <atatat@atatdot.net> requested and helped
2701 4.55 February 15, 2001
2702 Based on a report from Bernd Eckenfels <ecki@lina.inka.de>
2703 added support in lsof for files in /proc/<PID>/maps
2704 that have been deleted.
2706 Changed PGRP output title to PGID, conforming to
2707 the most common current abbreviation for Process
2708 Group ID (PGID). While some systems continue to
2709 use *pgrp for internal kernel variable names, most
2710 systems that support the display of PGID via ps(1)
2711 now title it PGID. The lsof -g and -Fg options
2712 operations are unchanged in function; only titles
2713 and descriptions have changed. Also changed internal
2714 variable names from *PGRP and *pgrp to *PGID and
2715 *pgid where possible.
2717 Dropped the *claim* that lsof runs on HP-UX 9.x.
2718 It may well do so, but I no longer have access to
2721 In response to a suggestion from Jeff Howie
2722 <jeff.howie@federated.ca> added support for command
2723 name selection by regular expression. A new form
2724 of the -c option value is use to identify and
2725 specify a regular expression.
2727 Restore the *claim* that lsof works on UnixWare
2728 7.0, since I re-acquired a test system.
2731 Corrected some problems Amir Katz <Amir_Katz@bmc.com>
2732 found with Insure++, one in lib/dvch.c, the rest
2733 in Solaris sources. Amir's report also helped me
2734 find an error in an snpf() call that caused (the
2735 unsupported) Solaris 2.5.1 lsof to crash. Wally
2736 Winzer, Jr. <wally.winzer@ChampUSA.COM> helped test.
2738 Added support for UnixWare 7.1.1 and above in-kernel
2739 UNIX sockets. John Hughes <john@Calva.COM> kindly
2740 provided code and access to a test system. John
2741 also provided a test system and advice for adding
2742 UnixWare 7.1.1 NonStop Cluster and CFS support.
2743 More help with that effort came from Kurt Gollhardt
2744 (SCO), Barbara Howe (SCO), Bela Lubkin (SCO), and
2745 Dewan Rashid <Dewan.Rashid@ir.com>.
2747 Archived a set of compilation hints (patches) from
2748 Bill Melvin <Bill.Melvin@esc.edu> that make it
2749 possible to compile the old, unsupported lsof 3.08
2750 sources on UnixWare 1.x without NFS or CDFS support.
2752 Installed support supplied by Allan Nathanson
2753 <ajn@apple.com> for the Darwin "Gold Master" release,
2754 Mac OS X 10.0 (aka Darwin 1.3 in its public source
2755 version). Added Allan's CVS repository suggestions
2756 to the script that gets additional header files
2757 from an open source repository.
2759 Tested an HP-UX 11.11 kernel patch from Sailu
2760 Yallapragada that enables reporting of TCP/IP
2761 information for telnetd processes that use the
2762 telnet multiplexor. I don't yet know the kernel
2765 Made the Solaris inclusion of <inet/mi.h> conditional
2766 on the Solaris version. (It's apparently not needed
2767 at 2.6 and above.) Bill Watson <bill.watson@uk.sun.com>
2768 brought this to my attention.
2770 Added alternate Linux 2.4.x lock extent test, supplied
2771 by Jim Mintha <jim@ic.uva.nl>.
2773 Rearranged the lines and pre-processor tests in
2774 regex.h, lib/regex.c, and lib/snpf.c so that unifdef
2775 can be used to eliminate copyright and GPL statements
2776 when the files aren't being used for a particular
2777 dialect. (USE_LIB_* definitions in a dialect's
2778 machine.h header file determine if one or more of
2779 those three files are to be used.)
2781 Added preliminary support for Solaris 8 with VxFS
2782 3.4. This support will be refined as I get
2783 information from Veritas about how they will
2784 distribute the kernel header files lsof needs.
2785 Those header files were omitted from the standard
2786 VxFS 3.4 distribution. Technical assistance and
2787 testing were provided by Calle Dybedahl <cdy@algonet.se>,
2788 Gary Millen <gary.millen@veritas.com>, Rainer Orth
2789 <ro@TechFak.Uni-Bielefeld.DE>, Peter C. Vernam
2790 <pvernam@draper.com>, and Donna Yobs
2791 <Donna.Yobs@veritas.com>
2793 Tested on FreeBSD 4.3-STABLE.
2795 Dropped the *claim* that lsof works on UNIX dialects
2796 where I no longer have test systems: BSDI 2.1,
2797 3.[01] and 4.0; DEC OSF/1, Digital UNIX and True
2798 64 UNIX 2.0 and 3.2; FreeBSD 2.1.[67], 2.2[.x],
2799 3.[012345] and 4.[01]; HP-UX 10.20; NetBSD 1.[234];
2800 SCO OpenServer 5.0.5; and SCO UnixWare 7.0
2802 Tested on Solaris 9 BETA, s81_36.
2805 Help (-h) and version (-v) output now have URLs
2806 for the newly created and timeliest lsof FAQ
2807 (00FAQ in the lsof distribution) at:
2809 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/FAQ
2811 and the man page for the current lsof distribution
2814 ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_man
2816 Based on a report from Steve Laubscher
2817 <slaubs@woodward.com>, modified dlsof.h for PTX
2818 4.6[.1] to avoid a temporary dnlc_t definition
2819 needed at PTX 4.5.1.
2821 Corrected test for old Linux kernels in Configure.
2822 Henri Karrenbeld <ishtar@cal044202.student.utwente.nl>
2823 brought the error to my attention. Limited Linux
2824 claims to 2.1.72 and above in the documentation.
2826 Improved HP-UX 11 Configure stanza and stream socket
2829 Constructed a work-around for the HP-UX 11 optional
2830 OnlineJFS package. The work-around sadly requires
2831 lsof to have a private version of the vx_inode
2832 structure, since the OnlineJFS package doesn't
2833 update <sys/fs/vx_inode.h>. Troyan Krastev
2834 <Troyan.Krastev@ricoh-usa.com> brought the bug to
2835 my attention and Michael Bracewell
2836 <michael@ra.TSS.PeachNet.EDU> provided a test system
2837 where I developed the work-around.
2839 Added locale support to lsof's isprint() test,
2840 based on a suggestion from Dan Mercer <damercer@mmm.com>.
2841 Lsof will use setlocale(), when that function and
2842 its supporting <locale.h> header file are available.
2844 Added OpenBSD 2.9 support.
2846 Based on a report from Aaron Rhodes <arhodes@psionic.com>
2847 and with testing help from Aaron, made the lsof
2848 4.56 revision compile and work on OpenBSD 2.6.
2849 While that OpenBSD version is no longer supported,
2850 Aaron's report exposed a Configure script bug
2851 affecting OpenBSD versions lsof does support.
2853 Updated for FreeBSD 5.0-CURRENT. Szilveszter Adam
2854 <sziszi@petra.hos.u-szeged.hu> help test. The lsof
2855 FreeBSD ports packager, David O'Brien <obrien@FreeBSD.org>,
2858 Tested on AIX 5.1. Loc Le and Nasser Momtaheni of
2859 IBM provided test systems.
2861 4.58 September 13, 2001
2862 Added options to safestrprt() and safestrprtn() to
2863 surround the string with '"' and to suppress the
2864 printing of an ending '\n'. Use of these functions
2865 in device cache file error message reporting answers
2866 a suggestion for better error reporting from John
2867 Jackson <jrj@purdue.edu>.
2869 Fixed a Solaris 2.6 and above problem related to
2870 searching for "large" (O_LARGEFILE) files by name;
2871 lsof was using the wrong version of [l]stat(2).
2872 The bug was reported by Daniel Trinkle
2873 <trinkle@cs.purdue.edu>.
2875 Added AIX 4.1.4 and above XTI socket support.
2877 Added OSR Xenix Shared Data and Semaphore file type
2878 support with modifications supplied by Bela Lubkin.
2880 Updated OPENSTEP support with modifications from Carl
2881 E. Lindberg <lindberg@clindberg.org>. The changes
2882 enable the correct reporting of executable and
2883 library open files ("txt" type).
2885 Limited claims of OpenServer support to the versions
2886 where I currently test, 5.0.4 and 5.0.6. (Lsof
2887 probably works on 5.0.5.)
2889 Enabled processing of -C option for PSTAT-based HP-UX
2892 Enabled and tested on FreeBSD 4.4.
2894 Corrected a file system test example in 00QUICKSTART,
2895 based on a report from Jun Biao WANG <wangjunb@cn.ibm.com>.
2897 Made available for re-distribution a user-contributed
2898 port of lsof 4.51 to Reliant UNIX 5.45. Thomas
2899 Mauterer <Thomas.Mauterer@philosys.de> contributed
2902 4.59 October 20, 2001
2903 With the closing of the Sequent Synergy Links Lab
2904 by IBM, terminated lsof support for PTX. The last
2905 tested PTX lsof revision, 4.58, is available on
2906 lsof.itap.purdue.edu in .../lsof/OLD/src.
2908 Adjusted for FreeBSD 5.0-CURRENT NFS header file
2909 changes, based on a report from Jos Backus
2912 Corrected a bug in the way Linux lsof identifies
2913 the owner of a process. Lionel Cons <lionel.cons@cern.ch>
2914 reported the problem and tested the fix. Added
2915 code to avoid stat(2) calls on regular Linux files
2916 whenever possible. Lionel reported the need to do
2917 this (AFS files) and tested the new code.
2919 Added new output field for raw device number in
2920 hex. The field is identified with 'r'. This field
2921 is NOT selected when -F or -F0 is specified so that
2922 its appearance won't disturb existing scripts that
2923 process field output.
2925 Added support for OpenUNIX 8. A test system was
2926 provided by Larry Rosenman <ler@lerctr.org>.
2927 Matthew Thurmaier <matt@compclass.com> and many
2928 people from Caldera provided technical assistance.
2930 Added an additional UVM test to the NetBSD Configure
2931 stanza. Andrew Brown <atatat@atatdot.net> supplied
2932 the test; it recognizes NetBSD 1.5Y UVM changes to
2933 the vnode structure recently committed by Chuck
2936 Applied Configure and get-xnu-headers.sh script
2937 changes suppled by Allan Nathanson <ajn@apple.com>
2940 Added for Bela Lubkin <belal@mammoth.ca.caldera.com>
2941 OSR-specific environment variables to supply values
2942 to the Configure script. The variables are described
2945 Added an IP version selector to the -i option
2948 4.60 November 9, 2001
2949 Added special handling to and corrected bugs in
2950 the matching of IPv4 in IPv6 addresses to -i6:<...>
2953 Made 00FAQ corrections and updates, based on
2954 discussions with Igor Schein <igor@txc.com>.
2956 Modified Configure script to detect a 64 bit capable
2957 gcc compiler and permit it to be used to build 64
2958 bit (PA-RISC 2) lsof for HP-UX 11.00. Tested with
2959 HP's gcc package, which Rich Rauenzahn of HP kindly
2960 installed on a test system at HP. Stefan Marquardt
2961 <stefan.marquardt@hagebau.de> helped test.
2963 Made lsof's method of killing its child process
2964 more robust, based on a suggestion from Bela Lubkin
2965 <belal@caldera.com>.
2967 Modified all dialect Makefile segments to accept
2968 select -v #define's from the environment -- a
2969 builder's comment, host, logname, system information
2970 and user name. This was done for Bela Lubkin, so
2971 he can "tune" the -v output when he packages lsof
2972 in the upcoming Caldera OSR 5.0.7 release.
2974 Changed Perl scripts in scripts/ to put the lsof
2975 path consistently in $LSOF. Also added a fix from
2976 Bela Lubkin to scripts/big_brother.perl5 that allows
2977 it to tolerate SCO OSR "ago" clauses in open UDP
2978 file information. Strengthened emphasis in
2979 scripts/00README that the scripts are examples that
2980 shouldn't be expected to run on all UNIX dialects
2981 without modification.
2983 At Bela Lubkin's suggestion changed the device
2984 cache file format examples in 00DCACHE and 00FAQ
2985 to avoid "%U%". That's an SCCS escape sequence.
2987 Added support for OpenBSD 3.0.
2989 Added +DAportable to CFLAGS for 32 bit HP-UX 11.
2990 Amir Katz <Amir_Katz@bmc.com> suggested the addition.
2992 4.61 January 22, 2002
2993 Updated field output example Perl scripts in the
2994 scripts/ subdirectory to discover the lsof path,
2995 starting at .. and proceeding through the PATH
2996 environment variable's directories.
2998 Added minor OSR Configure script fixes, provided
2999 by Bela Lubkin <belal@caldera.com>.
3001 In response to a report from Joshua Wright
3002 <Joshua.Wright@jwu.edu> modified NetBSD and OpenBSD
3003 Configure stanzas and sources so that lsof can be
3004 built when there is no system source tree (e.g.,
3007 In response to a report from Peter Valchev
3008 <pvalchev@openbsd.org> improved the UVM test in
3009 the OpenBSD Configure stanza.
3011 Updated Configure script to recognize FreeBSD 4.5.
3012 Updated for FreeBSD 5.0 procfs and pseudofs changes.
3014 Updated HP-UX stanza to see if the compiler named
3015 in the LSOF_CC environment variable is the bundled
3016 compiler. If it is, "-O" is omitted from the
3019 Updated Digital UNIX 4.x and Tru64 UNIX error message
3020 related to kernel name list failures. Added an FAQ
3021 section about how a kloadsrv daemon failure can cause
3022 knlist(3) to fail. The condition was reported by
3023 Douglas B. Jones <douglas@gpc.peachnet.edu>
3025 Based on a report from Mark W. Eichin <eichin@thok.org>
3026 made Linux lsof capable of handling and reporting
3027 file sizes greater than 32 bits.
3029 Tested on Solaris 9 BETA-Refresh.
3031 Corrected a bug in the matching of IPv4 addresses,
3032 mapped in IPv6 addresses, to an IPv4 parameter to
3035 Ported to 64 bit Power AIX 5.1 kernel with advice
3036 from David Clissold <cliss@austin.ibm.com> and Marc
3037 Stephenson <marc@austin.ibm.com>, and on a test
3038 system provided by Loc Le <lple@us.ibm.com>.
3041 Updated 00README to reflect the usefulness of gcc
3042 for building AIX lsof. Documented a report from
3043 Brian L. Gentry <BGentry@nationsrent.com> of success
3044 on AIX 4.3.3. I documented my success on 32 bit
3045 Power AIX 5.1 and my lack of success on ia64 AIX
3046 5.1 and 64 bit Power AIX 5.1.
3048 Improved UnixWare >=7.1.1 reporting of UNIX socket
3049 NAME field information for NonStop Cluster systems
3050 with a patch provided by John Hughes <john@Calva.COM>.
3051 Offered John's improvement as a patch to lsof 4.61.
3053 Corrected bugs in handling of open files on block
3054 devices by OSR lsof. The bugs were reported by
3055 Bela Lubkin <filbo@deepthought.armory.com>.
3057 Fixed bug in writing >32 bit device numbers for
3058 block devices to the device cache file.
3060 Added support for reporting block special nodes
3061 not in /dev (or /devices). That required "like
3062 device special" be changed to "like block special"
3063 and "like character special". (00FAQ was updated.)
3065 Based on a report from Peter Valchev <pvalchev@openbsd.org>
3066 improved the definition of the source for NetBSD
3067 and OpenBSD kernel symbols (the nlist() source
3068 file). NetBSD now defaults to getbootfile(3) if
3069 it is available, /netbsd otherwise. OpenBSD now
3070 defaults to /dev/ksyms if it is available, /bsd
3073 Made possible compilation under BSD/OS (BSDI) 5.0
3074 with changes to Configure, dialects/bsdi/dlsof,
3075 dialects/bsdi/dproc.c and lib/rnmh.c. The changes
3076 were suggested by Steven Hinkle <hinkle@bsdi.com>.
3077 Note that these changes do not substantiate a claim
3078 that lsof works on BSDI 5.0, because I haven't
3081 Updated OpenUNIX private <sys/fs/memfs_mnode.h>,
3082 based on a report from Larry Rosenman <ler@lerctr.org>
3083 that it had been updated by Caldera patch OU800PK3.
3084 Unfortunately the patch only corrects some of the
3085 problems with the header file, so it is still
3086 necessary to distribute a private patched version
3087 of it with the lsof sources.
3089 Applied a man page correction reported by Frederic
3090 Delanoy <max_ok@yahoo.com>.
3092 Corrected cast bugs related to using the HP-UX
3093 bundled C compiler on HP-UX 11.11.
3096 Added HPUX_BOOTFILE environment variable for use
3097 by the Configure script in determining HP-UX kernel
3098 configuration information -- e.g., the state of
3099 the ipis_s structure in the HP-UX 11 kernel. The
3100 change was suggested by Marc Bejarano <beej@alum.mit.edu>.
3101 Marc also suggested some changes to the HP-UX
3102 section in 00FAQ that discusses Configure's use of
3105 Fixed a bug in the Solaris lsof file system matching
3106 code. It was not reporting that VCHR files in
3107 /devices were in / when /devices was in /, too.
3109 Corrected bugs in device number, file size, file
3110 offset, and raw device number field output generation.
3112 Added recognition of OpenBSD 3.1 to the Configure
3113 script with a suggestion from Peter Valchev
3114 <pvalchev@sightly.net>. Note that this change does
3115 not constitute a claim that lsof works on OpenBSD
3116 3.1, because I haven't tested it there.
3118 Built an automated test suite. (See 00TEST and
3119 the tests/ sub-directory of the lsof main directory).
3120 Bela Lubkin requested it. Dale Talcott, John
3121 Hughes, and Larry Rosenman helped me validate it
3124 During the development of the test suite I discovered
3125 the following lsof bugs or missing features, and
3126 corrected or supplied them.
3128 * Corrected the reporting of locks for:
3129 o Digital UNIX 4.0d and Tru64 Unix 5.[01];
3130 o HP-UX 10.30 and 11.00;
3134 * Enabled HP-UX 10.30 and 11.00 to report open NFS
3137 * Corrected the reporting of UNIX domain socket
3138 names for Apple Darwin, FreeBSD 4.5 and above,
3139 NetBSD 1.4.1 and above, and for OpenBSD 3.0 and
3142 * Enabled HP-UX 11.11 to stat(2) large files.
3144 * Fixed handling of combination 32 and 64 bit
3145 device numbers in AIX 64 bit architectures.
3147 Updated the AIX 4.3.3 NFS rnode recognition code,
3148 first installed at revision 4.51. It looks like
3149 some IBM update has restored a single rnode structure
3150 independent of the machine bit width.
3152 Updated the NetBSD and OpenBSD sources so NetBSD
3153 can process DTYPE_PIPE files, as OpenBSD was already
3156 Updated Darwin get-xnu-headers.sh script to reflect
3157 information about a recent reorganization of the
3158 Darwin CVS hierarchy, supplied by Allan Nathanson
3161 Added defense against the standard I/O descriptor
3165 Corrected some FreeBSD pre-processor directives.
3166 David O'Brien <obrien@NUXI.com> pointed them out.
3168 Updated lsof's main() function to: 1) close all
3169 open file descriptors above 2 before starting; and
3170 2) to set a non-interfering umask. Moved GET_MAX_FD
3171 test from misc.c to proto.h, so that main() could
3172 use it. Added multiple-include protection to
3175 Moved FAQ's test suite Q's & A's to a more appropriate
3176 section. Added a Q&A on HASSECURITY option and
3177 its affect on searching for open files. (That was
3178 already in the man page.)
3180 Updated hpux/kmem/dnode.c for HP-UX < 11 compilation
3181 with information from John Dzubera <Zube@CS.ColoState.EDU>.
3182 While lsof doesn't support HP-UX < 11 any more, I
3183 try to avoid disabling it there when possible, and
3184 a locking fix for HP-UX >= 11 in lsof 4.63
3185 inadvertently disabled compilation of lsof for
3186 HP-UX < 11. Fixed long-standing bug in HP-UX 10.20
3189 Removed language from the test suite programs that
3190 requires an ANSI-C compiler. This allowed the test
3191 suite to be validated with cc and gcc on the un-
3192 supported HP-UX 10.20.
3194 At the suggestion of Manuel Bouyer <bouyer@antioche.eu.org>
3195 switched NetBSD and OpenBSD lsof from using nlist()
3196 to using kvm_nlist(). Made the same change for
3197 BSDI, Darwin, and FreeBSD.
3199 Validated test suite on OPENSTEP 4.2.
3201 In response to a suggestion from Jeff Stoner
3202 <jstoner@blackboard.com> enhanced support for the
3203 FD list of the -d option to allow it to be either
3204 an exclusion or inclusion list, using the '^' prefix
3205 to denote exclusions.
3207 Made adjustments for FreeBSD 4.6 and 5.0-CURRENT.
3208 Fixed a FreeBSD /etc/make.conf CFLAGS extraction
3209 bug, reported by Kris Kennaway <kris@obsecurity.org>,
3210 and new a bug in the fix, reported by Eric Cronin
3211 <ecronin@eecs.umich.edu>
3213 Added nullfs support for FreeBSD, NetBSD, and OpenBSD
3214 at the request of Andrew Brown <atatat@atatdot.net>.
3216 Modified all readmnt() functions to ignore mounted-on
3217 directory names that don't begin with '/'.
3219 Tested on NetBSD 1.6A and OpenBSD 3.1.
3221 Upgraded to Solaris 9 FCS with two changes to the
3222 BETA-Refresh support: 1) an adjustment to dnode.c
3223 for a change in the so_so (sonode) structure; and
3224 2) addition of Solaris 9 FCS specific DNLC code.
3225 David Comay <David.Comay@Eng.Sun.COM> sent me the
3226 dnode.c change and Casper Dik <Casper.Dik@sun.com>
3227 helped with the new DNLC support code.
3229 Applied OpenUNIX changes that permit lsof to compile
3230 and run on the upcoming 8.0.1 release. The changes
3231 were supplied by Robert Lipe <robertl@caldera.com>.
3232 Larry Rosenman <ler@lerctr.org> provided a test
3235 Added Solaris fd file system support.
3237 4.65 October 10, 2002
3238 Adjusted for change in FreeBSD 5.0-CURRENT inode
3239 structure, reported by David O'Brien <obrien@NUXI.com>.
3240 Adjusted for changes in FreeBSD 5.0-CURRENT <sys/vnode.h>.
3241 One change was reported by Anders Nordby
3242 <anders@FreeBSD.org>. Adjusted for FreeBSD 5.0-CURRENT
3243 on sparc64 architecture.
3245 Enhanced the error reporting of Solaris lsof when
3246 it detects a kvm_open() failure, and added a 00FAQ
3247 entry on the cause, based on a report from Peter
3248 J. Bertoncini <pjb@anl.gov>.
3250 Enabled compiling of lsof for NetBSD 1.5 with the
3251 NULL file system, using a patch from Andrew Brown
3252 <atatat@atatdot.net>.
3254 Removed a hack in the LTbigf test program that was
3255 once needed when it was compiled on Solaris 9 BETA-
3256 Refresh with gcc. The hack isn't needed on Solaris
3257 9 FCS. Janet Hempstead <jan@library.carleton.ca>
3258 brought the need for this change to my attention.
3260 Applied a patch, supplied by Andrew Brown
3261 <atatat@atatdot.net>, that updates lsof for NetBSD
3262 version 1.6F. Corrected handling of the NetBSD
3265 Updated to BSDI BSD/OS 4.3 on a test system kindly
3266 provided by Terry Kennedy <terry@tmk.com>.
3268 Updated to FreeBSD 4.7.
3270 Updated to Apple Darwin 1.5, 5.x and 6.x with
3271 patches supplied by Allan Nathanson <ajn@apple.com>.
3272 The patches include IPv6 support.
3274 Updated Configure to use the -bnolibpath loader
3275 option when building lsof on a PowerPC, running
3276 AIX 5 or greater. Valdis Kletnieks
3277 <Valdis.Kletnieks@vt.edu> informed me this was
3278 needed. Lsof for AIX 5.x was initially developed
3279 on the IA64, where -bnolibpath can't be used and
3280 I didn't think to restore it to PowerPC loads when
3281 AIX 5.x became available for that architecture.
3283 Updated to UnixWare 7.1.3 on a test system provided
3284 by Larry Rosenman <ler@lerctr.org>. Removed claims
3285 that lsof works on OpenUNIX 8.0.1, because UnixWare
3286 7.1.3 is the release name of OpenUNIX 8.0.1.
3288 Based on a comment that his e-mail address was
3289 wrong in the lsof distribution from Kenneth Stailey
3290 <kstailey@disclosure.com>, removed all e-mail
3291 addresses from lsof documentation files except this
3292 one, 00DIST. The addresses in 00DIST are used to
3293 send revision release notices to those who contributed
3294 to a revision, but the addresses in this file for
3295 previous revisions and in other documentation files
3296 sometimes grow stale and are never validated.
3298 4.66 December 22, 2002
3299 Acquired Solaris 7 and 8 test systems, courtesy of
3300 John Dzubera <Zube@CS.ColoState.EDU>. Updated
3301 00TEST and tests/TestDB accordingly.
3303 Clarified FreeBSD 5.0 architecture claims at the
3304 suggestion of David O'Brien <obrien@NUXI.com>.
3305 Also implemented David's suggestion to change
3308 Installed changes to DNLC handling in OSR lsof in
3309 preparation for handling changes in the OSR 5.0.7
3310 DNLC cache. Information about the changes and
3311 patches to handle them were supplied by Bela Lubkin
3312 <filbo@deepthought.armory.com>.
3314 Upgraded True 64 UNIX support to the 5.1B release
3315 on a test system provided by Berkley Shands
3316 <berkley@cse.wustl.edu> Had to used relaxed ANSI
3317 compilation because of an error in a system header
3318 file and other lsof source usages.
3320 Implemented the HASNOSOCKSECURITY compile-time
3321 option. When it and HASSECURITY are defined, lsof
3322 will be built to list only the user's open files,
3323 but will also list anyone else's open socket files,
3324 provided the "-i" option selects their listing.
3325 Updated the Customize script to ask about setting
3326 HASNOSOCKSECURITY. Left it undefined in all dialect
3327 machine.h header files. This change was requested
3328 by Kenneth Stailey <kstailey@speakeasy.net> for
3331 Added support for OpenBSD 3.2 and its kernel trace
3334 Improved lsof help (-h) and version (-v) information
3337 Fixed a FreeBSD 4.7 and above off-by-two UNIX domain
3338 socket path termination bug, reported by Ken Stailey
3339 <kstailey@speakeasy.net>
3342 Began the transition of the lsof ftp server host
3343 name from vic.cc.purdue.edu to lsof.itap.purdue.edu.
3344 That reflects Purdue organizational changes. This
3345 first step makes the new name an alias to the old
3346 one. The old name, vic.cc.purdue.edu, will remain
3347 usable for an extended period.
3349 Corrected a revision number reference in section
3350 17.17 of 00FAQ on the appearance of Solaris negative
3351 DNLC caching handing.
3353 Updated 00FAQ discussion of compilers for 64 bit
3356 Validated test suite for 64 bit Solaris 8 and gcc.
3358 At the request of Alek O. Komarnitsky <alek@komar.org>
3359 added the "+c <width>" option to enable optional
3360 changing of the COMMAND column output maximum width
3361 from the default to <width>. The default maximum
3362 width remains CMDL, as defined in lsof.h.
3364 Fixed three AIX kernel bit size detection bugs,
3365 one in the AIX Configure script stanza, the second
3366 and third in the AIX dproc.c get_kernel_access()
3367 function. The bugs were reported by Pierre-Yves
3368 Fontaniere <pyf@cc.in2p3.fr>, who tested the fixes.
3370 Added kernel event queue file support for FreeBSD,
3371 NetBSD and OpenBSD. Andrew Brown <atatat@atatdot.net>
3374 Updated to AIX 5.2 on a test system provided by
3375 Dale Talcott <dtalcott@purdue.edu>. Had to build
3376 work-arounds for two missing AIX 5.2 header files,
3377 <j2/j2_snapshot> and <proc/proc_public.h>. Corrected
3378 an off-by-one UNIX socket addressing bug. Taught
3379 AIX lsof to handle both jfs and jfs2 files at the
3380 same time. Adjusted for an IBM mistake in the
3381 sizing of the fdsinfo structure in <procinfo.h>
3382 Toshiya Nakamura <TOSHIYAN@jp.ibm.com> helped test,
3384 Updated to FreeBSD 4.8. Corrected another bug in
3385 FreeBSD UNIX domain socket name handling.
3387 Corrected gcc build problems on HP-UX 11i, reported
3388 by Yuliy Minchev <yuliy@mobiltel.bg>.
3390 Updated BSDI BSD/OS support to 4.3.1.
3392 Augmented a lock ID test on NetBSD to check if the
3393 ID is an LWP pointer.
3396 Enhanced Configure script's cleanup operations.
3398 Added support for OpenBSD 3.3, based on a report
3399 from Peter Valchev <pvalchev@sightly.net>.
3401 Improved the description of the detached PGP
3402 signature certificate file in the main lsof README
3403 file, based on a suggestion from Diana Stockdale
3404 <diana@mpl.ucsd.edu>.
3406 Installed a work-around for FreeBSD 5.0-CURRENT on
3407 Alpha to avoid a compiler register use complaint.
3409 Corrected a 'c' option error message. Gnele
3410 <blaadeleng@yahoo.com> reported the problem.
3412 Upgraded EXT2FS and UFS support for NetBSD and
3413 OpenBSD to handle new inode information, and the
3414 fast UFS1 and UFS2 file systems.
3416 With the help of Andrew Brown <atatat@atatdot.net>
3417 determined the NetBSD snapshot (1.6F) at which
3418 <sys/mount.h> could be included under _KERNEL, thus
3419 eliminating the lsof netexport.h hack. The same
3420 change applies to OpenBSD versions 3.3 and above.
3422 Applied a patch from Armin Gruner <ag@muc.de> that
3423 corrects the use of the HASPROCFS definition in the
3424 FreeBSD dialect sources.
3426 Corrected spelling errors in 00FAQ and in the
3427 generated 00.README.FIRST_<version> file of the
3428 distribution archive. John Jackson <jrj@purdue.edu>
3429 and Ray Phillips <r.phillips@jkmrc.uq.edu.au>
3430 spotted and reported the errors.
3432 Corrected a spelling error in a comment and incorrect
3433 use of an alarm function in the LTsock test program.
3435 At the suggestion of Stuart Anderson <sba@srl.caltech.edu>
3436 added preliminary (and incomplete) SAM-FS file system
3437 support to Solaris lsof. Completion awaits availability
3438 of SAM-FS internals.
3440 Fixed a Solaris device name printing bug, reported by
3441 Ric Anderson <ric@tick.Telcom.Arizona.EDU>, only
3442 visible when HASDCACHE is not defined. Ric helped
3445 Fixed an AIX kernel bit size handling bug related
3446 to the NFS node (rnode) structure.
3448 Corrected a print_kptr() function call error in the AIX
3449 AFS code, reported by David Steiner
3450 <david.r.steiner@Dartmouth.EDU>. Upon further reflection
3451 and because I no longer have appropriate AIX AFS test
3452 systems, disabled AIX AFS support in the Configure script
3453 for AIX versions above 4.3.3.0 or AIX AFS versions above 3.5.
3455 Added support for FreeBSD 5.1.
3457 With advice from Allan Nathanson <ajn@apple.com> adjusted
3458 the Darwin get-xnu-headers.sh script to access the kernel
3459 header files needed by lsof from a new form of the Apple
3460 open source repository.
3462 Installed Linux and lsof library bug fixes and
3463 improvements, supplied by Marian Jancar <mjancar@suse.cz>.
3464 One Linux improvement handles mount strings that
3465 have octal escapes in them, eg., \040 for embedded
3466 blanks. Marian tested the changes.
3468 4.69 October 16, 2003
3469 Received and applied an OpenBSD patch from Peter Valchev
3470 <pvalchev@sightly.net> that replaces a ctob() call with
3471 a sysconf() call. Peter claims sysconf() is needed for
3472 OpenBSD on SPARC. (It is not needed for NetBSD on SPARC.)
3474 With the upgrade of my only Solaris 7 test system
3475 to, Solaris 8, dropped the *claim* that lsof works
3476 on Solaris 7. That doesn't mean it won't work
3477 there, so those who want lsof for Solaris 7 probably
3478 should be able to build it there and it probably
3481 Revised lsof's DNLC handling for BSD derivatives,
3482 including: BSDI; Darwin, DEC OSF/1, Digital UNIX
3483 and Tru64 UNIX; FreeBSD; NetBSD; and OpenBSD. The
3484 latest NetBSD distribution's dropping of the vnode
3485 capability ID (v_id) required the revision.
3487 Adjusted to the latest FreeBSD 5.1-CURRENT.
3489 Added NetBSD support for using kvm_getproc2().
3491 Added a patch from Andrew Brown <atatat@atatdot.net>
3492 to handle NetBSD enum conflicts and changes in the
3493 <miscfs/kernfs/kernfs.h> and <miscfs/procfs/procfs.h>
3496 Added a "#define _KERNEL" to the AIX dnode2.c source
3497 file for compatibility with a new <j2/j2_inode.h>
3498 AIX 5.2 header file version. The addition was
3499 supplied by Dick Dunbar <Dick.Dunbar@Siebel.com>
3500 and was offered as a patch to lsof 4.68/
3502 Added support for a second type of Solaris SAMFS.
3503 Stuart Anderson <sba@srl.caltech.edu> provided the
3504 support. SAMFS support in lsof SOLARIS remains
3505 scanty, because Sun won't release any details on
3506 its kernel structures.
3508 Dropped the *claim* that lsof works on AIX 4.3.3,
3509 because I was unable to test it there. That doesn't
3510 mean it won't work there, so those who want lsof
3511 for AIX 4.3.3 probably should be able to build it
3512 there and it probably will work there.
3514 Updated for Solaris 10 on test systems provided by
3515 Mike Miscevic <miscevic@hotpop.com>. Casper Dik
3516 <casper@holland.sun.com> provided significant help.
3517 During the Solaris 10 port found and fixed an lofs
3518 handling bug that prevented reporting of open lofs
3521 Updated the DNLC test, LTdnlc, to provide a possible
3522 explanation about file systems on which the test
3525 Modified the procedure for obtaining missing Darwin
3526 XNU kernel header files. The new one requires more
3527 manual intervention, but is the best that can be
3528 done with the way Apple open sources are now
3529 organized. 00FAQ explains the new procedures for
3530 those not used to downloading Apple open source
3533 Added support for Apple Darwin 7.0 (Mac OS X 10.3)
3534 with patches supplied by Allan Nathanson <ajn@apple.com>.
3535 Dropped the *claim* that lsof builds and works on
3536 Apple Darwin below 6.0.
3538 Validated lsof on FreeBSD 4.9, using a test system
3539 provided by Ben Lewis <bl@purdue.edu>.
3541 Validated lsof on FreeBSD 5.1-CURRENT for Amd64.
3542 David O'Brien <obrien@FreeBSD.org> provided a test
3545 Changed the NetBSD Configure stanza to do header
3546 file searches in /usr/include by default. The
3547 LSOF_INCLUDE and NETBSD_SYS environment variables
3548 may still be used to specify other search paths.
3549 Discussions with Andrew Brown and Wolfgang S.
3550 Rupprecht <wolfgang@wsrcc.com> led to the change.
3552 4.70 January 16, 2004
3553 Improved shell-portability of the linux stanza of
3554 the Configure script with a patch from Paul Jarc
3557 Added a "silent" rule to tests/Makefile for Paul.
3558 Updated, extended and clarified the test suite
3559 documentation in 00FAQ and 00TEST.
3561 Fixed Solaris 10 dlsof.h typo, reported by Mike
3562 Miscevic <miscevic@hotpop.com>. The typo prevents lsof
3563 from loading cleanly in Solaris 10 builds past 40.
3565 Fixed a Solaris HSFS node number reporting bug and
3566 added a structure definition work-around for Solaris
3569 Converted PGP signing to GPG. My previous PGP key can
3570 be used, but the gpg "--allow-non-selfsigned-uid"
3571 option may have to be used when it is imported into a
3574 Added bz2 compression.
3576 Updated for OpenBSD 3.4.
3578 Added a work-around for a missing header file in the
3579 s10_44 Solaris 10 build.
3581 Added support for FreeBSD 5.2-BETA and 5.2-CURRENT.
3583 Updated Linux AX25 support with modifications supplied
3584 by Lutz Poetschulat <dl9cu@db0zwi.de>.
3586 Added raw IPv6 support to Linux lsof.
3588 Improved handling of parameters after "-i@".
3590 Improved file name test in LTdnlc.c.
3592 Added loop count controls to the reading of Solaris
3593 lock chains. The change was implemented as a result of
3594 a report from Steve Gonczi <steve@relicore.com>.
3596 Based on a report from John Jackson <jrj@purdue.edu>,
3597 enabled a Solaris 10 <sys/lgrp.h> work-around for
3598 Solaris 9, too. (Patch 112233 installs an lgrp.h on
3599 Solaris 9 that needs the work-around.)
3601 With help from Andrew Brown <atatat@atatdot.net> and
3602 John Heasley <heas@netbsd.org> added log-structured
3603 file system (LFS) support for NetBSD and OpenBSD.
3605 Added AMD64 to the list of FreeBSD 5.x-CURRENT
3606 supported architectures. FreeBSD.org provides a test
3607 system, courtesy of (I believe) David O'Brien
3608 <obrien@FreeBSD.org>.
3610 Added a cast to lseek() in the HP-UX /dev/kmem-based
3611 kread() function to make it work properly with the
3612 bundled HP C compiler.
3615 Added text file support to Apple Darwin lsof and
3616 enabled the lsof executable portion of the LTbasic
3617 test. Added support for Darwin kernel queue, POSIX
3618 semaphore and POSIX shared memory files. Tested on
3619 Darwin 7.2 (aka Mac OS 10.3.2).
3621 Added process_kqueue() function prototypes for FreeBSD,
3624 Picked some lint in AIX sources, lib/rnmh.c and
3627 Added "-x [fl]" cross-over option, which enables +d and
3628 +D processing to cross over symbolic links and|or file
3629 system mount points. Discussion with Johan Lindquist
3630 <johan@smilfinken.net> and Eric Williams (aka The Ghost
3631 In The Machine) <ewill3@earthlink.net> on Linux news
3632 groups revealed the need for the option.
3634 Updated support for UnixWare 7.1.4.
3636 Added support for the optional reporting of socket
3637 options, socket states and TCP flags for most currently
3638 supported dialects. John Smith <lbalbalba@hotmail.com>
3639 and Tristan Nefzger <tn@bhtrader.com> requested the
3640 information. The dialects and their versions for which
3641 this feature has become available include:
3643 AIX 4.3.2 and 5.[12]
3646 Digital UNIX and Tru64 UNIX 4.0
3648 HP-UX 11 and 11.11 (aka 11i)
3653 SCO OpenServer Release 5.0.6
3654 Solaris 2.6, 8, 9 and 10
3657 Modified the Configure stanza for HP-UX 11 with better
3658 q4 detection. Steve Bonds <3vhmxxm02@sneakemail.com>
3659 supplied the modification.
3661 Applied a patch from Mike Miscevic <miscevic@hotpop.com>
3662 to enable lsof to compile with the zone support in the
3663 Solaris 10 s10_b51 release. Added information on lsof
3664 zone behavior to 00FAQ.
3666 Added a "-z [z]" option to Solaris 10 lsof. It enables
3667 the listing of zone name and can also be used to select
3668 the listing of processes and their files from specified
3672 Corrected Solaris 10 ZONE column title display bug with
3673 a patch from Joep Vesseur <Joep.Vesseur@Sun.COM>. Joep's
3674 fix was offered as a patch to 4.71.
3676 Based on a report from Jean-Pierre Radley <jpr@jpr.com>
3677 about an unexpected GNU uname Configure interaction on
3678 OSR, and working from information received from Bela
3679 Lubkin, changed the OSR Configure stanza to use
3680 /bin/uname instead of uname. Added an FAQ entry about
3681 Configure version detection problems.
3683 Added the +m and "+m m" options in response to a dialog
3684 with Robert T. Brown <rbrown@netmentor.com>. The
3685 options allow the creation of a mount table supplement
3686 file which can be used on selected dialects to get
3687 device numbers when stat(2) and lstat(2) can't deliver
3688 them. (That's generally the result of an inaccessible
3689 NFS server.) Currently the new options are supported
3692 Made cpumask_t typedef _KERNEL compensation for FreeBSD
3693 5.2-CURRENT. Refined it for 5.2.1-RELEASE with testing
3694 help from Scott Ellentuch <tuc@ttsg.com>.
3696 Added support for FreeBSD 4.10. Larry Rosenmann
3697 <ler@lerctr.org> kindly provided a test system.
3699 Added support for NetBSD 2.0 with patches supplied by
3700 Andrew Brown <atatat@atatdot.net>. Andrew also
3701 provided two test systems.
3703 Made handling of Linux maps file more robust, based on
3704 a report from Jan Blunck <J.Blunck@tu-harburg.de>. As
3705 a side benefit, made handling of generated stat(2)
3706 information more flexible.
3708 As a result of a discussion with Jason Fortezzo
3709 <fortezza@mechanicalism.net>, adjusted lsof for Solaris
3710 to obtain the maximum user name length from ut_name of
3711 the utmpx structure, if <utmpx.h> exists.
3713 Tested under OpenBSD 3.5.
3715 Updated 00README information about using gcc (via the
3716 Configure aixgcc abbrevisiation) to compile lsof on
3717 AIX. Ann Janssen <ajanssen@nebook.com> made me aware
3718 the information was out of date.
3720 Added an AIX SIGDANGER handler and some 00FAQ sections
3721 on lsof memory usage after a discussion with Tom Qin
3722 <tom.qin@citigroup.com> about lsof memory usage.
3724 Added scripts/sort_res.perl5, contributed by Fabian
3725 Frederick <fabian.frederick@gmx.fr>. The script
3726 displays lsof output sorted by size and path name.
3728 Improved handling of files on Linux NFS mount points
3729 that use the root_squash option, based on discussions
3730 with Paul Szabo <psz@maths.usyd.edu.au>.
3732 Updated FreeBSD 5.2-CURRENT support, based on a problem
3733 report from Filippo Natali <filippo@widestore.net>.
3735 Corrected improper FreeeBSD 5.x-CURRENT #if condition,
3736 reported by Kim Culhan <kimc@kim.net>.
3738 Added a Configure script work-around for AIX 5.2 lsof
3739 with JFS2, compiled by gcc >= 3.3. The work-around
3740 was supplied by Florian M. Weps <fmw@hactrn.ch>.
3742 4.73 October 21, 2004
3743 Added an __XPG4_CHAR_CLASS__ #define before
3744 #include'ing <ctype.h> on Solaris to restore lsof's
3745 ability to display special characters such as acute-e.
3747 Added wide-character (e.g., UTF-8) support where
3748 possible, prompted by a request from Kyungjoon Lee
3749 <kjoonlee@gmail.com>. Some older dialects -- e.g.,
3750 NetBSD 1.4.1 -- don't support wide characters, so the
3751 wide character support is enabled by definitions in
3752 each dialect's machine.h. Dialects with wide-
3753 character support are listed in 00FAQ.
3755 Make a FreeBSD 5.2-CURRENT adjustment for <sys/pipe.h>,
3756 supplied by Sergey A. Osokin <osa@FreeBSD.ORG>.
3758 Implemented a Linux feature request made by Jakub
3759 Jelinek <jakub@redhat.com> that enhances lsof's ability
3760 to locate UNIX domain sockets whose paths are named as
3761 arguments. Jakub supplied suggested code.
3763 Dropped *claims* that lsof works on AIX below 5.1, SCO
3764 Dropped *claims* that lsof works on AIX below 5.1, SCO
3765 Openserver 5.0.4, Tru64 UNIX 5.0, and UnixWare below
3766 7.1.4. Lsof will probably build and work on those UNIX
3767 dialect versions, but I no longer have any way to test
3770 Added support for FreeBSD 5.3 and 6.0. The FreeBSD
3771 5.3 support hasn't been tested.
3773 Added FD test code that will allow dialect versions to
3774 test FD option selections. Used the new code in the
3775 PSTAT-based HP-UX lsof to enable it to avoid scanning
3776 the mount table when its information is not needed.
3777 The addition was made in response to a query from
3778 Harvey Garner <Harvey.Garner@championusa.com> about
3779 lsof performance in a busy NFS environment.
3781 Upgraded lsof's AIX support level to AIX 5.3, based on
3782 a report from Dick Dunbar <Dick.Dunbar@Siebel.com>. (I
3783 have not tested lsof under AIX 5.3.) Based on Dick's
3784 recommendation and local testing changed the C for AIX
3785 version 6 and higher -qmaxmem option value to -1.
3787 Made LSOF_AR environment variable more useful and
3788 documented it in 00XCONFIG.
3790 Corrected the use of sum(1) to generate signatures for
3791 the lsof distribution and binaries to match the
3792 documentation that claims it is sum -r output. Jin
3793 Guojun <jin@george.lbl.gov> noticed and reported the
3796 Tested under OpenBSD 3.6.
3798 Added checksum and GPG certificate files for the bz2,
3799 gz and Z lsof distribution archives. The new files
3800 reside with the distribution archives and supplement
3801 the signature information already inside the archives.
3803 Validated on Solaris 10, i8xpc, build s10_63.
3805 4.74 January 17, 2005
3806 Fixed a Solaris segment fault bug on systems that lack
3807 a /dev/allkmem device. Offered the fix as a patch to
3808 lsof 4.73. The bug was reported by Donald Zoch
3809 <donald.zoch@amd.com>.
3811 Updated lsof for FreeBSD 6.0 and higher for a change in
3812 <sys/vnode.h>, based on a report from Sergey A. Osokin
3813 <osa@FreeBSD.ORG>. Made the update available in a 4.74
3814 'A' edition pre-release.
3816 Filed an HP bug report about missing pstat(2) CWD info
3817 for LOFS on HP-UX 11.11 and higher. The missing CWD
3818 info was noticed by Ermin Borovac <e.borovac@bom.gov.au>.
3819 Added info to 00FAQ about the problem, which can cause
3820 the lsof test suite's LTbasic test to fail.
3822 Updated the q4-generated tcp_s.h in the lsof
3823 distribution and added socket option support for HP-UX
3824 11.00. Erwin Reyns <ereyns@europarl.eu.int> helped
3827 Updated for Solaris 10, build s10_69, with a patch
3828 supplied by Mike Miscevic <miscevic@hotpop.com>.
3830 Added v_path support to Solaris 10 lsof. That relieves
3831 it of having to read and decode the kernel DNLC, and
3832 delivers full paths more reliably.
3834 Added specialized NFS4 support to Solaris 10 lsof.
3836 Applied Solaris 10 patches to lsof supplied by Casper
3837 Dik <casper@holland.sun.com>.
3839 Updated lsof for NetBSD 2.99.10 and tested it on a
3840 system provided by Andrew Brown <atatat@atatdot.net>.
3842 Added support for the FreeBSD 6.0-CURRENT f_vnode
3843 pointer in the file structure.
3845 Added BSDI, FreeBSD, NetBSD and OpenBSD support for the
3846 *effnlink member of the inode structure. This makes
3847 the lsof LTnlink test run faster on all modified
3848 dialects and correctly on OpenBSD.
3850 Added ptyfs support for NetBSD, using modifications
3851 provided by Andrew Brown.
3853 Changed the netbsd Configure stanza to look by default
3854 for system header files in both /usr/include and
3855 /usr/src. (The NETBSD_SYS environment variable can
3856 still be used to select an alternate for /usr/src.)
3858 Corrects two FreeBSD 4.10 RPC/XDR type definitions.
3860 Added an FAQ Q&A about setuid and setgid restrictions
3861 in HP-UX 11.11. The information in the answer was
3862 supplied by Frank Sanders <frank.sanders@siemens.com>.
3864 Added abbreviations for AXI FCIO and FSNAPSHOT file
3865 flags. Holger VanKoll <Holger.VanKoll@swisscom.com>
3866 reported the missing FCIO.
3868 Adjusted lsof's private AIX 64 bit rnode structure for
3869 64 bit AIX 5.2 systems. (IBM doesn't distribute a
3870 correct <nfs/rnode.h> for it.)
3872 Corrected a Linux socket inode printing bug reported by
3873 Igor Schein <igor@txc.com>.
3875 Updated for FreeBSD 4.11. The support compiles but
3878 Back-ported a FreeBSD 6.0-CURRENT fix to FreeBSD
3879 5.3-RELEASE-p1. That was done to solve a compilation
3880 problem reported by Radko Keves <rado@daemon.sk>.
3883 Dropped the *claim* that lsof works on DEC OSF/1 and
3884 Digital UNIX, since my last 4.0 test system has been
3885 removed. The last tested distribution of lsof on DEC OSF/1
3886 and Digital UNIX was revision 4.74. It has been archived
3887 on lsof.itap.purdue.edu in pub/tools/unix/lsof/OLD/src.
3889 Added negation forms to the values in the -g (PGID) and
3890 -p (PID) lists. Negated PGID and PID values, like
3891 negated UID or login name values, are applied without
3892 ORing or ANDing and take effect before any other
3893 selection criteria are applied.
3895 At the request of Marcin Gozdalik <gozdal@gmail.com>
3896 added a -X option for Linux. The option inhibits the
3897 reading of the /proc/net/tcp* and /proc/net/udp*
3900 Based on a report from David Gutierrez
3901 <davegu1@hotmail.com> changed DEC OSF/1 process table
3902 allocation to request memory in smaller increments.
3904 Based on a report from jayjwa <jayjwa@atr2.ath.cx>
3905 updated the Customize script to use "tail -n 1" where
3908 Enabled support for FreeBSD 5.4.
3910 Improved the BSDI, FreeBSD, NetBSD, OpenBSD and Solaris
3911 kvm_open() and kvm_openfiles() error messages.
3913 Enabled support for NetBSD 2.99.12.
3915 Improved HP-UX Configure stanza with help from Piet
3916 Starreveld <pstarrev@csc.com>. Picked some lint Piet
3919 Enabled IPv6 support for HP-UX > 11. Piet Starreveld
3920 helped test it on 11.23, among others.
3922 Updated for HP-UX 11.23 on the ia64 architecture.
3924 Updated to latest FreeBSD 6.0-CURRENT, using a test
3925 system provided by Andrzej Tobola <ato@iem.pw.edu.pl>.
3927 Added support for SCO OSR 6.0.0 and UnixWare 7.1.4 with
3928 help from Richard at SCO.
3930 Corrected a Linux bug in NFS handling, reported by Karel Zak
3931 <kzak@redhat.com>. Karel supplied a patch.
3933 Improved the code for accessing an AIX 3.2 and higher
3934 sockaddr_un structure, thus eliminating a segmentation
3937 Updated for AIX 5.3.
3939 Added preliminary (DEBUG) support for the AIX SANFS
3942 Fixed a bug in the Solaris 10 processing of the vnode's
3943 v_path pointer with code supplied by Edward Jajko
3944 <ejajko@portal.com>. The fix was offered as a patch to
3947 Dropped support for OpenUNIX 8, since a test system is
3948 no longer available. Archived an OpenUNIX-only
3949 distribution of the last revision (4.74) tested on
3950 OpenUNIX in pub/tools/unix/lsof/OLD/src.
3952 Tested under Openbsd 3.7.
3954 Tested under Darwin 7.7.0.
3956 Enabled building on amd64 Solaris 10 with hints from
3957 Marc Aurele La France <tsi@ualberta.ca>. Marc provided
3960 Supplied a missing quote in the FreeBSD Configure
3961 stanza. Carl Cook <Info@quantum-sci.com> reported the
3964 Removed "-O" option from tests/Makefile so that the
3965 HP-UX bundled compiler won't complain.
3967 4.76 August 30, 2005
3968 Corrected an example and spelling errors in man page.
3970 Updated for Apple Darwin 8.x with changes supplied by
3971 Allan Nathanson <ajn@apple.com>. Allan also provided a
3974 Completed documentation of CLRLFILEADD in all machine.h
3977 At the request of Chris Markle <cmarkle@sendmail.com>
3978 added partial listen queue length to socket options
3979 displayed when -Tf is specified. Partial queue length
3980 is not reported for all dialects. (00FAQ lists the
3981 ones where it is reported.)
3983 Updated for FreeBSD 7.0 with information supplied by
3984 Andrzej Tobola <ato@iem.pw.edu.pl>.
3986 Updated Solaris VxFS support for VxFS versions 4 and
3987 above with technical advice from Craig Harmer
3988 <craig_harmer@symantec.com>, Gary Millen
3989 <gary_millen@symantec.com> and Chuck Silvers
3990 <charles_silvers@symantec.com>. Testing help was
3991 provided by Michael Antlitz <mantlitz@prophasys.com>,
3992 Steve Ginsberg <steve@dhapdigital.com> and Kenneth
3993 Stailey <kstailey@yahoo.com>.
3995 Fixed a Solaris address space map processing bug.
3996 Janardhan Molumuri <mjanardhan@gmail.com> reported the
3997 bug and help me identify it. Made the fix available as
4000 Added support for Solaris 10 port and CTFS files. The
4001 CTFS support is imcomplete, because I don't know how
4002 to get inode number, size and link count. (There's
4003 a new 00FAQ entry about that.)
4005 Investigated a report from Christopher J Warweg
4006 <warwegc@GAO.GOV> that the CHECKSUMS for the lsof 4.75
4007 binary for 64 bit Solaris 8 was incorrect. It was my
4008 packaging error. I rebuilt and repackaged the binary.
4010 Enabled support for Linux map file names with embedded
4014 Added -X option support for Solaris 10 and above. When
4015 -X is specified lsof will report cached v_node path
4016 names for unlinked files, followed by "(deleted)".
4017 Improved cached vnode path name handling by adding
4018 "(?)" to the end of path names of questionable accuracy.
4019 Updated 00FAQ to reflect these changes.
4021 Updated for FreeBSD 7.0-CURRENT.
4023 Fixed name addition spacing bug, reported by Stuart
4024 Anderson <anderson@ligo.caltech.edu>. Also updated
4025 Solaris 10 SAMFS support at Stuart's request.
4027 Added missing "break;" and another HASSTATVFS test to
4028 the NetBSD and OpenBSD dnode.c. Bill Behr
4029 <bbehr@networkstoragecorp.com> reported those needs.
4031 Fixed an HP-UX 11 file descriptor "chunk" size problem,
4032 reported by Per Allansson <per@appgate.com>. Per helped
4033 devise the fix and tested it. This fix was offered as
4034 a patch to lsof 4.76.
4036 Updated for FreeBSD 6.0-STABLE and FreeBSD
4039 Updated scripts/sort_res.perl5 with changes supplied by
4040 Frederick Fabian <fabian.frederick@skynet.be>, the
4041 author of the script.
4043 Corrected +|-M man page documentation error, reported
4044 by Roger Cornelius <rac@tenzing.org>.
4046 Improved FreeBSD user device random seed generation in
4047 response to a problem report from Danny Braniss
4048 <danny@cs.huji.ac.il>.
4050 Eliminated three syntax error bugs and other compiler
4051 complaints from the PSTAT-based lsof. H. Merijn Brand
4052 <h.m.brand@xs4all.nl> reported the problems and tested
4055 Eliminated compiler complaints in the test suite.
4057 Investigated problems with the building of lsof on
4058 PA-RISC HP-UX 11.23, based on a report from John
4059 Orndorff <John.Orndorff@sungard.com>. Found that
4060 neither the HP bundled C compiler nor gcc would build
4061 lsof, but the the HP unbundled ANSI C compiler would.
4062 Concluded that HP bundled C compiler can't handle
4063 <gssapi/gssapi.h>. Devised a work-around to gcc's
4064 omission of the rpcent structure definition of
4065 <netdb.h> that allows it to compile lsof's print.c, but
4066 the resulting binary doesn't run reliably. Documented
4067 the situation in 00FAQ.
4069 Changed reporting of unknown file types. The number of
4070 an unknown type is now reported as four octets. The
4071 change was made in response to a Linux lsof bug report
4072 from Karel Zak <kzak@redhat.com>.
4074 Dropped the *claim* that lsof works on BSDI BSD/OS
4075 since my last test system has been removed. The last
4076 tested distribution of lsof for BSDI BSD/OS was
4077 revision 4.76. It has been archived on
4078 lsof.itap.purdue.edu in pub/tools/unix/lsof/OLD/src.
4080 As a result of discussing the lsof source tar's MD5
4081 checksum with Andrew Bell <andrew.bell.ia@gmail.com>,
4082 changed the description of a suitable MD5 tool in the
4083 lsof distribution's documentation to name the openssl
4086 Enabled compilation on Solaris 10 1/06 with a fix sent
4087 by Jason Fortezzo <fortezza@mechanicalism.net>. Made
4088 the fix available as a patch to 4.76.
4090 Adjusted to FreeBSD 5.5-PRERELEASE.
4092 Corrected a bug in the lsof library's process_file()
4093 function to enable the locating of AIX XTI sockets by
4094 their TCP/IP address values. The bug was reported by
4095 Michel Dubois <Dubois@sears.ca>.
4097 Based on a bug report from Karel Zak <kzak@redhat.com>
4098 added command name length checking to as many dialects
4099 as possible (Linux for Karel) for the "-c c" option.
4101 Updated for OpenBSD 3.[89]. Tested the 3.9 update on a
4102 system provided by David Mazieres. I have not tested
4103 on OpenBSD 3.8, but David reports lsof 4.76 worked
4106 Ended regression testing of lsof on 32 bit Solaris 8
4107 with the ending of access to a test system. Lsof
4108 continues to be tested on 64 bit Solaris 8.
4111 Added more information to the lsof FAQ about missing
4112 link counts and sizes on Linux files.
4114 Simplified Linux stat() and lstat() usage.
4116 Relocated #define's that prevent OpenBSD compilation on
4117 systems without a /proc file system. Pieter Bowman
4118 <bowman@math.utah.edu> reported the problem.
4120 Added code to avoid processing Linux /proc/<PID>/maps
4121 file entries with zero device and node numbers. Some
4122 such entries now have names associated with them that
4123 are not path names -- e.g., "[heap]", "[stack]" or
4124 "[vdso]". Scott Worley <sworley@chkno.net> reported
4125 lsof's mishandling of such entries.
4127 Added SELinux security context support, provided by
4128 James Antill <james.antill@redhat.com>. I have not
4129 tested this, but James and Karel Zak <kzak@redhat.com>
4132 Added the #include of <sys/types.h> to Solaris lsof to
4133 enabled compilation on Solaris 10 6/06. Peter Harvey
4134 Peter.Harvey@Sun.COM diagnosed the problem and supplied
4137 Added better support for JFS2 on AIX 5.2 and 5.3, based
4138 on bug reports and help from Thomas Braunbeck
4139 <BRAUNBEC@de.ibm.com> and Tom Whitty <TWHITTY@cerner.com>.
4141 Documented that lsof supports AIX 5.3 only up through
4142 maintenance level 1 (ML1).
4144 Enabled Solaris lsof to locate the AFS vnode operation
4145 address for OpenAFS 1.4.1. The fix was supplied by
4146 Robert Jelinek <Robert.Jelinek@MorganStanley.com>.
4148 Enabled support for Solaris 10 ZFS. If the necessary
4149 ZFS header files aren't found, lsof offers the option
4150 to drop ZFS support, to use internal, possibly
4151 inaccurate structure definitions, or to supply a path
4152 to the missing header files. Horst Scheuermann
4153 <Horst.Scheuermann@uni-trier.de> provided a development
4154 system and helped test the support.
4156 Corrected a typo in the man page, reported by Eric S.
4157 Raymond <esr@thyrsus.com>.
4159 Changed the spelling of macroes to macros in lsof
4160 source and documentations files, based on a suggestion
4161 from Josh Soref <timeless@gmail.com> and verification
4164 The following dialects are no longer supported: 32 bit
4165 AIX 5.2, HP-UX 11, OpenStep 4.2, Solaris 2.6, Solaris
4166 8, True Unix 64 and UnixWare 7.1.4. Lsof may work on
4167 them, but I no longer have test systems for them.
4168 Support for OpenBSD ends at its version 3.9 for lack of
4169 interest in the port.
4173 **************** IMPORTANT NOTE ******************
4175 * Lsof support has been reduced to the following *
4176 * dialects: AIX, FreeBSD, Linux and Solaris, and *
4177 * only in selected versions of those dialects. *
4178 * The selected versions are listed in this file *
4179 * and in other lsof documentation. *
4181 * I have made this move because of retirement *
4182 * and because I no longer have many test systems *
4183 * available to me. *
4187 **************************************************
4189 Fixed a Solaris VXFS permission problem when accessing
4190 the VXFS inode offsets. The bug was reported by
4191 Gregory A. Ivanov <ivga@mts.ru>. Gregory tested the
4194 Moved an #include <string.h> later in FreeBSD dlsof.h
4195 to enable compilation on recent FreeBSD releases. The
4196 change was supplied by Roy Marples <uberlord@gentoo.org>.
4198 Improved Linux /proc file stream reading speed by applying
4199 an expanded version of a patch from Eric Dumazet
4200 <dada1@cosmosbay.com> that allocates a page size buffer
4201 to each stream. Improved TCP, TCP6, UDP and UDP6 hashing
4202 by determining the hash bucket count from the /proc/net
4203 sockstat and sockstat6 files. The improvement was
4204 suggested by Eric and he provided sample code. Eric also
4205 tested both improvements.
4207 Modified Configure script to build lsof on FreeBSD
4208 6.2. Tested it on a system provided by Larry Rosenman
4211 Fixed a Linux maps file processing bug that prevented path
4212 names from having an embedded colon. James Lingard
4213 <jchl@arastra.com> reported the bug and helped with its
4216 Based on reports from Eric Dumazet and Samuel Thibault
4217 <samuel.thibault@ens-lyon.org> added support for the
4218 Linux 2.6.22 kernel's /proc/<PID>/fdinfo files -- i.e.,
4219 file offset and flags. Samuel Thibault provided a test
4222 Fixed a Linux UNIX socket memory leak, reported by
4223 Philip Shin <pshin@xceedium.com>. Phillip supplied the
4226 With generous assistance from HP added support for an HP-UX
4227 11.23 patch that makes TLI/XTI socket address information
4230 Fixed a header file problem for FreeBSD 6.2 on the Alpha
4231 architecture. The problem was reported by Pekka Honkanen
4232 <phonkane@cc.hut.fi>. Pekka tested the fix.
4234 Based on a report and using suggested fixes from Karel Zak
4235 <kzak@redhat.com>, made these changes to Linux lsof: corrected
4236 a getpidcon() error message; insured that inode numbers are
4237 handled correctly for their unsigned long long type; and
4238 improved SELinux handling. At the request of Alon Bar-Lev
4239 <alonbl@gentoo.org> added the LINUX_HASSELINUX environment
4240 variable to enable or inhibit SElinux support unconditionally.
4242 Updated Configure for FreeBSD 8.0-CURRENT and tested lsof on
4245 Added a patch provided by Oles Hnatkevych
4246 <don_oles@able.com.ua> for FreeBSD systems where the root
4247 file system is on a CD9660 device.
4249 Added compensation for the disappearance of FMARK and FDEFER
4250 from the FreeBSD 8.0-CURRENT <sys/file.h>.
4252 Updated FreeBSD lsof with ZFS support. Larry Rosenman
4253 <ler@lerctr.org>, Erwin Lansing <erwin@FreeBSD.org>, Wesley
4254 Shields <wxs@atarininja.org> and Dmitry Morozovsky
4255 <marck@rinet.ru> provided test systems.
4257 Fixed a socket file identification problem reported by
4258 Pavol Rusnak <stick@gk2.sk>. Pavol also reported the
4259 cause of the problem.
4261 Added the ability to format the repeat mode marker line
4262 with strftime(3), where the dialect supports the
4263 localtime(3) and strftime(3) C library functions. The
4264 addition was suggested by Mike Depot <mdepot@comcast.net>,
4265 who also tested it. The addition required creating a new
4266 main lsof source module, util.c, that contains functions
4267 whose compilation conflicts with the general header file
4268 tree defined by lsof.h and dlsof.h.
4270 Based on reports from Andrei V. Lavreniyuk
4271 <andy.lavr@reactor-xg.kiev.ua> and Pav Lucistnik
4272 <pav@FreeBSD.org> updated the FreeBSD 7.0 and above
4273 file lock handling to use new locking structures. The
4274 update requires a terrible hack to get a definition for
4275 the lock owner structure from a kernel source module
4276 into a local lsof header file.
4279 Updated for a FreeBSD 7.0 and above byte level locking
4280 change. The problem was reported by Conrad J. Sabatier
4281 <conrads@cox.net>, who helped test the update. Wesley
4282 Shields <wxs@FreeBSD.org> provided an 8.0-CURRENT test
4285 Propagated the FreeBSD 7.0 and above locking changes to
4286 FreeBSD 6.x, based on a report from Edwin Groothuis
4287 <edwin@FreeBSD.org>.
4289 Added warnings for unsupported dialects or versions.
4291 Added Linux support for the UDPLITE protocol. Eric
4292 Dumazet <dada1@cosmosbay.com> supplied a patch.
4294 Added a missing quote to the Configure script's
4297 Added a usage.o rule to the HP-UX PSTAT-based
4298 Makefile. I mistakenly deleted the rule at revision
4299 4.79. The missing rule was reported by Kawaljeet Kaur
4300 <kawaljeet.malviya@gmail.com> who tested the corrected
4303 4.81 October 21, 2008
4304 Updated the Darwin libproc sources with changes from
4305 Allan Nathanson <ajn@apple.com>. Tested them on a iMac
4306 mini, provided by Apple Inc.
4308 Changed dummy declarations in library source files to
4309 eliminate complaints about unused variables and empty
4310 object files. This change may not work on dialects I
4311 can no longer test; it has been tested on some versions
4312 of AIX, Darwin, FreeBSD, Linux and Solaris.
4314 At the request of Hal Brooks <hal@uga.edu> added support
4315 for Linux /proc/net/packet files. Hal tested it.
4317 Added socket file only performance enhancements to Linux
4318 and PSTAT-based HPUX lsof.
4320 Added htonl call around improper usage of INADDR_LOOPBACK;
4321 report from an Apple engineer forwarded by Allan Nathanson
4324 Adjusted for FreeBSD-8.0 change in device number handling.
4325 The adjustment should work for FreeBSD 5 and above, should
4326 the 8.0 change be propagated downward. The problem was
4327 reported by Pav Lucistnik <pav@FreeBSD.org>. An updated
4328 test system was provided by Erwin Lansing <erwin@FreeBSD.org>.
4330 Reduced AIX support to version 5.3, since test systems with
4331 older versions are no longer available to me.
4333 At the request of Marjo F. Mercado <mmercado@xceedium.com>
4334 and Phil Shin <pshin@xceedium.com> applied some speed
4335 improvements to lsof, particularly when the files of
4336 interest are /Internet files -- i.e., selected with lsof's
4337 "-i" option. Added a two new options to assist the
4338 improvements: 1) "-c^<command>" to tell lsof to exclude the
4339 named command(s); and 2) "-stcp|ud>:[^]state' to tell lsof
4340 to include in its reporting or exclude ('^') from its
4341 reporting Internet files in the named states (e.g., LISTEN,
4342 ^CLOSE_WAIT, IDLE, etc.) For the most part these changes
4343 apply only to AIX, Darwin, FreeBSD, PSTAT-based HP-UX, Linux
4344 and Solaris, since those are the only places I could test
4345 them. They are controlled by the HASTCPUDPSTATE definition
4346 in each dialect's machine.h header file. Marjo and Phil
4347 provided HP-UX 11.23 and 11.31 test systems.
4349 Fixed a stat(2) problem on HP-UX 11.31 while testing the
4352 Adjusted for kernel header file changes in FreeBSD
4353 8.0-CURRENT. Larry Rosenman <ler@lerctr.org> provided
4356 Added a warning for Solaris systems where VxFS node info
4357 can't be obtained from the VxFS utility library. The
4358 warning was requested by Tom Matthews <Tom.MATTHEWS@rbs.com>.
4360 Corrected mishandling of file system path name arguments
4361 that have trailing slashes, except, of course, the root
4362 file system, "/". Allan Nathanson <ajn@apple.com> reported
4366 Corrected an over-zealous exclusion test that caused
4367 lsof to report nothing when it was given no arguments
4368 and built with HASSECURITY and HASNOSOCKSECURITY enabled.
4369 Joshua Kinard <kumba@gentoo.org> reported the bug and
4370 supplied information for reproducing it.
4372 Based on a report from Dan Trinkle <trinkle@cs.purdue.edu>
4373 corrected use of <sys/utsname.h> for 32 bit Solaris 10
4374 and above compilations. Simultaneously eliminated a
4375 casting complaint in arg.c and updated Configure to use
4376 the appropriate 64 bit compilation option (-xarch=v9 or
4377 -m64) with the Solaris Sun C compiler.
4379 Updated for FreeBSD 7.1-PRERELEASE with information
4380 supplied by Larry Rosenman <ler@lerctr.org>.
4382 Updated the Darwin libproc sources with changes from
4383 Allan Nathanson <ajn@apple.com>. Tested them on a iMac
4384 mini, provided by Apple Inc. Allan also provided man
4387 Updated the FreeBSD Makefile to use the ${MAKE} variable
4388 for ZFS dnode2.c module compilation, based on a suggestion
4389 from Alexis Ballier <aballier@gentoo.org>.
4391 Improved the Solaris VxFS library location test, based on a
4392 suggestion from Jason Fortezzo <fortezza@mechanicalism.net>.
4393 Jason tested the change.
4395 Updated Solaris 10 ZFS support for ZFS version 4 and ZFS
4396 pool version 10, using a test system kindly provided by
4397 Vladislav Nespor <vladislav.nespor@id.ethz.ch>. Renata
4398 Maria Dart <renata@slac.stanford.edu> tested on ZFS
4399 version 4, verifying that the update works there, too.
4400 (ZFS pool version 10 is apparently the ZFS version shipped
4401 with the 10/08 update to Solaris. The original ZFS
4402 support targeted ZFS version 3.)
4404 I still consider ZFS support in Solaris lsof a hack,
4405 because it depends on a znode structure definition that
4406 I developed using dbx. Sun is remiss in not distributing
4407 the ZFS header files used to build the distributed kernel.
4409 Because of the znode structure definition hack, I can't
4410 guarantee that lsof ZFS support will work for any other
4413 Solaris 10: adjusted to a change in the way devices are
4414 stored in the kernel; fixed a problem in zone handling;
4415 and added rudimentary sharedfs support. Carson Gaspar
4416 <carson@taltos.org> reported the device number problem,
4417 provided a test system, and tested the changes. Peter
4418 Vines <psv2b@eservices.virginia.edu> reported the zone
4419 handling problem and tested the fix.
4421 Adapted to FreeBSD 8.0-CURRENT changes in device number
4422 computation. Problem was reported by Erwin Lansing
4423 <erwin@FreeBSD.org>. Larry Rosenman <ler@lerctr.org>
4424 provided a test system.
4426 Corrected Solaris Configure test for appropriate VxFS
4427 library when using gcc to compile lsof.
4429 Updated for loss of KAME IPv6 FreeBSD accommodations.
4431 Adapted to FreeBSD 7.2. Made Configure script recognized
4434 4.83 January 18, 2010
4435 Converted Solaris 10 and above ZFS support to use the CTF
4436 debugger library, libctf. Code was supplied by Robert
4437 Byrnes <Robert.Byrnes@deshaw.com>.
4439 Corrected a typo in the testing of the LINUX_HASSELINUX
4440 environment variable in the Configure script. The error
4441 was reported by Mike Frysinger <vapier@gentoo.org>.
4442 At Mike's request made Configure script accept LSOF_RANLIB
4443 (ranlib command), LSOF_CFGF (additional configuration flags)
4444 and LSOF_CFGL (additional library specifications) from the
4447 Enabled complilation of Solaris 10 lsof after a recent Sun
4448 patch which changed the PC file system's structure. Peter
4449 Vernam <pvernam@draper.com> reported the problem and helped
4452 Made the sort of configuration CFLAGS in the CkTestDB
4453 script impervious to locale settings.
4455 Ported to Solaris 11, using a test system kindly provided
4456 by David Day <dday76@gmail.com>.
4458 Adjusted to the disappearance of <nfs/rpcv2.h> in FreeBSD
4461 Changed Solaris node type lookup to a hashed method and
4462 added some ability for it to handle duplicate vnodeop names
4465 Updated for FreeBSD 9.0-CURRENT. Andrzej Tobola
4466 <ato@iem.pw.edu.pl> provided a test system. Extends the
4467 fix to FreeBSD 6.0 and above via a Configure test and a
4468 compile-time definition. The need for the extension was
4469 reported by Erik Trulsson <ertr1013@student.uu.se>>
4471 Made corrections to FAQ typographical errors, suggested
4472 by Josh Soref <timeless@gmail.com>.
4474 Added __UCLIBC__ test to Linux dlsof.h so lsof would compile
4475 on an Intel ARM XScale processor. The addition was provided
4476 by Doug Kehn <rdkehn@yahoo.com>.
4478 Added test for <utmpx.h> to FreeBSD configuration. Improved
4479 its use in lsof.h. The changes were supplied by Martin Wilke
4483 Fixed a man page nroff command error with a correction
4484 supplied by Josh Soref <timeless@gmail.com>.
4486 Made Configure script recognize FreeBSD 7.3. Larry Rosenman
4487 <ler@lerctr.org> provided a test system.
4489 Improved task support, initially for Linux only, with help
4490 provided by Jerome Marchand <jmarchan@redhat.com> and
4491 Miklos Szeredi <mszeredi@suse.cz>. The support includes a
4492 new compile-time definition, HASTASKS, and a new run time
4493 option, "-K" to select task reporting.
4495 While adding help output support for "-K", reorganized the
4496 printing of help columns to make it much easier to add a new
4499 Updated the Solaris PC file system structure patch in
4500 revision 4.83 so it will compile with gcc.
4502 Disabled the Solaris lgrp_root work-around in the Solaris
4503 machine.h so it won't cause compilation problems on Solaris
4504 11. It no longer causes compilation problems on my Solaris
4505 9 and 10 test systems, but some older Solaris 9 and 10
4506 versions may still need it, so the work-around was left in
4507 the Sun machine.h and a FAQ entry was created about it.
4509 Updated for Solaris 11 b134, using a test system kindly
4510 provided by Carson Gaspar <carson@taltos.org>. Made
4511 provisions for the next ZFS version. Added info about
4512 the failure of the LTnlink test on ZFS file systems.
4514 Corrected typo in Configure script, reported by Dmitry
4515 Berezin <dmitryb@oit.rutgers.edu>.
4517 4.85 September 27, 2011
4518 John Dzubera <Zube@CS.ColoState.EDU> kindly provided a patched
4519 Solaris 9 test system with the lgrp_root conflict and I was
4520 able to devise an automatic work-around for the conflict. The
4521 special note in .../dialects/sun/machine.h was removed and
4522 the 17.28.1 FAQ entry was modified to reflect the update.
4524 Added a Solaris 11 work-around for a typedef problem with
4525 <sys/mutex.h>. Carson Gaspar <carson@taltos.org> reported
4526 the problem and supplied the work-around.
4528 Added support for FreeBSD 7.4 and 8.2; tested on systems
4529 provided by Larry Rosenman <ler@lerctr.org>.
4531 Added support for 32 bit Solaris 11 lsof with mods supplied
4532 by Jan Wortelboer <J.H.P.Wortelboer@uva.nl>.
4534 Added Solaris 11 support for using an alternate genunix
4535 location. Bill Goodridge <bill@its.brooklyn.cuny.edu>
4536 reported the alternate location.
4538 Added further Linux cross configuration support to lsof's
4539 Configure script. The additional support was supplied by
4540 Grant Erickson <erick205@umn.edu>. See the descriptions of
4541 the LINUX_* environmen variables in 00XCONFIG for more
4542 information. Tested lsof on Linux kernel 2.6.32 and picked
4543 some lint that surfaced during the test.
4545 Added fixes and changes for Apple Mac OS X 10.6, provided by
4546 Allan Nathanson <ajn@apple.com>. Allan also provided a test
4549 Tested on FreeBSD 6.4 i386, using a test system provided by
4550 Terry Kennedy <TERRY@tmk.com>. Updated for recent FreeBSD ZFS
4551 changes on an 8.2 amd64 test system also provided by Terry.
4553 Changed documentation to indicate FreeBSD 7.x is no longer
4554 supported, since I no longer have a test system.
4556 Made some changes to the lsof man page, suggested by Navid
4557 <evi1m4chine@googlemail.com>.
4559 Added compensation for Solaris 10 systems that have patch
4560 144488-10. The patch requires that the new header file
4561 <sys/socket_proto.h> be included while _KERNEL is defined.
4562 Brett Bartick <Brett.bartick@nomura.com> reported the problem
4563 first, followed by Stuart Anderson <anderson@ligo.caltech.edu>.
4564 Michael Hocke <michael.hocke@nyu.edu> suggested a work-around
4565 which I refined to limit it to the specific Solaris 10 instance
4566 and then tested on a system provided by Charles Stephens
4569 Added the +|-e option for Linux. It exempts file systems
4570 named by path from function calls that might block in the
4571 kernel -- i.e., stat(2) and lstat(2), and when the +e form
4572 is used, readlink (2). The new packager of lsof for the
4573 Linux Fedora and RHEL distributions, Peter Schiffer
4574 <pschiffe@redhat.com>, asked for the feature so it could
4575 be used with Clearcase file systems, whose implementation
4576 can block stat(2) calls. I consider this feature very risky
4577 and easy to misuse -- e.g., specifying the file system as
4578 '/' would exempt all file systems. I don't intend to
4579 propagate this option to any other UNIX dialect that lsof
4582 Made FreeBSD 9 adjustment.
4584 Fixed a Linux bug that prevented the display of paths for
4585 abstact UNIX sockets. Masatake Yamato <yamato@redhat.com>
4586 reported the bug and supplied a patch.
4588 Added compensation for the removal of RPC header files from
4589 GlibC 2.14 for Linux. Marek Behun <kabel@blackhole.sk>
4590 reported the problem and supplied a patch.
4592 Added support for Linux Netlink protocol. Masatake Yamato
4593 requested the support and supplied a patch. Peter Schiffer
4594 <pschiffe@redhat.com> provided a test system.
4596 Corrected Linux UDP6-lite path. The error was reported by
4597 Masatake Yamato and he also supplied a patch.
4600 Lsof for AIX is no longer supported on any versions of that
4603 Added information about the clang compiler for FreeBSD to the
4606 Corrected an arg.c bug in the accumulation of +|-e option
4607 values, reported by Peter Schiffer <pschiffe@redhat.com>.
4608 This correction was supplied as a patch to revision 4.85.
4610 Enabled FreeBSD 10 support and tested it there on a system
4611 provided by Larry Rosenman <ler@lerctr.org>.
4613 Updated for latest Solaris 11 with patches supplied by
4614 Carson Gaspar <carson@taltos.org>. Carson supplied a test
4617 Adjusted Linux file system search method to compensate for
4618 NFS mounts that have duplicate device numbers. The problem
4619 was reported by Peter Schiffer <pschiffe@redhat.com>, who
4620 provided a test system.
4622 At the request of Peter Schiffer <pschiffe@redhat.com>, added
4623 support for Linux SCTP socket files. Peter provided a test
4624 system. Applied a warning patch supplied by Peter.
4626 Added support for Mac OS X 10.7 (Lion), provided by Allan
4627 Nathanson <ajn@apple.com>. Allan also supplied a test
4630 Enabled FreeBSD 8.3 support and tested it there on a system
4631 provided by Larry Rosenman <ler@lerctr.org>.
4633 Corrected the FAQ information on ZFS with Solaris 10 after
4634 Steven Blackmon <stblackm@cisco.com> and Prasad Jampala
4635 <jampalp@cisco.com> pointed out that it was incorrect --
4636 i.e., outdated by the libctf changes at revision 4.83.
4638 Added code to handle a Linux NFS-mounted root. Jia He
4639 <hejianet@linux.vnet.ibm.com> reported the need for this.
4641 4.87 January 2, 2013
4642 Added an entry to 00FAQ about lsof behavior when the
4643 HASSECURITY and HASNOSOCKSECURITY options are defined.
4644 Carson Gaspar <carson@taltos.org> pointed out the need
4645 for this clarification.
4647 Added a work-around for a missing definition of mach_port_t
4648 in Darwin 9 (Mac OS/X 10.5.8). The work-around was supplied
4649 by Jim Reid <jim@rfc1035.com>.
4651 Added support for Linux anon_inodefs, provided by Masatake
4652 YAMATO <yamato@redhat.com>.
4654 Documented a Solaris 9 and 10 portmap reporting problem
4655 (+M) in 00FAQ. The problem was reported by Clint
4656 Roberts <Clint.Roberts@ttius.com>. I have no solution
4657 to the problem, but discuss a possible work-around in
4658 the answer to this 00FAQ question: "Why doesn't lsof
4659 report portmap registrations for some Solaris versions?"
4661 Added FreeBSD support for the oldnfs and newnfs file system
4662 types. Daniel Braniss <danny@cs.huji.ac.il> reported the
4663 need for the addition.
4665 Added ICMP socket support for Linux with code provided by
4666 Masatake YAMATO <yamato@redhat.com>.
4668 Corrected the reporting of process group ID for libproc
4669 versions of Mac OS X with a patch from Jeff Trawick
4670 <trawick@gmail.com>. The patch has not been applied to
4671 Darwin kmem versions, because of little call for them
4672 and inadequate test system access. The patch has been
4673 tested on Mac OS X 10.8 (Mountain Lion), courtesy of a
4674 test system provided by Allan Nathanson <ajn@apple.com>.
4676 Added thread support to those FreeBSD versions that have
4677 ki_numthreads in their kinfo_proc structure. This also
4678 activates the -K option for those FreeBSD versions. Jeff
4679 Trawick reported problems with FreeBSD lsof when threads
4680 are present and this addition solves those problems.
4682 Made changes to 00FAQ and the distribution, suggested by
4683 Warren Young <warren@etr-usa.com>. The 00FAQ changes
4684 center on sections that discuss the -s option. The changes
4685 to the distribution include a ChangeLog file that is either
4686 a pointer to or a copy of 00DIST, the distribution notes.
4688 Added support to FreeBSD for using the clang compiler.
4690 Added Linux support for using the getxattr() call to obtain
4691 socket protocol identification when it is can't be obtained
4692 from the /proc/net files that lsof examines. Masatake YAMATO
4693 <yamato@redhat.com> developed the kernel patch to getxattr()
4694 and supplied the lsof patch.
4696 4.88 October 13, 2014
4697 Reduced to 50 the number of open file descriptors lsof
4698 attempts to close while trying to protect itself from a
4699 file descriptor exec() attack. This limits the overhead
4700 lsof incurs on systems that have large file descriptor
4701 limits, yet provides sufficient open descriptors for the
4702 library functions lsof calls.
4704 Updated for changes in FreeBSD 10 with advice from Eygene
4705 Ryabinkin <rea@freebsd.org>. Taught Configure to recognize
4708 Herein am noting that lsof for Solaris 10 or 11 is no longer
4709 supported. I no longer have test systems. Some support is
4710 still available from Casper Dik <Casper.Dik@oracle.com> and a
4711 Solaris 11 patch he provided is included in this revision.
4713 Initialized local variables in the Linux process_id() function.
4714 Jia He <jiakernel@gmail.com> reported the problem.
4716 Added support for FreeBSD 11.
4718 Updated FreeBSD ZFS Configure stanza to supply a dummy
4719 opt_kdtrace.h when needed.
4721 Added tmpfs file system support for FreeBSD.
4723 Since a test system is no longer available, dropped the
4724 claim of FreeBSD 4.9 support.
4726 Added the +|-E options for Linux. -E displays endpoint info;
4727 +E displays endpoint info and endpopint files. Masatake YAMATO
4728 <yamato@redhat.com> requested this support and suggested code
4731 Fixed a Linux bug handling processes whose command includes a
4732 non-printing character, particularly a NEWLINE character, and
4733 clarified printing of single '\\' characters in command and
4734 file names. Stephane Chazelas <stephane.chazelas@gmail.com>
4735 reported the problem.
4737 Added support for Linux RDMA and CRYPTO protocal names and UNIX
4738 socket type with code from Masatake YAMATO <yamato@redhat.com>.
4740 Fixed field output to insure that the field descriptor field is
4741 always selected, since it identifies the file set. The bug was
4742 reported by Gary Plewa <gary.m.plewa-1@lowes.com>.
4745 Applied correction from Casper Dik <Casper.Dik@oracle.com> to
4746 his patch for Solaris 11 that I applied incorrectly in revision
4749 Updated for latest version of FreeBSD 11.0-CURRENT.
4751 Compensated for a missing FreeBSD 10.0 typedef of bool on the
4752 i386 architecture. Allen Hewes <rallenh@hotmail.com> provided
4753 a test system. Andrey Chernov <ache@freebsd.org> provided
4756 Improved tests/Add2TestDB script with a patch from Peter
4757 Schiffer <pschiffe@redhat.com>. Added patches from Peter to
4758 eliminate Linux gcc warnings. Updated Lsof.8 with improvements
4759 supplied by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
4761 Changed FreeBSD global CFLAGS extraction per Terry Kennedy
4762 <TERRY@tmk.com>. Also made sure -DNEEDS_BOOL_TYPEDEF is
4763 #define'd when the resulting CFLAGS doesn't contain it. Terry
4766 Improved Linux test for tcp.h in response to a report from
4767 Cato Auestad <cato@cato.ninja>. Cato did the testing.
4769 Fixed Linux UNIX socket search by name bug reported by
4770 Stephane Chazelas <stephane.chazelas@gmail.com>.
4772 Added Linux display of UNIX socket endpoint information with
4773 code provided by Masatake YAMATO <yamato@redhat.com>. Peter
4774 Schiffer <pschiffe@redhat.com> provided a test system.
4776 Insured that type definitions from <vm/vm.h> were again made
4777 visible to lsof on FreeBSD 11 after a system header file change
4781 Vic Abell <abe@purdue.edu>