NAME

FTN::SRIF - Perl extension to parse an Fidonet/FTN Standard Request Information File.

VERSION

Version 0.09

DESCRIPTION

Parsing an FTN SRIF (Standard Request Information File) received by an FTN mailer for what is being requested by another mailer. A common use of such files is for use by an external request processor (ERP) for an Fidonet/FTN mailer.

To give an example of it being used:

use FTN::SRIF qw(&parse_srif);
...
$srif_info = FTN::SRIF::parse_srif($SRIF);
...
$request_file = ${$srif_info}{'RequestList'};
$response_file = ${$srif_info}{'ResponseList'};
...

EXPORT

The following is a list of functions that can be exported: parse_srif().

FUNCTIONS

parse_srif

Syntax: $srif_info = parse_srif($srif_file);

Parses the SRIF $srif_file and returns the information therein as a refererence to a hash containing the SRIF information. Note that the only keyword that is allowed to have multiple values is the one for Akas, which is returned as a refererence to an array containing the Akas list.

The base set of keys to the hash, and also that required in the SRIF, are as follows:

Sysop

<Sysop_Name> This is the name of the remote sysop

AKA

<Zone:Net/Node[.Point][@Domain]> This is the main aka of the remote system in 4D or 5D notation. A zero as point number may be ommited, the domain with "@" is optional. This is included in a key, Akas, which is a reference to an array containing it.

Baud

<Current LINE rate> This is the effective baud rate, not the fixed DTE rate

Time

<Time in minutes> This is the time till next event which does not allow file requests. Use -1 if there is no limit.

RequestList

<File of request list> This is the filename of the file containing the request list. If the request(s) is for files, it will be a listing of files being requested.

ResponseList

<File of response list> This is the filename of the response list. It must not be equal to RequestList. One file per line, including drives/pathes to the file. The first character defines the way the mailer should act after sending that file: = erase file if sent successfully + do not erase the file after sent - erase the file in any case after session

RemoteStatus

<PROTECTED or UNPROTECTED> Defines whether the session is protected by password or not.

SystemStatus

<LISTED or UNLISTED> Defines whether the remote system is listed in any current nodelist of a system.

The following are optional statements: these parameters are already known and defined, but an ERP should run also without them:

SessionProtocol

e.g. ZAP,ZMO,XMA.

AKA

<Zone:Net/Node[.Point][@Domain]> Additional AKAs. One AKA is required (see REQUIRED section, above) They are included in a key, Akas, which is a reference to an array containing them.

Site

<Site Info> The site info as given e.g. in EMSI handshake

Location

<Location and/or ZIP> The location info as given e.g. in EMSI handshake

Phone

<Phone Number> The phone number info as given e.g. in EMSI handshake

CallerID

<Phone Number> The phone number as delivered by the PTT. This is only possible in digital networks like ISDN.

Password

<Session password> On protected sessions, the session password. If no protected session, this parameter must be ommited!

DTE

<Current DTE rate> The P-Modem speed (so call DTE rate)

PORT

<COM Port from 1 to 8> The FOSSIL Communication Port. The Mailer should leave the fossil "hot" for the Request Processor

Mailer

<Remote's mailer if EMSI> The Mailer name as defined by FTC

MailerCode

<Remote's FTSC code> The hex code of the remote mailer as defined by FTC

SerialNumber

<Remote's serial number if passed> The remote mailer's serial number if transfered

Version

<Remote's version number if EMSI> The remote mailer's version number if transfered

Revision

<remote's revision number if EMSI> The remote mailer's revision number if transfered

SessionType

<may be EMSI, FTSC0001, WAZOO, JANUS, HYDRA or OTHER> The session-type, this may be one of the known session types or "OTHER" if not (yet) defined

OurAKA

<AKA which has been called for proper response> If the mailer does AKA matching, the AKA of the mailer being called

TRANX

<Tranx Line as 8 digit hex string> The unix-style time stamp (hexadecimal notation of seconds since 1.1.1980)

get_request_list

Syntax: @request_list = get_request_list($request_file);

Reads the request file passed to it and returns a reference to an array of lines containing the list of requests in that request file.

AUTHOR

Robert James Clay, <jame at rocasa.us>

BUGS

Please report any bugs or feature requests to bug-ftn-srif at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=FTN-SRIF. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc FTN::SRIF

You can also look for information at:

SEE ALSO

For more information regarding SRIF, see http://www.ftsc.org/docs/fsc-0086.001

See also ftn-srif, for an example of usage of this module.

COPYRIGHT & LICENSE

Copyright 2001-2003,2010-2012 Robert James Clay, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.