FROGANS A. Tamas FNSL 3.0 STG Interactive May 2004 Frogans Network System Language - 3.0 Status Destined to the developer community, this document specifies version 3.0 of the FNSL and replaces and renders obsolete any previous specifications concerning the FNSL. Distribution of this document is unlimited under the terms of the copyright statement. Comments on this document are welcome and may be made by e-mail at the address: fnsl@frogans.com. Abstract This document serves as a reference guide for the markup language called the Frogans Network System Language (FNSL) which is used to operate frogans networks. Frogans networks are used to publish frogans on the Internet or on private IP networks. Frogans are independent from, but compatible with, other existing applications such as WWW, Newsgroup, E-mail, and IRC. Copyright Notice Copyright (C) STG Interactive (2000-2004). All Rights Reserved. Document URL: http://www.frogans.com/en/doc/FNSL30.txt See 16.1. Full Copyright Statement of the FNSL Specifications. Terms of Use for Developers and Software Publishers The free use of the FNSL as a markup language for developers and publishers of authoring tools and server applications is subject to their respective terms of use. See 16.2. Use of the FNSL by Developers. See 16.3. Use of the FNSL by Publishers of Authoring Tools. See 16.4. Use of the FNSL by Publishers of Server Applications. STG Interactive Frogans Page [1] FNSL 3.0 Frogans Network System Language May 2004 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Frogans Networks Architecture . . . . . . . . . . . . . . . . 7 3.1. Initialization and Update . . . . . . . . . . . . . . . . . 7 3.2. Frogans Addressing . . . . . . . . . . . . . . . . . . . . 8 3.3. Frogans Navigation . . . . . . . . . . . . . . . . . . . . 9 3.4. Frogans Player Update . . . . . . . . . . . . . . . . . . . 9 3.5. Architecture Diagram . . . . . . . . . . . . . . . . . . . 11 3.6. Future FNSL Compatibility . . . . . . . . . . . . . . . . . 12 4. FNSL Documents . . . . . . . . . . . . . . . . . . . . . . . 13 4.1. Document Structure . . . . . . . . . . . . . . . . . . . . 13 4.2. Document Character Set and Encoding . . . . . . . . . . . . 14 4.3. Character and Entity References . . . . . . . . . . . . . . 14 4.4. File Sizes . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5. Loading Times . . . . . . . . . . . . . . . . . . . . . . . 15 4.6. Cache . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5. Starting and Ending the Record - FROGANS-FNSL element . . . . 17 6. Defining the Content of the Record - RECORD element . . . . . 18 7. Making a Setup Record - SETUP element . . . . . . . . . . . . 22 8. Making a Certificate Record - CERTIFICATE element . . . . . . 24 9. Making a Topology Record - TOPOLOGY and SERVER elements . . . 38 10. Making a Lookup Record - LOOKUP, HOST and MENU elements . . . 41 11. Making an Error Record - ERROR element . . . . . . . . . . . 50 12. Making a Status Record - STATUS and PLAYER elements . . . . . 51 13. Making an Update Record - UPDATE and BINARY elements . . . . 58 14. Authenticating the Record - SIGNATURE element . . . . . . . . 61 15. Going On-line . . . . . . . . . . . . . . . . . . . . . . . . 63 16. Working with the FNSL . . . . . . . . . . . . . . . . . . . . 66 16.1. Full Copyright Statement of the FNSL Specifications . . . . 67 16.2. Use of the FNSL by Developers . . . . . . . . . . . . . . . 68 16.3. Use of the FNSL by Publishers of Authoring Tools . . . . . 68 16.4. Use of the FNSL by Publishers of Server Applications . . . 68 STG Interactive Frogans Page [2] FNSL 3.0 Frogans Network System Language May 2004 1. Introduction The Frogans Network System Language (FNSL) is a complete markup language dedicated to the operation of frogans networks, which are used to publish frogans on the Internet or on private IP networks. Frogans is a hyperlink-based, distributed information system which was created by STG Interactive to provide the Internet community with a very simple means of publishing and consulting content, on multiple devices. Frogans are known for their unique and creative format which is easy to use, light and does not compete with open applications on the end-user's screen. Each frogans can contain an unlimited number of pages (slides) which are developed using the Frogans Slide Description Language (FSDL). As for all information systems, Frogans has its own dedicated system for addressing content. Each frogans is identified by a unique frogans address, whose structure creates an even greater affinity between the editor's content and the end-user. A frogans address starts with the name of the frogans network on which the frogans is published. For example, frogans addresses starting 'frogans*' are associated with the main frogans network, that is operated by STG Interactive. To give Internet service providers and major content providers full control over the addressing of their frogans, and to permit enterprises publish frogans on their private IP networks, dedicated frogans networks can be created through specific operator license agreements. The FNSL offers easy guidelines for operating scalable frogans networks by creating standard documents and delivering them on the Internet or on private IP networks. FNSL documents (records) are authenticated by the means of digital signatures, to ensure the secure access and use of frogans networks. This document specifies version 3.0 of the FNSL. Future versions presenting additional features of this markup language will be released with higher version numbers, following input from frogans network operators and the developers community. STG Interactive Frogans Page [3] FNSL 3.0 Frogans Network System Language May 2004 2. Terms certificate record A frogans network record used to initialize or update a frogans network on the end-user's system. dedicated frogans network A public frogans network or a private frogans network that is not the main frogans network. end-user A person using the Frogans Player software to consult frogans. end-user's system A computer or device connected to the Internet, or to a private IP network, that can display frogans. error record A frogans network record returned by a lookup server to indicate an error. FNS server A server in a Frogans Network System. FNSL document A file containing a sequence of characters which are organized according to the FNSL specifications. frogans Sets of uniquely shaped slides which can be visualized by the end-user using the Frogans Player. A frogans is published by a frogans editor, on a frogans network, through a frogans address. frogans address An address which serves to reference a frogans. The format of a frogans address is 'network*gatename' or 'network*gatename.extension', where 'network' is the name of the frogans network on which the frogans is published. On the main frogans network, where addresses start with 'frogans*', the 'gatename' and 'extension' are chosen by the frogans editor. frogans editor A content editor who publishes a frogans on a frogans network. frogans network A scalable virtual network established on the Internet or on a private IP network to publish frogans. frogans network operator, operator An enterprise or other organization which operates a frogans network. STG Interactive Frogans Page [4] FNSL 3.0 Frogans Network System Language May 2004 frogans network record, record A FNSL document needed for the operation of a frogans network. Frogans Network System, FNS A system made up of HTTP servers used to deliver the frogans network records of a frogans network. Frogans Player, player A free downloadable software, published by STG Interactive, that lets end-users browse and navigate frogans. Frogans Slide Description Language, FSDL A complete markup language dedicated to the development of frogans. lookup record A frogans network record used to open a frogans on the end- user's system. It contains technical and administrative information about the frogans. lookup server A FNS server that delivers lookup records. main frogans network A public frogans network, operated by STG Interactive, where frogans addresses start with 'frogans*'. On the main frogans network, frogans can be published by any frogans editor, individual or organization, from anywhere in the world, in any language. network key A key used by a frogans network operator or STG Interactive to generate digital signatures for topology, lookup and error records on a frogans network. platform Basic technology of the end-user's system, in terms of hardware and operating system. Each platform requires its own implementation of the Frogans Player. player reference network The frogans network referred to in a certificate record, which is used to deliver status and update records. private frogans network A frogans network established on a private IP network. public frogans network A frogans network established on the Internet. STG Interactive Frogans Page [5] FNSL 3.0 Frogans Network System Language May 2004 root key A key used by STG Interactive to generate digital signatures for setup, certificate, status and update records. setup record A frogans network record used to begin set up of a public frogans network on the end-user's system. status record A frogans network record listing the different releases of the Frogans Player for a specific platform, and the update status of each. topology record A frogans network record referencing the lookup servers in a Frogans Network System. update record A frogans network record containing the latest binary update of the Frogans Player for a specific platform, to be installed on the end-user's system. STG Interactive Frogans Page [6] FNSL 3.0 Frogans Network System Language May 2004 3. Frogans Networks Architecture To maximize the quality of the service that the frogans network operator delivers to its end-users, the architecture of a frogans network is scalable, redundant and can be modified while running, using load-balancing, fail-over and expiration processes. The major components of the architecture are: - Initialization and update - Frogans addressing - Frogans navigation - Frogans Player update 3.1. Initialization and Update A frogans network is initialized on the end-user's system by the means of a certificate record, if the end-user has already downloaded the Frogans Player. A certificate record can be delivered to the end-user as an independent file, in an e-mail or on a disk for example, or as a document downloaded from a FNS server. The frogans network is initialized when the end-user opens the file or downloads the document. The file extension of a certificate record is '.fnc', which is associated with the MIME type 'application/vnd.frogans.fnc'. The file name format for a certificate record is 'network.certificate.fnc', where 'network' is the lower-case name of the frogans network. See 8. Making a Certificate Record. A certificate record can be automatically downloaded by the Frogans Player to initialize a public frogans network, when the end-user requests a frogans address on that network. To do so, the certificate record is hosted in the root directory of a FNS server which has been associated with the domain name 'network-certificate.frogans.net', where 'network' is the lower-case name of the frogans network. The certificate record is hosted using the file name format defined above. No MIME type association on the FNS server is necessary. Alternatively, a setup record can be automatically downloaded by the Frogans Player to begin set up of a public frogans network, when the end-user requests a frogans address on that network. To do so, the setup record is hosted in the root directory of a FNS server which has been associated with the domain name 'network-setup.frogans.net', where 'network' is the lower-case name of the frogans network. The setup record is hosted using the file name format 'network.setup.fnsl', where 'network' is the lower-case name of the frogans network. No MIME type association on the FNS server is necessary. STG Interactive Frogans Page [7] FNSL 3.0 Frogans Network System Language May 2004 The setup record contains information used by the Frogans Player to redirect the end-user to the frogans network operator's web site. On this web site, under specific conditions defined by the frogans network operator (terms of use, registration, etc.), the end-user can download the document containing the certificate record. See 7. Making a Setup Record. Once a frogans network is initialized on the end-user's system, the certificate record is saved on the end-user's system. The certificate record is checked each time the Frogans Player is run on the end- user's system to see if it has expired. A certificate record has expired if the period of time specified in the TTL attribute of the RECORD element which started when the certificate record was saved or last updated, has elapsed, or if the date specified in the EXPIRATION attribute of the RECORD element has been exceeded. See 6. RECORD element. An expired certificate record is not deleted from the end-user's system. It is automatically updated when the end-user requests a frogans address on that frogans network. The certificate record can also be updated if the end-user opens a file or downloads a document containing a more recent and valid version of the certificate record. The name of a frogans network is not case-sensitive. However, the frogans network name can be displayed by the Frogans Player on the end-user's system in upper and lower-case, according to the value specified in the NETWORK attribute of the RECORD element, of the certificate record. 3.2. Frogans Addressing When the end-user requests a frogans address on a frogans network that is already initialized on the end-user's system, the Frogans Player downloads the topology record from the directory of a FNS server whose location is indicated in the certificate record. The topology record is hosted using the file name format 'network.topology.fnsl', where 'network' is the lower-case name of the frogans network. No MIME type association on the FNS server is necessary. See 9. Making a Topology Record. Then, the Frogans Player downloads a lookup record from one of the directories of the lookup servers whose locations are indicated in the topology record. The lookup record is hosted using the file name format 'network.lookup.gatename.fnsl' or if applicable, 'network.lookup.gatename.extension.fnsl', where 'network' is the lower-case name of the frogans network, and 'gatename' and 'extension' are the lower-case gate name and lower-case extension of the frogans address. No MIME type association on the FNS server is necessary. See 10. Making a Lookup Record. STG Interactive Frogans Page [8] FNSL 3.0 Frogans Network System Language May 2004 Alternatively, the lookup record can be delivered by the lookup server through a program whose name is indicated in the topology record. The data sent by the Frogans Player to the lookup server is 'address=value', where 'value' is the lower-case requested frogans address. See 15. Going On-line. If the frogans address does not exist on the frogans network, an error record is returned by the lookup server. The file name format for an error record is 'network.error.errorcode.fnsl', where 'network' is the lower-case name of the frogans network, and 'errorcode' is a three-digit whole decimal number representing the error code. See 11. Making an Error Record. The lookup record contains technical and administrative information used by the Frogans Player to open the home slide of the frogans on the end-user's system. A frogans address is not case-sensitive. However, the frogans address can be displayed by the Frogans Player on the end-user's system in upper and lower-case, according to the value specified in the ADDRESS attribute of the LOOKUP element, of the lookup record. Improvements in the publishing technology may make it necessary for the end-user to update the Frogans Player before being able to open a specific frogans. See 3.6. Future FNSL Compatibility. 3.3. Frogans Navigation The frogans slides are developed using the Frogans Slide Description Language (FSDL), which lets the end-user navigate in the frogans using the Frogans Player. 3.4. Frogans Player Update The Frogans Player is regularly updated by the end-user through a secured, user-friendly process, that preserves the frogans networks already initialized on the end-user's system, the FNSL documents in the cache and the end-user's settings (recently visited frogans, favorite frogans, language, proxy configuration, etc.). When the end-user requests a frogans address on a frogans network that is already initialized on the end-user's system, the Frogans Player downloads a status record from the directory of a FNS server of the player reference network, whose location is indicated in the certificate record. The status record is hosted using the file name format 'playerreferencenetwork.status.playerplatform.fnsl', where 'playerreferencenetwork' is the lower-case name of the player reference network, and 'playerplatform' is the lower-case identifier of the platform. No MIME type association on the FNS server is necessary. See 12. Making a Status Record. STG Interactive Frogans Page [9] FNSL 3.0 Frogans Network System Language May 2004 The status record lists the different releases of the Frogans Player for the platform and the update status of each version. If the version of the Frogans Player on the end-user's system has expired, the end-user is requested to update the Frogans Player. Otherwise, the end-user can be notified regularly to update the Frogans Player when a more recent version is available. When the end-user confirms the update, the Frogans Player downloads an update record from the directory of a FNS server of the player reference network, whose location is indicated in the status record. The update record is hosted using the file name format 'playerreferencenetwork.update.playerplatform.fnsl', where 'playerreferencenetwork' is the lower-case name of the player reference network, and 'playerplatform' is the lower-case identifier of the platform. No MIME type association on the FNS server is necessary. See 13. Making an Update Record. For each platform on which the Frogans Player is implemented, a specific status record and a specific update record are required. When the Frogans Player becomes available on a new platform, it can easily be made available on the frogans network, using a specific status record and a specific update record. In order for different frogans networks to function on the end-user's system, the information contained in the status records and update records of all frogans networks must be synchronized. To facilitate the management of status records and update records on a frogans network, the certificate record may indicate another frogans network as the player reference network. If so, the FNS servers of the player reference network must be accessible by all end-users of the frogans network. Initialization of the player reference network on the end-user's system is unnecessary, but an agreement between the two frogans network operators is required. See 8. Making a Certificate Record. STG Interactive Frogans Page [10] FNSL 3.0 Frogans Network System Language May 2004 3.5. Architecture Diagram ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SETUP | .--------<---------. Initialization | | | and Update | | | [r] '---->----- CERTIFICATE ------>-----' | | | | .--------<--------' | | | ~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~ | | | TOPOLOGY | | Frogans | .-----<-----'----->-----. Addressing | | | [n] | | | | ERROR LOOKUP | | | | ~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~ | | | .----'----. Frogans | | frogans | Navigation | | (FSDL) | | '---------' | ~~~~~~~~~~~~~~~~~)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | '------.------>-------.--------->-------. | | ... | | | | STATUS STATUS STATUS Frogans | | | Player | | | Update UPDATE UPDATE UPDATE [r] | | | .----'----. .----'----. .----'----. | Frogans | | Frogans | | Frogans | | Player | | Player | | Player | '---------' '---------' '---------' platform a platform b platform z ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Legend [r]: records digitally signed using the root key [n]: records digitally signed using the network key STG Interactive Frogans Page [11] FNSL 3.0 Frogans Network System Language May 2004 3.6. Future FNSL Compatibility In future versions of the FNSL specifications, new attributes and elements may be added to the FNSL document. These new elements may contain other elements, processing instructions and CDATA sections. In order to ensure secured, continuing evolution of the technology, a Frogans Player that runs with version 3.0 of the FNSL specifications, will ignore unrecognized attributes and elements when parsing a FNSL document if the following conditions are met: - the VERSION attribute of the FROGANS-FNSL element specifies a version higher than 3.0 - the FNSL document can be parsed according to the FNSL specifications 3.0, by ignoring the unrecognized attributes and elements - the digital signature of the FNSL document is valid - the unrecognized attributes, of recognized elements, are associated with the RECORD, SETUP, CERTIFICATE, TOPOLOGY, SERVER, LOOKUP, HOST, MENU, ERROR, STATUS, PLAYER or UPDATE elements - the unrecognized elements, and their attributes, are contained in the SETUP, CERTIFICATE, TOPOLOGY, SERVER, LOOKUP, HOST, MENU, ERROR, STATUS, PLAYER or UPDATE elements To facilitate the update of the Frogans Player on the end-user's system when the publishing technology is improved, a Frogans Player that runs with version 3.0 of the FNSL specifications, will notify the end-user to update the Frogans Player when unrecognized attribute values are found in a lookup record, if the following conditions are met: - the VERSION attribute of the FROGANS-FNSL element specifies a version higher than 3.0 - the FNSL document can be parsed according to the FNSL specifications 3.0, by ignoring the unrecognized attribute values - the digital signature of the FNSL document is valid - The unrecognized values are specified in the USER-AUTHENTICATION, FROGANS-PROTOCOL, FSDL-VERSION and FSDL-ENCODING attributes of the HOST element The new version specified in the VERSION attribute of the FROGANS-FNSL element must always correspond to the version of a FNSL specifications document published by STG Interactive. The FNSL document must be compliant with the new version. Each update record on the player reference network must contain a Frogans Player that runs with the new version. The process used to generate digital signatures is able to handle frogans network records containing additional elements, attributes and other items (processing instructions, CDATA sections) that are not outlined in the present specifications. See 14. Authenticating the Record. STG Interactive Frogans Page [12] FNSL 3.0 Frogans Network System Language May 2004 4. FNSL Documents 4.1. Document Structure The FNSL document conforms to XML 1.0 specifications to assure maximum interoperability with servers and end-user systems. The FNSL document must start with one of the following XML declarations: As the FNSL document encoding is always UTF-8, the encoding attribute in the XML declaration is not used by the Frogans Player. See 4.2. Document Character Set And Encoding. The XML declaration is then followed by one of these document type declarations: To maintain FNSL document clarity and readability, the document type declaration must not contain an internal subset. The root element of the FNSL document is FROGANS-FNSL. See 5. FROGANS-FNSL element. All element names and their attributes are always written in uppercase in the FNSL document. Attribute values are delimited by single or double quotation marks. All elements contained in the FNSL document must have an end tag. For example: ...elements... Empty elements must either have an end tag or the start tag must end with />. For example: can also be written STG Interactive Frogans Page [13] FNSL 3.0 Frogans Network System Language May 2004 The FNSL document may contain comments using the common syntax . To maintain record authentication, comments may only be placed between the start and end tag of the RECORD element. See 6. RECORD element. An error left in the FNSL document will lead to a parsing error message. 4.2. Document Character Set and Encoding To optimize the file size of the FNSL documents delivered on the frogans network, the FNSL document encoding is always UTF-8 (RFC 2279). The encoding is not specified in the XML declaration. The character set of the FNSL document is ISO 10646/Unicode. An optional BOM (Byte Order Mark) can be placed at the start of the FNSL document. 4.3. Character and Entity References The FNSL document may contain numeric character references and entity references. Numeric character references can be used with the syntax: &#D; or &#xH; where D is the decimal value, and H the hexadecimal value of the character in ISO 10646/Unicode. Examples: N (letter N) N (letter N) N (letter N) Recognized entity references are: < less than sign (<) (<) > greater than sign (>) (>) " double quote sign (") (") & ampersand (&) (&) ' apostrophe (') (') © copyright sign (©) ® registered trademark (®) # number sign (#) (#) $ dollar sign ($) ($) € euro sign (€)   non-breaking space ( ) Entity references are case sensitive. STG Interactive Frogans Page [14] FNSL 3.0 Frogans Network System Language May 2004 An ampersand (&) or a less than sign (<) must always be replaced by their numeric character references or their entity references in the value of an attribute and in the text characters placed between the start and end tags of an element. 4.4. File Sizes To minimize loading time and storage space of the FNSL document on the end-user's system, the file sizes of the FNSL document should not exceed the following limits: - setup record: up to 8,192 bytes - certificate record: up to 32,768 bytes - topology record: up to 32,768 bytes - lookup record: up to 16,384 bytes - error record: up to 4,096 bytes - status record: up to 32,768 bytes - update record: up to 4,194,304 bytes The file sizes of the FNSL document must not exceed the following limits: - setup record: up to 16,384 bytes - certificate record: 65,536 bytes - topology record: 65,536 bytes - lookup record: 32,768 bytes - error record: 8,192 bytes - status record: 65,536 bytes - update record: 8,388,608 bytes 4.5. Loading Times The loading times of the FNSL document must not exceed the following limits, otherwise a time out will occur on the end-user's system: - setup record: up to 60 seconds - certificate record: up to 60 seconds - topology record: up to 60 seconds - lookup record: up to 60 seconds - error record: up to 60 seconds - status record: up to 90 seconds - update record: up to 7,200 seconds If more than one attempt is necessary to load the FNSL document, these limits are applicable for each attempt. STG Interactive Frogans Page [15] FNSL 3.0 Frogans Network System Language May 2004 4.6. Cache Topology records, lookup records and status records are saved in a cache directory on the end-user's system to avoid the repeated loading of the same record, when the end-user requests a frogans address on a frogans network. A frogans network record saved in the cache directory is automatically removed if the period of time specified in the TTL attribute of the RECORD element, which started when the frogans network record was saved, has elapsed, or if the date specified in the EXPIRATION attribute of the RECORD element has been exceeded. See 6. RECORD element. The maximum number of lookup records in the cache directory is 1024. If the number of lookup records in the cache directory is at its maximum and a new lookup record is added, the oldest lookup record in the cache directory is deleted. There is no limit to the number of topology records and status records in the cache directory. Certificate records, setup records, error records and update records are not saved in the cache directory. For more information about the way certificate records are saved and updated on the end-user's system, see 3.1. Initialization and Update. STG Interactive Frogans Page [16] FNSL 3.0 Frogans Network System Language May 2004 5. Starting and Ending the Record - FROGANS-FNSL element The FROGANS-FNSL element defines the beginning and the end of the FNSL document. It is a root element, as it contains all other elements necessary to define the record. The FROGANS-FNSL element contains one RECORD element and one SIGNATURE element. The FROGANS-FNSL element does not contain any other elements. For FNSL document readability, the RECORD element should be placed before the SIGNATURE element. For information about the compatibility of the FNSL specifications version 3.0 with future versions, see 3.6. Future FNSL Compatibility. The attribute associated with the FROGANS-FNSL element is: VERSION - Required The version of the specifications to which the FNSL document conforms. * "FNSL3.0" : FNSL specifications version 3.0 STG Interactive Frogans Page [17] FNSL 3.0 Frogans Network System Language May 2004 6. Defining the Content of the Record - RECORD element The RECORD element defines either a setup record, a certificate record, a topology record, a lookup record, an error record, a status record or an update record. The RECORD element is placed between the start and end tags of the FROGANS-FNSL element. Only one RECORD element can be used in the FNSL document. The RECORD element contains one of the following elements: - SETUP element to define a setup record - CERTIFICATE element to define a certificate record - TOPOLOGY element to define a topology record - LOOKUP element to define a lookup record - ERROR element to define an error record - STATUS element to define a status record - UPDATE element to define an update record The attributes associated with the RECORD element are: NETWORK - Required The name of the frogans network. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9 and dash, without spaces. The string cannot start or end with a dash. The string must contain between 1 and 24 characters. Examples of accepted values: NETWORK="frogans" (main frogans network) NETWORK="MyNetwork" (dedicated frogans network) NETWORK="my-network" (dedicated frogans network) Examples of refused values: NETWORK="" NETWORK="my network" NETWORK="My_Network" NETWORK="my.network" NETWORK="-MyNetwork" NETWORK="MyNetwork!" TTL - Required The period of time used to determine if a FNSL document, which was saved on the end-user's system, has expired. Is a whole decimal number representing minutes between 0 and 525600. Signs are not accepted. If the FNSL document is a setup record, an error record or an update record, the TTL attribute has no effect and its value should be set to "0". STG Interactive Frogans Page [18] FNSL 3.0 Frogans Network System Language May 2004 For more information about the expiration of certificate records, see 3.1. Initialization and Update. For more information about the expiration of topology records, lookup records and status records in the cache directory, see 4.6. Cache. The choice of a correct TTL attribute value is critical to the functioning of the frogans network. A correct value permits the regular update of frogans network records on the end-user's system, and prevents end-users from overloading the FNS servers when the date specified in the EXPIRATION attribute of the RECORD element is exceeded. Examples of accepted values: TTL="0" (expires immediately) TTL="525600" (maximum period of time, one year) TTL="1440" (one day) Examples of refused values: TTL="" TTL="-1" TTL="+1440" EXPIRATION - Required The date representing the last day on which the FNSL document is valid. Time reference is UTC (Coordinated Universal Time). Is a string of eleven characters in the 'dd-mmm-yyyy' date format, without spaces. 'dd' is a two-digit whole decimal number representing the day of the month. 'mmm' is a non-case sensitive string of three characters representing the month of the year: 'Jan' for January, 'Feb' for February, 'Mar' for March, 'Apr' for April, 'May' for May, 'Jun' for June, 'Jul' for July, 'Aug' for August, 'Sep' for September, 'Oct' for October, 'Nov' for November or 'Dec' for December. 'yyyy' is a four-digit whole decimal number representing the year. The value must be greater than or equal to the date included in the value of the UID attribute of the RECORD element. If the FNSL document is a certificate record, the value must not exceed the value specified in the LICENSE-VALIDITY attribute of the CERTIFICATE element. See 8. Making a Certificate Record. STG Interactive Frogans Page [19] FNSL 3.0 Frogans Network System Language May 2004 If the FNSL document is a lookup record, the value must not exceed the value specified in the ADDRESS-VALIDITY attribute of the LOOKUP element. See 10. Making a Lookup Record. If the FNSL document is a status record, the value is not related to those specified in the PLAYER-VALIDITY attributes of the PLAYER elements. See 12. Making a Status Record. Examples of accepted values: EXPIRATION="01-Jan-2005" EXPIRATION="01-JAN-2005" EXPIRATION="01-jan-2005" Examples of refused values: EXPIRATION="" EXPIRATION="01 Jan 2005" EXPIRATION="01_Jan_2005" EXPIRATION="01/Jan/2005" EXPIRATION="1-Jan-2005" EXPIRATION="01-January-2005" EXPIRATION="01-01-2005" EXPIRATION="01-Jan-05" EXPIRATION="29-Feb-2005" UID - Required The unique identifier of the FNSL document. Is a string of thirty characters in the '#aaaa-yyyymmdd-nnnnnnnnnn-rrrr' format, without spaces. 'aaaa' is a string of four alphanumeric characters: A-Z, a-z, 0-9 representing the identifier of the author editing the FNSL document, according to the frogans network operator agreement. 'yyyymmdd' is the date when the FNSL document was edited: 'yyyy' is a four-digit whole decimal number representing the year 'mm' is a two-digit whole decimal number representing the month 'dd' is a two-digit whole decimal number representing the day Time reference is UTC (Coordinated Universal Time). 'nnnnnnnnnn' is a ten-digit whole decimal number representing a unique number for each FNSL document edited by the same author, that day. 'rrrr' is a four-digit whole decimal number, which can be used at the discretion of the author. STG Interactive Frogans Page [20] FNSL 3.0 Frogans Network System Language May 2004 All FNSL documents used in the frogans network must have a unique identifier. If the FNSL document is updated, the identifier must also be updated. Examples of accepted values: UID="#a101-20041231-0000000001-9537" UID="#a101-20041231-0000000002-5239" UID="#b273-20041231-0000000755-3238" Examples of refused values: UID="" UID="a101-20041231-0000000001-9537" UID="#a101 20041231 0000000001 9537" UID="#a101_20041231_0000000001_9537" UID="#a01-20041231-0000000001-9537" UID="#a101-041231-0000000001-9537" UID="#a101-20041231-1-9537" UID="#a101-20041231-0000000001-953" STG Interactive Frogans Page [21] FNSL 3.0 Frogans Network System Language May 2004 7. Making a Setup Record - SETUP element The SETUP element defines a setup record, which is used to begin setup of the frogans network on the end-user's system. The SETUP element is placed between the start and end tags of the RECORD element. The SETUP element does not contain any other elements. Only one SETUP element can be used in the FNSL document. Setup records cannot be used to begin setup of private frogans networks. For more information about frogans networks initialization, see 3.1. Initialization and Update. The attributes associated with the SETUP element are: WEBSITE-SETUP - Required The URL of a Web page belonging to the frogans network operator. The Web page contains information about the initialization of the frogans network on the end-user's system. The URL must begin with 'http://' or 'https://' and can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Examples of accepted values: WEBSITE-SETUP="http://www.SpecificDomainName.com/setup.htm" WEBSITE-SETUP="http://www.SpecificDomainName.com/setup.php" WEBSITE-SETUP="http://www.SpecificDomainName.com/dir/" WEBSITE-SETUP="http://www.SpecificDomainName.com:81/dir/" WEBSITE-SETUP="https://www.SpecificDomainName.com/setup.htm" WEBSITE-SETUP="http://1.2.3.4/setup.htm" Examples of refused values: WEBSITE-SETUP="" WEBSITE-SETUP="www.SpecificDomainName.com/setup.htm" WEBSITE-SETUP= "http://www.SpecificDomainName.com/setup.php?param=28" WEBSITE-SETUP="mailto:Name@SpecificDomainName.com" WEBSITE-SETUP="frogans*GateName" FORWARD-ADDRESS - Required Indicates if the frogans address requested by the end-user, is transmitted to the frogans network operator using the URL specified in the WEBSITE-SETUP attribute. STG Interactive Frogans Page [22] FNSL 3.0 Frogans Network System Language May 2004 The frogans address is transmitted by adding a query to the URL specified in the WEBSITE-SETUP attribute. The format of the query is '?address=value', where 'value' is the case sensitive frogans address requested by the end-user. If the frogans address is transmitted, the frogans network operator can include a frogans short-cut on his Web page. The frogans short-cut permits the end-user to open that frogans, as soon as the frogans network has been initialized on the end- user's system. For more information about frogans short-cuts, see FSDL specifications 2.1 (20. Creating Short-cuts and Links to a Frogans). * "OFF" specifies that the frogans address is not transmitted. * "ON" specifies that the frogans address is transmitted. STG Interactive Frogans Page [23] FNSL 3.0 Frogans Network System Language May 2004 8. Making a Certificate Record - CERTIFICATE element The CERTIFICATE element defines a certificate record, which is used to initialize the frogans network on the end-user's system. The CERTIFICATE element is placed between the start and end tags of the RECORD element. The CERTIFICATE element does not contain any other elements. Only one CERTIFICATE element can be used in the FNSL document. For more information about frogans networks initialization and update, see 3.1. Initialization and Update. The attributes associated with the CERTIFICATE element are: OPERATOR-NAME - Required The name of the frogans network operator. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, spaces and .-',()&#@!?*:% The string must contain between 1 and 64 characters. Examples of accepted values: OPERATOR-NAME="STG Interactive S.A." (main frogans network) OPERATOR-NAME="Enterprise Name Inc." OPERATOR-NAME="Enterprise & Co" Examples of refused values: OPERATOR-NAME="" OPERATOR-NAME="Enterprise+/" OPERATOR-NAME="Enterprise & Co" OPERATOR-ADDRESS - Required The physical address of the frogans network operator. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, spaces and .-',()&#/+_ The string must contain between 1 and 128 characters. Examples of accepted values: OPERATOR-ADDRESS="29 avenue Mozart, 75016 Paris - France" OPERATOR-ADDRESS= "1600 Pennsylvania Avenue NW, Washington DC, 20500 - USA" Examples of refused values: OPERATOR-ADDRESS="" OPERATOR-ADDRESS="29 avenue Mozart: 75016 Paris - France" OPERATOR-ADDRESS="*29 avenue Mozart, 75016 Paris - France*" STG Interactive Frogans Page [24] FNSL 3.0 Frogans Network System Language May 2004 LICENSE-TYPE - Required The name of the license assigned to the frogans network operator. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, spaces and .-',()&#@!?*:%/+_ The string must contain between 1 and 128 characters. Examples of accepted values: LICENSE-TYPE="Main Frogans Network" (main frogans network) LICENSE-TYPE="Intranet7" (dedicated frogans network) LICENSE-TYPE="ISP" (dedicated frogans network) LICENSE-TYPE="Mobile2" (dedicated frogans network) Examples of refused values: LICENSE-TYPE="" LICENSE-TYPE="Intranet=7" LICENSE-TYPE="Intranet\2" LICENSE-DESCRIPTION - Required The description of the license assigned to the frogans network operator. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, spaces and .-',()&#@!?*:%/+_ The string must contain between 1 and 128 characters. Examples of accepted values: LICENSE-DESCRIPTION="Open Frogans Addresses" LICENSE-DESCRIPTION="Corporate Use 5000+ End-Users" Examples of refused values: LICENSE-DESCRIPTION="" LICENSE-DESCRIPTION="Corporate Use >5000 End-Users" LICENSE-DESCRIPTION="Corporate Use\ 5000+ End-Users" LICENSE-REF - Required The reference of the license assigned to the frogans network operator. Is a non-case sensitive string of sixteen characters in the 'FNL-nnnnnnnnnnnn' format, without spaces. 'nnnnnnnnnnnn' is a twelve-digit whole decimal number representing the unique reference of the license. Examples of accepted values: LICENSE-REF="FNL-041231000001" LICENSE-REF="FNL-050101000002" LICENSE-REF="fnl-060228002205" STG Interactive Frogans Page [25] FNSL 3.0 Frogans Network System Language May 2004 Examples of refused values: LICENSE-REF="" LICENSE-REF="050101000002" LICENSE-REF="FNL050101000002" LICENSE-REF="FNL-0501010000029" LICENSE-REF="FNL-05010100000A" LICENSE-VALIDITY - Required The last day on which the license assigned to the frogans network operator is valid. Time reference is UTC (Coordinated Universal Time). Is a string of eleven characters in the 'dd-mmm-yyyy' date format, without spaces. 'dd' is a two-digit whole decimal number representing the day of the month. 'mmm' is a non-case sensitive string of three characters representing the month of the year: 'Jan' for January, 'Feb' for February, 'Mar' for March, 'Apr' for April, 'May' for May, 'Jun' for June, 'Jul' for July, 'Aug' for August, 'Sep' for September, 'Oct' for October, 'Nov' for November or 'Dec' for December. 'yyyy' is a four-digit whole decimal number representing the year. Examples of accepted values: LICENSE-VALIDITY="01-Jan-2005" LICENSE-VALIDITY="01-JAN-2005" LICENSE-VALIDITY="01-jan-2005" Examples of refused values: LICENSE-VALIDITY="" LICENSE-VALIDITY="01 Jan 2005" LICENSE-VALIDITY="01_Jan_2005" LICENSE-VALIDITY="01/Jan/2005" LICENSE-VALIDITY="1-Jan-2005" LICENSE-VALIDITY="01-January-2005" LICENSE-VALIDITY="01-01-2005" LICENSE-VALIDITY="01-Jan-05" LICENSE-VALIDITY="29-Feb-2005" LICENSE-PROVIDER - Required The name of the company providing the license agreement to the frogans network operator. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, spaces and .-',()&#@!?*:% The string must contain between 1 and 64 characters. STG Interactive Frogans Page [26] FNSL 3.0 Frogans Network System Language May 2004 Examples of accepted values: LICENSE-PROVIDER="STG Interactive S.A." LICENSE-PROVIDER="Enterprise Name Inc." LICENSE-PROVIDER="Enterprise & Co" Examples of refused values: LICENSE-PROVIDER="" LICENSE-PROVIDER="Enterprise+/" LICENSE-PROVIDER="Enterprise & Co" PRIVATE-NETWORK - Required Indicates if the frogans network is a private frogans network. If the frogans network is a private frogans network, the FNS servers, as well as the servers hosting the frogans, are accessed by the Frogans Player using private IP addresses. Private IPv4 address blocks are (RFC 3330): - 10.0.0.0/8 (10.0.0.0 to 10.255.255.255) - 172.16.0.0/12 (172.16.0.0 to 172.31.255.255) - 192.168.0.0/16 (192.168.0.0 to 192.168.255.255) If the frogans network is not a private frogans network, it is considered a public frogans network, and the FNS servers, as well as the servers hosting the frogans, are accessed by the Frogans Player using public IP addresses. * "OFF" specifies that the frogans network is not a private frogans network. * "ON" specifies that the frogans network is a private frogans network. WEBSITE-HELP - Required The URL of a Web page belonging to the frogans network operator. The document contains information to help the end-user should a critical error occur on the frogans network. The URL must begin with 'http://' or 'https://' and can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL can contain a query, but not a fragment. Examples of accepted values: WEBSITE-HELP="http://www.SpecificDomainName.com/help.htm" WEBSITE-HELP="http://www.SpecificDomainName.com/help.php" WEBSITE-HELP="http://www.SpecificDomainName.com/dir/" WEBSITE-HELP="https://www.SpecificDomainName.com/help.htm" STG Interactive Frogans Page [27] FNSL 3.0 Frogans Network System Language May 2004 WEBSITE-HELP= "http://www.SpecificDomainName.com/help.php?param=28" WEBSITE-HELP="http://www.SpecificDomainName.com:81/dir/" WEBSITE-HELP="http://1.2.3.4/help.htm" WEBSITE-HELP="http://1.2.3.4/dir/help.htm" Examples of refused values: WEBSITE-HELP="" WEBSITE-HELP="www.SpecificDomainName.com/help.htm" WEBSITE-HELP="mailto:Name@SpecificDomainName.com" WEBSITE-HELP="frogans*GateName" ADDRESS-COLOR - Required The text color of the frogans addresses associated with the frogans network, when displayed by the Frogans Player on the end-user's system. Is a six-digit hexadecimal number prefixed by a hash mark (each color component is represented by two digits, in the order of red, green, blue). Examples of accepted values: ADDRESS-COLOR="#000000" (black) ADDRESS-COLOR="#FFFFFF" (white) ADDRESS-COLOR="#ffffff" (white) ADDRESS-COLOR="#C0C0C0" (silver) ADDRESS-COLOR="#800000" (maroon) ADDRESS-COLOR="#800080" (purple) ADDRESS-COLOR="#FF00FF" (fuchsia) ADDRESS-COLOR="#00FF00" (lime) ADDRESS-COLOR="#808000" (olive) ADDRESS-COLOR="#008080" (teal) ADDRESS-COLOR="#00FFFF" (aqua) Examples of refused values: ADDRESS-COLOR="" ADDRESS-COLOR="# FF0000" ADDRESS-COLOR="FF0000" ADDRESS-COLOR="#FF000" ADDRESS-COLOR="#F00" ADDRESS-COLOR="red" ADDRESS-BGCOLOR - Required The background color of the frogans addresses associated with the frogans network, when displayed by the Frogans Player on the end-user's system. Is a six-digit hexadecimal number prefixed by a hash mark (each color component is represented by two digits, in the order of red, green, blue). STG Interactive Frogans Page [28] FNSL 3.0 Frogans Network System Language May 2004 To increase readability of the frogans addresses, the background color should be complementary to the text color specified in the ADDRESS-COLOR attribute of the CERTIFICATE element. Examples of accepted values: ADDRESS-BGCOLOR="#000000" (black) ADDRESS-BGCOLOR="#FFFFFF" (white) ADDRESS-BGCOLOR="#ffffff" (white) ADDRESS-BGCOLOR="#C0C0C0" (silver) ADDRESS-BGCOLOR="#800000" (maroon) ADDRESS-BGCOLOR="#800080" (purple) ADDRESS-BGCOLOR="#FF00FF" (fuchsia) ADDRESS-BGCOLOR="#00FF00" (lime) ADDRESS-BGCOLOR="#808000" (olive) ADDRESS-BGCOLOR="#008080" (teal) ADDRESS-BGCOLOR="#00FFFF" (aqua) ADDRESS-BGCOLOR="#FFBF00" (free frogans network) Examples of refused values: ADDRESS-BGCOLOR="" ADDRESS-BGCOLOR="# FF0000" ADDRESS-BGCOLOR="FF0000" ADDRESS-BGCOLOR="#FF000" ADDRESS-BGCOLOR="#F00" ADDRESS-BGCOLOR="red" CERTIFICATE-DIRECTORY-HTTP - Required The URL of a directory on a FNS server. The directory contains the frogans network's most recent certificate record, which is downloaded by the Frogans Player if the current certificate record has expired on the end-user's system. See 3.1. Initialization and Update. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Examples of accepted values: CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/" CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" CERTIFICATE-DIRECTORY-HTTP="http://1.2.3.4/" CERTIFICATE-DIRECTORY-HTTP="http://1.2.3.4/dir/" STG Interactive Frogans Page [29] FNSL 3.0 Frogans Network System Language May 2004 Examples of refused values: CERTIFICATE-DIRECTORY-HTTP="" CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/network.certificate .fnc" CERTIFICATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" CERTIFICATE-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-HTTP= "mailto:Name@SpecificDomainName.com" CERTIFICATE-DIRECTORY-HTTP="frogans*GateName" CERTIFICATE-DIRECTORY-B-HTTP - Required The URL of a directory on a FNS server. The directory contains the same certificate record as the one found in the primary directory specified in the CERTIFICATE-DIRECTORY-HTTP attribute of the CERTIFICATE element. The Frogans Player will download the certificate record from the directory if it cannot load it from the primary directory (fail-over process). The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Using the same directory for both the directory and the primary directory, or hosting them on the same FNS server, will cancel the efficiency of the fail-over process. Examples of accepted values: CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/" CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com:81/dir/" CERTIFICATE-DIRECTORY-B-HTTP="http://1.2.3.4/" CERTIFICATE-DIRECTORY-B-HTTP="http://1.2.3.4/dir/" Examples of refused values: CERTIFICATE-DIRECTORY-B-HTTP="" CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir" STG Interactive Frogans Page [30] FNSL 3.0 Frogans Network System Language May 2004 CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/network.certificate .fnc" CERTIFICATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" CERTIFICATE-DIRECTORY-B-HTTP= "https://www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-B-HTTP= "www.SpecificDomainName.com/dir/" CERTIFICATE-DIRECTORY-B-HTTP= "mailto:Name@SpecificDomainName.com" CERTIFICATE-DIRECTORY-B-HTTP="frogans*GateName" TOPOLOGY-DIRECTORY-HTTP - Required The URL of a directory on a FNS server. The directory contains the frogans network's most recent topology record, which is downloaded by the Frogans Player if the topology record for that frogans network has not been saved in the cache directory or has been removed. See 4.6. Cache. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. For more information about topology records, see 9. Making a Topology Record. Examples of accepted values: TOPOLOGY-DIRECTORY-HTTP="http://www.SpecificDomainName.com/" TOPOLOGY-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" TOPOLOGY-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" TOPOLOGY-DIRECTORY-HTTP="http://1.2.3.4/" TOPOLOGY-DIRECTORY-HTTP="http://1.2.3.4/dir/" Examples of refused values: TOPOLOGY-DIRECTORY-HTTP="" TOPOLOGY-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" TOPOLOGY-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/network.topology.fn sl" TOPOLOGY-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" TOPOLOGY-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" TOPOLOGY-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" STG Interactive Frogans Page [31] FNSL 3.0 Frogans Network System Language May 2004 TOPOLOGY-DIRECTORY-HTTP="mailto:Name@SpecificDomainName.com" TOPOLOGY-DIRECTORY-HTTP="frogans*GateName" TOPOLOGY-DIRECTORY-B-HTTP - Required The URL of a directory on a FNS server. The directory contains the same topology record as the one found in the primary directory specified in the TOPOLOGY-DIRECTORY-HTTP attribute of the CERTIFICATE element. The Frogans Player will download the topology record from the directory if it cannot load it from the primary directory (fail-over process). The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Using the same directory for both the directory and the primary directory, or hosting them on the same FNS server, will cancel the efficiency of the fail-over process. Examples of accepted values: TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/" TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/" TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com:81/dir/" TOPOLOGY-DIRECTORY-B-HTTP="http://1.2.3.4/" TOPOLOGY-DIRECTORY-B-HTTP="http://1.2.3.4/dir/" Examples of refused values: TOPOLOGY-DIRECTORY-B-HTTP="" TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir" TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/network.topology.fn sl" TOPOLOGY-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" TOPOLOGY-DIRECTORY-B-HTTP= "https://www.SpecificDomainName.com/dir/" TOPOLOGY-DIRECTORY-B-HTTP="www.SpecificDomainName.com/dir/" TOPOLOGY-DIRECTORY-B-HTTP= "mailto:Name@SpecificDomainName.com" TOPOLOGY-DIRECTORY-B-HTTP="frogans*GateName" STG Interactive Frogans Page [32] FNSL 3.0 Frogans Network System Language May 2004 NETWORK-KEY-LENGTH - Required The length of the network key, in bits. For more information about digital signature generation, see 14. Authenticating the Record. * "2048" specifies that the length of the network key is 2048 bits. NETWORK-KEY-EXPONENT - Required The public exponent of the network key. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, plus sign, equal sign and slash (/), without spaces. The public exponent is a whole, odd decimal number that is made up of a sequence of bytes, each byte representing 8 bits of information, with the most significant bit first. The public exponent is encoded using Base64 data encoding (RFC 3548). For more information about choosing a valid public exponent, see 14. Authenticating the Record. Examples of accepted values: NETWORK-KEY-EXPONENT="AQAB" (65537 or 0x010001) NETWORK-KEY-EXPONENT="Aw==" (3 or 0x03) Examples of refused values: NETWORK-KEY-EXPONENT="" NETWORK-KEY-EXPONENT="Aw=" NETWORK-KEY-EXPONENT="AW==" NETWORK-KEY-MODULUS - Required The modulus of the network key. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, plus sign, equal sign and slash (/), without spaces. The modulus is a whole decimal number that is made up of a sequence of bytes, each byte representing 8 bits of information, with the most significant bit first. The modulus is encoded using Base64 data encoding (RFC 3548). For more information about digital signature generation, see 14. Authenticating the Record. STG Interactive Frogans Page [33] FNSL 3.0 Frogans Network System Language May 2004 NETWORK-KEY-VERIFY - Required The digital signature used to verify the network key. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, plus sign, equal sign and slash (/), without spaces. The digital signature is a whole decimal number that is made up of a sequence of bytes, each byte representing 8 bits of information, with the most significant bit first. The digital signature is encoded using Base64 data encoding (RFC 3548). The digital signature is generated using the same process as that to authenticate frogans records, where the data to be signed is replaced by the case sensitive name of the frogans network specified in the NETWORK attribute of the RECORD element, and where the signature key is the network key. For more information about digital signature generation, see 14. Authenticating the Record. PLAYER-REFERENCE-NETWORK - Required The name of the player reference network. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9 and dash, without spaces. The string cannot start or end with a dash. The string must contain between 1 and 24 characters. For more information about player reference networks, see 3.4. Frogans Player Update. Examples of accepted values: PLAYER-REFERENCE-NETWORK="frogans" (main frogans network) PLAYER-REFERENCE-NETWORK="MyNetwork" (dedicated frogans network) PLAYER-REFERENCE-NETWORK="my-network" (dedicated frogans network) Examples of refused values: PLAYER-REFERENCE-NETWORK="" PLAYER-REFERENCE-NETWORK="my network" PLAYER-REFERENCE-NETWORK="My_Network" PLAYER-REFERENCE-NETWORK="my.network" PLAYER-REFERENCE-NETWORK="-MyNetwork" PLAYER-REFERENCE-NETWORK="MyNetwork!" PRIVATE-REFERENCE - Required Indicates if the player reference network for the frogans network is a private frogans network. If the player reference network is a private frogans network, the FNS servers, as well as the servers hosting the frogans, STG Interactive Frogans Page [34] FNSL 3.0 Frogans Network System Language May 2004 are accessed by the Frogans Player using private IP addresses. Private IPv4 address blocks are (RFC 3330): - 10.0.0.0/8 (10.0.0.0 to 10.255.255.255) - 172.16.0.0/12 (172.16.0.0 to 172.31.255.255) - 192.168.0.0/16 (192.168.0.0 to 192.168.255.255) If the player reference network is not a private frogans network, it is considered a public frogans network, and the FNS servers, as well as the servers hosting the frogans, are accessed by the Frogans Player using public IP addresses. If the lower-case name of the player reference network specified in the PLAYER-REFERENCE-NETWORK attribute of the CERTIFICATE element equals the lower-case name of the frogans network specified in the NETWORK attribute of the RECORD element, the value must be the same as the one specified in the PRIVATE-NETWORK attribute of the CERTIFICATE element. * "OFF" specifies that the player reference network is not a private frogans network. * "ON" specifies that the player reference network is a private frogans network. STATUS-DIRECTORY-HTTP - Required The URL of a directory on a FNS server of the player reference network. The directory contains the player reference network's most recent status record, which is downloaded by the Frogans Player if the status record for that player reference network has not been saved in the cache directory or has been removed. See 4.6. Cache. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. For more information about status records, see 12. Making a Status Record. Examples of accepted values: STATUS-DIRECTORY-HTTP="http://www.SpecificDomainName.com/" STATUS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" STATUS-DIRECTORY-HTTP="http://1.2.3.4/" STATUS-DIRECTORY-HTTP="http://1.2.3.4/dir/" STG Interactive Frogans Page [35] FNSL 3.0 Frogans Network System Language May 2004 Examples of refused values: STATUS-DIRECTORY-HTTP="" STATUS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" STATUS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/network.status.play erplatform.fnsl" STATUS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" STATUS-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-HTTP="mailto:Name@SpecificDomainName.com" STATUS-DIRECTORY-HTTP="frogans*GateName" STATUS-DIRECTORY-B-HTTP - Required The URL of a directory on a FNS server of the player reference network. The directory contains the same status record as the one found in the primary directory specified in the STATUS-DIRECTORY-HTTP attribute of the CERTIFICATE element. The Frogans Player will download the status record from the directory if it cannot load it from the primary directory (fail- over process). The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Using the same directory for both the directory and the primary directory, or hosting them on the same FNS server, will cancel the efficiency of the fail-over process. Examples of accepted values: STATUS-DIRECTORY-B-HTTP="http://www.SpecificDomainName.com/" STATUS-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com:81/dir/" STATUS-DIRECTORY-B-HTTP="http://1.2.3.4/" STATUS-DIRECTORY-B-HTTP="http://1.2.3.4/dir/" Examples of refused values: STATUS-DIRECTORY-B-HTTP="" STATUS-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir" STATUS-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/network.status.play erplatform.fnsl" STG Interactive Frogans Page [36] FNSL 3.0 Frogans Network System Language May 2004 STATUS-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" STATUS-DIRECTORY-B-HTTP= "https://www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-B-HTTP="www.SpecificDomainName.com/dir/" STATUS-DIRECTORY-B-HTTP="mailto:Name@SpecificDomainName.com" STATUS-DIRECTORY-B-HTTP="frogans*GateName" STG Interactive Frogans Page [37] FNSL 3.0 Frogans Network System Language May 2004 9. Making a Topology Record - TOPOLOGY and SERVER elements The TOPOLOGY element defines a topology record, which is used to reference the lookup servers in the Frogans Network System. The TOPOLOGY element is placed between the start and end tags of the RECORD element. The TOPOLOGY element only contains SERVER elements. All SERVER elements are placed between the start and end tags of the TOPOLOGY element. The SERVER element does not contain any other elements. The lookup servers are referenced in succeeding SERVER elements. The order in which the SERVER elements appear in the FNSL document is not relevant. The lookup servers deliver the frogans network's most recent lookup records. A lookup record is downloaded by the Frogans Player when the end-user requests a frogans address, if the lookup record has not been saved in the cache directory or has been deleted. See 4.6. Cache. The Frogans Player uses a load-balancing process, based on the server capacity specified in the SERVER-CAPACITY attribute of the SERVER element, to select a lookup server that is referenced in the topology record. The Frogans Player will select another available lookup server that is referenced in the topology record if it cannot load the lookup record (fail-over process). The Frogans Player will attempt to load the lookup record on up to five lookup servers. Hosting the directories of the lookup servers on the same FNS server will cancel the efficiency of the fail-over process. At least two different FNS servers should be used, unless the one lookup server referenced in the topology record is a cluster of servers. The lookup records must be updated by the frogans network operator at the same time, on all lookup servers. For more information about using lookup servers, see 3.2. Frogans Addressing. For more information about lookup records, see 10. Making a Lookup Record. The TOPOLOGY element can contain between 1 and 32 SERVER elements. There are no attributes associated with the TOPOLOGY element. STG Interactive Frogans Page [38] FNSL 3.0 Frogans Network System Language May 2004 The attributes associated with the SERVER element are: LOOKUP-DIRECTORY-HTTP - Required The URL of a directory on the lookup server. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Examples of accepted values: LOOKUP-DIRECTORY-HTTP="http://www.SpecificDomainName.com/" LOOKUP-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" LOOKUP-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" LOOKUP-DIRECTORY-HTTP="http://1.2.3.4/" LOOKUP-DIRECTORY-HTTP="http://1.2.3.4/dir/" Examples of refused values: LOOKUP-DIRECTORY-HTTP="" LOOKUP-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" LOOKUP-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/network.lookup.gate name.extension.fnsl" LOOKUP-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" LOOKUP-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" LOOKUP-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" LOOKUP-DIRECTORY-HTTP="mailto:Name@SpecificDomainName.com" LOOKUP-DIRECTORY-HTTP="frogans*GateName" LOOKUP-PROGRAM - Required Indicates if the lookup records are delivered by the lookup server through a program. If the lookup records are not delivered through a program, they are hosted directly in the directory specified in the LOOKUP-DIRECTORY-HTTP attribute of the SERVER element. * "OFF" specifies that the lookup records are not delivered through a program. * "ON" specifies that the lookup records are delivered through a program. STG Interactive Frogans Page [39] FNSL 3.0 Frogans Network System Language May 2004 LOOKUP-PROGRAM-NAME - Required Applicable only if LOOKUP-PROGRAM="ON" The name of the program on the lookup server. The name can contain up to 127 characters. The program is hosted in the directory specified in the LOOKUP-DIRECTORY-HTTP attribute of the SERVER element. Examples of accepted values: LOOKUP-PROGRAM-NAME="solve" LOOKUP-PROGRAM-NAME="solve.php" LOOKUP-PROGRAM-NAME="lookup.asp" LOOKUP-PROGRAM-NAME="lookup.jsp" LOOKUP-PROGRAM-NAME="lookup-server.cgi" Examples of refused values: LOOKUP-PROGRAM-NAME="" LOOKUP-PROGRAM-NAME="dir/solve.php" LOOKUP-PROGRAM-NAME="/solve.php" LOOKUP-PROGRAM-NAME="solve/" SERVER-CAPACITY - Required The load capacity of the lookup server. Is a whole decimal number between 1 and 999999. Signs are not accepted. For the load-balancing process to function efficiently, the value chosen must be proportionally related to the load capacities of the other lookup servers referenced in the same topology record. For example, the value may be the number of lookup records that can be delivered by the lookup server per second. Examples of accepted values: SERVER-CAPACITY="40" SERVER-CAPACITY="2200" SERVER-CAPACITY="127" Examples of refused values: SERVER-CAPACITY="" SERVER-CAPACITY="0" SERVER-CAPACITY="-1" SERVER-CAPACITY="+127" STG Interactive Frogans Page [40] FNSL 3.0 Frogans Network System Language May 2004 10. Making a Lookup Record - LOOKUP, HOST and MENU elements The LOOKUP element defines a lookup record, which is used to open a frogans on the end-user's system. The LOOKUP element is placed between the start and end tags of the RECORD element. The LOOKUP element contains one HOST element, if its ON-LINE attribute is set to "ON", and contains one MENU element. The LOOKUP element does not contain any other elements. The HOST element is placed between the start and end tags of the LOOKUP element. The HOST element does not contain any other elements. The MENU element is placed between the start and end tags of the LOOKUP element. The MENU element does not contain any other elements. Each frogans published on the frogans network has its own lookup record which is associated with its frogans address. The attributes associated with the LOOKUP element are: ADDRESS - Required The frogans address that will be displayed on the end-user's system when the frogans is opened. Is a case sensitive string of characters in the format 'network*gatename' or 'network*gatename.extension', without spaces. The value and case of 'network' must be the same as the value and case specified in the NETWORK attribute of the RECORD element. 'network' is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9 and dash. The string cannot start or end with a dash. The string must contain between 1 and 24 characters. 'gatename' is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9 and dash. The string cannot start or end with a dash. The string must contain between 2 and 32 characters. 'extension' is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9 and dash. The string cannot start or end with a dash. The string must contain between 3 and 16 characters. Examples of accepted values: ADDRESS="frogans*GateName" ADDRESS="frogans*GateName.Extension" ADDRESS="frogans*gatename" STG Interactive Frogans Page [41] FNSL 3.0 Frogans Network System Language May 2004 ADDRESS="MyNetwork*GateName" ADDRESS="my-network*GateName.Extension" Examples of refused values: ADDRESS="" ADDRESS="frogans*-GateName" ADDRESS="frogans*GateName.Extension-" ADDRESS="frogans*" ADDRESS="GateName" ADDRESS="GateName.Extension" ADDRESS="*GateName" ADDRESS="frogans * GateName" ADDRESS="frogans*GateName . Extension" ADDRESS="frogans*GateName/subdir/" ADDRESS="frogans*GateName/file.fsdl" ON-LINE - Required Indicates if the frogans is on-line. * "OFF" specifies that the frogans is not on-line. * "ON" specifies that the frogans is on-line. ADULT-FILTER - Required Indicates if the adult filter for the frogans address is activated. The adult filter must always be activated if the contents of the frogans, the contents to which the frogans leads, or the meaning of the frogans address are specifically destined for adult end-users. * "OFF" specifies that the adult filter is not activated. * "ON" specifies that the adult filter is activated. ADDRESS-VALIDITY - Required The last day on which the frogans address is valid. Time reference is UTC (Coordinated Universal Time). Is a string of eleven characters in the 'dd-mmm-yyyy' date format, without spaces. 'dd' is a two-digit whole decimal number representing the day of the month. 'mmm' is a non-case sensitive string of three characters representing the month of the year: 'Jan' for January, 'Feb' for February, 'Mar' for March, 'Apr' for April, 'May' for May, 'Jun' for June, 'Jul' for July, 'Aug' for August, 'Sep' for September, 'Oct' for October, 'Nov' for November or 'Dec' for December. STG Interactive Frogans Page [42] FNSL 3.0 Frogans Network System Language May 2004 'yyyy' is a four-digit whole decimal number representing the year. Examples of accepted values: ADDRESS-VALIDITY="01-Jan-2005" ADDRESS-VALIDITY="01-JAN-2005" ADDRESS-VALIDITY="01-jan-2005" Examples of refused values: ADDRESS-VALIDITY="" ADDRESS-VALIDITY="01 Jan 2005" ADDRESS-VALIDITY="01_Jan_2005" ADDRESS-VALIDITY="01/Jan/2005" ADDRESS-VALIDITY="1-Jan-2005" ADDRESS-VALIDITY="01-January-2005" ADDRESS-VALIDITY="01-01-2005" ADDRESS-VALIDITY="01-Jan-05" ADDRESS-VALIDITY="29-Feb-2005" The attributes associated with the HOST element are: USER-AUTHENTICATION - Required The authentication request that is used to let the end-user open the frogans. The authentication request is completed before the home slide of the frogans is displayed on the end-user's system. For more information about the use of authentication requests, see FSDL specifications version 2.1 (19.1. Requesting Identifiers from End-users). * "NO-REQUEST" specifies that no authentication is requested from the end-user. * "PID-STANDARD" specifies that a personal identifier (PID) is requested from the end-user. * "PID-GROUPED" specifies that a personal identifier (PID) is requested from the end-user unless certain conditions, related to other frogans open on the end-user's system, are met. * "LOGINPW-STANDARD" specifies that a login and a password are requested from the end-user. * "LOGINPW-GROUPED" specifies that a login and a password are requested from the end-user unless certain conditions, related to other frogans open on the end-user's system, are met. STG Interactive Frogans Page [43] FNSL 3.0 Frogans Network System Language May 2004 FROGANS-PROTOCOL - Required The network protocol used by the Frogans Player to communicate with the server hosting the frogans. For more information about the use of network protocols, see FSDL specifications version 2.1 (19.2. Choosing a Network Protocol). * "HTTP" specifies network protocol HTTP/1.0 FROGANS-DIRECTORY-HTTP - Required Applicable only if FROGANS-PROTOCOL="HTTP" The URL of a directory on a HTTP server hosting the frogans. The directory is called the frogans root directory. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 128 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. For more information about the frogans root directory, see FSDL specifications version 2.1 (3.1. Frogans Root Directory). For more information about hosting frogans, see FSDL specifications version 2.1 (19.3. Hosting a Frogans on a HTTP Server). Examples of accepted values: FROGANS-DIRECTORY-HTTP="http://www.SpecificDomainName.com/" FROGANS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" FROGANS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" FROGANS-DIRECTORY-HTTP="http://1.2.3.4/" FROGANS-DIRECTORY-HTTP="http://1.2.3.4/dir/" Examples of refused values: FROGANS-DIRECTORY-HTTP="" FROGANS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" FROGANS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/home.fsdl" FROGANS-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" FROGANS-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" FROGANS-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" STG Interactive Frogans Page [44] FNSL 3.0 Frogans Network System Language May 2004 FROGANS-DIRECTORY-HTTP="mailto:Name@SpecificDomainName.com" FROGANS-DIRECTORY-HTTP="frogans*GateName" FROGANS-HOME-SLIDE - Required The file name of the frogans home slide in the frogans root directory. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, underscore, dash, dot and slash (/). The string cannot end with a slash or a dot. The string cannot contain the sequences '..', './', '/.' and '//'. Spaces and backslashes (\) are not accepted. The string must contain between 2 and 128 characters. The file name always starts with a slash (/). If the frogans home slide is located in a sub-directory, the file name must include the complete file path from the frogans root directory. For more information about the frogans root directory, see FSDL specifications version 2.1 (3.1. Frogans Root Directory). Examples of accepted values: FROGANS-HOME-SLIDE="/home.fsdl" FROGANS-HOME-SLIDE="/home.fsd" FROGANS-HOME-SLIDE="/home-slide.fsdl" FROGANS-HOME-SLIDE="/home_slide.fsdl" FROGANS-HOME-SLIDE="/subdir/home.fsdl" FROGANS-HOME-SLIDE="/home.php" FROGANS-HOME-SLIDE="/home.asp" FROGANS-HOME-SLIDE="/home.jsp" FROGANS-HOME-SLIDE="/home.cgi" FROGANS-HOME-SLIDE="/home" Examples of refused values: FROGANS-HOME-SLIDE="" FROGANS-HOME-SLIDE="/" FROGANS-HOME-SLIDE="home.fsdl" FROGANS-HOME-SLIDE="/.fsdl" FROGANS-HOME-SLIDE="/home." FROGANS-HOME-SLIDE="\home.fsdl" FROGANS-HOME-SLIDE="./home.fsdl" FROGANS-HOME-SLIDE="../home.fsdl" FROGANS-HOME-SLIDE="subdir/home.fsdl" FROGANS-HOME-SLIDE="/subdir/" FROGANS-HOME-SLIDE="/subdir//home.fsdl" FROGANS-HOME-SLIDE="/subdir\home.fsdl" FROGANS-HOME-SLIDE="/home.fsdl?option=2" FROGANS-HOME-SLIDE= "/home.fsdl?option=2&language=Swedish" STG Interactive Frogans Page [45] FNSL 3.0 Frogans Network System Language May 2004 FROGANS-HOME-SLIDE="frogans*GateName/home.fsdl" FROGANS-HOME-SLIDE="http://SpecificDomainName.com/home.fsdl" FSDL-VERSION - Required The version of the FSDL specifications used to develop the frogans. * "FSDL2.1" : FSDL specifications version 2.1 FSDL-ENCODING - Required The encoding of the FSDL documents which make up the frogans. For more information about FSDL document encoding, see FSDL specifications version 2.1 (3.3. Document Character Set and Encoding). * "UTF-8" specifies UTF-8 encoding of ISO 10646/Unicode (RFC 2279) * "UTF-16" specifies UTF-16 encoding of ISO 10646/Unicode (RFC 2781) The attributes associated with the MENU element are: SEND-FRIEND - Required Indicates if the 'Send to a friend...' item is activated by the Frogans Player in the contextual menu of the frogans. * "OFF" specifies that the 'Send to a friend...' item is not activated. * "ON" specifies that the 'Send to a friend...' item is activated. WEBSITE-LINK - Required Indicates if the 'Related website...' item is activated by the Frogans Player in the contextual menu of the frogans. * "OFF" specifies that the 'Related website...' item is not activated. * "ON" specifies that the 'Related website...' item is activated. STG Interactive Frogans Page [46] FNSL 3.0 Frogans Network System Language May 2004 WEBSITE-LINK-HTTP - Required Applicable only if WEBSITE-LINK="ON" The URL of a Web site which belongs to the frogans editor. The URL must begin with 'http://' and can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Examples of accepted values: WEBSITE-LINK-HTTP="http://www.SpecificDomainName.com/" WEBSITE-LINK-HTTP= "http://www.SpecificDomainName.com/index.htm" WEBSITE-LINK-HTTP="http://www.SpecificDomainName.com/dir/" WEBSITE-LINK-HTTP= "http://www.SpecificDomainName.com/index.php?param=28" WEBSITE-LINK-HTTP= "http://www.SpecificDomainName.com:81/dir/" WEBSITE-LINK-HTTP="http://1.2.3.4/" WEBSITE-LINK-HTTP="http://1.2.3.4/dir/" Examples of refused values: WEBSITE-LINK-HTTP="" WEBSITE-LINK-HTTP= "https://www.SpecificDomainName.com/index.htm" WEBSITE-LINK-HTTP="www.SpecificDomainName.com/index.htm" WEBSITE-LINK-HTTP="mailto:Name@SpecificDomainName.com" WEBSITE-LINK-HTTP="frogans*GateName" FROGANS-FAMILY - Required The list of the extensions of the frogans addresses which make up the frogans family of the frogans. The frogans family is a subset of all frogans addresses that have the same 'gatename' in the frogans network (see description of the frogans address format in the ADDRESS attribute of the LOOKUP element). The frogans family is the same for all frogans addresses that have the same 'gatename' in the frogans network. Is a case sensitive, comma separated list of items in the format 'ext' or '!ext', where 'ext' is the extension of a frogans address in the frogans family. Each extension included in the list must be different from the others. Spaces are not accepted except before or after a comma. A maximum of 256 items is accepted in the list. If the extension is empty (gate address only), 'ext' is represented by a dash. Otherwise, 'ext' is a case sensitive STG Interactive Frogans Page [47] FNSL 3.0 Frogans Network System Language May 2004 string of alphanumeric characters: A-Z, a-z, 0-9 and dash. The string cannot start or end with a dash. The string must contain between 3 and 16 characters. The exclamation sign must always precede the extension, if the adult filter of the related frogans address is activated. See 10. ADULT-FILTER attribute of the LOOKUP element. The frogans addresses in the frogans family are displayed by the Frogans Player in the contextual menu of the frogans, in the order their extensions appear in the list. If the address of that frogans is included in the frogans family, it is not displayed. If the adult filter setting of a frogans address in the frogans family is modified, the lookup records for all addresses that have the same 'gatename' in the frogans network must also be updated. Examples of accepted values: FROGANS-FAMILY="" (no items) FROGANS-FAMILY="MyExtension" FROGANS-FAMILY="!MyExtension" FROGANS-FAMILY="MyExtension, MyExtension2" FROGANS-FAMILY="MyExtension,MyExtension2" FROGANS-FAMILY="-, MyExtension" FROGANS-FAMILY="!MyExtension, MyExtension2" FROGANS-FAMILY="MyExtension, !-, MyExtension2" Examples of refused values: FROGANS-FAMILY="MyExtension!" FROGANS-FAMILY="!!MyExtension" FROGANS-FAMILY="-MyExtension" FROGANS-FAMILY="--, MyExtension" FROGANS-FAMILY="MyExtension MyExtension2" FROGANS-FAMILY="MyExtension/MyExtension2" FROGANS-FAMILY="MyExtension,,MyExtension2" FROGANS-FAMILY="MyExtension&MyExtension2" FROGANS-GROUP - Required The list of frogans addresses which make up the frogans group of the frogans. These frogans addresses are chosen by the frogans network operator or by the frogans editor. Is a case sensitive, comma separated list of items in the format 'address' or '!address', where 'address' is a frogans address. Each frogans address included in the list must be different from the others. Spaces are not accepted except before or after a comma. A maximum of 256 items is accepted in the list. STG Interactive Frogans Page [48] FNSL 3.0 Frogans Network System Language May 2004 'address' follows the same syntax as specified in the ADDRESS attribute of the LOOKUP element. The exclamation sign must always precede the frogans address, if its adult filter is activated. See 10. ADULT-FILTER attribute of the LOOKUP element. The frogans addresses are displayed by the Frogans Player in the contextual menu of the frogans, in the order the addresses appear in the list. If the address of that frogans is included in the frogans group, it is not displayed. If the adult filter setting of a frogans address is modified, the lookup records for all frogans addresses that contain this frogans address in their frogans groups, must also be updated. Examples of accepted values: FROGANS-GROUP="" (no items) FROGANS-GROUP="frogans*GateName" FROGANS-GROUP="MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName.Extension" FROGANS-GROUP="!frogans*GateName" FROGANS-GROUP="frogans*GateName, MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName,MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName, !MyNetwork*GateName2" Examples of refused values: FROGANS-GROUP="frogans*GateName!" FROGANS-GROUP="!!frogans*GateName" FROGANS-GROUP="frogans*GateName MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName/MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName,,MyNetwork*GateName2" FROGANS-GROUP="frogans*GateName&MyNetwork*GateName2" HAND-OVER - Required Applicable only on the main frogans network Indicates if the 'This frogans address can be yours...' item is displayed by the Frogans Player in the contextual menu of the frogans. This item is a notice to end-users that a hand-over process exists for the frogans address. Is only applicable for frogans addresses on the main frogans network. For more information about the hand-over process, go to frogans.com. * "OFF" specifies that the 'This frogans address can be yours...' item is not displayed. * "ON" specifies that the 'This frogans address can be yours...' item is displayed. STG Interactive Frogans Page [49] FNSL 3.0 Frogans Network System Language May 2004 11. Making an Error Record - ERROR element The ERROR element defines an error record, which is returned by a lookup server to indicate a request error. The ERROR element is placed between the start and end tags of the RECORD element. The ERROR element does not contain any other elements. For more information about using lookup servers, see 3.2. Frogans Addressing and 15. Going On Line. The attribute associated with the ERROR element is: ERROR-CODE - Required The code number of the error. Errors are handled by the lookup server in successive order of their code numbers. * "700" specifies an error which occurs if the parameters of the request sent by the Frogans Player to the lookup server do not conform to the FNSL specifications. * "701" specifies an error which occurs if the lookup server cannot identify the identifier of the software sending the request. The identifier is the request header field 'User-Agent' (See 15. Going On-line). * "703" specifies an error which occurs if the frogans address in the request sent by the Frogans Player to the lookup server belongs to a frogans network that is not supported. * "704" specifies an error which occurs if the frogans address in the request sent by the Frogans Player to the lookup server does not exist on the frogans network. STG Interactive Frogans Page [50] FNSL 3.0 Frogans Network System Language May 2004 12. Making a Status Record - STATUS and PLAYER elements The STATUS element defines a status record, which lists the different releases of the Frogans Player for a specific platform, and the update status of each. The STATUS element is placed between the start and end tags of the RECORD element. The STATUS element only contains PLAYER elements. All PLAYER elements are placed between the start and end tags of the STATUS element. The PLAYER element does not contain any other elements. The different releases of the Frogans Player are listed in succeeding PLAYER elements, except for the latest release which is specified in the UPDATE-PLAYER-VERSION attribute of the STATUS element. The order in which the PLAYER elements appear in the FNSL document is not relevant. The STATUS element can contain up to 512 PLAYER elements. If a release of the Frogans Player is not listed in the status record, and if its version number is lower than that of the latest release specified in the UPDATE-PLAYER-VERSION attribute of the STATUS element, it is considered to be obsolete and must be updated. When updating the status and update records on the player reference network, the update record should always be updated first. For more information about updating the Frogans Player, see 3.4. Frogans Player Update. The attributes associated with the STATUS element are: PLAYER-PLATFORM - Required The identifier of the platform. Is a lowercase string of alphanumeric characters: a-z, 0-9, dash, without spaces. The string must contain between 5 and 16 characters. Examples of accepted values: PLAYER-PLATFORM="device1-os4" PLAYER-PLATFORM="device2-os5" PLAYER-PLATFORM="device3-os10" Examples of refused values: PLAYER-PLATFORM="" PLAYER-PLATFORM="Device1-os4" PLAYER-PLATFORM="device1_os4" PLAYER-PLATFORM="device1/os4" PLAYER-PLATFORM="device1.os4" STG Interactive Frogans Page [51] FNSL 3.0 Frogans Network System Language May 2004 UPDATE-PLAYER-VERSION - Required The version number of the Frogans Player's latest release for the platform. Is a string of characters in the 'x.y.z.k' format, without spaces. 'x' is a whole decimal number between 0 and 65535 representing the major component of the version number. 'y' is a whole decimal number between 0 and 65535 representing the minor component of the version number. 'z' is a whole decimal number between 0 and 65535 representing the sub-version component of the version number. 'k' is a whole decimal number between 0 and 65535 representing the build component of the version number. If a status record is saved in the cache directory, the value of its UPDATE-PLAYER-VERSION attribute can be lower than the version number of the Frogans Player's latest release available on the player reference network. Examples of accepted values: UPDATE-PLAYER-VERSION="1.1.3.2" UPDATE-PLAYER-VERSION="2.14.8.35" UPDATE-PLAYER-VERSION="4.0.2.770" Examples of refused values: UPDATE-PLAYER-VERSION="" UPDATE-PLAYER-VERSION="1. 1.3.2" UPDATE-PLAYER-VERSION="1..3.2" UPDATE-PLAYER-VERSION="1.1.3." UPDATE-PLAYER-VERSION="1.1.3" UPDATE-PLAYER-VERSION="1.1" UPDATE-DIRECTORY-HTTP - Required The URL of a directory on a FNS server of the player reference network. The directory contains the player reference network's most recent update record, which is downloaded by the Frogans Player when the end-user updates the Frogans Player. The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. For more information about update records, see 13. Making an Update Record. STG Interactive Frogans Page [52] FNSL 3.0 Frogans Network System Language May 2004 Examples of accepted values: UPDATE-DIRECTORY-HTTP="http://www.SpecificDomainName.com/" UPDATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com:81/dir/" UPDATE-DIRECTORY-HTTP="http://1.2.3.4/" UPDATE-DIRECTORY-HTTP="http://1.2.3.4/dir/" Examples of refused values: UPDATE-DIRECTORY-HTTP="" UPDATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir" UPDATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/network.update.play erplatform.fnsl" UPDATE-DIRECTORY-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" UPDATE-DIRECTORY-HTTP= "https://www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-HTTP="www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-HTTP="mailto:Name@SpecificDomainName.com" UPDATE-DIRECTORY-HTTP="frogans*GateName" UPDATE-DIRECTORY-B-HTTP - Required The URL of a directory on a FNS server of the player reference network. The directory contains the same update record as the one found in the primary directory specified in the UPDATE-DIRECTORY-HTTP attribute of the STATUS element. The Frogans Player will download the update record from the directory if it cannot load it from the primary directory (fail- over process). The URL must begin with 'http://' and must end with a slash (/). It can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL cannot contain a query or a fragment. Using the same directory for both the directory and the primary directory, or hosting them on the same FNS server, will cancel the efficiency of the fail-over process. Examples of accepted values: UPDATE-DIRECTORY-B-HTTP="http://www.SpecificDomainName.com/" UPDATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com:81/dir/" STG Interactive Frogans Page [53] FNSL 3.0 Frogans Network System Language May 2004 UPDATE-DIRECTORY-B-HTTP="http://1.2.3.4/" UPDATE-DIRECTORY-B-HTTP="http://1.2.3.4/dir/" Examples of refused values: UPDATE-DIRECTORY-B-HTTP="" UPDATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir" UPDATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/network.update.play erplatform.fnsl" UPDATE-DIRECTORY-B-HTTP= "http://www.SpecificDomainName.com/dir/?param=28" UPDATE-DIRECTORY-B-HTTP= "https://www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-B-HTTP="www.SpecificDomainName.com/dir/" UPDATE-DIRECTORY-B-HTTP="mailto:Name@SpecificDomainName.com" UPDATE-DIRECTORY-B-HTTP="frogans*GateName" UPDATE-WEBSITE-INFO - Required The URL of a Web page belonging to the operator of the player reference network. The document contains information that the end-user can consult before updating the Frogans Player. The URL must begin with 'http://' or 'https://' and can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL can contain a query, but not a fragment. Examples of accepted values: UPDATE-WEBSITE-INFO= "http://www.SpecificDomainName.com/info.htm" UPDATE-WEBSITE-INFO= "http://www.SpecificDomainName.com/info.php" UPDATE-WEBSITE-INFO="http://www.SpecificDomainName.com/dir/" UPDATE-WEBSITE-INFO= "https://www.SpecificDomainName.com/info.htm" UPDATE-WEBSITE-INFO= "http://www.SpecificDomainName.com/info.php?param=28" UPDATE-WEBSITE-INFO= "http://www.SpecificDomainName.com:81/dir/" UPDATE-WEBSITE-INFO="http://1.2.3.4/info.htm" UPDATE-WEBSITE-INFO="http://1.2.3.4/dir/info.htm" Examples of refused values: UPDATE-WEBSITE-INFO="" UPDATE-WEBSITE-INFO="www.SpecificDomainName.com/info.htm" UPDATE-WEBSITE-INFO="mailto:Name@SpecificDomainName.com" UPDATE-WEBSITE-INFO="frogans*GateName" STG Interactive Frogans Page [54] FNSL 3.0 Frogans Network System Language May 2004 UPDATE-WEBSITE-HELP - Required The URL of a Web page belonging to the operator of the player reference network. The document contains information to help the end-user should an error occur during the update of the Frogans Player. The URL must begin with 'http://' or 'https://' and can contain up to 255 characters. The host specified in the URL cannot include a user or password declaration. The URL can contain a query, but not a fragment. Examples of accepted values: UPDATE-WEBSITE-HELP= "http://www.SpecificDomainName.com/help.htm" UPDATE-WEBSITE-HELP= "http://www.SpecificDomainName.com/help.php" UPDATE-WEBSITE-HELP="http://www.SpecificDomainName.com/dir/" UPDATE-WEBSITE-HELP= "https://www.SpecificDomainName.com/help.htm" UPDATE-WEBSITE-HELP= "http://www.SpecificDomainName.com/help.php?param=28" UPDATE-WEBSITE-HELP= "http://www.SpecificDomainName.com:81/dir/" UPDATE-WEBSITE-HELP="http://1.2.3.4/help.htm" UPDATE-WEBSITE-HELP="http://1.2.3.4/dir/help.htm" Examples of refused values: UPDATE-WEBSITE-HELP="" UPDATE-WEBSITE-HELP="www.SpecificDomainName.com/help.htm" UPDATE-WEBSITE-HELP="mailto:Name@SpecificDomainName.com" UPDATE-WEBSITE-HELP="frogans*GateName" The attributes associated with the PLAYER element are: PLAYER-VERSION - Required The unique version number of the Frogans Player's release for the platform. Is a string of characters in the 'x.y.z.k' format, without spaces. 'x' is a whole decimal number between 0 and 65535 representing the major component of the version number. 'y' is a whole decimal number between 0 and 65535 representing the minor component of the version number. 'z' is a whole decimal number between 0 and 65535 representing the sub-version component of the version number. STG Interactive Frogans Page [55] FNSL 3.0 Frogans Network System Language May 2004 'k' is a whole decimal number between 0 and 65535 representing the build component of the version number. The version number cannot be the same or higher than the version number specified in the UPDATE-PLAYER-VERSION attribute of the STATUS element. Examples of accepted values: PLAYER-VERSION="1.1.3.2" PLAYER-VERSION="2.14.8.35" PLAYER-VERSION="4.0.2.770" Examples of refused values: PLAYER-VERSION="" PLAYER-VERSION="1. 1.3.2" PLAYER-VERSION="1..3.2" PLAYER-VERSION="1.1.3." PLAYER-VERSION="1.1.3" PLAYER-VERSION="1.1" SUGGEST-UPDATE - Required Indicates if end-users using the Frogans Player's release are to be notified regularly that it should be updated. * "OFF" specifies that end-users are not to be notified. * "ON" specifies that end-users are to be notified. * "DATE" specifies that end-users are to be notified, in advance of the expiration of that Frogans Player's release. The expiration date is specified in the PLAYER-VALIDITY attribute of the PLAYER element. PLAYER-VALIDITY - Required Applicable only if SUGGEST-UPDATE="DATE" The last day on which the Frogans Player's release is valid. Time reference is UTC (Coordinated Universal Time). Is a string of eleven characters in the 'dd-mmm-yyyy' date format, without spaces. 'dd' is a two-digit whole decimal number representing the day of the month. 'mmm' is a non-case sensitive string of three characters representing the month of the year: 'Jan' for January, 'Feb' for February, 'Mar' for March, 'Apr' for April, 'May' for May, 'Jun' for June, 'Jul' for July, 'Aug' for August, 'Sep' for September, 'Oct' for October, 'Nov' for November or 'Dec' for December. STG Interactive Frogans Page [56] FNSL 3.0 Frogans Network System Language May 2004 'yyyy' is a four-digit whole decimal number representing the year. Examples of accepted values: PLAYER-VALIDITY="01-Jan-2005" PLAYER-VALIDITY="01-JAN-2005" PLAYER-VALIDITY="01-jan-2005" Examples of refused values: PLAYER-VALIDITY="" PLAYER-VALIDITY="01 Jan 2005" PLAYER-VALIDITY="01_Jan_2005" PLAYER-VALIDITY="01/Jan/2005" PLAYER-VALIDITY="1-Jan-2005" PLAYER-VALIDITY="01-January-2005" PLAYER-VALIDITY="01-01-2005" PLAYER-VALIDITY="01-Jan-05" PLAYER-VALIDITY="29-Feb-2005" STG Interactive Frogans Page [57] FNSL 3.0 Frogans Network System Language May 2004 13. Making an Update Record - UPDATE and BINARY elements The UPDATE element defines an update record, which contains the latest binary update of the Frogans Player for a specific platform. The UPDATE element is placed between the start and end tags of the RECORD element. The UPDATE element only contains one BINARY element. The BINARY element is placed between the start and end tags of the UPDATE element. The BINARY element does not contain any other elements, just characters. The representation of the binary update is placed between the start and end tags of the BINARY element. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, plus sign, equal sign and slash (/), without spaces. The binary update is a software used to install a release of the Frogans Player on the end-user's system. The version number of the binary update must be the same as that of the Frogans Player's release. The binary update is compressed using Zlib (RFC 1950) with the Deflate compression method (RFC 1951), then encoded using Base64 data encoding (RFC 3548). There are no attributes associated with the BINARY element. The attributes associated with the UPDATE element are: PLAYER-PLATFORM - Required The identifier of the platform for which the binary update is destined. Is a lowercase string of alphanumeric characters: a-z, 0-9, dash, without spaces. The string must contain between 5 and 16 characters. Examples of accepted values: PLAYER-PLATFORM="device1-os4" PLAYER-PLATFORM="device2-os5" PLAYER-PLATFORM="device3-os10" Examples of refused values: PLAYER-PLATFORM="" PLAYER-PLATFORM="Device1-os4" PLAYER-PLATFORM="device1_os4" PLAYER-PLATFORM="device1/os4" PLAYER-PLATFORM="device1.os4" STG Interactive Frogans Page [58] FNSL 3.0 Frogans Network System Language May 2004 PLAYER-VERSION - Required The version number of the Frogans Player's release that is installed using the binary update. Is a string of characters in the 'x.y.z.k' format, without spaces. 'x' is a whole decimal number between 0 and 65535 representing the major component of the version number. 'y' is a whole decimal number between 0 and 65535 representing the minor component of the version number. 'z' is a whole decimal number between 0 and 65535 representing the sub-version component of the version number. 'k' is a whole decimal number between 0 and 65535 representing the build component of the version number. If the status record is saved in the cache directory, the value can be higher than the version number of the Frogans Player's latest release that is specified in the status record. Examples of accepted values: PLAYER-VERSION="1.1.3.2" PLAYER-VERSION="2.14.8.35" PLAYER-VERSION="4.0.2.770" Examples of refused values: PLAYER-VERSION="" PLAYER-VERSION="1. 1.3.2" PLAYER-VERSION="1..3.2" PLAYER-VERSION="1.1.3." PLAYER-VERSION="1.1.3" PLAYER-VERSION="1.1" FILE-NAME - Required The file name used to save the binary update on the end-user's system before it is run. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, underscore, dash and dot, without spaces. The string cannot start or end with a dot. The string cannot contain the sequence '..'. The string must contain between 5 and 32 characters. Examples of accepted values: FILE-NAME="Frogans-Setup" FILE-NAME="Frogans_Setup" FILE-NAME="Frogans.Setup" FILE-NAME="Frogans-Setup.exe" STG Interactive Frogans Page [59] FNSL 3.0 Frogans Network System Language May 2004 Examples of refused values: FILE-NAME="" FILE-NAME="frogans setup" FILE-NAME="frogans-setup." FILE-NAME=".frogans-setup" FILE-NAME="frogans..setup" FILE-NAME="frogans/setup" STG Interactive Frogans Page [60] FNSL 3.0 Frogans Network System Language May 2004 14. Authenticating the Record - SIGNATURE element The SIGNATURE element defines a digital signature, which is used to authenticate the frogans network record. The SIGNATURE element is placed between the start and end tags of the FROGANS-FNSL element. Only one SIGNATURE element can be used in the FNSL document. The SIGNATURE element does not contain any other elements, just characters. The representation of the digital signature is placed between the start and end tags of the SIGNATURE element. Is a case sensitive string of alphanumeric characters: A-Z, a-z, 0-9, plus sign, equal sign and slash (/), without spaces. The digital signature is a whole decimal number that is made up of a sequence of bytes, each byte representing 8 bits of information, with the most significant bit first. The digital signature is encoded using Base64 data encoding (RFC 3548). The digital signature is generated and verified using the signature algorithm which is specified in the American National Standard for Financial Services ANS X9.31-1998 (rDSA). The root key is used to digitally sign the setup record, the certificate record, the status record and the update record. The network key is used to digitally sign the topology record, the lookup record and the error record. There is a different network key for each frogans network. The length of the root key and the network key is 2048 bits. Their public exponent is odd. The root key and the network key may be made from random primes, as specified in the NIST Digital Signature Standard (DSS) FIPS 186.2, instead of strong primes. The hash function used in the signature algorithm is SHA-1, which is specified in the American National Standard for Financial Services ANS X9.30-2-1996 (SHA). The data to be signed is a sequence of characters containing a representation of the RECORD element and its attributes. The representation includes the elements, text characters, comments, processing instructions and CDATA sections placed between the start and end tags of the RECORD element, in the order they appear in the FNSL document. The sequence encoding is UTF-8 (RFC 2279). Attributes of an element are represented in the order they appear in the FNSL document. Each attribute is represented in the format 'AttName="AttValue"', where 'AttName' is the name and 'AttValue' is STG Interactive Frogans Page [61] FNSL 3.0 Frogans Network System Language May 2004 the value of the attribute. Double quotation marks are used as value delimiters. There are no spaces before or after the equal sign. An element representation starts with ''. Otherwise, it is followed by '>', then by the successive representations of each contained item (element, text characters, comment, processing instruction and CDATA section), and ends with '', where 'EleName' is the name of the element. A comment representation starts with ''. A processing instruction representation starts with '', where 'PiName' is the name of the processing instruction. A CDATA section representation starts with ''. To produce the sequence, the FNSL document must be parsed successfully. Attribute values and text characters are those returned by a XML 1.0 processor (including the normalization of white spaces and the processing of numeric character references and entity references), where ampersands (&) and less than signs (<) are replaced by their respective entity references '&' and '<'. Comments, processing instructions and CDATA sections are those returned by a XML 1.0 processor. The digital signature is not sensitive to the type of line breaks in the FNSL document. There are no attributes associated with the SIGNATURE element. STG Interactive Frogans Page [62] FNSL 3.0 Frogans Network System Language May 2004 15. Going On-line The frogans network can be established on small private IP networks, where all services may be centralized on one FNS server, as well as on large scale networks deployed worldwide, where the services are distributed on many FNS servers. The FNS servers may deliver static content only, if no program is specified for the lookup servers. End-users may use proxies and firewalls to access the frogans network. To ensure maximum accessibility by end-users, the FNS servers, as well as the servers hosting the frogans, should use the default port (80). When processing a request on a FNS server, the Frogans Player applies the following HTTP protocol rules: - Version: HTTP/1.0 (RFC 1945) - Default port: 80 - Request method: GET or POST, depending on the type of frogans network record. When requesting a setup record, a certificate record, a topology record, a status record or an update record: * the method to request the FNSL document is GET. When requesting a lookup record: * if no program is specified in the topology record for the lookup server, the method to request the FNSL document is GET. * if a program is specified in the topology record for the lookup server, the method to request the FNSL document is POST. - Request header fields: The request header fields sent by the Frogans Player are: 'Pragma', 'User-Agent', 'Accept' and 'Host'. The value of 'Pragma' is: 'no-cache' The value of 'User-Agent' is: 'Frogans Player/x.y' where 'x.y' indicates the release version of the Frogans Player. The value of 'Accept' is: '*/*' STG Interactive Frogans Page [63] FNSL 3.0 Frogans Network System Language May 2004 The following request header fields are not sent by the Frogans Player: 'Date', 'Authorization', 'From', 'If-Modified-Since', 'Referer', 'Accept-Charset', 'Accept-Encoding', 'Accept-Language' and 'MIME-Version'. When GET method is used by the Frogans Player, no entity-header field is sent. When POST method is used by the Frogans Player, the only entity-header fields sent are: 'Content-Length' and 'Content-Type'. The value of 'Content-Type' is: 'application/x-www-form-urlencoded' The following entity-header fields are not sent by the Frogans Player: 'Allow', 'Content-Encoding', 'Expires', 'Last-Modified', 'Content-Language', 'Link', 'Title' and 'URI'. - Data sent: only when POST method is used by the Frogans Player. For information about the data sent by the Frogans Player when requesting a lookup record, see 3.2. Frogans Addressing. - Response Status Code: the only valid status codes recognized by the Frogans Player are 200 (OK) and 201 (Created). All other status codes, in particular 301 (Moved Permanently) and 302 (Moved Temporarily), will lead to an error message displayed by the Frogans Player. However, when requesting a lookup record on a lookup server where no program is specified, a status code 404 (Not Found) will be interpreted by the Frogans Player as a returned error record whose code number is 704. To avoid miscommunication between the Frogans Player and the lookup server, which may occur if the status code 404 is modified by a proxy server, the lookup server should be programed to return an error record 704 (with the status code 200 or 201) instead of a simple status code 404. - Response header fields: The following response header fields are not used by the Frogans Player: 'Date', 'Pragma', 'Location', 'Server', 'WWW-Authenticate', 'MIME-Version' and 'Retry-After'. No other response header field is used by the Frogans Player. The only entity-header field used by the Frogans Player is: 'Content-Length', if it is sent by the server. STG Interactive Frogans Page [64] FNSL 3.0 Frogans Network System Language May 2004 The following entity-header fields are not used by the Frogans Player: 'Allow', 'Content-Encoding', 'Content-Type', 'Expires', 'Last-Modified', 'Content-Language', 'Link', 'Title' and 'URI'. - Proxy: The Frogans Player can establish a connection through a proxy server. Authentication of the end-user on the proxy server is supported using Basic Access Authentication (RFC 2617). The Frogans Player can also establish a connection through a Socks server, version 4, version 4A or version 5 (RFC 1928). Authentication of the end-user on the Socks server is supported using Username/Password Authentication (RFC 1929). - Cache: not applicable Cache and time information supplied by the server in the header of the response are not used by the Frogans Player for managing the cache directory of the end-user's system. For more information about the cache directory, see 4.6. Cache. - Cookies: not applicable The HTTP State Management Mechanism (RFC 2109 and 2965) is not supported by the Frogans Player. - Access Authentication: not applicable Basic Access Authentication of HTTP/1.0 and the extension of HTTP known as Digest Access Authentication (RFC 2617) are not supported by the Frogans Player. - Security: not applicable The network protocol HTTP/1.0 is not secure as data is transmitted in clear text across the physical network, between the Frogans Player and the FNS servers. Future releases of the FNSL specifications may contain an encryption mechanism that would be associated with frogans network record requests. STG Interactive Frogans Page [65] FNSL 3.0 Frogans Network System Language May 2004 16. Working with the FNSL The use of the FNSL specifications document and of the FNSL as a markup language for operating frogans networks is subject to the following terms and conditions. Under these terms and conditions, no user declaration is required, nor is there any fee due to STG Interactive. The limited permissions granted in the following terms and conditions are perpetual and will not be revoked by STG Interactive or its successors or assignees. Any use which has not been explicitly laid out in the present document is unauthorized except by prior written agreement from STG Interactive. In particular, these terms and conditions do not allow for the development of software to consult frogans (browser), no matter what the operating system or end-user device is, nor do they allow for the partial or total use of the FNSL for anything other than the creation of FNSL documents for operating frogans networks on the Internet or on private IP networks according to the FNSL specifications. Should any doubt arise about possible uses of the FNSL that have not been specified under the present terms and conditions, please send your question to: fnsl-use@frogans.com. Should any doubt arise about the interpretation of the FNSL specifications, please send your question to: fnsl@frogans.com. Questions and answers will be posted on the frogans.com web site in the "Developers" section to complement the FNSL specifications, or will be taken into account for future versions of the FNSL specifications. Frogans is a registered trademark of STG Interactive, in France, in the United-States and other countries. STG Interactive permits the use of the Frogans trademark as a reference relating to the FNSL and the Frogans publishing technology, only in the context limited to the uses which have been explicitly laid out in the present document. The mention "Frogans is a registered trademark of STG Interactive" must be included in the appropriate sections of any medium concerned and in their documentation. Under no conditions can the Frogans trademark be used by an individual or an organization to name a product or a service, even one relating to the FNSL and the Frogans publishing technology, except by prior written agreement from STG Interactive. The following limitation of liability applies to all of the present terms and conditions: STG INTERACTIVE PROVIDES THE FNSL SPECIFICATIONS DOCUMENT FREE OF CHARGE, "AS IS", WITH NO EXPRESS NOR IMPLIED WARRANTY OF ANY KIND, INCLUDING WARRANTY OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR STG Interactive Frogans Page [66] FNSL 3.0 Frogans Network System Language May 2004 PURPOSE. THE DEVELOPER, EITHER AN INDIVIDUAL OR AN ORGANIZATION, ACKNOWLEDGES THAT HE IS SOLELY RESPONSIBLE FOR QUALITY AND EFFECTS RELATING TO THE USE OF THE FNSL SPECIFICATIONS DOCUMENT AND OF THE FNSL AS A MARKUP LANGUAGE FOR OPERATING FROGANS NETWORKS. EXCEPT AS OTHERWISE SPECIFIED BY LAW OR WRITTEN AGREEMENT, STG INTERACTIVE SHALL NOT BE HELD LIABLE FOR ANY DAMAGES, DIRECT OR INDIRECT, CONSEQUENTIAL OR OTHER (DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, ETC.) THAT MAY ARISE FROM THE USE OF OR INABILITY TO USE THE FNSL SPECIFICATIONS DOCUMENT OR THE FNSL AS A MARKUP LANGUAGE FOR OPERATING FROGANS NETWORKS. STG Interactive is a "Societe Anonyme" incorporated under French Law (RCS Paris B 428 738 546), whose headquarters are located at 29 avenue Mozart, 75016 Paris, France. Any difficulties arising from the interpretation or conformance to the present terms and conditions of use and all disputes relating to the use of the FNSL specifications document and the FNSL as a markup language for operating frogans networks shall be governed by French Law and the Paris courts shall have sole jurisdiction. 16.1. Full Copyright Statement of the FNSL Specifications Copyright (C) STG Interactive (2000-2004). All Rights Reserved. Document URL: http://www.frogans.com/en/doc/FNSL30.txt The FNSL specifications document can be freely reproduced, translated into any language, in whole or in part, distributed to third parties, by any means, in exchange for a fee paid by third parties or not, in any country, provided that the copyright mention, the FNSL specifications document's URL as it is written above and this paragraph are included in all copies. The contents of the FNSL specifications document cannot be modified in any manner, except for the purpose of translation to a language other than English. If the document has been translated, all copies shall bear the notice "free translation" next to the title of the document. In all circumstances, the original document published by STG Interactive, in its original English version, prevails over any copy or translation that may exist. STG Interactive disclaims all responsibility for reproductions and translations, as well as their use by third parties. The FNSL specifications document can be freely used to create and distribute to third parties any derivative works aimed at informing about or teaching how to operate frogans networks on the Internet or on private IP networks with the FNSL, in any medium, in exchange for a fee paid by third parties or not, in any language, in any country, provided that they respect all the FNSL specifications outlined in the present document and that the copyright mention, the FNSL specifications document's URL as it is written above and this paragraph are included in all derivative works and their copies. STG STG Interactive Frogans Page [67] FNSL 3.0 Frogans Network System Language May 2004 Interactive disclaims all responsibility for derivative works and their use by third parties. 16.2. Use of the FNSL by Developers All developers, both individuals and organizations, can freely use the FNSL to create FNSL documents for operating frogans networks on the Internet or on private IP networks, for themselves or for third parties, in exchange for a fee paid by third parties or not, in any country, provided that they respect in all circumstances, including when using an authoring tool to help create FNSL documents, all the FNSL specifications outlined in the present document. STG Interactive disclaims all responsibility for all FNSL documents created by developers and their use by third parties. 16.3. Use of the FNSL by Publishers of Authoring Tools All software publishers, both individuals and organizations, can freely use the FNSL to create and distribute to third parties any authoring tools to help create FNSL documents for operating frogans networks on the Internet or on private IP networks, for themselves or for third parties, in exchange for a fee paid by third parties or not, in any country, provided that they respect all the FNSL specifications outlined in the present document and that the copyright mention, the FNSL specifications document's URL as it is written above and this paragraph are included in all software license agreements. STG Interactive disclaims all responsibility for any authoring tools created by software publishers, and their use by third parties. 16.4. Use of the FNSL by Publishers of Server Applications All software publishers, both individuals and organizations, can freely use the FNSL to create and distribute to third parties, any server applications which permit FNSL documents to be delivered dynamically for operating frogans networks on the Internet or on private IP networks, for themselves or for third parties, in exchange for a fee paid by third parties or not, in any country, provided that they respect all the FNSL specifications outlined in the present document and that the copyright mention, the FNSL specifications document's URL as it is written above and this paragraph are included in all software license agreements. STG Interactive disclaims all responsibility for any server applications created by software publishers, and their use by third parties. STG Interactive Frogans Page [68]