Meinberg SyncBox PTP User Manual

Technical Information
Operating Instructions
SyncBox PTPv2 AHS/DHS
Impressum
Meinberg Funkuhren GmbH & Co. KG Auf der Landwehr 22 D-31812 Bad Pyrmont
Internet: http://www.meinberg.de E-Mail: info@meinberg.de
Bad Pyrmont, den 17. Mai 2010
Table of Contents
Quick Start Guide.......................................................................................................... 5
PTPv2 Slave with high accuracy Oscillator...................................................................6
The Modular System SyncBox...................................................................................... 6
PTP Status LEDs „MST“ und „SLV“....................................................................7
User defined outputs OUT0, OUT1.......................................................................7
Modulated Time Code (IRIG)................................................................................8
Capture Inputs CAP0, CAP1................................................................................. 8
RS232 TERM.........................................................................................................8
Precision Time Protocol (PTP) / IEEE1588v2.............................................................. 9
General Information.............................................................................................10
Functionality in Master Systems.......................................................................... 11
Functionality in Slave Systems............................................................................11
The WEB interface...................................................................................................... 12
Configuration: Main Menu...................................................................................... 13
Configuration: Ethernet........................................................................................... 14
IPv4 addresses and DHCP................................................................................... 14
Configuration: Local................................................................................................15
Configuration: Statistics...........................................................................................16
Statistical Information..........................................................................................16
Configuration: Manual.............................................................................................17
Configuration: PTP.................................................................................................. 18
The Command Line Interface...................................................................................... 20
CLI Ethernet.............................................................................................................21
CLI PTP parameters.................................................................................................22
Attachment: Technical Information.............................................................................23
Technical Specifications.......................................................................................... 23
Front Panel connectors.............................................................................................23
Safety instructions for building-in equipment......................................................... 24
CE-Label.................................................................................................................. 24
Power supply............................................................................................................25
Third party software.................................................................................................26
Operating System GNU/Linux.............................................................................26
Samba...................................................................................................................26
Network Time Protocol Version 4 (NTP)............................................................27
mini_httpd............................................................................................................ 27
GNU General Public License (GPL)....................................................................28
Quick Start Guide
One minute after power up you can connect via a null modem cable a serial terminal from your PC. While booting the system the green „RDY“ LED is blinking and switch on permanently if system is ready. You can use e.g. the standard Hyperterminal program shipped with your Windows operating system. Configure your terminal program with 38400 Baud, 8 Data bits, no parity and 1 Stop bit. The terminal emulation have to set to VT100 (press RETURN for first connection):
The login name is always „root“. The password is “timeserver” by factory settings.
Type in the command „setup“ to enter the configuration program. All further settings can be done with this program:
Choose the „Ethernet“ button to set up the network configuration. To get the time of an external PTP IEEE1588 grandmaster you have to configure the SyncBox with an unique IP address and the default gateway. The „MST“ and „SLV“ LEDs reflect incoming and outgoing PTP packets: the „SLV“ LED will flash green if a valid PTP packet will receive from an external PTP IEEE1588 grandmaster; the „MST“ LED will flash if the SyncBox will send a PTP packet to the PTP network. While normal operation of the SyncBox the „SLV“ LED should be flashing every 2 seconds.
After this all further settings can be done via network interface, either by using a WEB browser or a Telnet Session.
The outputs of the SyncBox (10MHz, PPS and IRIG) will be enabled if the system has been synchronized by an external PTP grandmaster once and the internal oscillator (OCXO HQ) has warmed up. When outputs will be enabled can be set up in the PTP configuration. The SyncBox will start with a non valid time until it it synchronized by an external PTP IEEE1588 grandmaster once.
5
PTPv2 Slave with high accuracy Oscillator
The SyncBox provides a high precision time base (OCXO HQ) with multiple outputs for 10MHz, PPS and IRIG via TCP/IP network, synchronized by a PTP IEEE1588 grandmaster reference clock. The SyncBox act as a PTP slave with high precision oscillator to produce different timing and frequency outputs. SyncBox is a set of equipment composed of a PTP IEEE1588 Time Stamp Unit (TSU) and a power supply, all installed in a metal DIN rail mounted chassis and ready to operate. Two user configurable outputs for 1 PPS, 10 MHz and unmodulated time code (IRIG) can be set up next to a modulated time code (IRIG) output. Also two capture inputs are integrated to get high precision time stamps of external events. A simplified LINUX operating system is installed on the single-board computers flash disk. After the network connection has been established the timeserver can also be configured and monitored remotely from a workstation via TELNET or SSH. An integrated HTTP server enables access to the SyncBox by using an ordinary WEB browser.
The Modular System SyncBox
The SyncBox is a set of equipment composed of a PTP IEEE1588 Time Stamp Unit (TSU) and a power supply unit, all installed in a metal rail mount case and ready to operate. The interfaces provided by the SyncBox are accessible via connectors in the front panel of the case. Details of the components are described below.
Front View SYNCBOX/AHS
SyncBox has one PTP IEEE1588 network interface. The outputs of the SyncBox (10MHz, PPS and IRIG) will be enabled if the System has been synchronized by an external PTP grandmaster once and the internal oscillator (OCXO HQ) has warmed up. The SyncBox will start with a non valid time until it it synchronized by an external PTP IEEE1588 gradmaster once. Next to PTP IEEE1588 a the Linux system supports a number of further network protocols: HTTP(S), SSH and Telnet. Because of this remote configuration or status requests can come from any WEB browser.
6
Changes in the receiver status, errors or other important events are logged on the local Linux system.
PTP Status LEDs „MST“ und „SLV“
To get the time from a PTP IEEE1588 grandmaster clock a valid IPv4 address and the gateway have to be set up on the ethernet port. The state of the PTP on the SyncBox will be reflect by the LEDs „MST“ and „SLV“. the „SLV“ LED will flash green if a valid PTP paket will receive from an external PTP IEEE1588 grandmaster; the „MST“ LED will flash if the SyncBox will send a PTP paket to the PTP network. While normal operation of the SyncBox the „SLV“ LED should be flashing every 2 seconds.
User defined outputs OUT0, OUT1
Both outputs OUT0 and OUT1 can be set to 10 MHz, 1 PPS or unmodulated Time Code (IRIG) each. The default configuration is:
OUT0: 10 MHz
OUT1: 1 PPS
To change configuration of outputs open a Telnet or SSH session to the SyncBox and edit the file /mnt/flash/config/ptp/tsu_conf. The type of Time Code will be set for both outputs and also for the unmodulated output.
# Time Code Types for IRIG Mode: # 0: B002_B122 # 1: B003_B123 # 2: A002_A132 # 3: A003_A133 # 4: AFNOR # 5: IEEE1344 # 6: B220_1344 # 7: B222 # 8: B223
IRIG Mode: 4
# Output Modes: # 0 : Idle # 1 : 1PPS # 2 : 10MHz # 3 : IRIG
OUT0 Mode: 2 OUT1 Mode: 1
OUT0 inverted: 0 OUT1 inverted: 0
7
OUT0 active: 1 OUT1 active: 1
When outputs will be enabled can be set up in this file. By default all outputs will be enabled after booting the SyncBox (LED „ENB“ will flash green). Be aware that the time of the SyncBox is not valid after reboot until the internal PTP has not synchronized by an external PTP grandmaster. To enable outputs when the internal PTP has synchronized and the OCXO HQ has been fine adjusted you have to set the parameter „OCXO HQ control:“ to „1“. It could take several hours to do the fine adjusting of the OCXO HQ.
Modulated Time Code (IRIG)
This output will provide a modulated Time Code (IRIG). The type of Time Code is the same as the outputs OUT0 and OUT1.
Capture Inputs CAP0, CAP1
Two time capture inputs called User Capture 0 and 1 are provided at the front panel (CAP0 and CAP1) to measure asynchronous time events. A falling TTL slope at one of these inputs lets the microprocessor save the current real time in its capture buffer. Before every capture the ports have to be enabled by software. This could be done by a command from Telnet or SSh session on the SyncBox. The command „show_ucap“ will cyclic enable the capture ports and print the time in nano seconds and the channel number.
RS232 TERM
To connect a serial terminal use the left RS232 connector in the front panel. Via the serial terminal connection it possible to configure the SyncBox parameters with the command line interface. You have to use a NULL-MODEM cable connecting to your PC or Laptop computer. You can use e.g. the standard Hyperterminal program shipped with your Windows operating system. Configure your terminal program with 38400 Baud, 8 Databits, no parity and 1 Stopbit. The terminal emulation have to set to VT100. After connecting to the SYNCBOX there will be displayed the following message (press RETURN for first connection; default user: root password: timeserver).
8
9
Precision Time Protocol (PTP) / IEEE1588v2
PTP/IEEE1588 is a time synchronization protocol that offers sub-microsecond accuracy over a standard ethernet connection. This level of accuracy can be reached by adding a so-called hardware time stamping unit to the network ports that are used for PTP time synchronization. The time stamping unit captures the exact time when a PTP synchronization packet is sent or received. These time stamps are taken into account in order to compensate transfer delays introduced by the ethernet network.
In PTP networks there is only one active source of time, the so-called Grandmaster Clock. If two or more Grandmaster Clocks exist in one network, a algorithm defined in the standard is used to find out which one is the „best“ source of time. This „Best Master Clock“ algorithm has to be implemented on every PTP/IEEE1588 compliant system and therefore all clients („Slave Clocks“) will select the same Grandmaster. The other, not selected Grandmaster Clocks will „step back“ and enter passive mode, meaning that they do not send out synchronization packets as long as that is done by the selected master.
The installed network infrastructure components play a big role in a PTP network and directly influence the level of accuracy that can be reached on the clients. Asymmetric network connections degrade the accuracy, therefore classic layer 2 and 3 ethernet switches with their store and forward technology are not suitable for PTP/IEEE1588 networks and should be avoided. Simple ethernet hubs, at least the ones with fixed pass-through times, are no problem. In large networks special switches with built-in PTP/IEEE1588 functionality help to maintain a good level of accuracy even over several subnets and longer distances. These components act as so­called „Boundary Clocks“, they compensate their internal packet processing times by using time stamping units on each port. They synchronize to the Grandmaster Clock and in turn act as a Grandmaster to the other subnets they are connected to.
10
General Information
The eurocard TSU-V2 acts as a standalone single board computer including network interface card (10/100MBit) with integrated Time Stamp Unit for obtaining time stamps in IEEE1588 (PTPv2) compatible networks. In conjunction with a single board computer and a reference time source (PTP master only) the module is capable of building a PTP Master or Slave system:
The Time Stamp Unit, integrated in a FPGA (Field Programmable Gate Array, programmable logic device), checks the data traffic on the MII-interface between the PHY receiver (physical connection to the network) and the Ethernet controller (MAC) of the module TSU-V2. If a valid PTP packet is detected, the Time Stamp Unit takes a time stamp that is read out by a micro controller and passed to the single board computer (SBC) running the PTP driver software.
11
Functionality in Master Systems
After power up, the module accepts the absolute time information (PTP seconds) of a reference time source (GPS controlled clock) once only and the PTP nanoseconds are set to zero. If the oscillator frequency of the reference time source has reached it‘s nominal value, resetting of the nanoseconds is repeated. This procedure leads to a maximum deviation of 20 nsec of the pulse per second (PPS) of the PTP Master compared to the PPS of the GPS controlled clock. The reference clock of TSU-V2 (50 MHz) is derived from the GPS disciplined oscillator of the reference time source by using a PLL (Phase Locked Loop) of the FPGA. The direct coupling of the time stamp unit to the GPS system is achieved in this way.
Functionality in Slave Systems
After decoding a valid time information from a PTP Master, the system sets it‘s own PTP seconds a nanoseconds accordingly. The PTP offset calculated by the PTP driver software of the single board computer is used for adjustment of the master oscillator of TSU-V2. High accuracy of the output signals (10 MHz/PPS/IRIG) generated by the PTP Slave is achieved this way.
12
The WEB interface
Connect to the web interface by entering the following address into the address field of your web browser:
http://198.168.10.10
(You need to replace 198.168.10.10 with the IP address of your SyncBox). If you want to use an encrypted connection, replace the http:// with https:// in the above address. You may be prompted to accept the SSL certificate of your SyncBox the first time you are connecting to the system via HTTPS.
In both HTTP and HTTPS mode, you will see the following login screen:
On this start page you see a short status display. The upper line shows the operation mode of
This page will be reloaded every 30 seconds in order to reflect the current status of the unit. Please bear this in mind when you try to login and enter your password. If you do not press ENTER or the Login button within 30 seconds, the user and password field is cleared and you have to start over again.
13
Configuration: Main Menu
After entering the right password, the main menu page shows up. This page contains an overview of the most important configuration and status parameters for the system.
The start page gives a short overview of the most important configuration parameters and the runtime statistics of the unit. In the upper left corner you can read which SyncBox model and which version of the SyncBox software you are using. This LANTIME software version is a head version number describing the base system and important subsystems.
By using the buttons in the lower part of the screen, you can reach a number of configuration pages, which are described below.
14
Configuration: Ethernet
In the network configuration all parameters related to the network interfaces can be changed. In the first section you can change the hostname and domain name. You can also specify two nameserver. In the nameserver fields you have to enter an IPv4.
IPv4 addresses and DHCP
IPv4 addresses are built of 32 bits, which are grouped in four octets, each containing 8 bits. You can specify an IP address in this mask by entering four decimal numbers, separated by a point “.”.
Example: 192.168.10.2
Additionally you can specify the IPv4 netmask and your default gateway address.
Please contact your network administrator, who can provide you with the settings suitable for your specific network.
15
If there is a DHCP (Dynamic Host Configuration Protocol) server available in your network, the LANTIME system can obtain its IPv4 settings automatically from this server. If you want to use this feature (again, you should ask your network administrator whether this is applicable in your network), you can change the DHCP Client parameter to “ENABLED”. Using DHCP is the default factory setting.
If the DHCP client has been activated, the automatically obtained parameters are shown in the appropriate fields (IPv4 address, netmask, gateway).
Configuration: Local
In the Local section you can activate an reboot of the SyncBox and set up a new password for the only user “root”.
16
Configuration: Statistics
Statistical Information
In the first section a graphical diagram shows the running synchronization process. PTP is storing this statistical information in so-called “ptpstats” files, which are used here to draw the curves. The red line is describing the offset to the PTP grandmaster. The blue line shows the pathdelay to the PTP grandmaster. In the upper right corner of the diagram you will find the measurement range of the red and blue curve. The last 24 hours are shown initially, but you are able to select the last 10 days (or fewer days, depending on the system uptime) or download a specific ptpstat file. All time data is using UTC.
17
Configuration: Manual
This page gives you access to the documents stored on your SyncBox, especially the manuals and your own notes. The two lists include filename, language, file type, date and size of the documents/notes.
The SyncBox documents can be downloaded from here in order to read / print them on your workstation.
18
Configuration: PTP
In the PTP configuration all parameters related to the PTP protocol can be monitored and changed.
With the “Profile” parameter you can switch between the “Default” multicast profile and the “Unicast” PTP profile. Depending on the selected profile the corresponding TSU configuration file below will be used.
The delay mechanism is used to measure the propagation time between two nodes. You can choose the end-to-end or the peer-to-peer mechanism. When using peer-to­peer delay mechanism, every network node has to support peer-delay measurements.
19
Please keep in mind that peer-delay measurements are not supported when operating in Unicast mode.
A domain is a logical grouping of clocks that synchronize to each other using the protocol, but that are not necessarily synchronized to clocks in another domain. Be aware to use the same domain as configured on the grandmaster.
The PTP standard includes mappings to User Datagram Protocol (UDP), layer-2 Ethernet and other implementations. The SyncBoxV2 will support Layer 3 (IPv4/UDP) Layer-2 Ethernet (IEEE 802.3).
In the “Unicast Configuration” section the IP address of the PTP grandmaster can be configured. The UUID of the grandmaster should be left to default which is “FF:FF:FF:FF:FF:FF:FF:FF” if UDP/IPv4 is selected as network protocol. In case Layer 2 communication is used, the UUID of the grandmaster port should be entered here. Please make sure that the “Unicast” profile is selected if unicast negotiation shall be used.
Additional TSU (PTP time stamp unit) configuration parameters can be set directly in the text files that can be displayed in the „TSU Configuration files“ section.
User Captures can be used to mark hardware events with high precision timestamps. SyncBox supports two User Capture inputs with TTL level. Time stamps will be taken with the rising edge of the input signal. With the Option „show user captures“ the user capture inputs of the SyncBox will be activated and current captures will be shown in a scrollbox. These user captures can be shown in a Telnet/SSH session with the command „show_ucap“ also.
20
The Command Line Interface
The command line interface (CLI) can be used within a TELNET, SSH or serial Terminal session. After login, just enter “setup” to start the CLI setup tool.
The start page gives a short overview of the most important configuration parameters and the runtime statistics of the unit. In the upper left corner you can read the network parameters like hostname, domainname and the IP address. The next section describe the PTP specific parameters.
By using the buttons in the lower part of the screen, you can reach a number of configuration pages, that are described below.
21
CLI Ethernet
In the network configuration all parameters related to the network interfaces can be changed. In the first section you can change the hostname and domain name. You can also specify two nameservers. In the nameserver fields you may enter an IPv4 address.
IPv4 addresses are built of 32 bits, which are grouped in four octets, each containing 8 bits. You can specify an IP address in this mask by entering four decimal numbers, separated by a point “.”.
Example: 192.168.10.2
Additionally you can specify the IPv4 Netmask and your default gateway address.
Please contact your network administrator, who will provide you with the settings suitable for your specific network.
If you are running a DHCP (Dynamic Host Configuration Protocol) server in your network, the LANTIME system can obtain its IPv4 settings automatically from this server. If you want to use this feature (you should also ask your network administrator if this is applicable in your network), you can change the DHCP Client parameter to “ENABLED”. This is the default setting.
If the DHCP client has been activated, the automatically obtained parameters are shown in the appropriate fields (IPv4 address, netmask, gateway).
22
CLI PTP parameters
In the PTP configuration all parameters related to the PTP protocol can be monitored and changed.
The “Profile” parameter is for future releases to change the specific behavior of the PTP protocol. The delay mechanism is designed to measure the propagation time between two nodes. You can choose the end-to-end (default: 0) or the peer-to-peer mechanism ( = 1).
The parameters for Clock Class will define the value for the PTP clock class in the different states of the internal clock. In case of the SyncBox as a PTP slave these parameters will not take account.
The delay request interval, the sync interval, the priorities, the timescale and the announce interval will be specified by the PTP grandmaster only.
A domain is a logical grouping of clocks that synchronize to each other using the protocol, but that are not necessarily synchronized to clocks in another domain. Be aware to use the same domain like the grandmaster.
The PTP standard includes mappings to User Datagram Protocol (UDP), layer-2 Ethernet and other implementations. The SyncBoxV2 will support UDP (default:0 or
1) and the layer-2 Ethernet ( = 2).
More configuration parameters to set up the outputs of the SyncBox can be edit manually via SSH or Terminal in the file “/config/tsu_config”.
23
Attachment: Technical Information
Technical Specifications
HOUSING: Metal desktop case, DIN Mounting Rail
125 mm x 115 mm x 189 mm (W x H x D)
PROTECTION RATING: IP20
Front Panel connectors
Name Type Signal Cable
Network RJ-45 Ethernet shielded data line
TERM 9pol. SUB-D RS232 shielded data line
10Mhz output BNC Frequency shielded data line
1 PPS output BNC Frequency shielded data line
or IRIG DCLS
IRIG modulated BNC Frequency shielded data line
output
2x Capture input BNC Frequency shielded data line
Power supply power cord receptacle power supply cord
24
Safety instructions for building-in equipment
This building-in equipment has been designed and tested in accordance with the requirements of Standard IEC 950 "Safety of Information Technology Equipment, including Electrical Business Equipment".
During installation of the building-in equipment in an end application (i.e. rack) additional requirements in accordance with Standard IEC 950 have to be taken into account.
o The building-in equipment is a class 1 - equipment and must be connected to an
earthed outlet (TN Power System).
o The building-in equipment has been evaluated for use in office environment
(pollution degree 2) and may be only used in this environment. For use in rooms with a higher pollution degree more stringent requirements are applicable.
o The building-in equipment may not be opened.
o Protection against fire must be assured in the end application.
o The ventilation opening may not be covered.
o The equipment/building-in equipment was evaluated for use in a maximum
ambient temperature of 40 °C.
o For safe operation the building-in equipment must be protected by max 16 A
fuse in the power installation system.
o Disconnection of the equipment from mains is done by pulling the mains plug.
CE-Label
EN 60950
Safety of Information Technology Equipment, including Electrical Business Equipment
Electromagnetic compatibility
EN50081-1
Electromagnetic compatibility (EMC). Generic emission standard. Part 1: Residential, commercial and light industry
EN50082-2
Electromagnetic compatibility (EMC). Generic immunity standard. Part 2: Industrial environment
25
Power supply
The variant DHS is designed for operation with a DC (18 V to 72 V, DC-insulation
1.5 kV). The voltage feed is done through 3 pol DFK connector in the front panel of the clock and should have low resistance to minimize spurious emission (EMI).
The type AHS with an AC (100 V to 240 V, 47 Hz to 63 Hz) and also DC (100 V to 240 V DC) power supply. The special model DAHS provides 3 pol DFK connector in the front panel instead of power cord receptacle. Both includes a fuse T500 mA which is available inside the housing.
To avoid potential differences between the signal ground of AHS/DHS and a post­connected unit installed on different DIN rails, the signal ground of the clock is insulated from the case.
The case must be grounded by using the rear contact!
26
Third party software
The SYNCBOX network timeserver is running a number of software products created and/or maintained by open source projects. A lot of people contributed to this and we explicitly want to thank everyone involved for her/his great work.
The used open source software comes with its own license which we want to mention below. If one of the licenses for a third party software product is violated, we will as soon as possible apply any changes needed in order to conform with the corresponding license after we acknowledged about that violation.
If a license for one of the software products states that we have to provide you with a copy of the source code or other material, we will gladly send it to you on data media via normal post or by e-mail upon request. Alternatively we can provide you with a link to a download location in the internet, allowing you to download the most actual version. Please note that we have to charge you for any incurred expenses if you choose to receive the source code on data media.
Operating System GNU/Linux
The distribution of the GNU/Linux operating system is covered by the GNU General Public License (GPL), which we included below.
More information about GNU/Linux can be found on the GNU website (www.gnu.org) and on the website of GNU/Linux (www.linux.org).
Our version of the Linux kernel has been optimized for the time server application by applying the so-called PPSkit-patch from Ulrich Windl.
Samba
The Samba software suite is a collection of programs, which implement the Server Message Block (SMB) protocol for UNIX systems. By using Samba your SYNCBOX is capable of sending Windows popup messages and serves request for network time by clients using the NET TIME command.
The distribution of Samba is covered – like GNU/Linux – by the GNU General Public License, see below.
The website of the Samba project (or a mirror) can be reached at www.samba.org!
27
Network Time Protocol Version 4 (NTP)
The NTP project, lead by David L. Mills, can be reached in the internet at
www.ntp.org. There you will find a wealthy collection of documentation and
information covering all aspects of the application of NTP for time synchronization purposes. The distribution and usage of the NTP software is allowed, as long as the following notice is included in our documentation:
***********************************************************************
* *
* Copyright (c) David L. Mills 1992-2004 *
* *
* Permission to use, copy, modify, and distribute this software *
* and its documentation for any purpose and without fee is hereby *
* granted, provided that the above copyright notice appears in all *
* copies and that both the copyright notice and this permission *
* notice appear in supporting documentation, and that the name *
* University of Delaware not be used in advertising or publicity *
* pertaining to distribution of the software without specific, *
* written prior permission. The University of Delaware makes no *
* representations about the suitability this software for any *
* purpose. It is provided "as is" without express or implied *
* warranty. *
* *
***********************************************************************
mini_httpd
For our web based configuration tool (HTTP and HTTPS) we use mini_httpd from ACME Labs. The distribution and usage of this program is free provided as long as the following notice appears in the documentation:
Copyright © 2000 by Jef Poskanzer <jef@acme.com>. 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.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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.
Find out more regarding mini_httpd at the ACME Labs homepage (www.acme.com).
28
GNU General Public License (GPL)
GNU GENERAL PUBLIC LICENSE Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, 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 Library 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
GNU GENERAL PUBLIC LICENSE
29
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.)
30
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
31
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
32
Loading...