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