﻿
Third party code may be provided with the Software and/or Service. The license terms for such third-parties are detailed below in this file. You can always find the latest up-to-date list of the third party code and the associated license terms used with the Software and/or Service at http://kb.acronis.com/content/7696

Components by license:

BSD license is applicable to:
ANTLR

Boost Software License is applicable to:
Boost

GPL v2 is applicable to:
CuteMouse
GNU termcap
samba
pcmciautils
LVM2
udev
growisofs
Linux kernel
open iscsi
dmidecode
multipath tools
mtx
busybox
sg3_utils
dmraid
util-linux-ng
cdrecord
procps

LGPL is applicable to:
FOX
GNU C library
glib
sysfsutils (library)
ulxmlrpcpp
Qt

OpenSSL license is applicable to:
OpenSSL

DJ Delorie license is applicable to:
DJGPP

MIT license is applicable to:
ICU
expat

zlib license is applicable to:
zlib

lsof license is applicable to:
lsof

OpenSSH license is applicable to:
OpenSSH

ncurses license is applicable to:
ncurses

libxml2 license is applicable to:
libxml2

PMODE/DJ license is applicable to:
PMODE/DJ

===================================================
The following license applies to ANTLR:

Copyright (c) 2003-2008, Terence Parr
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


===================================================
The following license applies to Boost:

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.
===================================================
GNU GENERAL PUBLIC LICENSE Version 2 applies to the following components:

CuteMouse
GNU termcap
samba
pcmciautils
LVM2
udev
growisofs
open iscsi
dmidecode
multipath tools
mtx
busybox
sg3_utils
dmraid
util-linux-ng
cdrecord
procps
Linux kernel

***********

GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the program's name and an idea of what it does.
Copyright (C) yyyy  name of author

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.  This is free software, and you are welcome
to redistribute it under certain conditions; type `show c' 
for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written 
by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.
===================================================

GNU LESSER GENERAL PUBLIC LICENSE Version 2.1 applies to the following components:

FOX
GNU C library
glib
sysfsutils (library)
ulxmlrpcpp
Qt

***********

GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

[This is the first released version of the Lesser GPL.  It also counts
 as the successor of the GNU Library Public License, version 2, hence
 the version number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does.
Copyright (C) year  name of author

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.

signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

===================================================
OpenSSL license is applicable to OpenSSL:


  LICENSE ISSUES
  ==============

  The OpenSSL toolkit stays under a dual license, i.e. both the conditions of
  the OpenSSL License and the original SSLeay license apply to the toolkit.
  See below for the actual license texts. Actually both licenses are BSD-style
  Open Source licenses. In case of any license issues related to OpenSSL
  please contact openssl-core@openssl.org.

  OpenSSL License
  ---------------

/* ====================================================================
 * Copyright (c) 1998-2008 The OpenSSL Project.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 *
 * 3. All advertising materials mentioning features or use of this
 *    software must display the following acknowledgment:
 *    "This product includes software developed by the OpenSSL Project
 *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
 *
 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
 *    endorse or promote products derived from this software without
 *    prior written permission. For written permission, please contact
 *    openssl-core@openssl.org.
 *
 * 5. Products derived from this software may not be called "OpenSSL"
 *    nor may "OpenSSL" appear in their names without prior written
 *    permission of the OpenSSL Project.
 *
 * 6. Redistributions of any form whatsoever must retain the following
 *    acknowledgment:
 *    "This product includes software developed by the OpenSSL Project
 *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
 *
 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 * OF THE POSSIBILITY OF SUCH DAMAGE.
 * ====================================================================
 *
 * This product includes cryptographic software written by Eric Young
 * (eay@cryptsoft.com).  This product includes software written by Tim
 * Hudson (tjh@cryptsoft.com).
 *
 */

 Original SSLeay License
 -----------------------

/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
 * All rights reserved.
 *
 * This package is an SSL implementation written
 * by Eric Young (eay@cryptsoft.com).
 * The implementation was written so as to conform with Netscapes SSL.
 *
 * This library is free for commercial and non-commercial use as long as
 * the following conditions are aheared to.  The following conditions
 * apply to all code found in this distribution, be it the RC4, RSA,
 * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
 * included with this distribution is covered by the same copyright terms
 * except that the holder is Tim Hudson (tjh@cryptsoft.com).
 *
 * Copyright remains Eric Young's, and as such any Copyright notices in
 * the code are not to be removed.
 * If this package is used in a product, Eric Young should be given attribution
 * as the author of the parts of the library used.
 * This can be in the form of a textual message at program startup or
 * in documentation (online or textual) provided with the package.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *    "This product includes cryptographic software written by
 *     Eric Young (eay@cryptsoft.com)"
 *    The word 'cryptographic' can be left out if the rouines from the library
 *    being used are not cryptographic related :-).
 * 4. If you include any Windows specific code (or a derivative thereof) from
 *    the apps directory (application code) you must include an acknowledgement:
 *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
 *
 * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * The licence and distribution terms for any publically available version or
 * derivative of this code cannot be changed.  i.e. this code cannot simply be
 * copied and put under another distribution licence
 * [including the GNU Public Licence.]
 */
===================================================
DJ Delorie license is applicable to DJGPP:

This is the file "copying.dj".  It does NOT apply to any sources or
binaries copyrighted by UCB Berkeley, the Free Software Foundation, or
any other agency besides DJ Delorie and others who have agreed to
allow their sources to be distributed under these terms.

   Copyright Information for sources and executables that are marked
   Copyright (C) DJ Delorie
                 7 Kim Lane
                 Rochester NH  03867-2954

This document is Copyright (C) DJ Delorie and may be distributed
verbatim, but changing it is not allowed.

Source code copyright DJ Delorie is distributed under the terms of the
GNU General Public Licence, with the following exceptions:

* Sources used to build crt0.o, gcrt0.o, libc.a, libdbg.a, and
  libemu.a are distributed under the terms of the GNU Library General
  Public License, rather than the GNU GPL.

* Any existing copyright or authorship information in any given source
  file must remain intact.  If you modify a source file, a notice to that
  effect must be added to the authorship information in the source file. 

* Runtime binaries, as provided by DJ in DJGPP, may be distributed
  without sources ONLY if the recipient is given sufficient information
  to obtain a copy of djgpp themselves.  This primarily applies to
  go32-v2.exe, emu387.dxe, and stubedit.exe.

* Runtime objects and libraries, as provided by DJ in DJGPP, when
  linked into an application, may be distributed without sources ONLY
  if the recipient is given sufficient information to obtain a copy of
  djgpp themselves.  This primarily applies to crt0.o and libc.a.

-----

Changes to source code copyright BSD, FSF, or others, by DJ Delorie
fall under the terms of the original copyright.  Such files usually
have multiple copyright notices in them.

A copy of the files "COPYING" and "COPYING.LIB" are included with this
document.  If you did not receive a copy of these files, you may
obtain one from whence this document was obtained, or by writing:

      Free Software Foundation
      59 Temple Place - Suite 330
      Boston, MA 02111-1307
      USA
===================================================
MIT license applies to the following components:
ICU
expat

*******

ICU License - ICU 1.8.1 and later

COPYRIGHT AND PERMISSION NOTICE

Copyright (c) 1995-2006 International Business Machines Corporation and others

All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, provided that the above copyright notice(s) and this permission notice appear in all copies of the Software and that both the above copyright notice(s) and this permission notice appear in supporting documentation.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

Except as contained in this notice, the name of a copyright holder shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization of the copyright holder.


===================================================
zlib license is applicable to:

zlib

*******

  Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler

  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

  Jean-loup Gailly jloup@gzip.org
  Mark Adler madler@alumni.caltech.edu


===================================================

lsof license
			Making and Installing lsof 4

********************************************************************
| The latest release of lsof is always available via anonymous ftp |
| from lsof.itap.purdue.edu.  Look in pub/tools/unix/lsof.         |
********************************************************************

				Contents

	Pre-built Lsof Binaries
	Making Lsof
	    Other Configure Script Options
	    Environment Variables
	    Security
	    Run-time Warnings
	    Device Access Warnings
	    NFS Blocks
	    Caches -- Name and Device
	    Raw Sockets
	    Other Compile-time Definitions
	    The AFSConfig Script
	    The Inventory Script
	    The Customize Script
	    Cautions
	    Warranty
	    License
	    Bug Reports
	    The 00FAQ File
	    The lsof-l Mailing List
	    Field Output Example Scripts
	    Field Output C Library
	Testing Lsof
	Dialect Notes
	    AFS
	    AIX
	    Apple Darwin
	    Auspex LFS (no longer maintained)
	    BSDI BSD/OS
	    DEC OSF/1, Digital UNIX, Tru64 UNIX
	    FreeBSD
	    HP-UX
	    IPv6
	    Linux
	    NetBSD
	    NEXTSTEP and OPENSTEP
	    OpenBSD
	    Pyramid DC/OSx and Reliant UNIX (no longer available)
	    Caldera OpenUNIX
	    SCO OpenServer
	    SCO|Caldera UnixWare
	    Solaris 2.x, 7, 8, 9 and 10
	    Ultrix (no longer available)
	    Veritas VxFS and VxVM
	User-contributed Dialect Support
	Dialects No Longer Supported
	Installing Lsof
	    Setuid-root Lsof Dialects
	    Setgid Lsof Dialects
	Porting lsof 4 to a New UNIX Dialect
	Quick Start to Using lsof
	Cross-configuring Lsof
	Environment Variables Affecting the Configure Script


=======================
Pre-built Lsof Binaries
=======================

Avoid using pre-built lsof binaries if you can; build your own
instead.

I do not support lsof binaries built and packaged by third parties nor
lsof binaries built from anything but the latest lsof revision.  (See
the Bug Reports section for more information on the details of lsof
support.)

One important reasone for those support restrictions is that when lsof
is built its Configure script tunes lsof to the features available on
the building system, often embodied in supporting header files and
libraries.  If the building system doesn't have support for a
particular feature, lsof won't be built to support the feature on any
system.

The Veritas VxFS file system is a good example of a feature that
requires build-time support.

UNIX dialect version differences --  Solaris 8 versus 9, AIX 4.3.3
vesus 5.2, etc. -- can also render a pre-built lsof binary useless
on a different version.  So can kernel bit size.

There are so many potential pitfalls to using an lsof binary
improperly that I strongly recommend lsof be used only where it is
built.


===========
Making Lsof
===========

	$ cd <lsof source directory>
	$ ./Configure <your dialect's abbreviation>
	$ make

(Consult the 00FAQ and 00XCONFIG files of the lsof distribution
for information about using make command invocations and environment
variables to override lsof default Makefile strings.)

This lsof distribution can be used with many UNIX dialects.  However,
it must be configured specifically for each dialect.  Configuration
is done in three ways: 1) by changing definitions in the machine.h
header file of the UNIX dialect of interest; 2) by defining
environment variable values prior to calling Configure (see the
00XCONFIG file, the Environment Variabls and Environment Variables
Affecting the Configure Script sections of this file); and 3) by
running the Configure shell script found in the top level of the
distribution directory.

You may not need to change any machine.h definitions, but you might
want to look at them anyway.  Pay particular attention to the
definitions that are discussed in the Security section of this
file.  Please read that section.

The Configure script calls three other scripts in the lsof
distribution: AFSConfig; Inventory; and Customize.  The AFSConfig
script is called for selected dialects (AIX, HP-UX, NEXTSTEP, and
Solaris) to locate AFS header files and determine the AFS version.
See The AFSConfig Script section of this file for more information.

The Inventory script checks the completeness of the lsof distribution.
Configure calls Inventory after it has accepted the dialect
abbreviation, but before it configures the top-level directory for
the dialect.  See The Inventory Script section of this file for
more information.

Configure calls the Customize script after it has configured the
top-level lsof directory for the declared dialect.  Customize helps
you modify some of the important compile-time definitions of
machine.h.  See the The Customize Script section.

You should also think about where you will install lsof and its
man page, and whom you will let execute lsof.  Please read the
Installing Lsof section of this file for information on installation
considerations.

Once you have inspected the machine.h file for the dialect for
which you want to build lsof, and made any changes you need, run
the Configure script, supplying it with the abbreviation for the
dialect.  (See the following table.)  Configure selects the
appropriate options for the dialect and runs the Mksrc shell script
in the dialect sub-directory to construct the appropriate source
files in the top-level distribution directory.

Configure may also run the MkKernOpts script in the dialect
sub-directory to propagate kernel build options to the dialect
Makefile.  This is done for only a few dialects -- e.g., DC/OSx,
and Reliant UNIX.

Configure creates a dialect-specific Makefile.  You may want to
inspect or edit this Makefile to make it conform to local conventions.
If you want the Makefile to install lsof and its man page, you will
have to create an appropriate install rule.

Lsof may be configured using UNIX dialect abbreviations from the
following table.  Alternative abbreviations are indicated by a
separating `|'.   For example, for SCO OpenServer you can use either
the ``osr'' or the ``sco'' abbreviation:

	$ Configure osr
    or
	$ Configure sco

 Abbreviations		UNIX Dialect
 -------------		------------

    aix			IBM AIX 5.[123] using IBM's C Compiler
    aixgcc		IBM AIX 5.[123] using gcc
    darwin		Apple Darwin 7.x and 8.x for Power Macintosh systems
    decosf		DEC OSF/1, Digital UNIX, Tru64 UNIX 4.0 and 5.1
    digital_unix	Digital UNIX, DEC OSF/1, Tru64 UNIX 4.0 and 5.1
    du			Digital UNIX, DEC OSF/1, Tru64 UNIX 4.0 and 5.1
    freebsd		FreeBSD 4.x, 4.1x, 5.x and [67].x
    hpux		HP-UX 11.00, 11.11 and 11.23, using HP's C
			Compiler, both /dev/kmem-based and PSTAT-based
    hpuxgcc		HP-UX 11.00, 11.11 and 11.23, using gcc, both
			/dev/kmem-based and PSTAT-based
    linux		Linux 2.1.72 and above for x86-based systems
    netbsd		NetBSD 1.[456], 2.x and 3.x
    next		NEXTSTEP 3.[13]
    nextstep		NEXTSTEP 3.[13]
    ns			NEXTSTEP 3.[13]
    nxt			NEXTSTEP 3.[13]
    openbsd		OpenBSD 2.[89] and 3.[0-9]
    openstep		OPENSTEP 4.x
    os			OPENSTEP 4.x
    osr			SCO OpenServer Release 5.0.6, using the C compiler
			from the SCO developer's kit
    osrgcc		SCO OpenServer Release 5.0.6, using gcc
    osr6		SCO Openserver 6.0.0, using the SCO C compiler
    sco			SCO OpenServer Release 5.0.6, using the C compiler
			from the SCO developer's kit
    scogcc		SCO OpenServer Release 5.0.6, using gcc
    solaris		Solaris 2.x, 7, 8, 9 and 10 using gcc
    solariscc		Solaris 2.x, 7, 8, 9 and 10 using Sun's cc
    tru64		Tru64 UNIX, DEC OSF/1, Digital UNIX 4.0 and 5.1
    unixware		SCO|Caldera UnixWare 7.1.4
    uw			SCO|Caldera UnixWare 7.1.4

If you have an earlier version of a dialect not named in the above
list, lsof may still work on your system.  I have no way of testing
that myself.  Try configuring for the named dialect -- e.g., if
you're using Solaris 2.1, try configuring for Solaris 2.5.1.

After you have configured lsof for your UNIX dialect and have
selected options via the Customize script (See the The Customize
Script section.) , use the make command to build lsof -- e.g.,

	$ make


Other Configure Script Options
==============================

There are three other useful options to the Configure script besides
the dialect abbreviation:

	-clean          may be specified to remove all traces of
			a dialect configuration, including the
			Makefile, symbolic links, and library files.

	-h              may be specified to obtain a list of
	-help		Configure options, including dialect
			abbreviations.

	-n              may be specified to stop the Configure
			script from calling the Customize and
			Inventory scripts.

			Caution: -n also suppresses the AFSConfig
			step.



Environment Variables
=====================

Lsof configuration, building, and execution may be affected by
environment variable settings.  See the Definitions That Affect
Compilation section in the 00PORTING file, the General Environment
Variables section in the 00XCONFIG file, the Dialect-Specific
Environment Variables section in the 00XCONFIG file, and the
Environment Variables Affecting the Configure Script section of
this file for more information.

Note in the General Environment Variables section of the 00XCONFIG
file that there are five environment variables that can be used to
pre-define values in lsof's -v output: LSOF_BLDCMT, LSOF_HOST,
LSOF_LOGNAME, LSOF_SYSINFO, and LSOF_USER.


Security
========

If the symbol HASSECURITY is defined, a security mode is enabled,
and lsof will allow only the root user to list all open files.
Non-root users may list only open files whose processes have the
same user ID as the real user ID of the lsof process (the one that
its user logged on with).

However, if HASNOSOCKSECURITY is also defined, anyone may list
anyone else's open socket files, provided their listing is enabled
with the "-i" option.

Lsof is distributed with the security mode disabled -- HASSECURITY
is not defined.  (When HASSECURITY is not defined, the definition
of HASNOSOCKSECURITY has no meaning.)  You can enable the security
mode by defining HASSECURITY in the Makefile or in the machine.h
header file for the specific dialect you're using -- e.g.
dialects/aix/machine.h.

The Customize script, run by Configure when it has finished its
work, gives you the opportunity to define HASSECURITY and
HASNOSOCKSECURITY.  (See the The Customize Script section.)

The lsof -h output indicates the state HASSECURITY and HASNOSOCKSECURITY
had when lsof was built, reporting:

    "Only root can list all files;"
	if HASSECURITY was defined and HASNOSOCKSECURITY wasn't
	defined;

    "Only root can list all files, but anyone can list socket files."
	if HASSECURITY and HASNOSOCKSECURITY were both defined;

    "Anyone can list all files;"
	if HASSECURITY wasn't defined.  (The definition of
	HASNOSOCKSECURITY doesn't matter when HASSECURITY isn't
	defined.)

You should carefully consider the implications of using the default
security mode.  When lsof is compiled in the absence of the
HASSECURITY definition, anyone who can execute lsof may be able to
see the presence of all open files.  This may allow the lsof user
to observe open files -- e.g., log files used to track intrusions
-- whose presence you would rather not disclose.

All pre-compiled binaries on lsof.itap.purdue.edu and mirrored from
it were constructed without the HASSECURITY definition.

As distributed, lsof writes a user-readable and user-writable device
cache file in the home directory of the real user ID executing
lsof.  There are other options for constructing the device cache file
path, and they each have security implications.

The 00DCACHE file in the lsof distribution discusses device cache
file path construction in great detail.   It tells how to disable
the various device cache file path options, or how to disable the
entire device cache file feature by removing the HASDCACHE definition
from the dialect's machine.h file.  There is also information on
the device cache file feature in the 00FAQ file.  (The 00DCACHE
and 00FAQ files are part of the lsof distribution package.)

The Customize script, run by Configure after it has finished its
work, gives you the opportunity to change the compile-time options
related to the device cache file.  (See The Customize Script
section.)

Since lsof may need setgid or setuid-root permission (See the Setgid
Lsof Dialects and Setuid-root Lsof Dialects sections.), its security
should always be viewed with skepticism.  Lest the setgid and
setuid-root permissions allow lsof to read kernel name list or
memory files, declared with the -k and -m options, that the lsof
user can't normally access, lsof uses access(2) to establish its
real user's authority to read such files when it can't surrender
its power before opening them.  This change was added at the
suggestion of Tim Ramsey.

Lsof surrenders setgid permission on most dialects when it has
gained access to the kernel's memory devices.  There are exceptions
to this rule, and some lsof implementations need to run setuid-root.
(The Setgid Lsof Dialects and Setuid-root Lsof Dialects sections
contains a list of lsof implementations and the permissions
recommended in the distribution's Makefiles.)

The surrendering of setgid permission is controlled by the WILLDROPGID
definition in the dialect machine.h header files.

In the end you must judge for yourself and your installation the
risks that lsof presents and restrict access to it according to
your circumstances and judgement.


Run-time Warnings
=================

Lsof can issue warning messages when it runs -- e.g., about the
state of the device cache file, about an inability to access an
NFS file system, etc.  Issuance of warnings are enabled by default
in the lsof distribution.

Issuance or warnings may be disabled by default by defining
WARNINGSTATE in the dialect's machine.h.  The Customize script may
also be used to change the default warning message issuance state.
(See The Customize Script section.)

The ``-w'' option description of the ``-h'' option (help) output
will indicate the default warning issuance state.  Whatever the
state may be, it can be reversed with ``-w''.


Device Access Warnings
======================

When lsof encounters a /dev (or /devices) directory, one of its
sub-directories, or one of their files that it cannot access with
opendir(3) or stat(2), it issues a warning message and continues.
Lsof will be more likely to issue such a warning when it has been
installed with setgid(<some group name>) permission; it won't have
trouble if it has been installed with setuid(root) permission or
is being run under the root login.

The lsof caller can inhibit or enable the warning with the -w
option, depending on the issuance state of run-time warnings.  (See
the Run-time Warnings section.)

The warning messages do not appear when lsof obtains device
information from a device cache file that it has built and believes
to be current or when warning message issuance is disabled by
default.  (See the "Caches -- Name and Device" section for more
information on the device cache file.)

The lsof builder can inhibit the warning by disabling the definition
of WARNDEVACCESS in the dialect's machine.h or disable all warnings
by defining WARNINGSTATE.  WARNDEVACCESS is defined by default for
most dialects.  However, some dialects have some device directory
elements that are private -- e.g., HP-UX -- and it is more convenient
for the lsof user if warning messages about them are inhibited.

Output from lsof's -h option indicates the status of WARNDEVACCESS.
If it was defined when lsof was compiled, this message will appear:

    /dev warnings = enabled

If WARNDEVACCESS was not defined when lsof was compiled, this
message will appear instead:

    /dev warnings = disabled

The Customize script, run by Configure after it has finished its
work, gives you the opportunity to change the WARNDEVACCESS
definition.  (See The Customize Script section.)


NFS Blocks
==========

Lsof is susceptible to NFS blocks when it tries to lstat() mounted
file systems and when it does further processing -- lstat() and
readlink() -- on its optional file and file system arguments.

Lsof tries to avoid being stopped completely by NFS blocks by doing
the lstat() and readlink() functions in a child process, which
returns the function response via a pipe.  The lsof parent limits
the wait for data to arrive in the pipe with a SIGALRM, and, if
the alarm trips, terminates the child process with a SIGINT and a
SIGKILL.

This is as reliable and portable a method for breaking NFS deadlocks
as I have found, although it still fails under some combinations
of NFS version, UNIX dialect, and NFS file system mount options.
It generally succeeds when the "intr" or "soft" mount options are
used; it generally fails when the "hard" mount option is used.

When lsof cannot kill the child process, a second timeout causes
it to stop waiting for the killed child to complete.  While the
second timeout allows lsof to complete, it may leave behind a hung
child process.  Unless warnings are inhibited by default or with
the -w option, lsof reports the possible hung child.

NFS block handling was updated with suggestions made by Andreas
Stolcke.  Andreas suggested using the alternate device numbers that
appear in the mount tables of some dialects when it is not possible
to stat(2) the mount points.

The -b option was added to direct lsof to avoid the stat(2) and
readlink(2) calls that might block on NFS mount points and always
use the alternate device numbers.  If warning message issuance is
enabled and you don't want warning messages about what lsof is
doing, use the -w option, too.

The -O option directs lsof to avoid doing the potentially blocking
operations in child processes.  Instead, when -O is specified, lsof
does them directly.  While this consumes far less system overhead,
it can cause lsof to hang, so I advise you to use -O sparingly.


Caches -- Name and Device
==========================

Robert Ehrlich suggested that lsof obtain path name components for
open files from the kernel's name cache.  Where possible, lsof
dialect implementations do that.  The -C option inhibits kernel
name cache examination.

Since AFS apparently does not use the kernel's name cache, where
lsof supports AFS it is unable to identify AFS files with path name
components.

Robert also suggested that lsof cache the information it obtains
via stat(2) for nodes in /dev (or /devices) to reduce subsequent
running time.  Lsof does that, too.

In the default distribution the device cache file is stored in
.lsof_hostname, mode 0600, in the home directory of the login of
the user ID that executes lsof.  The suffix, hostname, is the first
component of the host's name returned by gethostname(2).  If lsof
is executed by a user ID whose home directory is NFS-mounted from
several hosts, the user ID's home directory may collect several
device cache files, one for each host from which it was executed.

Lsof senses accidental or malicious damage to the device cache file
with extensive integrity checks, including the use of a 16 bit CRC.
It also tries to sense changes in /dev (or /devices) that indicate
the device cache file is out of date.

There are other options for forming the device cache file path.
Methods the lsof builder can use to control and employ them are
documented in the separate 00DCACHE file of the lsof distribution.


Raw Sockets
===========

On many UNIX systems raw sockets use a separate network control
block structure.  Display of files for applications using raw
sockets -- ping, using ICMP, for example -- need special support
for displaying their information.  This support is so dialect-specific
and information to provide it so difficult to find that not all
dialect revisions of lsof handle raw sockets completely.


Other Compile-time Definitions
==============================

The machine.h and dlsof.h header files for each dialect contains
definitions that affect the compilation of lsof.  Check the
Definitions That Affect Compilation section of the 00PORTING file
of the lsof distribution for their descriptions.  (Also see The
Customize Script section.)


The AFSConfig Script
====================

Lsof supports AFS on some combinations of UNIX dialect and AFS
version.  See the AFS section of this document for a list of
supported combinations.

When configuring for dialects where AFS is supported, the Configure
script calls the AFSConfig script to determine the location of AFS
header files and the AFS version.  Configure will not call AFSConfig,
even for the selected dialects, unless the file /usr/vice/etc/ThisCell
exists.

The AFS header file location is recorded in the AFSHeaders file;
version, AFSVersion.  Once these values have been recorded, Configure
can be told to skip the calling of AFSConfig by specifying its
(Configure's) -n option.


The Inventory Script
====================

The lsof distribution contains a script, called Inventory, that
checks the distribution for completeness.  It uses the file 00MANIFEST
in the distribution as a reference point.

After the Configure script has accepted the dialect abbreviation,
it normally calls the Inventory script to make sure the distribution
is complete.

After Inventory has run, it creates the file ".ck00MAN" in the
top-level directory to record for itself the fact that the inventory
has been check.  Should Inventory be called again, it senses this
file and asks the caller if another check is in order, or if the
check should be skipped.

The -n option may be supplied to Configure to make it bypass the
calling of the Inventory script.  (The option also causes Configure
to avoid calling the Customize script.)

The lsof power user may want to define (touch) the file ".neverInv".
Configure avoids calling the Inventory script when ".neverInv"
exists.


The Customize Script
====================

Normally when the Configure script has finished its work, it calls
another shell script in the lsof distribution called Customize.
(You can tell Configure to bypass Customize with its -n option.)

Customize leads you through the specification of these important
compile-time definitions for the dialect's machine.h header file:

	HASDCACHE		device cache file control
	    HASENVDC		device cache file environment
				variable name
	    HASPERSDC		personal device cache file path
				format
	    HASPERSDCPATH	name of environment variable that
				provides an additional component
				of the personal device cache file
				path
	    HASSYSDC		system-wide device cache file path
	HASKERNIDCK		the build-time to run-time kernel
				identity check
	HASSECURITY		the security option
	HASNOSOCKSECURITY	the open socket listing option whe
				HASSECURITY is defined
	WARNDEVACCESS		/dev (or /devices) warning message
				control
	WARNINGSTATE		warning message issuance state

The Customize script accompanies its prompting for entry of new
values for these definitions with brief descriptions of each of
them.  More information on these definitions may be found in this
file or in the 00DCACHE and 00FAQ files of the lsof distribution.

You don't need to run Customize after Configure.  You can run it
later or you can edit machine.h directly.

The -n option may be supplied to Configure to make it bypass the
calling of the Customize script.  (The option also causes Configure
to avoid calling the Inventory script.)

The lsof power user may want to define (touch) the file ".neverCust".
Configure avoids calling the Customize script when ".neverCust"
exists.

Customize CAUTION: the Customize script works best when it is
applied to a newly configured lsof source base -- i.e., the machine.h
header file has not been previously modified by the Customize
script.  If you have previously configured lsof, and want to rerun
the Customize script, I recommend you clean out the previous
configuration and create a new one:

	$ Configure -clean
	$ Configure <dialect_abbreviation>
	...
	Customize in response to the Customize script prompts.


Cautions
========

Lsof is a tool that is closely tied to the UNIX operating system
version.  It uses header files that describe kernel structures and
reads kernel structures that typically change from OS version to
OS version, and even within a version as vendor patches are applied.

DON'T TRY TO USE AN LSOF BINARY, COMPILED FOR ONE UNIX OS VERSION,
ON ANOTHER.  VENDOR PATCHES INFLUENCE THE VERSION IDENTITY.

On some UNIX dialects lsof versions may be even more restricted by
architecture type.

The bottom line is use lsof where you built it.  If you intend to
use a common lsof binary on multiple systems, make sure all systems
run exactly the same OS version and have exactly the same patches.


Warranty
========

Lsof is provided as-is without any warranty of any kind, either
expressed or implied, including, but not limited to, the implied
warranties of merchantability and fitness for a particular purpose.
The entire risk as to the quality and performance of lsof is with
you.  Should lsof prove defective, you assume the cost of all
necessary servicing, repair, or correction.


License
=======

Lsof has no license.  Its use and distribution are subject to these
terms and conditions, found in each lsof source file.  (The copyright
year in or format of the notice may vary slightly.)

    /*
     * Copyright 2002 Purdue Research Foundation, West Lafayette,
     * Indiana 47907.  All rights reserved.
     *
     * Written by Victor A. Abell
     *
     * This software is not subject to any license of the American
     * Telephone and Telegraph Company or the Regents of the
     * University of California.
     *
     * Permission is granted to anyone to use this software for
     * any purpose on any computer system, and to alter it and
     * redistribute it freely, subject to the following
     * restrictions:
     *
     * 1. Neither the authors nor Purdue University are responsible
     *    for any consequences of the use of this software.
     *
     * 2. The origin of this software must not be misrepresented,
     *    either by explicit claim or by omission.  Credit to the
     *    authors and Purdue University must appear in documentation
     *    and sources.
     *
     * 3. Altered versions must be plainly marked as such, and must
     *    not be misrepresented as being the original software.
     *
     * 4. This notice may not be removed or altered.
     */


Bug Reports
===========

Now that the obligatory disclaimer is out of the way, let me hasten to
add that I accept lsof bug reports and try hard to respond to them.  I
will also consider and discuss requests for new features, ports to new
dialects, or ports to new OS versions.

PLEASE DON'T SEND BUG REPORTS ABOUT LSOF TO THE UNIX DIALECT OR DIALECT
OPTION VENDOR.

At worst such bug reports will confuse the vendor; at best, the vendor
will forward the bug report to me.

PLEASE DON'T SEND BUG REPORTS ABOUT LSOF BINARIES BUILT OR DISTRIBUTED
BY SOMEONE ELSE, BECAUSE I CAN'T SUPPORT THEM.

I do support binaries I built, obtained ONLY from lsof.itap.purdue.edu.
Before reporting a problem with a lsof.itap.purdue.edu binary, please
verify the correctness of the signatures found in its associated
CHECKSUMS file.

Before you send me a bug report, please do these things:

    *  Make sure you try the latest lsof revision.

       +  Download the latest revision from:

	    ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof

       +  Verify the signatures of what you have downloaded;

       +  While connected to lsof.itap.purdue.edu, check for patches:

	    ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/patches

       +  If patches exist, install them in the latest revision
	  you just downloaded.  Then build the latest revision and
	  see if it fixes your bug.

    *  If you're having trouble compiling lsof with gcc, try the
       UNIX dialect vendor's compiler.  I don't have access to gcc on
       all test systems, so my support for it is hit-and-miss, and so
       is my ability to respond to gcc compilation problem reports.

    *  Check the lsof frequently asked questions file, 00FAQ,
       to see if there's a question and answer relevant to your
       problem.

When you send a bug report, make sure you include output from your
running of lsof's Configure script.  If you were able to compile a
running lsof, please include output from its -h and -v options.

If you weren't able to compile a running lsof, please send me: the
compiler error output; identification of the lsof revision you're using
(contents of the lsof version.c file); identification of your system
(full uname output or output from whatever other tool identifies the
system); and compiler identification (e.g., gcc -v output).

Either set of output will help me understand how lsof was configured
and what UNIX dialect and lsof revision is involved.

Please send all bug reports, requests, etc. to me via e-mail at
<abe@purdue.edu>.  Make sure "lsof" appears in the "Subject:" line so
my e-mail filter won't classify your letter as Spam.


The 00FAQ File
==============

The lsof distribution contains an extensive frequently asked
questions file on lsof features and problems.  I recommend you
consult it before sending me e-mail.  Use your favorite editor or
pager to search 00FAQ -- e.g., supplying as a search argument some
fixed text from an lsof error message.


The lsof-l Mailing List
=======================

Information about lsof, including notices about the availability
of new revisions, may be found in mailings of the lsof-l listserv.
For more information about it, including instructions on how to
subscribe, read the 00LSOF-L file of the lsof distribution.


Field Output Example Scripts
============================

Example AWK and Perl 4 or 5 scripts for post-processing lsof field
output are locate in the scripts sub-directory of the lsof distribution.
The scripts sub-directory contains a 00README file with information
about the scripts.


Field Output C Library
======================

The lsof test suite (See "Testing Lsof."), checks basic lsof
operations using field output.  The test suite has its own library
of C functions for common test program operations, including
processing of field output.  The library or selections of its
functions could be adapted for use by C programs that want to
process lsof field output.  See the library in the file LTlib.c
in the tests/ sub-directory


Testing Lsof
============

Lsof has an automated test suite in the tests/ sub-directory that
can be used to test some basic lsof features -- once lsof has been
configured and made.  Tests are arranged in three groups: basic
tests that should run on all dialects; standard tests that should
run on all dialects; and optional tests that may not run on all
dialects or may need special resources to run.  See 00TEST for more
information.)

CAUTION!!!  Before you attempt to use the test suite make sure that
the lsof you want to test can access the necessary kernel resources
-- e.g., /dev/mem, /dev/kmem, /proc, etc.  Usually you want to test
the lsof you just built, so this is an important check.  (See
00TEST.)

To run the basic and standard tests, using the lsof in the parent
directory of tests/, do this:

	$ cd tests
	$ make test
    or	$ make std
    or	$ make standard

The basic and standard tests may be run as silently as possible,
using the lsof in the parent directory of tests/, with:

	$ cd tests
	$ make auto

This is the "automatic" test mode, designed for use by scripts that
build lsof.  The caller is expected to test the make exit code to
determine if the tests succeeded.  The caller should divert standard
output and standard error to /dev/null to suppress make's error
exit message.

The optional tests may be run, using the lsof in the parent directory
of tests/, with:

	$ cd tests
	$ make opt
    or	$ make optional

It's possible to excute individual tests, too.  See the 00TEST file
of this distribution for more informaiton on the tests, what they
do, and how to run and possibly customize each test.

It's possible to run the tests, using an lsof other than the one
in the parent directory of /tests, too.  See 00TEST for information
about using the LT_LSOF_PATH environment variable to do that.


=============
Dialect Notes
=============


AFS
===

Lsof recognizes AFS files on the following combinations of UNIX
dialect and AFS versions:

	AIX 4.1.4 (AFS 3.4a)
	Linux 1.2.13 (AFS 3.3)
	NEXTSTEP 3.2 (AFS 3.3) (untested on recent lsof revisions)
	Solaris 2.6 (AFS 3.4a)
	Ultrix 4.2 RISC (AFS 3.2b) (no longer available)

Lsof has not been tested under other combinations -- e.g. HP-UX
10.10 and AFS 3.4a -- and probably won't even compile there.  Often
when a UNIX dialect version or AFS version changes, the new header
files come into conflict, causing compiler objections.


AIX
===

Specify the aix Configure abbreviation for AIX 4.1.[45], 4.2[.1],
4.3[.123], 5L, and 5.[123].

Specify aixgcc on AIX above 4.1 to use the gcc compiler.  (Gcc can't be
used to compile lsof on AIX 4.1 and below because of kernel structure
alignment differences between it and xlc.)  Gcc results sometimes
depend on the version of the gcc compiler that is used.

Compilation of lsof with gcc on AIX 4.3[.123], 5L, and 5.[123] has been
sparsely tested with varying degrees of success: it has been reported
to succeed on AIX 4.3.3 and 32 bit Power AIX 5.1; to fail on ia64 AIX
5.1 and 64 bit Power AIX 5.1; and to succeed on 32 and 64 bit Power AIX
5.2.  Lsof compilation with gcc hasn't been tested on AIX 5.3.

At revision 4.61 and above lsof is configured and built to match the
bit size of the kernel of Power architecture AIX 5.1 systems.  Lsof
binaries built for 32 and 64 bit kernels are not interchangeable.  See
00FAQ for more information.

The Configure script uses /usr/bin/oslevel to determine the AIX version
for AIX less than 5 and ``uname -rv'' for AIX 5 and higher.  If
/usr/bin/oslevel isn't executable on AIX less than 5, the Configure
script issues a warning message and uses ``uname -rv'' to determine the
AIX version.

When Configure must use ``uname -rv'' on AIX less than 5 to determine
the AIX version, the result will lack a correct third component --
e.g., the `4' of ``4.1.4''.  If your AIX less than 5 system lacks lacks
an executable oslevel, I suggest you edit the Configure-produced
Makefile and complete the _AIXV definition in the CFGF string.

By default lsof avoids using the kernel's readx() function, causing
it to be unable to report information on some text and library file
references.  The ``-X'' option allows the lsof user to ask for the
information readx() supplies.

Lsof avoids readx() to avoid the possibility of triggering a kernel
problem, known as the Stale Segment ID kernel bug.  Kevin Ruderman
reported this bug to me.  The bug shows up when the kernel's
dir_search() function hangs, hanging the application process that
called it so completely that the application process can neither
be killed nor stopped.  The hang is the consequence of another
process (perhaps lsof) making legitimate use of the kernel's readx()
function to access the kernel memory that dir_search() is examining.
IBM has indicated they have no plans to fix the bug.

A fuller discussion of this bug may be found in the 00FAQ file of
the lsof distribution.  There you will find a description of the
Stale Segment ID bug, the APAR on it, and a discussion of the
sequence of events that exposes it.

I added the ``-X'' function so you can tell lsof to use readx(),
but if you use ``-X'', you should be alert to its possibly serious
side effects.  Although readx() is normally disabled, its state is
controlled with the HASXOPT, HASXOPT_ROOT, and HASXOPT_VALUE
definitions in dialects/aix/machine.h, and you can change its
default state by changing those definitions.  You can also change
HASXOPT_ROOT via the Customize script.

You can also compile lsof with readx() use permanently enabled or
disabled -- see the comments about the definitions in the
dialects/aix/machine.h header file.  You may want to permanently
disable lsof's use of readx() if you plan to make lsof publicly
executable.  You can also restrict -X to processes whose real UID
is root by defining HASXOPT_ROOT.

I have never seen lsof cause the Stale Segment ID bug to occur and
haven't had a report that it has, but I believe there is a possibility
it could.

AFS support for AIX was added with help help from Bob Cook and Jan
Tax who provided test systems.

Henry Grebler and David J. Wilson helped with lsof for AIX 4.2.

Bill Pemberton provided an AIX 4.3 test system.  Andrew Kephart
and Tom Weaver provided AIX 4.3 technical assistance.   Niklas
Edmundsson did 4.3.1 testing.  Doug Crabill provided an AIX 4.3.2
test system.  Jeff W. Stewart provided an AIX 4.3.3 test system.

The SMT file type for AIX 4.1.[45], 4.2[.1], and 4.3[.12] is my
fabrication.  See the 00FAQ file more information on it.

Loc Le and Nasser Momtaheni of IBM provided test systems for AIX 5L and
5.1.  Lsof for AIX 5L and 5.1 needs setuid-root permission to process
the -X option on systems whose architecture type is ia64.

Dale Talcott of Purdue provided AIX 5.1 and 5.2 test systems.  Dale and
John Jackson of Purdue provided an AIX 5.3 test system.


Apple Darwin
============

The Apple Darwin port was provided by Allan Nathanson for version
1.2.  Allan also arranged for access to a test system for maintenance
and regression testing.  Dale Talcott provided a test system, too.

Allan supplied patches for updates to 1.4, 5.x, 6.x, 7.x and 8.x.


BSDI BSD/OS
===========

As of lsof revision 4.77 support for BSDI BSD/OS has been
discontinued.  Lsof revision 4.76 with BSDI BSD/OS support may be found
on lsof.itap.purdue.edu in pub/tools/unix/lsof/src.


DEC OSF/1, Digital UNIX, Tru64 UNIX
===================================

Robert Benites, Dean Brock, Angel Li, Dwight McKay, Berkley Shands,
Ron Young and Steve Wilson have kindly provided test systems.
Jeffrey Mogul has provided technical assistance.  Dave Morrison
and Lawrence MacIntyre did Digital UNIX V3.2 testing.

Lsof supports the ADVFS/MSFS layered file system product.  Lsof
can locate all the open files of an ADVFS/MSFS file system when
its path is specified, provided the file system is listed in
/etc/fstab with an ``advfs'' type.  (This /etc/fstab caveat applies
only to Digital UNIX 2.0.)  At Digital UNIX 4.0 and Tru64 UNIX,
using code provided by David Brock, lsof 4.20 and above can locate
ADVFS file paths.

Testing of lsof on DEC OSF/1 and Digital UNIX 4.0 ended with lsof
revision 4.74.  Hence, the lsof documentation has dropped the claim
that it works there.  For a distribution of lsof 4.74 that was tested
on DEC OSF/1 and Digital UNIX 4.0, check pub/tools/unix/lsof/OLD/src
on the lsof ftp home, lsof.itap.purdue.edu.

Lsof revisions past 4.74 have only been tested on Tru64 UNIX 5.1.


FreeBSD
=======

Bill Bormann of Purdue University provided access to several FreeBSD
test systems.  Ade Barkah, John Clear, Ralph Forsythe, Michael
Haro, Kurt Jaeger, and William McVey have also provided FreeBSD
test systems.

The FreeBSD distribution header files are augmented by header files
in the dialects/freebsd/include directory.

David O'Brien maintains the lsof FreeBSD port package.


HP-UX
=====

Lsof has two HP-UX bases: /dev/kmem for HP-UX 11.0 and earlier;
and PSTAT for HP-UX 11.11 and later.  The lsof Configure script
will pick the appropriate base.

To use the CCITT x.25 socket support for HP-UX, you must have the
x.25 header files in /etc/conf/x25

Pasi Kaara helped with the HP-UX port, especially with its CCITT
x.25 socket support.

Richard Allen provided HP-UX 10.x and 11.x test systems, as did
Mark Bixby, and Elias Halldor Agustsson.   Marc Winkler helped test
the 10.20 port.  Richard J. Rauenzahn provided a 64 bit HP-UX 11
test system and an HP-UX 11.11 development system.

AFS support for HP-UX was added thanks to help from Chaskiel Moses
Grundman, who provided a test system.

The /dev/kmem-based HP-UX 11.00 support is extremely fragile.  It
depends on privately developed kernel structure definitions.  (See
.../dialects/hpux/hpux11 for the header files making the definitions.)
Those header files and their definitions will not be updated by
HP-UX 11.00 patches, making it likely that any patch changing a
kernel structure critical to lsof will break lsof in some way.

It's possible to build a 64 bit lsof for 64 bit HP-UX 11.00 with
gcc, but you must have a gcc compiler capable of producing 64 bit
executables.  See the 00FAQ file for more information.

The PSTAT-based lsof for HP-UX 11.11 and later is much more solid.
I am indebted to the vision of HP for providing an lsof kernel API
through the PSTAT implementation.  Specifically I appreciate the
help of HP staff members Carl Davidson, Louis Huemiller, Rich
Rauenzahn, and Sailu Yallapragada that made PSTAT-based HP-UX lsof
possible.


IPv6
====

Lsof has IPv6 support that has been tested for these UNIX dialects:
AIX 4.3.x; Apple Darwin 5.[12] and 6.0; the INRIA and KAME FreeBSD IPv6
implementations; PSTAT-based HP-UX; /proc-based Linux; the INRIA and
KAME NetBSD implementations; and Solaris 8 and 9.  Lsof has IPv6
support that hasn't been tested for: OpenBSD (KAME); OpenUNIX 8; Tru64
Unix 5.[01]; and UnixWare 7.1.[34].

Please let me know if your UNIX dialect has IPv6 support and I'll
see if it can be supported by lsof.


Linux
=====

Tim Korb, Steve Logue, Joseph J. Nuspl Jr., and Jonathan Sergent
have provided Linux test systems.

Michael Shields helped add and test automatic handling of ELF/COFF
form names in /System.map, Marty Leisner and Keith Parks have helped
test many lsof revisions.  Marty has provided valuable suggestions,
Linux hints, and code, too.

The 00FAQ file gives some Linux tips, including information on
coping with system map file problems.

To determine the state of the Linux 2.1.x C library lseek() function,
the lsof Configure script runs a test program that must have
permission to read /dev/kmem.  The test determines if the lseek()
function properly handles kernel offsets, which appear to be negative
because their high order bit is set.  If the lseek() test reveals
a faulty lseek(), Configure activates the use of a private lseek()
function for kernel offset positioning.  See the Linux problems
section of the 00FAQ file of the lsof distribution for more
information.


NetBSD
======

Greg Earle  and Paul Kranenburg have assisted with the NetBSD ports.
Paul has provided test systems.  Ray Phillips provided a NetBSA
Alpha test system.  Andrew Brown also provided a test system.

The NetBSD dialect version of lsof is compiled using the dialect
sources it shares with OpenBSD in the n+obsd dialect sub-directory.


NEXTSTEP and OPENSTEP
=====================

Virtual memory header files that allow lsof to display text references
were derived from the contents of /usr/include/vm of NEXTSTEP 2.0.
NeXT did not ship the virtual memory header files with other NEXTSTEP
or OPENSTEP versions.

You may use the RC_FLAGS environment variable to declare compiler
options outside the Makefile.  A common use of this variable is to
define the architecture types to be included in a "fat" executable.
See the comments in dialects/next/Makefile for an example.


OpenBSD
=======

David Mazieres has provided OpenBSD test systems.  The OpenBSD
dialect version of lsof is compiled using the dialect sources it
shares with NetBSD in the n+obsd dialect sub-directory.

Kenneth Stailey has provided OpenBSD testing and advice.

John Dzubera (Zube) reports, "lsof 4.33 compiles and runs on OpenBSD
2.3 for the pmax architecture (decstation 3100)."

I have not tested lsof on OpenBSD 3.8, but David Mazieres reports
revision 4.76 worked on OpenBSD 3.8.


Pyramid DC/OSx and Reliant UNIX
===============================

As of lsof revision 4.52 support for all Pyramid dialects has been
discontinued.  Lsof revision 4.51 with Pyramid support may be
obtained upon request.  Send the request to abe@purdue.edu.

These two UNIX dialects are very similar and share dialect-specific
source files from the pyramid sub-directory.

The Reliant Unix Pyramid C compiler issues warning messages that
I haven't found a convenient way to suppress.  You can ignore
warning messages about casts and conversions that lose bits.  The
message "warning: undefining __STDC__" is intentionally caused by
the lsof MkKernOpts configuration script to suppress warning messages
about cast and conversion problems in standard system header files,
such as <stdio.h> and <string.h>.

Bruce Beare and Kevin Smith provided test systems.


Caldera OpenUNIX
================

Larry Rosenman provided an OpenUNIX 8 test system.  Matthew Thurmaier
provided technical assistance, along with these people from Caldera:
Jack Craig, Robert Lipe, and Bela Lubkin.

Robert Lipe supplied changes to lsof for OpenUNIX 8.0.1.  Those
changes were also incorporated in UnixWare 7.1.3 when it became
the release name for OpenUNIX 8.0.1.

Support for lsof on OpenUNIX ended at lsof revision 4.74.  The last
lsof revision, 4.74, tested on OpenUNIX, may be found at the lsof
"home" ftp site, lsof.itap.purdue.edu, in pub/tools/unix/lsof/OLD/src.


SCO OpenServer
==============

Dion Johnson, Bela Lubkin, and Nathan Peterson of SCO gave me copies
of SCO OpenServer and the SCO OpenServer Development System 3.0
and provided technical advice for the lsof port.

Hugh Dickins, Bela Lubkin, Craig B. Olofson, and Nathan Peterson
provided version 5.0 and gave technical advice for porting lsof to
it.  Bela provided the 5.0.4 changes.  D. Chris Daniels provided
a 5.0.4 test system, Lee Penn provided one for 5.0.5, and John
Dubois for 5.0.6.

The <netdb.h> header file was accidentally omitted from some SCO
OpenServer Development System releases.  The Configure script will
sense its absence and substitute an equivalent from the BSD
distribution.  The BSD <netdb.h> and the <sys/cdefs.h> header file
it includes are located in the dialects/os/include sub-directory
tree.

To compile lsof from its distribution sources you must have the
TCP/IP and NSF headers in /usr/include.  While those are optional
OpenServer packages, I have access to no system that doesn't have
them, so I'm unable to build lsof for such a configuration.  However,
it should be possible to modify the lsof Configure script and
sources so lsof would compile and work without those optional
packages.

If you have an OpenServer system configured without the TCP/IP and
NFS packages, and want to tackle the job of building lsof for it,
contact me via e-mail at <abe@purdue.edu>.  I'll identify the
Configure script, header file, and source file changes you will
need to make.  (Caution: this is not a simple task, or I would have
already done it.)

The optional osrgcc and scogcc Configure abbreviations construct
Makefiles for compiling lsof with gcc.

The UnixWare 7.1.4 sources are used for OpenServer Release 6.0.0.
Hence there is a separate Configure abbreviation for it, "osr6".
Richard of SCO provided a test system and technical assistance.


SCO|Caldera UnixWare
============

D. Chris Daniels, John Hughes, Ken Laing, Andrew Merril, Lee Penn, and
Matthew Thurmaier provided test systems.  Bela Lubkin provided
technical assistance.  Larry Rosenman provided 7.1.[34] test systems.


Solaris 2.x, 7, 8, 9 and 10
===========================

SEE THE CAUTIONS SECTION OF THIS DOCUMENT.

The latest Solaris revision of lsof 4 might work under Solaris
2.[1-4] and 2.5[.1] and 7 but hasn't been tested there.  I have no
test systems for those Solaris versions.

Lsof will compile with gcc and the Sun C compiler under Solaris.
If you want to use the Sun compiler, use the solariscc Configure
abbreviation.  If you use a gcc version less than 2.8 on Solaris,
make sure the gcc-specific includes have been updated for your
version of Solaris -- i.e., run the gcc fixincludes script.

Solaris 7, 8, 9 and 10 support for 64 bit kernels depends on a Sun
WorkShop or Forte C compiler version that supports the "-xarch=v9"
flag -- usually 5.0 or greater.  Gcc versions 2.95 and above *may*
be configured and built for 64 bit support, but it takes some extra
work, the resulting compiler may be fragile, and the gcc developers
discourage it.  I've built 64 bit capable gcc compilers for Solaris
7, 8 and 9 from gcc versions 2.95 through 3.0.1 and produced working
lsof executables with them.  More information on 64 bit gcc for
Solaris may be found in the 00FAQ file.

Dave Curry and Steve Kirsch provided resources for Solaris 2.x
ports.  Casper Dik and Gerry Singleton consulted and provided
valuable assistance.

Henry Katz, Joseph Kowalski, Charles Stephens, Mike Sullivan, and
Mike Tracy provided technical assistance.

AFS support was added to Solaris lsof with help from Curt Freeland,
Heidi Hornstein, Michael L. Lewis, Terry McCoy, Phillip Moore, and
Sushila R. Subramanian.

Casper Dik provided valuable assistance for the Solaris 8 support.

Sun has graciously provided me access to BETA versions of Solaris
2.5, 2.6, 7, 8, and 9.

John Dzubera provided Solaris 7 and 8 test systems.

Mike Miscevic provided  Solaris 10 test systems.


Ultrix
======

As of lsof revision 4.52 support for Ultrix is no longer available,
because I no longer have an Ultrix test system.

Terry Friedrichsen, Dwight McKay, and Jeffrey Mogul helped me with
this port.

DECnet support was added to Ultrix lsof with the help of John
Beacom, who kindly provided a test system.  The Configure script
decides that DECnet support is available if /usr/lib/libdnet.a and
/usr/include/netdnet/dn.h exist and are readable.


Veritas VxFS and VxVM
=====================

Lsof supports some versions of Veritas VxFS and VxVM on some UNIX
dialects.  Consult the lsof Configure script for the specific
dialect, and consult the lsof dialect-specific source files for
the UNIX dialect of interest.  Veritas support will usually be
found in a source file named dnode[1-9].c.

Since Veritas rarely has a version number that can be extracted
with shell commands, lsof doesn't use it.  Instead, when lsof
supports Veritas, the Configure script will form compile-time
definitions starting with HASVXFS.   Check the lsof 00PORTING
documentation file for more information.

Lsof Veritas support requires that the supporting Veritas header
files be installed -- e.g., in /usr/include/sys/fs.  (The location
will depend in the dialect's header file conventions.)

Some information on lsof support for Veritas extensions may be
found in the lsof 00DIST file.

Chris Kordish and Andy Thomas have provided Solaris VxFS test
systems.


================================
User-contributed Dialect Support
================================

There are some user-contributed dialect versions of lsof; more
information on them can be found at:

	ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/contrib

Check the 00INDEX file there for details.


============================
Dialects No Longer Supported
============================

Because I don't have access to test systems, these UNIX dialects
are no longer supported by lsof:

	CDC EP/IX
	/dev/kmem-based Linux
	MIPS RISC/os
	Motorola V/88
	Pyramid DC/OSx
	Pyramid Reliant UNIX
	Sequent DYNIX
	SGI IRIX
	SunOS 4.x
	Ultrix
	UnixWare below 7.0

Remnants of the support lsof once provided for these dialects may
be found in:

	ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/binaries
and
	ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/OLD/dialects


===============
Installing Lsof
===============

The distributed Makefiles do not have actions that will install
lsof.  I've come to the conclusion there is no standard for installing
lsof or its man page, so I no longer distribute make rules for
installing them.  You should adjust the Makefile for your local
preferences.

The Makefile does have an install rule that will cause lsof to
compile by virtue of its dependency clause.  Some Makefiles also
have a dependency that causes the production of a man page that is
ready to install.  However, the actions of the install rule will
not cause the lsof executable or its man page to be installed in
any UNIX system-wide directory.

Instead, after the compilation and optional man page production
are completed, the install rule will produce a brief description
of what actions you might add to the install rule.  The description
will suggest the possible modes, ownerships, permissions, and
destinations your install rule might employ to install the lsof
executable and man page.

As you form your install rule, keep in mind that lsof usually needs
some type of special permission to do its job.  That may be permission
to read memory devices such as /dev/kmem, /dev/mem, or /dev/swap,
or it may be authorization to read entries in the /proc file system.

Memory device access can usually be provided by setting the modes
of the lsof executable so that it's effective group identifier when
it runs is the same as the group that has permission to read the
memory devices -- i.e., it is setgid-group.  The privileged group
is usually kmem, sys, or system.

Don't overlook using ACLs -- e.g., on AIX or Solaris 8 -- to give
lsof permission to access memory devices.  ACLs, coupled to a
separate group like kmem, can be safer than giving lsof setgid
authorization to a commonly used system group.

When lsof needs to read /proc file system entries, it must be
installed with modes that make its effective user identifier root
when it runs -- i.e., it must be setuid-root.  If lsof must be
installed setuid-root (only the AIX 5L, PSTAT-based HPUX, and
/proc-based Linux, ports need such power.), then access to memory
devices is automatic (or not needed in the case of /proc-based
Linux).

Your choice of permissions for lsof may also be affected by your
desire to allow anyone to use it or your need to restrict its usage
to specific individuals.  You will have to be guided by local policy
and convention in this case.

The next two sections, Setgid Lsof Dialect Versions and Setuid-root
Lsof Dialect Versions, list recommended install permissions.

The system directory where you install the lsof executable is also
open to choice.  A traditional place for a tool like lsof is
/usr/local/etc, but recent changes in directory structure organization
suggest that somewhere in /opt may be more suitable.

Bear one other factor in mind when choosing a location for the lsof
executable -- it usually is a shared executable, requiring access
to shared libraries.  Thus, locations like /sbin or /usr/sbin are
probably unsuitable.

Once you've chosen a location for the executable you may find that
the location for the man page follows -- e.g., if the executable
goes in /usr/local/etc, then the man page goes in /usr/local/man.
If the executable location doesn't imply a location for the man
page, you'll have to let local custom guide you.


Setuid-root Lsof Dialect Versions
=================================

These dialect versions should be installed with setuid-root
permission -- i.e., the lsof binary should be owned by root and
its setuid execution bit (04000) should be set.

	AIX 5L and above for full use of the -X option
	Apple Darwin 8.x for Power Macintosh systems
	PSTAT-based HP-UX 11.11 and 11.23
	/proc-based Linux (generally 2.1.72 and above)


Setgid Lsof Dialect Versions
============================

These dialect versions should be installed with setgid permission,
owned by the group that can read kernel memory devices such as
/dev/drum, /dev/kmem, /dev/ksyms, /dev/mem, /dev/swap.  ACLs may
be another mechanism (e.g., under AIX or Solaris 8) you can use to
grant read permission to the kernel memory devices.

	AIX 4.1.[45], 4.2[.1], and 4.3[.123]
	Apple Darwin 7.x for Power Macintosh systems
	DEC OSF/1, Digital UNIX, Tru64 UNIX 2.0, 3.2, 4.0, and 5.[01]
	FreeBSD 2.1.6, 2.2[.x], 3.x, 4.x, 5.x and [67].x
	/dev/kmem-based 11.00
	NetBSD 1.[456], 2.x and 3.x
	NEXTSTEP 3.[13]
	OpenBSD 2.[89] and 3.[0-9]
	OPENSTEP 4.x
	Caldera OpenUNIX 8
	SCO OpenServer 5.0.[46]
	SCO UnixWare 7.0 and 7.1.[0134]
	Solaris 2.6, 8, 9 and 10
	Ultrix 4.2 (no longer available)

====================================
Porting lsof 4 to a New UNIX Dialect
====================================

If you're brave enough to consider this, look at the 00PORTING
file.  Please contact me before you start.  I might be able to help
you or even do the port myself.

Don't overlook the contrib/ directory in pub/tools/unix/lsof on my
ftp server, lsof.itap.purdue.edu.  It contains user-contributed ports
of lsof to dialects I don't distribute, because I can't test new
revisions of lsof on them.


=========================
Quick Start to Using lsof
=========================

For information on how to get started quickly using lsof, consult
the 00QUICKSTART file of the lsof distribution.  It cuts past the
formal density of the lsof man page to provide quick examples of
using lsof to solve common open file display problems.


======================
Cross-configuring Lsof
======================

Using environment variables it is possible to Configure (and possibly
build) lsof for one UNIX dialect on a different one -- e.g., you
are running Configure on a Linux 2.3 system and you want to Configure
and build lsof for Linux 2.4.

See the 00XCONFIG file of the lsof distribution for a discussion
of how to do this.


====================================================
Environment Variables Affecting the Configure Script
====================================================

Configure script actions can be modified by introducing values to
the script via environment variables.  In many cases the environment
variable values take the place of test operations the Configure
script makes.

For more information on environment variables that can affect
Configure, consult the 00XCONFIG file of the lsof distribution.
See the General Environment Variables sections for descriptions of
ones that affect all dialects.  Consult the Dialect-Specific
Environment Variables section for ones that might affect the dialect
you are trying to configure.


Vic Abell <abe@purdue.edu>
April 10, 2006  
===================================================
OpenSSH license
This file is part of the OpenSSH software.

The licences which components of this software fall under are as
follows.  First, we will summarize and say that all components
are under a BSD licence, or a licence more free than that.

OpenSSH contains no GPL code.

1)
     * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
     *                    All rights reserved
     *
     * As far as I am concerned, the code I have written for this software
     * can be used freely for any purpose.  Any derived versions of this
     * software must be clearly marked as such, and if the derived work is
     * incompatible with the protocol description in the RFC file, it must be
     * called by a name other than "ssh" or "Secure Shell".

    [Tatu continues]
     *  However, I am not implying to give any licenses to any patents or
     * copyrights held by third parties, and the software includes parts that
     * are not under my direct control.  As far as I know, all included
     * source code is used in accordance with the relevant license agreements
     * and can be used freely for any purpose (the GNU license being the most
     * restrictive); see below for details.

    [However, none of that term is relevant at this point in time.  All of
    these restrictively licenced software components which he talks about
    have been removed from OpenSSH, i.e.,

     - RSA is no longer included, found in the OpenSSL library
     - IDEA is no longer included, its use is deprecated
     - DES is now external, in the OpenSSL library
     - GMP is no longer used, and instead we call BN code from OpenSSL
     - Zlib is now external, in a library
     - The make-ssh-known-hosts script is no longer included
     - TSS has been removed
     - MD5 is now external, in the OpenSSL library
     - RC4 support has been replaced with ARC4 support from OpenSSL
     - Blowfish is now external, in the OpenSSL library

    [The licence continues]

    Note that any information and cryptographic algorithms used in this
    software are publicly available on the Internet and at any major
    bookstore, scientific library, and patent office worldwide.  More
    information can be found e.g. at "http://www.cs.hut.fi/crypto".

    The legal status of this program is some combination of all these
    permissions and restrictions.  Use only at your own responsibility.
    You will be responsible for any legal consequences yourself; I am not
    making any claims whether possessing or using this is legal or not in
    your country, and I am not taking any responsibility on your behalf.


			    NO WARRANTY

    BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.

    IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.

2)
    The 32-bit CRC compensation attack detector in deattack.c was
    contributed by CORE SDI S.A. under a BSD-style license.

     * Cryptographic attack detector for ssh - source code
     *
     * Copyright (c) 1998 CORE SDI S.A., Buenos Aires, Argentina.
     *
     * All rights reserved. Redistribution and use in source and binary
     * forms, with or without modification, are permitted provided that
     * this copyright notice is retained.
     *
     * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
     * WARRANTIES ARE DISCLAIMED. IN NO EVENT SHALL CORE SDI S.A. BE
     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR
     * CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OR MISUSE OF THIS
     * SOFTWARE.
     *
     * Ariel Futoransky <futo@core-sdi.com>
     * <http://www.core-sdi.com>

3)
    ssh-keyscan was contributed by David Mazieres under a BSD-style
    license.

     * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>.
     *
     * Modification and redistribution in source and binary forms is
     * permitted provided that due credit is given to the author and the
     * OpenBSD project by leaving this copyright notice intact.

4)
    The Rijndael implementation by Vincent Rijmen, Antoon Bosselaers
    and Paulo Barreto is in the public domain and distributed
    with the following license:

     * @version 3.0 (December 2000)
     *
     * Optimised ANSI C code for the Rijndael cipher (now AES)
     *
     * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be>
     * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be>
     * @author Paulo Barreto <paulo.barreto@terra.com.br>
     *
     * This code is hereby placed in the public domain.
     *
     * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS
     * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE
     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

5)
    One component of the ssh source code is under a 3-clause BSD license,
    held by the University of California, since we pulled these parts from
    original Berkeley code.

     * Copyright (c) 1983, 1990, 1992, 1993, 1995
     *      The Regents of the University of California.  All rights reserved.
     *
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     * 1. Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     * 2. Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     * 3. Neither the name of the University nor the names of its contributors
     *    may be used to endorse or promote products derived from this software
     *    without specific prior written permission.
     *
     * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
     * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
     * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     * SUCH DAMAGE.

6)
    Remaining components of the software are provided under a standard
    2-term BSD licence with the following names as copyright holders:

	Markus Friedl
	Theo de Raadt
	Niels Provos
	Dug Song
	Aaron Campbell
	Damien Miller
	Kevin Steves
	Daniel Kouril
	Wesley Griffin
	Per Allansson
	Nils Nordman
	Simon Wilkinson

    Portable OpenSSH additionally includes code from the following copyright
    holders, also under the 2-term BSD license:

	Ben Lindstrom
	Tim Rice
	Andre Lucas
	Chris Adams
	Corinna Vinschen
	Cray Inc.
	Denis Parker
	Gert Doering
	Jakob Schlyter
	Jason Downs
	Juha Yrj・
	Michael Stone
	Networks Associates Technology, Inc.
	Solar Designer
	Todd C. Miller
	Wayne Schroeder
	William Jones
	Darren Tucker
	Sun Microsystems
	The SCO Group
	Daniel Walsh

     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions
     * are met:
     * 1. Redistributions of source code must retain the above copyright
     *    notice, this list of conditions and the following disclaimer.
     * 2. Redistributions in binary form must reproduce the above copyright
     *    notice, this list of conditions and the following disclaimer in the
     *    documentation and/or other materials provided with the distribution.
     *
     * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

8) Portable OpenSSH contains the following additional licenses:

    a) md5crypt.c, md5crypt.h

	 * "THE BEER-WARE LICENSE" (Revision 42):
	 * <phk@login.dknet.dk> wrote this file.  As long as you retain this
	 * notice you can do whatever you want with this stuff. If we meet
	 * some day, and you think this stuff is worth it, you can buy me a
	 * beer in return.   Poul-Henning Kamp

    b) snprintf replacement

	* Copyright Patrick Powell 1995
	* This code is based on code written by Patrick Powell
	* (papowell@astart.com) It may be used for any purpose as long as this
	* notice remains intact on all source code distributions

    c) Compatibility code (openbsd-compat)

       Apart from the previously mentioned licenses, various pieces of code
       in the openbsd-compat/ subdirectory are licensed as follows:

       Some code is licensed under a 3-term BSD license, to the following
       copyright holders:

	Todd C. Miller
	Theo de Raadt
	Damien Miller
	Eric P. Allman
	The Regents of the University of California
	Constantin S. Svintsoff

	* Redistribution and use in source and binary forms, with or without
	* modification, are permitted provided that the following conditions
	* are met:
	* 1. Redistributions of source code must retain the above copyright
	*    notice, this list of conditions and the following disclaimer.
	* 2. Redistributions in binary form must reproduce the above copyright
	*    notice, this list of conditions and the following disclaimer in the
	*    documentation and/or other materials provided with the distribution.
	* 3. Neither the name of the University nor the names of its contributors
	*    may be used to endorse or promote products derived from this software
	*    without specific prior written permission.
	*
	* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
	* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
	* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
	* ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
	* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
	* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
	* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
	* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
	* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
	* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
	* SUCH DAMAGE.

       Some code is licensed under an ISC-style license, to the following
       copyright holders:

	Internet Software Consortium.
	Todd C. Miller
	Reyk Floeter
	Chad Mynhier

	* Permission to use, copy, modify, and distribute this software for any
	* purpose with or without fee is hereby granted, provided that the above
	* copyright notice and this permission notice appear in all copies.
	*
	* THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL
	* WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
	* OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE
	* FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
	* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
	* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
	* CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

       Some code is licensed under a MIT-style license to the following
       copyright holders:

	Free Software Foundation, Inc.

	* Permission is hereby granted, free of charge, to any person obtaining a  *
	* copy of this software and associated documentation files (the            *
	* "Software"), to deal in the Software without restriction, including      *
	* without limitation the rights to use, copy, modify, merge, publish,      *
	* distribute, distribute with modifications, sublicense, and/or sell       *
	* copies of the Software, and to permit persons to whom the Software is    *
	* furnished to do so, subject to the following conditions:                 *
	*                                                                          *
	* The above copyright notice and this permission notice shall be included  *
	* in all copies or substantial portions of the Software.                   *
	*                                                                          *
	* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
	* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
	* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
	* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
	* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
	* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
	* THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
	*                                                                          *
	* Except as contained in this notice, the name(s) of the above copyright   *
	* holders shall not be used in advertising or otherwise to promote the     *
	* sale, use or other dealings in this Software without prior written       *
	* authorization.                                                           *
	****************************************************************************/


------
$OpenBSD: LICENCE,v 1.19 2004/08/30 09:18:08 markus Exp $ 

===================================================
ncurses license
-------------------------------------------------------------------------------
-- Copyright (c) 1998-2000,2006 Free Software Foundation, Inc.               --
--                                                                           --
-- Permission is hereby granted, free of charge, to any person obtaining a   --
-- copy of this software and associated documentation files (the             --
-- "Software"), to deal in the Software without restriction, including       --
-- without limitation the rights to use, copy, modify, merge, publish,       --
-- distribute, distribute with modifications, sublicense, and/or sell copies --
-- of the Software, and to permit persons to whom the Software is furnished  --
-- to do so, subject to the following conditions:                            --
--                                                                           --
-- The above copyright notice and this permission notice shall be included   --
-- in all copies or substantial portions of the Software.                    --
--                                                                           --
-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   --
-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                --
-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN --
-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,       --
-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR     --
-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE --
-- USE OR OTHER DEALINGS IN THE SOFTWARE.                                    --
--                                                                           --
-- Except as contained in this notice, the name(s) of the above copyright    --
-- holders shall not be used in advertising or otherwise to promote the      --
-- sale, use or other dealings in this Software without prior written        --
-- authorization.                                                            --
-------------------------------------------------------------------------------
-- $Id: README,v 1.9 2006/04/22 22:19:37 tom Exp $
-------------------------------------------------------------------------------
For discussion of the package internals, see hackguide.html in the doc/html
directory. 
===================================================
libxml2 license
Except where otherwise noted in the source code (e.g. the files hash.c,
list.c and the trio files, which are covered by a similar licence but
with different Copyright notices) all the files are:

 Copyright (C) 1998-2003 Daniel Veillard.  All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is fur-
nished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FIT-
NESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
DANIEL VEILLARD BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Daniel Veillard shall not
be used in advertising or otherwise to promote the sale, use or other deal-
ings in this Software without prior written authorization from him.
 
===================================================
PMODE/DJ license:

PMODE 3.07 is Copyright (c) 1994, by Tran (a.k.a. Thomas Pytel).
PMODE/DJ modifications are Copyright (c) 2000, by Charles Sandmann.
PMODE/DJ modifications are Copyright (c) 1996, by Matthias Grimrath.
PMSTUB.ASM is Copyright (c) 1995, by DJ Delorie, distributed with permission.

PMODE/DJ is free software.  It may be used or distributed in any manner you
wish, as long as you do not try to sell an extender based on PMODE.  You
may use this software in for profit productions.  If you use this software
in any package, you MUST give credit to Thomas Pytel and Matthias Grimrath.

If you use it in for profit productions, you are encouraged to email
the authors of PMODE/DJ.  All others may give feedback, too, of course!

PMODE/DJ comes with ABSOLUTELY NO WARRANTY; excluding any and all implied
warranties, including warranties of merchantability and fitness for a
particular purpose.  There is no warranty or representation, either express
or implied, with respect to this code, its quality, performance,
merchantability, or fitness for a particular purpose.  The entire risk
of using this program is with you.  There will be no liability for special,
incidental, or consequential damages arising out of or resulting from the use
or modification of this code.
 


＝＝＝＝＝　使用許諾契約書　＝＝＝＝＝

ソフトウェア製品名　： SpiderNet
バージョン　　　　　： 1.0

　以下は、本ソフトウェア製品の使用許諾契約書です。本ソフトウェア製品は、ソフトウェアおよびそれに関連した媒体、ならびに電子文書等を含みます。本ソフトウェア製品をインストールし、なおかつ使用することによって、お客様は本契約書の条項に拘束されることに承諾されたものとします。本契約書の条項に同意されない場合には、本ソフトウェア製品のインストールおよび使用のいずれも許諾できません。

　本ソフトウェア製品は、著作権法および著作権に関する条約をはじめ、その他の無体財産権に関する法律ならびに条約によって保護されています。

１．　著作権
  本ソフトウェア製品および本ソフトウェア製品の複製物についての権利、権原および著作権は、田井裕通(Hiromichi Tai)が有するもので、本ソフトウェア製品は著作権法および著作権に関する条約の規定によって保護されています。

２．　使用条件 
  本ソフトウェア製品はフリーソフトです。お客様は、個人使用、法人による業務使用、営利目的、非営利目的のいずれにも関わらず、本ソフトウェア製品および本ソフトウェア製品に含まれる電子文書を、任意の数のコンピュータに無制限にコピーし、インストールし、使用することができます。ただし、本ソフトウェアは、核兵器、化学兵器、生物兵器の拡散、ミサイル技術の開発等を含む、大量破壊兵器の開発・設計・製造等の用途には使用できません。また、本ソフトウェアを、原子力プラントの制御、航空機飛行制御、航空交通管制、大量輸送運行制御、生命維持、兵器発射制御などの、人命や重大な物損に関わる、高度な安全性を要求される用途に使用する際には、本ソフトウェアの不適合・瑕疵・不具合が、当該システムの安全性に影響しないような、十分な手段を講じた上でなければ、本ソフトウェアを使用することはできません。

３．　その他の権利と制限
・リバースエンジニアリング、逆コンパイル、逆アセンブルの許諾
　お客様は、本ソフトウェア製品をリバースエンジニアリング、逆コンパイル、または逆アセンブルすることができますが、これによって得た知識を第三者に開示することはできません。

・再配布および送信
　お客様は以下の条件を遵守する限りにおいて、無制限に本ソフトウェア製品を再配布し、あるいは不特定多数の第三者に対して電子的に送信可能な状態に置くことができます。

☆ オリジナルのアーカイブファイルの内容、名称、タイムスタンプ等を改変せず、そのままの形で再配布してください。

☆ 配布に際して、通信費・媒体費用などの実費を除いて、金銭・役務・物品等の授受があってはなりません。

・改変
　お客様は本ソフトウェア製品を改変することができますが、改変したソフトウェアを第三者に配布することはできません。改変したソフトウェアの使用は、お客様本人のみに許諾されます。

・レンタル
  お客様は本ソフトウェア製品をレンタル、リースまたは貸与することはできません。しかし、この制限は、お客様が本ソフトウェア製品を再配布する権利を妨げることはありません。

・ソフトウェアの譲渡
　お客様は、本ソフトウェア製品にかかわるいかなる権利も、第三者に譲渡することはできません。しかし、この制限は、お客様が本ソフトウェア製品を再配布する権利を妨げることはありません。

・解除
  お客様が本契約書の条項および条件に違反した場合、または、お客様が本ソフトウェア製品を必要としなくなった場合、他の権利を害することなく本契約を終了することができます。

・サポートサービス
　著作権者は、本ソフトウェア製品に関するサポートサービスをお客様に提供いたしません。

４．　免責
　著作権者は、本ソフトウェア製品の使用若しくは使用不能およびサポートサービスの提供若しくは不提供に関して、機能性、有用性、完全性、特定の目的に対する適合性、ウィルスの不存在、応答の的確性、使用結果、過失の不存在を含む保証を、明示、黙示、若しくは法律上のものであるか否かを問わず一切いたしません。本ソフトウェア製品の使用若しくは機能から生じる全ての危険は、お客様が負担しなければなりません。

５．　損害に関する免責
　著作権者は、本ソフトウェア製品の使用若しくは使用不能およびサポートサービスの提供若しくは不提供から生じる、一切の損害 (逸失利益、機密情報若しくはその他の情報の喪失、事業の中断、人身傷害、人命の損失、プライバシーの喪失、誠実または合理的な注意義務を含めた義務の不履行、過失、またはその他の金銭的損失を含みますがこれらに限定されません) に関して一切責任を負いません。たとえ、著作権者がこのような損害の可能性について知らされていた場合でも同様です。


　　　　　　　　　以上
