Initial revision
This commit is contained in:
117
html/misc/dropfile.html
Normal file
117
html/misc/dropfile.html
Normal file
@@ -0,0 +1,117 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||||
<META http-equiv="Content-Style-Type" content="text/css">
|
||||
<META name="author" lang="en" "content="Michiel Broek">
|
||||
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||||
<META name="description" lang="en" content="MBSE BBS Manual">
|
||||
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||||
<TITLE>BBS doors dropfiles.</TITLE>
|
||||
<LINK rel=stylesheet HREF="../manual.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<BLOCKQUOTE>
|
||||
<h5>Last update 02-Feb-2001</h5>
|
||||
<P> <P>
|
||||
|
||||
<H1>BBS doors dropfiles.</H1>
|
||||
<P>
|
||||
|
||||
<h3>Dropfiles for Unix BBS systems.</h3>
|
||||
<p>
|
||||
Not all options that are available under DOS or OS/2 can be used with Unix
|
||||
BBS systems and must be faked.
|
||||
<p> <P>
|
||||
|
||||
<h3>DOOR.SYS format.</h3>
|
||||
<P>
|
||||
The door.sys format is a 52 lines ascii textfile, each line is terminated with
|
||||
a cr/lf pair. In the setup it is possible to force the creation of MM-DD-YYYY
|
||||
dates instead of the MM-DD-YY style. Newer doors sometimes need that.
|
||||
<pre>
|
||||
Line Description
|
||||
----- -----------------------------------------------------------------
|
||||
1 Port, 2 characters in DOS format, p.e. COM1
|
||||
2 Effective Baudrate
|
||||
3 Databits
|
||||
4 Nodenumber, 1..9999
|
||||
5 Locked baudrate
|
||||
6 Screen display, Y=snoop on, N=snoop off. On Linux allways N.
|
||||
7 Printer Y=on N=off
|
||||
8 Page Bell Y=on N=off
|
||||
9 Caller alarm Y=on N=off
|
||||
10 Users first name and lastname
|
||||
11 Users location
|
||||
12 Voice/Home phone
|
||||
13 Work/Dataphone
|
||||
14 Password, empty if not available (stored coded).
|
||||
15 Security level, 0..32768
|
||||
16 Users number of calls
|
||||
17 Users last call date MM-DD-YY
|
||||
18 Seconds remaining this call
|
||||
19 Time left in minutes
|
||||
20 ANSI, "GR" is yes, otherwise ?
|
||||
21 Screen length
|
||||
22 User mode, always N
|
||||
23 Always blank
|
||||
24 Always blank
|
||||
25 Subscription expire date MM-DD-YY
|
||||
26 Users record number
|
||||
27 Default protocol
|
||||
28 Users total number of uploads
|
||||
29 Users total number of downloads
|
||||
30 Users daily download kilobytes total
|
||||
31 Daily download kilobyte limit
|
||||
32 Users date of birth MM-DD-YY
|
||||
33 Path to users database files Cannot be used on Linux.
|
||||
34 Path to message database files
|
||||
35 Sysop first and last name
|
||||
36 Users handle
|
||||
37 Next event starting time or "none"
|
||||
38 Error-free connection Y=Yes or N=No
|
||||
39 Always set to N
|
||||
40 Always set to Y
|
||||
41 Text color as defined in setup 7 = gray.
|
||||
42 Always 0
|
||||
43 Last new files scan date MM-DD-YY
|
||||
44 Time of this call HH:MM
|
||||
45 Time of last call HH:MM
|
||||
46 Always set to 32768
|
||||
47 Number of files downloaded today
|
||||
48 Total kilobytes uploaded
|
||||
49 Total kilobytes downloaded
|
||||
50 Comment stored in users record
|
||||
51 Always set to 0
|
||||
52 Total number of messages posted
|
||||
</pre>
|
||||
<P> <P>
|
||||
|
||||
<h3>DORINFOn.DEF dropfile.</H3>
|
||||
<P>
|
||||
The DORINFOn.DEF file is a 12 lines ascii textfile, each line terminated with
|
||||
a cr/lf pair. All characters in the file are uppercase. The n in the filename
|
||||
represents the current line number and will be between 1 and 9. Using number
|
||||
1 seems always fine.
|
||||
<pre>
|
||||
Line Description
|
||||
------ ------------------------------------------------------------------
|
||||
1 System name
|
||||
2 Sysop's first name
|
||||
3 Sysop's last name
|
||||
4 Port name, like COM1, COM2 etc. COM0 = local
|
||||
5 Baudrate format: "19200 BAUD-R,N,8,1"
|
||||
6 Always 0
|
||||
7 Users firstname
|
||||
8 Users lastname
|
||||
9 Users location
|
||||
10 Graphics mode: 0=no, 1=ANSI, 2=Avatar, 3=ANSI+Avatar
|
||||
11 Security level, 0..32767
|
||||
12 Time left in minutes
|
||||
</pre>
|
||||
<p>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
331
html/misc/filefind.html
Normal file
331
html/misc/filefind.html
Normal file
@@ -0,0 +1,331 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Implementation and Usage of FileFind Utilities.</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||
<BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#000080"
|
||||
ALINK="#FF0000"
|
||||
>
|
||||
<PRE>
|
||||
Document: fsc-00xx
|
||||
Version: 0.6
|
||||
Date Aug 30, 1995
|
||||
Title: Implementation and Usage of FileFind Utilities
|
||||
Authors: Robert Williamson FidoNet#1:167/104.0 robert@ecs.mtlnet.org
|
||||
|
||||
Intro
|
||||
|
||||
A portion of the document is derived from information in
|
||||
AllFix.DOC by Harald Harms @ 2:281/910
|
||||
with additional sections from
|
||||
FQuery.DOC by Robert Williamson @ 1:167/104
|
||||
|
||||
The MSdos program ALLFIX by Harald Harms first introduced the idea
|
||||
of searching for files via echomail. The term applied to this function
|
||||
is 'FileFind'. A FileFind system allows sysops, points and BBS users
|
||||
to search for files by placing a message to 'ALLFIX' in an echo
|
||||
designated for the purpose of finding files. All FTN sites running a
|
||||
FileFind processor which is configured to scan that echo will reply to
|
||||
that user if there any files matching his query. This system provides
|
||||
a method for searching many FTN sites throughout the world, with a
|
||||
single message.
|
||||
|
||||
FileFind programs work by either scanning through defined message
|
||||
bases or scanning packets for defined AREA tagnames for messages to the
|
||||
default name ALLFIX. All FileFind programs MUST respond to the name
|
||||
ALLFIX, but may also respond to the name FILEFIND and the name of the
|
||||
particular FileFind program in use or defined for the echo. The
|
||||
FileFind program will process these messages, examining the Subject
|
||||
field for search queries. If any valid query is found, the FileFind
|
||||
program will search the sites files database for files matching the
|
||||
users's query.
|
||||
|
||||
If the FileFind program finds any matches, it will generate a reply
|
||||
containing a list of the files found, and some basic information ABOUT
|
||||
the system posting the reply. When the user who initially wrote the
|
||||
request reads the reply, he will then be able to decide if any of the
|
||||
reported files meet his needs, and from the ABOUT included in the
|
||||
reply, learn where and how he may get those files.
|
||||
|
||||
|
||||
FileFind Query Message Structure
|
||||
|
||||
To: name_of_FileFind program
|
||||
|
||||
The message must be addressed to ALLFIX so that all FileFind programs
|
||||
can respond. To use features specific to a particular FileFind
|
||||
program, or to limit the responses to a particular platform, the
|
||||
message should be addressed to that program's name. Some FileFind
|
||||
programs will respond to more than two names.
|
||||
|
||||
Subject:
|
||||
A space-separated list of file specifications, keywords or quoted
|
||||
strings.
|
||||
|
||||
keyword - single word preceeded by a '/' with no intervening spaces,
|
||||
must be at least 3 characters, not including the '/'.
|
||||
a keyword search is in actually a substring search of the
|
||||
site's filelist.
|
||||
|
||||
description - string enclosed in double-quotes,
|
||||
if a single word, must be more than 3 characters.
|
||||
|
||||
filespec - single word, no spaces, no double-quotes or preceding /,
|
||||
must be at least 3 characters, not including any wildcard
|
||||
or pattern matching charcaters, such as '*'.
|
||||
Messages addressed to ALLFIX must not have any embedded
|
||||
pattern matching characters.
|
||||
|
||||
|
||||
The minimum number of characters for description, keyword and
|
||||
filespec queries is an implementation detail of the FileFind program.
|
||||
These values should be configurable, but should never be settable to
|
||||
values of less than 3.
|
||||
|
||||
Each implementation should allow the operator the ability to
|
||||
configure a list of disallowed keywords.
|
||||
|
||||
NetMail Queries
|
||||
|
||||
Some FileFind programs may also have the ability to process file
|
||||
search queries received as netmail and addressed to the name of the
|
||||
particular FileFInd program with this capability. In this case, all
|
||||
replies are via netmail also.
|
||||
|
||||
NetMail Commands
|
||||
FileFind Netmail commands are identifed by a leading '%'.
|
||||
Implementation of netmail commands is optional. If implemented,
|
||||
compliant FileFind utilities should be able to process the following
|
||||
minimum NetMail command set.
|
||||
|
||||
|
||||
%HELP - netmail only, returns an extended help text for the
|
||||
FileFind program, the ABOUT of the the site and a list
|
||||
of MAGIC freqable names.
|
||||
%ABOUT - netmail only, returns the ABOUT of the site and a full
|
||||
or %MAGIC list of MAGIC names.
|
||||
|
||||
%NEWFILES - netmail only, returns the NEWFILES list of the site
|
||||
or %NEW via netmail.
|
||||
|
||||
Extended NetMail Commands:
|
||||
Implementation of the following netmail commands is optional and
|
||||
not required for compliance with the FileFind NetMail Command set.
|
||||
|
||||
%REPORT <tagname>
|
||||
- sends a configuration report for echo <tagname>
|
||||
this allows an echo moderator to check if a site running
|
||||
a FileFind utility is compliant with the rules of the
|
||||
filefind echo.
|
||||
|
||||
%REQUEST <filename>
|
||||
- if found, will place requested file on hold for remote
|
||||
site
|
||||
|
||||
%UUREQUEST <filename>
|
||||
- if found, and the filesize after uuencoding is less
|
||||
than 60K, it will be sent as multiple netmail messages
|
||||
|
||||
|
||||
The Site ABOUT
|
||||
|
||||
Obviously, a system that neither accepts file requests nor allows
|
||||
users to download on their first call should not be responding to
|
||||
FileFind messages. If there are any limitations for the caller to
|
||||
acquire any of the files that the site has advertised as being
|
||||
available in it's FileFind response, these limitations MUST be listed
|
||||
in the reply. This information should be included in the ABOUT file
|
||||
that the FileFind program user creates.
|
||||
|
||||
The site ABOUT should contain the following information. The
|
||||
FileFind program implementor should instruct his users on these
|
||||
requirements.
|
||||
|
||||
- sitename
|
||||
- site operator's name
|
||||
- complete phonenumber
|
||||
- baud rate
|
||||
- hours during which filerequests are accepted, if at all
|
||||
- hours during which users can download
|
||||
- conditions for file requests and user downloads
|
||||
NOTE: the above information should be within the first 14 lines.
|
||||
optional:
|
||||
- a list a MAGIC names
|
||||
- an indication if magic names are also available to terminal users.
|
||||
|
||||
Searching for Files and Creating Replies
|
||||
|
||||
The method used by the FileFind program to search for requests is
|
||||
up to the implementor. However, if searching a list, the FileFind
|
||||
program should confirm the actual existance of all files that match the
|
||||
query specification.
|
||||
|
||||
The FileFind program should only process description strings,
|
||||
filespecs or keywords that contain more than 3 valid characters and
|
||||
should have configuration options to define greater minimum lengths on
|
||||
a per-echo basis.
|
||||
|
||||
For filespecs, the wildcard character '*' IS considered a valid
|
||||
specification as well as the '?' wildcard, but only the '?' is to be
|
||||
counted as a character when determining the length of query. File
|
||||
extensions are not necessary and any characters AFTER a '*' are to be
|
||||
ignored. The FileFind program should be configurable so as to allow
|
||||
replacement all of the file extensions with '.*' or '#?' dependant on
|
||||
platform. This results in queries being independant of the various
|
||||
archivers in use.
|
||||
|
||||
Replies
|
||||
|
||||
Replies created by FileFind utilities are expected to be in
|
||||
compliance with the following FTN specifications:
|
||||
FTS-0001 - packed message format
|
||||
FTS-0009 - MSGID/REPLY
|
||||
FSC-0046 - PID and tear line
|
||||
|
||||
In addition, a FileFind utility may use the FID: control line for
|
||||
any information needed that cannot be put in a PID: without violating
|
||||
that specification.
|
||||
|
||||
^AFID: ascii text CR
|
||||
|
||||
Must be less than 80 characters including ^A and terminating CR.
|
||||
|
||||
There are three ways in which the FileFind program can create replies:
|
||||
- write the replies in the echo in which the query appeared.
|
||||
- write the replies in an echo that has been specifically
|
||||
designated for that purpose in the particular FTN or for
|
||||
a gorup of echos in that FTN.
|
||||
- reply via routed netmail.
|
||||
|
||||
Since each FTN site connected to a particular FileFind program area
|
||||
is capable of creating an information reply, there is much concern as
|
||||
to the amount of traffic that can be generated, FileFind program
|
||||
developers must be sensitive to these concerns by providing the means
|
||||
to their users to limit the traffic on a per-echo basis. For example,
|
||||
various FileFind echos have rules limiting the size or number of
|
||||
replies, or the length of the system information that may be included
|
||||
in a reply.
|
||||
|
||||
Limiting replies
|
||||
|
||||
It is strongly suggested that some default limitations be built-in.
|
||||
|
||||
Limiting Site Header (ABOUT):
|
||||
|
||||
If the site's ABOUT, (the text that has been configured in order to
|
||||
add the system's information and Magic names list to the reply), is
|
||||
greater than 14 lines, the remainder should NOT be posted. A line
|
||||
should be added to the response indicated this, and the user may be
|
||||
invited to either Freq or download the MAGIC name's ABOUT or MAGIC, for
|
||||
a full list of magic names. The FileFind program may optionally send
|
||||
the full system information and magic name list via routed netmail.
|
||||
|
||||
Limiting Match List due to ambiguity of query:
|
||||
|
||||
If the list of matches (note: not the size of the message itself)
|
||||
is greater than 32K, the FileFind program should post a message to the
|
||||
user to indicate that his query may have been too ambiguous and perhaps
|
||||
invite him to freq or download the MAGIC name FILES for a full list.
|
||||
|
||||
Splitting Match List into Multiple Messages:
|
||||
|
||||
If the list of matches is greater than 10K, it should be split into
|
||||
multiple messages of no more than 8K. Although the backbone permits
|
||||
messages up to 16K in length, 8K is a more readable size. Only the
|
||||
first split message may contain the ABOUT information of the site.
|
||||
Each message must be given both a unique Subject field (eg: prepended
|
||||
by "Part n/n") and a unique MSGID:. This because some tossers may use
|
||||
either or both for dupe detection.
|
||||
|
||||
Limiting Number of Split Messages:
|
||||
|
||||
If the number of messages is greater than the preset limit of the
|
||||
echo, and the FileFind Program does not have an option to forward the
|
||||
replies via netmail, the replies should be discarded and the user
|
||||
informed that his request may have been too amibiguous.
|
||||
|
||||
|
||||
NetMail Reply:
|
||||
|
||||
The FileFind program may have an option to forward all replies via
|
||||
routed netmail, or to do so under certain conditions as outlined above.
|
||||
Obviously, if the FileFind program can process netmail queries, it MUST
|
||||
respond via netmail.
|
||||
|
||||
User NetMail Reply Request:
|
||||
|
||||
Alternativly the user can request a netmail reply for his echomail
|
||||
query by preceeding the query with either "%" or "!".
|
||||
eg;
|
||||
Subject: % /fsc /fts
|
||||
|
||||
If the FileFind program does not support this feature, it must
|
||||
ignore any echomail query message that has a "%" or "!" as the first
|
||||
WORD of the Subject field.
|
||||
|
||||
Second Reply or Extended Response Request:
|
||||
|
||||
The FileFind site indicates availablility of Second Reply by
|
||||
placing the string 'program_name 4d_address' in the From: field of the
|
||||
message.
|
||||
eg: FROM: FQUERY 1:167/104.0
|
||||
|
||||
When a user replies to a FileFind reply, the message will be to the
|
||||
FileFind program @ {network address}. When processing the FileFind
|
||||
conferences, the FileFind program will treat any message to itself that
|
||||
includes the site address as a Second Reply Request.
|
||||
|
||||
If this feature is available, the FileFind program will include up
|
||||
to a maximum of 15 files (maximum 12K match list) in it's replies. If
|
||||
the user wants a more detailed listing, he simply replies to the
|
||||
FileFind program's reply. Only the system that posted the original
|
||||
reply will respond to that new request. This second, specific reply,
|
||||
will contain up to 50 files (32K of matchlist) either including or
|
||||
SKIPPING the first 15. These numbers may be replaced by byte limits in
|
||||
some implementations.
|
||||
|
||||
No Second Reply in Designated Reply Echo:
|
||||
|
||||
The Designated Reply Echo method does not allow replies to be made,
|
||||
because the FileFind program may not be permitted to scan a Designated
|
||||
Reply Echo. The FileFind program should automatically report up to 50
|
||||
files for any requests. Therefore, the traffic limitaion features may
|
||||
be disabled for networks that require the FileFind program to reply in
|
||||
a Designated Reply Echo, and disallow Second Reply in that echo.
|
||||
|
||||
Disable Local Messages:
|
||||
|
||||
The FileFind program must be able to to disable the processing of
|
||||
local messages. What this means is that the FileFind program will not
|
||||
process any messages generated on that FTN site, including messages by
|
||||
the sysop using an offline reader, or by a site's BBS or off-line
|
||||
reader users. This should NOT exclude messages from a site's points.
|
||||
|
||||
|
||||
Limit by Age:
|
||||
|
||||
The FileFind program must be configurable so that the operator can
|
||||
limit the age of an query message that is acceptable for processing.
|
||||
This should be in number of days. The FileFind program may be
|
||||
configured to process all the FileFind requests regardless of how old
|
||||
they are. Age should never be greater than 365 days.
|
||||
|
||||
LinkMGR Support:
|
||||
Implmentors may choose to support the LinkMGR proposal for netmail
|
||||
queries and commands. In this proposal, the queries and commands do
|
||||
not appear in the subject field but rather, in the the BODY of the
|
||||
message. The subject field wil contain the LinkMGR password.
|
||||
Use of the LinkMGR method allows the user to send multiple commands
|
||||
to the fIleFind program.
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
386
html/misc/fileid.html
Normal file
386
html/misc/fileid.html
Normal file
@@ -0,0 +1,386 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>FILE_ID.DIZ Information.</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||
<BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#000080"
|
||||
ALINK="#FF0000"
|
||||
>
|
||||
<PRE>
|
||||
FILEID.TXT v1.8 by Richard Holler [CIS 73567,1547]
|
||||
Last Revision 05/05/94
|
||||
|
||||
This text file was prepared at the request of the ASP (Association of
|
||||
Shareware Professionals), but the information contained in it may be of
|
||||
value to any shareware author.
|
||||
|
||||
|
||||
FILE_ID.DIZ INFORMATION
|
||||
-----------------------
|
||||
Basically, the FILE_ID.DIZ file is a straight ASCII text file, distributed
|
||||
inside your distribution archive file along with your program files, which
|
||||
contains a description of your program. This file will be used by most BBS
|
||||
(Bulletin Board System) softwares for the online file description of your
|
||||
file. We recommend that the FILE_ID.DIZ file be used in all of your
|
||||
distribution archives.
|
||||
|
||||
This text file contains a description of the FILE_ID.DIZ file, as well as a
|
||||
description of the recommended distribution archive format.
|
||||
|
||||
|
||||
WHY SHOULD YOU USE FILE_ID.DIZ?
|
||||
-------------------------------
|
||||
The use of this file will insure that the online description of your
|
||||
program will be in your own words (and who better to describe your program
|
||||
than yourself?), and that it will remain the same no matter how many
|
||||
different people upload your file to various BBS systems.
|
||||
|
||||
As more and more BBS software makes use of this file, you can be assured
|
||||
that your own description will replace such online descriptions as "Cool
|
||||
Program" or "OK utility, but needs better ..."
|
||||
|
||||
Please note that the ASP Hub Network, the Author Direct FDN (File
|
||||
Distribution Network), and the majority of other electronic distribution
|
||||
services *REQUIRE* that a valid FILE_ID.DIZ file be contained in your
|
||||
submitted distribution archive. If your file doesn't contain a valid
|
||||
FILE_ID.DIZ file, then it simply won't be distributed by these services.
|
||||
Furthermore, most BBS sysops will not accept uploads of files which do not
|
||||
contain a valid FILE_ID.DIZ file, so you automatically lose out on that
|
||||
distribution as well.
|
||||
|
||||
|
||||
DESCRIPTION:
|
||||
------------
|
||||
FILE_ID.DIZ was created by Clark Development for use with their PCBDescribe
|
||||
utility, as a means for BBS callers to upload a file without having to
|
||||
manually type in a file description. It also ensures that the online
|
||||
description is always the same regardless of the number of different BBS
|
||||
systems the file is posted on. It has since been accepted by the BBS
|
||||
industry more-or-less as the "standard" file description source. (The
|
||||
extension of "DIZ" actually stands for "Description In Zip").
|
||||
|
||||
NOTE: The FILE_ID.DIZ file *MUST* be named exactly that, and *NOT*
|
||||
something like <filename>.DIZ. It will *ONLY* be used if it is named
|
||||
FILE_ID.DIZ!
|
||||
|
||||
The FILE_ID.DIZ file is nothing more than a straight ASCII text file which
|
||||
contains the full description of the archived file containing it. It is
|
||||
used by most popular BBS software to describe your program, rather than
|
||||
using the description supplied by the person that uploaded your file. It
|
||||
should be placed *INSIDE* your distribution archive file.
|
||||
|
||||
The BBS software will "look" inside the archive file. If a FILE_ID.DIZ file
|
||||
is found, it will replace any existing online file description with the
|
||||
text contained in FILE_ID.DIZ. It is an excellent method for making sure
|
||||
that your program files are described the way that "you" want them
|
||||
described. Even sysops who's software can't automatically make use of the
|
||||
FILE_ID.DIZ file have found it to be an excellent source for their manually
|
||||
added file descriptions.
|
||||
|
||||
|
||||
STRUCTURE:
|
||||
----------
|
||||
The file consists of straight ASCII text, up to 10 lines of text, each line
|
||||
being no more than 45 characters long. It should *NOT* contain any blank
|
||||
lines, any form of centering or formatting, or any Hi-ASCII or ANSI
|
||||
characters. (i.e. it should ONLY contain alpha & numeric characters).
|
||||
|
||||
We recommended that it consist of 5 basic parts:
|
||||
|
||||
1. the proper name of your program
|
||||
2. the version number
|
||||
3. the "ASP" identifier (optional, for ASP members)
|
||||
4. the description separator
|
||||
4. the description
|
||||
|
||||
All of the above parts should be separated by a single "space".
|
||||
|
||||
PROGRAM NAME: To set it apart from the rest, it is recommended that you use
|
||||
ALL CAPS for the program name.
|
||||
|
||||
VERSION NUMBER: The version number should be in the form of "v12.34".
|
||||
|
||||
ASP IDENTIFIER: If you are an ASP author, we recommend that an "<ASP>"
|
||||
identifying mark be added after the version number, to identify your
|
||||
product as an ASP-authored product.
|
||||
|
||||
DESCRIPTION SEPARATOR: To separate the actual description text, insert a
|
||||
simple "-" (dash/minus) character after the ASP identifier (or version
|
||||
number, if not using the ASP identifier), and in front of the description
|
||||
text.
|
||||
|
||||
DESCRIPTION: You should attempt to FULLY describe your product, including
|
||||
its most important functions and features. Be sure to include anything
|
||||
which will separate your program from it's competition, and make the BBS
|
||||
user want to download your file. Also try to include any hardware or
|
||||
software requirements that your product may have.
|
||||
|
||||
You should try to use the first 2 lines of the text to give a basic
|
||||
description of your program. This is helpful for sysops who's BBS software
|
||||
limits them to less than 10 lines, 45 characters. Sysops who are limited to
|
||||
using shorter descriptions can simply use the 1st two lines and truncate
|
||||
the rest. Thus, you can basically still supply your own description for BBS
|
||||
software which does not actually utilize the FILE_ID.DIZ feature.
|
||||
|
||||
The remaining lines of text can be used to elaborate on the programs
|
||||
features, enhancements from the prior version, information concerning
|
||||
multi-file sets. Please note that older versions of some BBS software can
|
||||
only use 8 lines of text. It is advisable that you create your FILE_ID.DIZ
|
||||
file so that the file can be truncated to various line lengths without
|
||||
destroying it's usefulness.
|
||||
|
||||
|
||||
EXAMPLE
|
||||
-------
|
||||
MY PROGRAM v1.23 <ASP> - A program which will
|
||||
do anything for anybody. Will run in only 2k
|
||||
of memory. Can be run from the command line,
|
||||
or installed as a TSR. Completely menu-
|
||||
driven. Version 1.23 reduces the previous 4k
|
||||
memory requirements, and adds an enhanced
|
||||
graphical user interface. Also, MY PROGRAM
|
||||
now contains Windows and DESQview support.
|
||||
Coming soon - an OS/2 version.
|
||||
From Do-It-All Software, Inc. $15.00
|
||||
|
||||
|
||||
MULTIPLE DISK INFO
|
||||
------------------
|
||||
Please note that if your distribution archive requires multiple archive
|
||||
files, you should create a separate, specific FILE_ID.DIZ file for each
|
||||
archive. This can be utilized to describe the various contents of each
|
||||
archive, and to identify each disk in the set. For example, the FILE_ID.DIZ
|
||||
file for disk #1 could contain:
|
||||
|
||||
"MY PROGRAM v1.23 <ASP> Program Executable
|
||||
Files - Disk 1 of 2"
|
||||
[followed by detailed description text]
|
||||
|
||||
while the FILE_ID.DIZ file for disk #2 could contain:
|
||||
|
||||
"MY PROGRAM v1.23 <ASP> Documentation Files -
|
||||
Disk 2 of 2"
|
||||
[followed by more detailed description text]
|
||||
|
||||
Optionally, you could also create a "complete" FILE_ID.DIZ file for the
|
||||
first disk, which would fully describe the program in detail, and identify
|
||||
it as Disk 1 of x. Then, for each remaining file in the set, simply include
|
||||
the Program Name, version number, ASP identifier, and the disk number (i.e.
|
||||
"MY PROGRAM v1.23 <ASP> Disk 2 of x").
|
||||
|
||||
|
||||
ADDITIONAL INFO
|
||||
---------------
|
||||
Please don't be tempted to use fancy graphic or ANSI sequences in the
|
||||
FILE_ID.DIZ file, as most BBS software will not allow this, and will render
|
||||
your FILE_ID.DIZ file useless. Also, don't be tempted to simply copy your
|
||||
program description file to FILE_ID.DIZ. Attempting to "format" your
|
||||
FILE_ID.DIZ file (i.e line centering, right & left justification, etc) will
|
||||
also cause unexpected results, especially for BBS software which re-formats
|
||||
descriptions to other than 10line/45char.
|
||||
|
||||
Fred Hill <ASP> has written a freeware utility which interactively creates
|
||||
a valid FILE_ID.DIZ file. The file is called DIZGEN.ZIP and can be found on
|
||||
CompuServe (GO IBMBBS, Library 2) as well as on many fine BBS systems. I
|
||||
highly recommend that you download a copy of this wonderful utility for
|
||||
creating your FILE_ID.DIZ files.
|
||||
|
||||
<*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*><*>
|
||||
|
||||
The following is a recommendation for the structure and contents of
|
||||
distribution archives prepared for use on BBS systems.
|
||||
|
||||
|
||||
DISTRIBUTION DISK RECOMMENDATIONS
|
||||
---------------------------------
|
||||
The following are recommendations for preparing your program files for
|
||||
distribution to Bulletin Board Systems (BBSs) via the ASP's distribution
|
||||
services, as well as other methods.
|
||||
|
||||
Two varieties of program files are defined here:
|
||||
|
||||
1) Program files which utilize an "install" utility and self-extracting
|
||||
program archives (later referred to as "Author-Installed Programs").
|
||||
|
||||
2) Programs files which do not use install utilities or self-extracting
|
||||
archives (later referred to as "User-Installed Programs").
|
||||
|
||||
|
||||
AUTHOR-INSTALLED PROGRAMS:
|
||||
--------------------------
|
||||
These programs require a bit more work from the author, but will eliminate
|
||||
many user mistakes, especially in programs which require complicated
|
||||
setups.
|
||||
|
||||
Most "installation" utility programs will make use of program files which
|
||||
have been "archived" into Self-Extracting (SFX) archives. We will attempt
|
||||
to define which files should be contained in the Self-Extracting archives,
|
||||
and which files should not.
|
||||
|
||||
1. Files which should be contained in the self-extracting program file
|
||||
archive:
|
||||
|
||||
a. All program-specific executable files.
|
||||
b. Any required configuration and/or data files required by the
|
||||
program.
|
||||
c. Program documentation files. Optionally, these may be left
|
||||
outside of the self-extracting archive, in order to allow
|
||||
them to be viewed/read by the various archive viewing utlities.
|
||||
d. Any other program-specific files that are required for the
|
||||
operation of the program.
|
||||
|
||||
2. The files described above should be compiled into a self-extracting
|
||||
archive file, which will then be extracted by the install utility.
|
||||
|
||||
NOTE: the author is required to abide by any distribution requirements
|
||||
specified by the archive utility author, and to obtain any required
|
||||
distribution rights necessary. Please check to see if distribution rights
|
||||
are required for your archive utility choice.
|
||||
|
||||
3. Files which should NOT be contained in the self-extracting program file
|
||||
archive:
|
||||
|
||||
a. The install utility itself (obviously).
|
||||
b. The FILE_ID.DIZ file. (described in detail in the section
|
||||
preceding this one)
|
||||
c. Any distribution/information files, such as VENDOR.TXT,
|
||||
SYSOP.TXT, etc.
|
||||
d. Any description or information file, such as DESCRIBE.TXT.
|
||||
e. A user file (such as README.1ST), which should explain how
|
||||
to use the install utility, what the user should expect
|
||||
during the installation, and any preparation that the user
|
||||
should make prior to the installation. This file might also
|
||||
contain a brief description of your program, in case the user
|
||||
is able to read the documentation files in the distribution
|
||||
archive prior to downloading (many BBS systems offer this
|
||||
ability to the user).
|
||||
|
||||
4. The actual distribution archive file (described below) should then
|
||||
contain the install utility, the self-extracting program archive, and the
|
||||
files described in #3 above.
|
||||
|
||||
|
||||
USER-INSTALLED PROGRAMS:
|
||||
------------------------
|
||||
This type of distribution archive is much simpler than the Author-Installed
|
||||
variety. It should simply be an archive file, containing all of the files
|
||||
for the program described above.
|
||||
|
||||
Since this type of program requires the user to do all of the installation
|
||||
manually, it should contain very specific and detailed information
|
||||
regarding the installation requirements (such as INSTALL.TXT).
|
||||
|
||||
|
||||
THE DISTRIBUTION ARCHIVE FILE:
|
||||
------------------------------
|
||||
The actual distribution archive file should merely be an archive file
|
||||
containing the files described above. For BBS distribution, this archive
|
||||
should be of the standard archive format, and -NOT- a self-extracting
|
||||
archive. Many sysops will not allow self-extracting archives, and most BBS
|
||||
software will not allow self-extracting archives to be uploaded.
|
||||
|
||||
There are many popular archive utilities available, such as PKZIP, LHA,
|
||||
LHARC, ARJ, etc. Most BBS systems are capable of handling archives in
|
||||
virtually any format. However, you should be aware that most BBS systems
|
||||
will convert your archive format to the format of choice by the sysop. By
|
||||
following the methods described above, this conversion process should not
|
||||
affect your program, or any self-extracting files which are contained
|
||||
within your distribution archive file.
|
||||
|
||||
You should also retain the default archive file extension defined by the
|
||||
archive utility. For example, PKZIP uses a ".ZIP", LHARC uses "LZH", etc.
|
||||
Changing the file extension may cause the BBS software to delete your file
|
||||
because it doesn't recognize the format.
|
||||
|
||||
For the actual filename for your distribution archive, it is recommended
|
||||
that the program filename be limited to 6 characters to represent the
|
||||
program's name (i.e. MYPROG could represent "My Program"). This should be
|
||||
followed by 2 numeric digits which will represent the version number of
|
||||
your release. Even if this is your initial release it should include the
|
||||
version number in the filename (i.e. MYPROG10.ZIP would indicate the
|
||||
program called "My Program" version 1.0).
|
||||
|
||||
Please note that CompuServe limits filenames to only 6 characters. By
|
||||
limiting the file "name" to 6 characters, you will easily be able to rename
|
||||
the archive for CompuServe uploading by simply removing the 2-digit version
|
||||
identifier, to make the file compatible with CompuServe libraries.
|
||||
|
||||
By including the 2-digit version number in the archive filename, it will be
|
||||
very easy for both the user and the sysop (and yourself) to identify older
|
||||
versions of your program.
|
||||
|
||||
|
||||
MULTIPLE DISTRIBUTION ARCHIVES
|
||||
------------------------------
|
||||
At one time, it was recommended that your final distribution archive not be
|
||||
larger than 350k, so that it would fit on a single 360k floppy disk and
|
||||
still leave room for any distribution files necessary for Disk Vendors.
|
||||
(i.e. Disk Vendors will often include their own GO.BAT file, or other
|
||||
various small files to help their customers install the software). This
|
||||
limitation is slowly falling by the wayside as more and more computer
|
||||
systems have 3.5" floppy disk drives as standard.
|
||||
|
||||
If your program is large enough to require more than one distribution
|
||||
archive, it is recommended that your filename be limited to 5 characters
|
||||
rather than 6 as described above. Following the 5-character name should be
|
||||
the same 2-digit version number. Then, append a single "letter" to identify
|
||||
the disk (i.e. MYPGM10A.ZIP, MYPGM10B.ZIP, etc.). For uploading to
|
||||
CompuServe, these filenames may then be shortened to 6 characters by
|
||||
removing the version identifiers (i.e. MYPGMA.ZIP, MYPGMB.ZIP). However,
|
||||
for CompuServe it is recommended that you simply create a single
|
||||
distibution file, and eliminate the multi-part file set.
|
||||
|
||||
If your program requires multiple distribution archives, -BE SURE- to
|
||||
create separate FILE_ID.DIZ files for each distribution archive. Also, each
|
||||
FILE_ID.DIZ file should contain disk number information pertaining to each
|
||||
individual archive (i.e. Disk 1 of 3, Disk 2 of 3, etc.).
|
||||
|
||||
|
||||
THE DISTRIBUTION DISK
|
||||
---------------------
|
||||
It is recommended that your distribution disk simply contain a ZIPd version
|
||||
of your product. However, If you choose to supply "unarchived" files on a
|
||||
distribution disk for Disk Vendor use, it is _VERY_ important that you
|
||||
specify in your documentation a suggested archive filename, so that BBS
|
||||
sysops can create archived files with the proper author-specified
|
||||
filenames. This information should be contained in your SYSOP.TXT (or
|
||||
VENDOR.TXT) file. If you don't supply a suggested archive file name, the
|
||||
sysops will be forced to create the name themselves, thus you may end up
|
||||
with thousands of versions of your products on BBS systems all over the
|
||||
world, but all with different filenames.
|
||||
|
||||
Please note that the ASP Hub Network, and nearly every other electronic
|
||||
distribution service *REQUIRE* that your files be submitted as an archived
|
||||
file, using the ZIP format. Also note that many BBS sysops will not go to
|
||||
the trouble of ZIPing your unarchived files for you. If you don't supply
|
||||
them with an archived distribution version of your product, it might not
|
||||
get distributed by BBSs.
|
||||
|
||||
If you supply your own disk labels, it is recommended that the ASP logo, or
|
||||
at least the initials "ASP" be included on the label, so that anyone can
|
||||
immediately identify your disk as an ASP member's software.
|
||||
|
||||
|
||||
SUMMARY
|
||||
-------
|
||||
Your distribution disk should now be ready to submit to the various BBSs,
|
||||
distribution services, and Disk Vendors.
|
||||
|
||||
You may choose to create a separate distribution disk for use by BBSs and
|
||||
Disk Vendors. However, if you follow the above steps in preparing your
|
||||
distribution archive file, a separate "Disk Vendor" disk is probably not
|
||||
necessary. The majority of disk vendors will be able to accept your
|
||||
distribution file/disk if it is prepared in the above described format.
|
||||
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
98
html/misc/ftpserver.html
Normal file
98
html/misc/ftpserver.html
Normal file
@@ -0,0 +1,98 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||||
<META http-equiv="Content-Style-Type" content="text/css">
|
||||
<META name="author" lang="en" "content="Michiel Broek">
|
||||
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||||
<META name="description" lang="en" content="MBSE BBS Manual">
|
||||
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||||
<TITLE>Howto setup an FTP server to work with MBSE BBS.</TITLE>
|
||||
<LINK rel=stylesheet HREF="../manual.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<BLOCKQUOTE>
|
||||
<h5>Last update 06-Jun-2001</h5>
|
||||
<P> <P>
|
||||
|
||||
<H1>How to setup an FTP server to work with MBSE BBS.</H1>
|
||||
<P>
|
||||
|
||||
In order to let MBSE BBS and your FTP server to both function together you must
|
||||
organize a special file structure. Note that even if you don't setup an FTP
|
||||
server you must still create a structure like this for the fidonet mailer,
|
||||
if you don't, <strong>mail and files will get lost!</strong>
|
||||
Note that this description is written for wu-ftpd, on your distribution there
|
||||
may be another ftpd installed. <font color=red><u>Don't use mbftpd yet!</u></font>
|
||||
<P>
|
||||
<H4>The filestructure I used is as follows:</H4>
|
||||
<PRE>
|
||||
/var/spool/mbse/ftp/pub/dos_util/dos_4dos - Public download areas
|
||||
| | | /dos_disk
|
||||
| | | /dos_file
|
||||
| | /virnet/mcafee
|
||||
| | /win16
|
||||
| | /win32
|
||||
| /bin - FTP bin directory
|
||||
| /etc - FTP etc directory
|
||||
| /incoming - FTP public upload.
|
||||
/mail/out - Your default outbound
|
||||
| /out.009 - Outbound Zone 9
|
||||
| /inbound - Inbound directory
|
||||
/raonly/upload - Non-public download areas
|
||||
| /sysop
|
||||
| /logfiles
|
||||
/tic_queue - Queue for .tic files.
|
||||
|
||||
</PRE>
|
||||
|
||||
In order to give DOS style names for fidonet sessions you must set the
|
||||
DOS path and Unix path in <strong>mbsetup</strong> (1.3.11 and 1.3.12) to
|
||||
<strong>"m:"</strong> and <strong>"/var/spool/mbse"</strong>. Note that to get
|
||||
forwarding of .tic files to work the <strong>tic_queue</strong> must be a
|
||||
subdirectory of "/var/spool/mbse" too. You could actually use any drive letter for
|
||||
the DOS path.
|
||||
<P>
|
||||
This means that a fidonet file attach from the dos_4dos public download
|
||||
directory shall get the subject "M:\FTP\PUB\DOS_UTIL\DOS_4DOS\COMMAND.ZIP".
|
||||
|
||||
<P>
|
||||
As you can see, anonymous ftp users can't get to the mail, non-public
|
||||
downloads etc. Normally, your BBS users have unix accounts and will be able
|
||||
to do a ftp login and access any directory on your system. Because the bbs
|
||||
users have <b>mbsebbs</b> as their shell and this shell is not in the file
|
||||
<b>/etc/shells</b> the ftp daemon will not let the bbs users in. So even
|
||||
your own bbs users must login as anonymous to get files from the ftp server.
|
||||
<P>
|
||||
Note the following directory permissions MUST BE SET!!!!::: See also
|
||||
the man pages for the DARPA ftpd server.
|
||||
<P>
|
||||
|
||||
<PRE>
|
||||
Directory owner group mode perms
|
||||
------------------------------- ----- ----- ---- ----------
|
||||
/var/spool/mbse mbse bbs 0755 drwxr-xr-x
|
||||
/var/spool/mbse/ftp root wheel 0555 dr-xr-xr-x
|
||||
/var/spool/mbse/ftp/bin root wheel 0555 dr-xr-xr-x
|
||||
/var/spool/mbse/ftp/bin/ls root bin 0111 ---x--x--x
|
||||
/var/spool/mbse/ftp/etc root root 0555 dr-xr-xr-x
|
||||
/var/spool/mbse/ftp/etc/passwd root root 0444 -r--r--r--
|
||||
/var/spool/mbse/ftp/etc/group root root 0444 -r--r--r--
|
||||
/var/spool/mbse/ftp/pub mbse bbs 0775 drwxrwxr-x
|
||||
/var/spool/mbse/ftp/incoming ftp users 0755 drwxr-xr-x
|
||||
|
||||
</PRE>
|
||||
Note that all subdirectories under ../pub also must be owned by <strong>mbse
|
||||
</strong> and group <strong>bbs</strong> and have at least mode 775 as long
|
||||
as it are real bbs subdirectories. The bbs will maintain these directories
|
||||
automatic and must have the rights to do so.
|
||||
|
||||
<P>
|
||||
In the /var/spool/mbse/ftp/etc/group file, add the group bbs so that your directory
|
||||
listings give the proper groupname instead of a number.
|
||||
<P>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
46
html/misc/index.htm
Normal file
46
html/misc/index.htm
Normal file
@@ -0,0 +1,46 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||||
<META http-equiv="Content-Style-Type" content="text/css">
|
||||
<META name="author" lang="en" "content="Michiel Broek">
|
||||
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||||
<META name="description" lang="en" content="MBSE BBS Manual">
|
||||
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||||
<TITLE>Miscellaneous Documents</TITLE>
|
||||
<LINK rel=stylesheet HREF="../manual.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<BLOCKQUOTE>
|
||||
<h5>Last update 02-Feb-2001</h5>
|
||||
<P> <P>
|
||||
|
||||
<h1>Miscellaneous Documents</h1>
|
||||
|
||||
<h3>Introduction</h3>
|
||||
<P>
|
||||
This is an overview of used unofficial documents for the development of the
|
||||
MBSE BBS package.
|
||||
<P>
|
||||
Michiel Broek.
|
||||
<P>
|
||||
<hr>
|
||||
<h3>Documents</h3>
|
||||
<ul>
|
||||
<li><a href="filefind.html">Implementation and Usage of Filefind Utilities, R.Williamson</a>
|
||||
<li><a href="ipmailer.html">Integration of IP-Nodes in the nodelist, L.Behet</a>
|
||||
<li><a href="fileid.html">FILE_ID.DIZ Information, R.Moller</a>
|
||||
<li><a href="ftpserver.html">How to setup an FTP server with MBSE BBS, M.Broek</a>
|
||||
<li><a href="jam.html">JAM Message Base Proposal, J.Homrighausen</a>
|
||||
<li><a href="outbound.html">Binkley style mailer outbound for MBSE BBS, M.Broek</a>
|
||||
<li><a href="semafore.html">Semafore files for MBSE BBS, M.Broek</a>
|
||||
<li><a href="usleep.html">System load and usleep() code, M.Broek</a>
|
||||
<li><a href="dropfile.html">BBS doors dropfiles, M. Broek</a>
|
||||
</ul>
|
||||
|
||||
<HR>
|
||||
|
||||
<A HREF="../index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Index" Border="0" width="33" height="35">Back to Index</A>
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
172
html/misc/ipmailer.html
Normal file
172
html/misc/ipmailer.html
Normal file
@@ -0,0 +1,172 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Integration of IP-Nodes in the nodelist.</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||
<BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#000080"
|
||||
ALINK="#FF0000"
|
||||
>
|
||||
<PRE>
|
||||
Publication: FSP-????
|
||||
Revision: 1
|
||||
Title: Integration of IP-Nodes in the nodelist (FTS-0005)
|
||||
Author: Lothar Behet, 2:2446/301
|
||||
Revision Date: 25 October 1998
|
||||
Expiry Date:
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Contents:
|
||||
1. Required fields according to FTS-0005, basic flags for ip-nodes
|
||||
2. Optional extensions
|
||||
3. Addendum
|
||||
----------------------------------------------------------------------
|
||||
|
||||
1. Description of the nodelist format
|
||||
--------------------------------------
|
||||
|
||||
Every node entry contains the following 8 fields:
|
||||
|
||||
keyword,node_number,node_name,location,sysop_name,
|
||||
phone_number,baud_rate,flags
|
||||
|
||||
Certain fields have defined values according to FTS-0005.
|
||||
|
||||
1.1. Implementation for IP-connectivity
|
||||
Because of the limited characterset in the phone_field and
|
||||
to avoid any misinterpretion by conventional dialing, the
|
||||
ip-specific address-information is entered in another field
|
||||
and there are additional flags required.
|
||||
|
||||
1.1.1. Field #1 (keyword) is PVT for an ip-only node without
|
||||
conventional phone number related connectivity. In this
|
||||
case, the phone field contains "-Unpublished-" according
|
||||
to FTS-0005.
|
||||
|
||||
1.1.2. Field #2 (node_number) contains the node number within his
|
||||
net and zone.
|
||||
|
||||
1.1.3. Field #3 (node_name) is used for the FQDN (Fully Qualified
|
||||
Domain Name) or the ip-address.
|
||||
|
||||
1.1.4. Field #4 (location) contains the geographical location of
|
||||
the node. While some nets/regions cannot supply their
|
||||
ip-only nodes with a adequate link, these nodes may be
|
||||
collected in a seperate net or region, until their original
|
||||
net/region support additional ip-connectivity. This special
|
||||
net/region is definitely a temporary solution for routing
|
||||
within a region or zone!
|
||||
|
||||
1.1.5. Field #5 (sysop_name) represants the name of the system
|
||||
operator.
|
||||
|
||||
1.1.6. Field #6 (phone_number) contains the phone_number for
|
||||
conventional connectivity. In case of an ip-only node
|
||||
it must contain "-Unpublished-".
|
||||
|
||||
1.1.7. Field #7 (baud_rate) contains the maximum baud rate for
|
||||
conventional connectivity or 300 in case of an ip_only node.
|
||||
|
||||
1.1.8. Field #8 (flags) represents operational definitions for the
|
||||
node.
|
||||
Note that these are user flags.
|
||||
The ip-flags consist of two parts:
|
||||
A basic transport and an optional non-standard port,
|
||||
seperated by a colon.
|
||||
The default port may be omitted, but is listed as optional
|
||||
parameter in this document. In some cases, two flag names
|
||||
are mentioned:
|
||||
The second one is supported by some software nowadays, but
|
||||
these values may conflict with other programs, which not
|
||||
completely decode the length of each individual flag (i.e.
|
||||
TELN conflicts with the T-flag for online-time)
|
||||
Additional flags for ip-nodes are:
|
||||
|
||||
1.1.8.1. IBN[:24554] (Argus: BND[:24554])
|
||||
BinkP protocol
|
||||
|
||||
1.1.8.2. IFC[:60179]
|
||||
Raw protocol as used by ifcico
|
||||
|
||||
1.1.8.3. ITN[:23] (Argus: TEL[:23])
|
||||
Telnet protocol. Some variants of ifcico support Telnet
|
||||
on port 60177, which should be added as additional flag
|
||||
ITN:60177.
|
||||
|
||||
1.1.8.4. IVM[:3141]
|
||||
Vmodem protocol
|
||||
|
||||
1.1.8.5. IP
|
||||
General flag for special protocol specifications, if the
|
||||
flags conforming to 1.1.8.1. to 1.1.8.4. are not relevant.
|
||||
|
||||
1.1.9. Comments on the proposed nodelist flags
|
||||
The additional flagnames in () are supported at this moment
|
||||
by Argus, based on the use in z2r50. But the TEL[NET]-flag
|
||||
stays in conflict with the generally in all zones and
|
||||
regions used T-flag (online time according to FSC-0062).
|
||||
|
||||
|
||||
2. Optional extensions for future use
|
||||
--------------------------------------
|
||||
|
||||
While the above mentioned flags (1.1.8.1 to 1.1.8.4) define a
|
||||
minimum set of operational flags for ip-nodes, several additions
|
||||
are already foreseeable at this moment.
|
||||
|
||||
2.1. Additional sessions_handshake parameters
|
||||
There is at least one program, which supports several
|
||||
transport protocols according to chapter 1.1.8. on a
|
||||
single port. If other programs should imitate this habit,
|
||||
then the following extension to the flag suite 1.1.8.
|
||||
(transport[:port[:handshake]])is advised:
|
||||
|
||||
2.1.1. FTS-0001 session handshake: 1
|
||||
2.1.2. Yoohoo session handshake : Y
|
||||
2.1.3. EMSI sessions handshake : E
|
||||
2.1.4. BinkP sessions handshake : B
|
||||
|
||||
2.2. Non-handshaking protocols
|
||||
While the definitions until this chapter describe direct
|
||||
handshaking sessions with optional password authentification,
|
||||
there are several other methods for the tunneling of fidonet
|
||||
data via the internet available.
|
||||
The setup of these connections does not rely on the nodelist
|
||||
(at this moment of writing), but we can think of standard
|
||||
setup procedures to use the nodelist for configuration of
|
||||
this additional transport methods.
|
||||
Therefore the following flags 2.2.1. to 2.2.4. are advised
|
||||
for at least informational purpose.
|
||||
|
||||
2.2.1. IFT
|
||||
FTP (File Transfer Protocol)
|
||||
|
||||
2.2.2. ITX
|
||||
TransX, an Email based variant
|
||||
|
||||
2.2.3. IUC
|
||||
Uuencoded packet (one packet per message)
|
||||
|
||||
2.2.4. IEM
|
||||
Email based (generally, without exact specification at
|
||||
this moment)
|
||||
|
||||
|
||||
3. Addendum
|
||||
------------
|
||||
|
||||
This proposal is based on a maximum compatibility to generally used
|
||||
definitions and standards within the Fidonet community.
|
||||
Future developments might make additions necessary, if they can not
|
||||
be expressed with the existing set of flags as defined by this FSP.
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
638
html/misc/jam.html
Normal file
638
html/misc/jam.html
Normal file
@@ -0,0 +1,638 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>JAM Message Base Proposal.</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||
<BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#000080"
|
||||
ALINK="#FF0000"
|
||||
>
|
||||
<PRE>
|
||||
Filename....: JAM-001
|
||||
Rev.........: 001
|
||||
Dated.......: 93-07-01
|
||||
Status .....: Released
|
||||
Subject.....: JAM message base proposal
|
||||
Author......: Joaquim Homrighausen
|
||||
Co-Authors..: Andrew Milner, Mats Birch, Mats Wallin
|
||||
|
||||
---------------------------------------------------------------------
|
||||
JAM(mbp)
|
||||
The Joaquim-Andrew-Mats Message Base Proposal
|
||||
---------------------------------------------------------------------
|
||||
Copyright 1993 Joaquim Homrighausen, Andrew Milner,
|
||||
Mats Birch, Mats Wallin.
|
||||
ALL RIGHTS RESERVED.
|
||||
---------------------------------------------------------------------
|
||||
|
||||
|
||||
=====================================================================
|
||||
Restrictions
|
||||
---------------------------------------------------------------------
|
||||
JAM may be used by any developer as long as these specifications are
|
||||
followed exactly. JAM may be used free-of-charge by any developer
|
||||
for any purpose, commercially or otherwise.
|
||||
|
||||
This document may be freely copied and distributed, but must NEVER be
|
||||
distributed in a modified form. If you have an enhancement request,
|
||||
please contact the author of this document; do not change it
|
||||
yourself.
|
||||
|
||||
All applications that support JAM must include one of the following
|
||||
notices in their documentation and somewhere in the product's credit
|
||||
section:
|
||||
|
||||
"JAM(mbp) - Copyright 1993 Joaquim Homrighausen, Andrew Milner,
|
||||
Mats Birch, Mats Wallin.
|
||||
ALL RIGHTS RESERVED."
|
||||
|
||||
or
|
||||
|
||||
"This product uses the JAM(mbp) API -
|
||||
Copyright 1993 Joaquim Homrighausen, Andrew Milner, Mats Birch,
|
||||
Mats Wallin. ALL RIGHTS RESERVED."
|
||||
|
||||
No organization, company, person, entity, or other being may impose
|
||||
any fees for any reason for providing this document or the
|
||||
accompanying API. This document and the accompanying API may not be
|
||||
sold or otherwise transferred for personal or company gain under any
|
||||
circumstances.
|
||||
|
||||
=====================================================================
|
||||
Definitions and general notes
|
||||
---------------------------------------------------------------------
|
||||
CURRENTREV 1
|
||||
|
||||
JAM The JAM message base format.
|
||||
|
||||
CRC Cyclic Redundancy Check. All CRC values
|
||||
calculated on strings must assume that the
|
||||
data within the string has been converted
|
||||
to lowercase (A-Z = a-z).
|
||||
|
||||
CRC-32 32-bit CRC (as used in the Zmodem file
|
||||
transfer protocol) value. The polynom for
|
||||
a CRC-32 is edb88320H and the CRC-32 seed
|
||||
is -1L (ffffffffH).
|
||||
|
||||
uchar Unsigned 8-bit value
|
||||
|
||||
ushort Unsigned 16-bit value
|
||||
|
||||
ulong Unsigned 32-bit value
|
||||
|
||||
UNIX date An ulong representing the number of seconds
|
||||
since midnight, January 1, 1970. UNIX-style
|
||||
dates is the only form of time stamps used
|
||||
in JAM (1).
|
||||
|
||||
Message # The physical record number within the index
|
||||
file is used as a message number. The
|
||||
lowest message number is one (1) and the
|
||||
highest message number is 4294967295
|
||||
(ffffffffH).
|
||||
|
||||
FTN FidoNet Technology Network
|
||||
|
||||
FTS FidoNet Technical Standard
|
||||
|
||||
(1) All timestamps created locally (i.e. those not imported from
|
||||
other systems) are stored in local time.
|
||||
|
||||
=====================================================================
|
||||
Files
|
||||
---------------------------------------------------------------------
|
||||
Each conference is made up from four files. How and where these files
|
||||
are stored and named is implementation dependant. The only file with
|
||||
a fixed minimum size is the .JHR (header data) file. It has a 1024-
|
||||
byte block used to hold information about a specific message area as
|
||||
described later.
|
||||
|
||||
filename.JHR - Message header data
|
||||
filename.JDT - Message text data
|
||||
filename.JDX - Message index
|
||||
filename.JLR - Lastread information
|
||||
|
||||
A future revision of JAM may also include a file that holds the
|
||||
following three items:
|
||||
|
||||
- The highest assigned user number
|
||||
- The last generated message ID
|
||||
- A global conference list with the conference name, description,
|
||||
and physical location of the message base.
|
||||
|
||||
=====================================================================
|
||||
.JHR file header
|
||||
---------------------------------------------------------------------
|
||||
Below is the format of the 1024-byte record at the beginning of all
|
||||
.JHR files. The first actual message header starts at offset 1024 in
|
||||
the .JHR file.
|
||||
|
||||
FixedHeaderInfoStruct:
|
||||
ulong Signature; // <J><A><M> followed by <NUL>
|
||||
ulong datecreated; // Creation date
|
||||
ulong modcounter; // Update counter
|
||||
ulong activemsgs; // Number of active (not deleted) msgs
|
||||
ulong passwordcrc; // CRC-32 of password to access
|
||||
ulong basemsgnum; // Lowest message number in index file
|
||||
uchar RESERVED[1000]; // Reserved space
|
||||
end;
|
||||
|
||||
MODCOUNTER must be incremented and updated on disk each time an
|
||||
application modifies the contents of the message base. When it
|
||||
reaches ffffffffH, it wraps to zero.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
BaseMsgNum Lowest message number in index file
|
||||
---------------------------------------------------------------------
|
||||
This field determines the lowest message number in the index file.
|
||||
The value for this field is one (1) when a message area is first
|
||||
created. By using this field, a message area can be packed (deleted
|
||||
messages are removed) without renumbering it. If BaseMsgNum contains
|
||||
500, the first index record points to message number 500.
|
||||
|
||||
BaseMsgNum has to be taken into account when an application
|
||||
calculates the next available message number (for creating new
|
||||
messages) as well as the highest and lowest message number in a
|
||||
message area.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
????????.JHR Message headers
|
||||
---------------------------------------------------------------------
|
||||
The .JHR file contains none or more Header records. Each record
|
||||
define one message and contains information about the message and its
|
||||
text (if any). The Header record is of variable length. The layout of
|
||||
the Header record follows.
|
||||
|
||||
MessageHeader:
|
||||
MessageFixedHeader:
|
||||
ulong Signature; // <J><A><M> followed by <NUL>
|
||||
ushort Revision; // Revision level of header (1)
|
||||
ushort ReservedWord; // Reserved for future use
|
||||
ulong SubfieldLen; // Length of subfields (2)
|
||||
ulong TimesRead; // Number of times message read
|
||||
ulong MSGIDcrc; // CRC-32 of MSGID line (3)
|
||||
ulong REPLYcrc; // CRC-32 of REPLY line (3)
|
||||
ulong ReplyTo; // This msg is a reply to..
|
||||
ulong Reply1st; // First reply to this msg
|
||||
ulong Replynext; // Next msg in reply chain
|
||||
ulong DateWritten; // When msg was written
|
||||
ulong DateReceived; // When msg was read by recipient
|
||||
ulong DateProcessed;// When msg was processed by tosser/
|
||||
// scanner
|
||||
ulong MessageNumber;// Message number (1-based)
|
||||
ulong Attribute; // Msg attribute, see "Msg Attributes"
|
||||
ulong Attribute2; // Reserved for future use
|
||||
ulong Offset; // Offset of text in ????????.JDT file
|
||||
ulong TxtLen; // Length of message text
|
||||
ulong PasswordCRC; // CRC-32 of password to access message
|
||||
ulong Cost; // Cost of message
|
||||
end;
|
||||
SubField1 // Extra fields as defined below
|
||||
.
|
||||
.
|
||||
SubFieldXX
|
||||
end;
|
||||
|
||||
(1) This field is intended for future revisions of the specifications
|
||||
to allow the use of a different fixed-length binary message
|
||||
header. The current revision level is one (1).
|
||||
|
||||
(2) The SubfieldLen field is set to zero (0) if the header does not
|
||||
have any subfield data. I.e. the length of the binary header is
|
||||
not included in this field.
|
||||
|
||||
(3) When calculating the CRC-32 of the MSGID and REPLY lines, the
|
||||
text ^aMSGID: and ^aREPLY: should be removed as well as all
|
||||
leading and trailing white space characters.
|
||||
|
||||
|
||||
The SubField structure is made up of an ID, a length specifier, and
|
||||
a block of data. Zero or more subfields may follow the fixed-length
|
||||
binary header. SubFields are not stored in any specific order and
|
||||
are not terminated by any specific character unless otherwise
|
||||
specified.
|
||||
|
||||
SubField:
|
||||
ushort LoID; // Field ID, 0-65535
|
||||
ushort HiID; // Reserved for future use
|
||||
ulong datlen; // Length of buffer that follows
|
||||
uchar Buffer[datlen]; // DATLEN bytes of data
|
||||
end;
|
||||
|
||||
---------------------------------------------------------------------
|
||||
Defined LoID codes
|
||||
---------------------------------------------------------------------
|
||||
|
||||
ID=0, Name=OADDRESS
|
||||
|
||||
A network address. This is used to specify the originating address.
|
||||
More than one OADDRESS field may exist. DATLEN must not exceed 100
|
||||
characters. For a FidoNet-style address, this field must follow the
|
||||
ZONE:NET/NODE.POINT@DOMAIN format where .POINT is excluded if zero
|
||||
and @DOMAIN is excluded if unknown.
|
||||
|
||||
|
||||
ID=1, Name=DADDRESS
|
||||
|
||||
A network address. This is used to specify the destination address.
|
||||
More than one DADDRESS field may exist (e.g. carbon copies). DATLEN
|
||||
must not exceed 100 characters. For a FidoNet-style address, this
|
||||
field must follow the ZONE:NET/NODE.POINT@DOMAIN format where .POINT
|
||||
is excluded if zero and @DOMAIN is excluded if unknown.
|
||||
|
||||
|
||||
ID=2, Name=SENDERNAME
|
||||
|
||||
The sender (author) of the message. DATLEN must not exceed 100
|
||||
characters.
|
||||
|
||||
|
||||
ID=3, Name=RECEIVERNAME
|
||||
|
||||
The recipient of the message. DATLEN must not exceed 100 characters.
|
||||
|
||||
|
||||
ID=4, Name=MSGID
|
||||
|
||||
Used to store the message identification data. All data not relevant
|
||||
to the actual ID string, including leading and trailing white space
|
||||
characters should be removed. DATLEN must not exceed 100 characters.
|
||||
|
||||
|
||||
ID=5, Name=REPLYID
|
||||
|
||||
Used to store the message reply data. All data not relevant to the
|
||||
actual reply string, including leading and trailing white space
|
||||
characters should be removed. DATLEN must not exceed 100 characters.
|
||||
|
||||
|
||||
ID=6, Name=SUBJECT
|
||||
|
||||
The subject of the message. DATLEN must not exceed 100 characters.
|
||||
Note that this field may not be used for FidoNet-style file attaches
|
||||
or file requests.
|
||||
|
||||
|
||||
ID=7, Name=PID
|
||||
|
||||
Used to store the FTN PID kludge line. Only the actual PID data is
|
||||
stored and ^aPID: is stripped along with any leading and trailing
|
||||
white space characters. DATLEN must not exceed 40 characters.
|
||||
|
||||
|
||||
ID=8, Name=TRACE
|
||||
|
||||
This is also referred to as ^aVia information in FTNs. It contains
|
||||
information about a system which the message has travelled through.
|
||||
The format of the field is <YYYYMMDDHHMMSS><Network address> where:
|
||||
|
||||
YYYY is the year (1992-9999)
|
||||
MM is the month (01-12)
|
||||
DD is the day (01-31)
|
||||
HH is the hour (00-23)
|
||||
MM is the minute (00-59)
|
||||
SS is the second (00-59)
|
||||
|
||||
The timestamp is stored in ASCII (0-9) characters. The network
|
||||
address is the address of the system. It is expressed in ASCII
|
||||
notation in the native format of the forwarding system.
|
||||
|
||||
|
||||
ID=9, Name=ENCLOSEDFILE
|
||||
|
||||
A file attached to the message. Only one filename may be specified
|
||||
per subfield. No wildcard characters are allowed. If this subfield
|
||||
is present in a message header, the ATTRIBUTE must include the
|
||||
MSG_FILEATTACH bit.
|
||||
|
||||
|
||||
ID=10, Name=ENCLOSEDFILEWALIAS
|
||||
|
||||
Identical to ENCLOSEDFILE with the exception that the filename is
|
||||
followed by a <NUL> (00H) and an alias filename to be transmited to
|
||||
the remote system in place of the local name of the file.
|
||||
|
||||
|
||||
ID=11, Name=ENCLOSEDFREQ
|
||||
|
||||
A request for one or more files. Only one filemask may be specified
|
||||
per subfield. If the filemask contains a complete path, it is to be
|
||||
regarded as an update file request. If this subfield is present in a
|
||||
message header, the ATTRIBUTE must include the MSG_FILEREQUEST bit.
|
||||
To indicate that a password is to be transmitted along with the
|
||||
request, a <NUL> (00H) character followed by the password is
|
||||
appended. E.g. SECRET*.*<NUL>MYPASSWORD.
|
||||
|
||||
|
||||
ID=12, Name=ENCLOSEDFILEWCARD
|
||||
|
||||
One or more files attached to the message. Only one filename may be
|
||||
specified per subfield. Wildcard characters are allowed. If this
|
||||
subfield is present in a message header, the ATTRIBUTE must include
|
||||
the MSG_FILEATTACH bit.
|
||||
|
||||
|
||||
ID=13, Name=ENCLOSEDINDIRECTFILE
|
||||
|
||||
One or more files attached to the message. The filename points to an
|
||||
ASCII file with one filename entry per line. If alias filenames are
|
||||
to be used, they are specified after the actual filename and
|
||||
separated by a <NUL> (00H) character, e.g. C:\MYFILE.LZH<NUL>NEWS.
|
||||
Wildcard characters are not allowed.
|
||||
|
||||
|
||||
ID=1000, Name=EMBINDAT
|
||||
|
||||
Reserved for future use.
|
||||
|
||||
|
||||
ID=2000, Name=FTSKLUDGE
|
||||
|
||||
An FTS-compliant "kludge" line not otherwise represented here. All
|
||||
data not relevant to the actual kludge line, including leading and
|
||||
trailing white space and ^A (01H) characters should be removed.
|
||||
DATLEN must not exceed 255 characters. The FTS kludges INTL, TOPT,
|
||||
and FMPT must never be stored as separate SubFields. Their data must
|
||||
be extracted and used for the address SubFields.
|
||||
|
||||
|
||||
ID=2001, Name=SEENBY2D
|
||||
|
||||
Used to store two-dimensional (net/node) SEEN-BY information often
|
||||
used in FTN conference environments. Only the actual SEEN-BY data is
|
||||
stored and ^aSEEN-BY: or SEEN-BY: is stripped along with any leading
|
||||
and trailing white space characters.
|
||||
|
||||
|
||||
ID=2002, Name=PATH2D
|
||||
|
||||
Used to store two-dimensional (net/node) PATH information often used
|
||||
in FTN conference environments. Only the actual PATH data is stored
|
||||
and ^aPATH: is stripped along with any leading and trailing white
|
||||
space characters.
|
||||
|
||||
|
||||
ID=2003, Name=FLAGS
|
||||
|
||||
Used to store the FTN FLAGS kludge information. Note that all FLAG
|
||||
options that have binary representation in the JAM message header
|
||||
must be removed from the FLAGS string prior to storing it. Only
|
||||
the actual flags option string is stored and ^aFLAGS is stripped
|
||||
along with any leading and trailing white space characters.
|
||||
|
||||
|
||||
ID=2004, Name=TZUTCINFO
|
||||
|
||||
Time zone information. This subfield consists of four mandatory
|
||||
bytes and one optional. The first character may be a plus (+) or a
|
||||
minus (-) character to indicate a location east (plus) or west
|
||||
(minus) of UTC 0000. The plus character is implied unless the first
|
||||
character is a minus character. The following four bytes must be
|
||||
digits in the range zero through nine and indicates the offset in
|
||||
hours and minutes. E.g. 0100 indicates an offset of one hour east of
|
||||
UTC.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
Message attributes
|
||||
---------------------------------------------------------------------
|
||||
MSG_LOCAL (0x00000001L) // Msg created locally
|
||||
MSG_INTRANSIT (0x00000002L) // Msg is in-transit
|
||||
MSG_PRIVATE (0x00000004L) // Private
|
||||
MSG_READ (0x00000008L) // Read by addressee
|
||||
MSG_SENT (0x00000010L) // Sent to remote
|
||||
MSG_KILLSENT (0x00000020L) // Kill when sent
|
||||
MSG_ARCHIVESENT (0x00000040L) // Archive when sent
|
||||
MSG_HOLD (0x00000080L) // Hold for pick-up
|
||||
MSG_CRASH (0x00000100L) // Crash
|
||||
MSG_IMMEDIATE (0x00000200L) // Send Msg now, ignore restrictions
|
||||
MSG_DIRECT (0x00000400L) // Send directly to destination
|
||||
MSG_GATE (0x00000800L) // Send via gateway
|
||||
MSG_FILEREQUEST (0x00001000L) // File request
|
||||
MSG_FILEATTACH (0x00002000L) // File(s) attached to Msg
|
||||
MSG_TRUNCFILE (0x00004000L) // Truncate file(s) when sent
|
||||
MSG_KILLFILE (0x00008000L) // Delete file(s) when sent
|
||||
MSG_RECEIPTREQ (0x00010000L) // Return receipt requested
|
||||
MSG_CONFIRMREQ (0x00020000L) // Confirmation receipt requested
|
||||
MSG_ORPHAN (0x00040000L) // Unknown destination
|
||||
MSG_ENCRYPT (0x00080000L) // Msg text is encrypted (1)
|
||||
MSG_COMPRESS (0x00100000L) // Msg text is compressed (1)
|
||||
MSG_ESCAPED (0x00200000L) // Msg text is seven bit ASCII (1)
|
||||
MSG_FPU (0x00400000L) // Force pickup
|
||||
MSG_TYPELOCAL (0x00800000L) // Msg is for local use only
|
||||
MSG_TYPEECHO (0x01000000L) // Msg is for conference distribution
|
||||
MSG_TYPENET (0x02000000L) // Msg is direct network mail
|
||||
MSG_NODISP (0x20000000L) // Msg may not be displayed to user
|
||||
MSG_LOCKED (0x40000000L) // Msg is locked, no editing possible
|
||||
MSG_DELETED (0x80000000L) // Msg is deleted
|
||||
|
||||
(1) This revision of JAM does not include compression, encryption, or
|
||||
escaping. The bits are reserved for future use.
|
||||
|
||||
=====================================================================
|
||||
????????.JDT Message text
|
||||
---------------------------------------------------------------------
|
||||
The .JDT file contains the text of messages. The text is stored as an
|
||||
stream of seven or eight bit ASCII data. Allowed characters in the
|
||||
text are 00H through ffH unless the header ATTRIBUTE field has the
|
||||
MSG_ESCAPED bit enabled, in which case the legal range of data is 20H
|
||||
through 7eH.
|
||||
|
||||
An escaped character is stored as \<hex> where <hex> is the two digit
|
||||
hexadecimal ASCII value of the character. A single \ is stored as \\
|
||||
or \5C. The case of the hexadecimal ASCII value is irrelevant, i.e.
|
||||
5c is treated as 5C.
|
||||
|
||||
=====================================================================
|
||||
????????.JDX Message index
|
||||
---------------------------------------------------------------------
|
||||
The .JDX file is used to quickly locate messages for any given user
|
||||
name or to locate a message with a specific number. Each record in
|
||||
the file consists of two ulongs. The first ulong holds the CRC-32 of
|
||||
the recipient's name (lowercase), the second ulong holds the
|
||||
physical offset of the message header in the .JHR (header) file.
|
||||
|
||||
The record number (+BaseMsgNum) within the .JDX file determines a
|
||||
message's number.
|
||||
|
||||
If both ulongs are -1 (ffffffffH), there is no corresponding message
|
||||
header.
|
||||
|
||||
=====================================================================
|
||||
????????.JLR Lastread storage
|
||||
---------------------------------------------------------------------
|
||||
The .JLR file is used to maintain a user's position within a message
|
||||
area. The layout of the "lastread" record follows. One record per
|
||||
user is required.
|
||||
|
||||
LastRead:
|
||||
ulong UserCRC; // CRC-32 of user name (lowercase) (1)
|
||||
ulong UserID; // Unique UserID
|
||||
ulong LastReadMsg; // Last read message number
|
||||
ulong HighReadMsg; // Highest read message number
|
||||
end;
|
||||
|
||||
(1) The functions to convert a string to lowercase characters that
|
||||
are provided in the API will only convert characters A-Z (into
|
||||
a-z). It is required that this convention is followed by all
|
||||
applications.
|
||||
|
||||
The UserID field is a unique number for each user. If the "lastread"
|
||||
record is deleted, UserCRC and UserID are both set to -1
|
||||
(ffffffffH). An application may not depend on any specific order in
|
||||
the .JLR file. A user's "lastread" record may appear anywhere in the
|
||||
file and must be searched for when retrieving it and when storing an
|
||||
updated record.
|
||||
|
||||
=====================================================================
|
||||
Updating message headers
|
||||
---------------------------------------------------------------------
|
||||
If a header record grows after is has been retrieved from the .JHR
|
||||
file, it must be appended to the end of the .JHR file since it would
|
||||
overwrite the following header otherwise. The .JDX file must be
|
||||
properly updated to indicate the new location of the header record.
|
||||
The old header record must be changed to indicate that it has been
|
||||
deleted by setting the MSG_DELETED bit in the Attribute field and the
|
||||
TextLen field to zero (to prevent a maintenance program from removing
|
||||
the message text that is now pointed to by another header).
|
||||
|
||||
=====================================================================
|
||||
Message base sharing and locking
|
||||
---------------------------------------------------------------------
|
||||
To allow several programs to access the message base at any given
|
||||
time, region locking is used to protect the message base from being
|
||||
corrupted during updates.
|
||||
|
||||
When an application needs to write to any of the message base files,
|
||||
it must first attempt to lock the first byte of the .JHR (header)
|
||||
file. If the lock call fails, the application must either fail or
|
||||
attempt to lock the file again. The message base files may under no
|
||||
circumstances be updated if the application cannot successfully lock
|
||||
the .JHR file.
|
||||
|
||||
Note that data acquired (read) from the message base may not be used
|
||||
when writing data to the message base, unless the application has
|
||||
maintained a lock of the message base from the time the data was
|
||||
acquired or the MODCOUNTER field is the same as when the data was
|
||||
acquired.
|
||||
|
||||
The application must open the files in shareable (DENYNONE) read/
|
||||
write or readonly mode. The only exception to this is an application
|
||||
that requires exclusive access to the message base, such as a message
|
||||
base maintenance utility, it should open the files in non-shareable
|
||||
(DENYALL) read/write mode.
|
||||
|
||||
=====================================================================
|
||||
Reply threads and linking
|
||||
---------------------------------------------------------------------
|
||||
JAM introduces a new reply link pointer, not commonly used today.
|
||||
This section is an attempt to describe how reply threads, reply
|
||||
linking, and this new reply link pointer is implemented in JAM.
|
||||
|
||||
One of the major differences is that reply threads in JAM are not
|
||||
based on similar or identical subjects of messages since this method
|
||||
does not allow for proper reply threads.
|
||||
|
||||
The method used in JAM is based on the immediate relation between any
|
||||
given message and direct replies to it. This is supported by many
|
||||
message editors by using the MSGID and REPLY FTS kludge fields. These
|
||||
are common, although expressed differently, in messages not based on
|
||||
FidoNet technology, such as RFC-822. The obvious advantages include
|
||||
allowing a program to easily find the original message to a reply,
|
||||
and to find all replies to any given message.
|
||||
|
||||
The reply thread information consists of three fields: ReplyTo,
|
||||
Reply1st, and ReplyNext. The reason for three fields, as opposed to
|
||||
just two, is that with two fields, it is only possible to keep track
|
||||
of the original message of a reply (which is sufficient) and one
|
||||
reply to any given message (which is not sufficient). With three
|
||||
fields, it is possible to maintain a thread of any number of replies
|
||||
to any given message.
|
||||
|
||||
In the description of the different fields below, the following
|
||||
messages and message numbers will be referred to:
|
||||
|
||||
1 -> 2 -> 4 -> 5
|
||||
: :
|
||||
: +--> 8
|
||||
:
|
||||
+--> 3 -> 7
|
||||
:
|
||||
+--> 6
|
||||
|
||||
Message number two, three, and six are replies to message number one.
|
||||
Message number four and eight are replies to message number two.
|
||||
Message number seven is a reply to message number three.
|
||||
Message number five is a reply to message number four.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
ReplyTo
|
||||
---------------------------------------------------------------------
|
||||
This field holds the number of the message that this message is a
|
||||
reply to. In the example above, the ReplyTo field would contain the
|
||||
following values:
|
||||
|
||||
Message number one would contain zero; message number two, three, and
|
||||
six, would contain one; message number four and eight would contain
|
||||
two; message number seven would contain three, and message number
|
||||
five would contain four.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
Reply1st
|
||||
---------------------------------------------------------------------
|
||||
This field holds the number of the first message that is a reply to
|
||||
this message. In the example above, the Reply1st field would contain
|
||||
the following values:
|
||||
|
||||
Message number one would contain two, message number three would
|
||||
contain seven, and message number four would contain five. All other
|
||||
messages would contain zero.
|
||||
|
||||
---------------------------------------------------------------------
|
||||
ReplyNext
|
||||
---------------------------------------------------------------------
|
||||
This field is used to create the actual message thread or chain. In
|
||||
the event that there is more than one reply to any given message, it
|
||||
is necessary to maintain a thread of all the replies; this is due to
|
||||
the fact that the original message can only hold information about
|
||||
the first reply (the Reply1st field) to it.
|
||||
|
||||
The first reply (which the original message's Reply1st field holds),
|
||||
has its ReplyNext field pointing to the second reply, the second
|
||||
reply's ReplyNext field poinst to the third reply, and so on.
|
||||
|
||||
In the example above, the ReplyNext field would contain the following
|
||||
values:
|
||||
|
||||
Message number two would contain three, message number three would
|
||||
contain six, and message number four would contain eight. All other
|
||||
messages would contain zero.
|
||||
|
||||
=====================================================================
|
||||
Contacts
|
||||
---------------------------------------------------------------------
|
||||
Joaquim Homrighausen Telefax: +352 316 702
|
||||
389, route d'Arlon Modem: +352 316 702
|
||||
L-8011 Strassen eMail: 2:270/17@fidonet
|
||||
Luxembourg joho@abs.lu
|
||||
|
||||
Andrew Milner Telefax: +352 251 621
|
||||
9a, Boulevard Joseph II Modem: +352 251 621
|
||||
L-1840 Belair eMail: 2:270/18@fidonet
|
||||
Luxembourg andrew@fido.lu
|
||||
|
||||
Mats Wallin Telefax: +46 8 6453285
|
||||
F<>rskottsv<73>gen 11 Modem: +46 8 6453882
|
||||
S-126 44 H<>gersten eMail: 2:201/329@fidonet
|
||||
Sweden mw@fido.lu
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
114
html/misc/outbound.html
Normal file
114
html/misc/outbound.html
Normal file
@@ -0,0 +1,114 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||||
<META http-equiv="Content-Style-Type" content="text/css">
|
||||
<META name="author" lang="en" "content="Michiel Broek">
|
||||
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||||
<META name="description" lang="en" content="MBSE BBS Manual">
|
||||
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||||
<TITLE>Binkley style outbound with MBSE BBS.</TITLE>
|
||||
<LINK rel=stylesheet HREF="../manual.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<BLOCKQUOTE>
|
||||
<h5>Last update 02-Feb-2001</h5>
|
||||
<P> <P>
|
||||
|
||||
<h1>Binkly style outbound documentation for MBSE BBS.</H1>
|
||||
<P>
|
||||
The MBSE BBS outbound directory structure is BinkleyTerm compatible, with
|
||||
domains and point subdirectories (full 5d). There are separate "protected" and
|
||||
"unknown" inbound directories for incoming sessions. Files received during
|
||||
outbound sessions are always placed in the "protected" inbound directory. Only
|
||||
the "protected" inbound directory is processed automatic.
|
||||
<P>
|
||||
|
||||
<P>
|
||||
Note that this is a very simple document and that it is not even finished.
|
||||
<P>
|
||||
<PRE>
|
||||
.pol Poll flag, is handled as crash immediate, the length is always 0 bytes.
|
||||
|
||||
Flow files are files with the full pathnames to the files to send
|
||||
on disk. Names are translated by MBSE BBS to full DOS filenames and
|
||||
paths depending on your setup.
|
||||
If you use it then it is importand that you think about the directory
|
||||
structure to use. See also the documentation about the setup of the
|
||||
<a href="ftpserver.html">ftp server</a>
|
||||
The filenames may be prepended with a special character:
|
||||
# = Truncate file after sent.
|
||||
- or ^ = Kill file after sent.
|
||||
@ = Leave file after sent, this is the default.
|
||||
|
||||
.flo Normal flow file (contains complete filenames to send).
|
||||
.clo Crash flow file.
|
||||
.hlo Hold flow file.
|
||||
.ilo Immediate flow file, overrides CM flag.
|
||||
|
||||
The following are .pkt files, during the mail session they will be
|
||||
renamed to nnnnnnnn.pkt with an unique name and added to the spool
|
||||
file. Messages can allways be added to the outbound as long as the
|
||||
node isn't locked.
|
||||
|
||||
.out Normal .pkt file.
|
||||
.cut Crash .pkt file.
|
||||
.hut Hold .pkt file.
|
||||
.iut Immediate .pkt file.
|
||||
|
||||
It seems that these are subdirectories used by ifpack during packing
|
||||
of mail. These are used for the news/e-mail gate.
|
||||
|
||||
.opk
|
||||
.cpk
|
||||
.hpk
|
||||
.ipk
|
||||
|
||||
|
||||
.req Request file. Contains filenames in ascii with <cr><lf>.
|
||||
|
||||
.su0 Arcmail bundles, the last digit may be any digit or letter.
|
||||
.mo0
|
||||
.tu0
|
||||
.we0
|
||||
.th0
|
||||
.fr0
|
||||
.sa0
|
||||
|
||||
.sts Node status file created by mbcico. These are data files containing
|
||||
three values:
|
||||
1. 'time', this is the last call attempt time (in time_t format).
|
||||
2. 'retries', is the number of retries to try to connect that node. This
|
||||
field is zeroed when the call succeeds or when that node calls in.
|
||||
It is also zeroed when a new poll is created. Currently, mbcico stops
|
||||
calling a node if the counter is higher then 30.
|
||||
3. 'code', is the return code of the last attempt.
|
||||
0 - Successfull call
|
||||
1 - No dialout port available
|
||||
2 - No CONNECT or TCP connect failed
|
||||
3 - Could not reset the modem
|
||||
4 - System is locked
|
||||
5 - Retry time not reached?
|
||||
6 - Fatal error in nodelist lookup
|
||||
7 - Call prohibited by config options
|
||||
8 - Phone number unavailable
|
||||
9 - No free matching port
|
||||
10 - Unused
|
||||
11..29 - Session (handshake) errors.
|
||||
This file is <b>not</b> compatible with the .sts files created by <b>ifcico</b>.</PRE>
|
||||
|
||||
<PRE>
|
||||
.spl Spool file, created by mbcico.
|
||||
|
||||
.bsy Busy file, for locking nodes. The 'pid' of the process who locked that
|
||||
node is inserted into this file. All programs of the MBSE BBS package
|
||||
(and ifcico package) check if the pid exists if a .bsy file is found.
|
||||
If there is no pid found, the lock is a stale lock and is removed.
|
||||
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35">
|
||||
Go Back</A>
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
51
html/misc/semafore.html
Normal file
51
html/misc/semafore.html
Normal file
@@ -0,0 +1,51 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=ISO 8859-1">
|
||||
<META http-equiv="Content-Style-Type" content="text/css">
|
||||
<META name="author" lang="en" "content="Michiel Broek">
|
||||
<META name="copyright" lang="en" content="Copyright Michiel Broek">
|
||||
<META name="description" lang="en" content="MBSE BBS Manual">
|
||||
<META name="keywords" lang="en" content="MBSE BBS, MBSE, BBS, manual, fido, fidonet, gateway, tosser, mail, tic, mailer">
|
||||
<TITLE>Semafore files with MBSE BBS.</TITLE>
|
||||
<LINK rel=stylesheet HREF="../manual.css">
|
||||
</HEAD>
|
||||
<BODY>
|
||||
<BLOCKQUOTE>
|
||||
<h5>Last update 22-jul-2001</h5>
|
||||
<P> <P>
|
||||
|
||||
<H1>Semafore files with MBSE BBS.</H1>
|
||||
|
||||
The directory $MBSE_ROOT/sema is the hardcoded semafore directory where all
|
||||
semafore's must be created, tested and removed. When the system is booting,
|
||||
the init script will erase all semafore's just before the BBS is started.
|
||||
This description is valid from MBSE BBS v0.33.17 and newer.
|
||||
|
||||
<PRE>
|
||||
zmh Purpose: to mark the state of Zone Mail Hour.
|
||||
Created by "mbtask" at the start of Zone Mail Hour.
|
||||
Removed by "mbtask" at the end of Zone Mail Hour.
|
||||
|
||||
upsalarm Purpose: Signal that the system is running on battery power.
|
||||
Created and removed by UPS software.
|
||||
Checked by mbtask to suspend processing.
|
||||
Checked by mbfido to stop processing.
|
||||
|
||||
upsdown Purpose: Signal that the system will go down on low battery.
|
||||
Created and removed by UPS software.
|
||||
Checked by mbtask to go down.
|
||||
Checked by several scripts and "mbstat wait".
|
||||
|
||||
newnews Purpose: Signal that there are new articles on the news server.
|
||||
Checked by mbtask to start news processing.
|
||||
Removed by mbtask as soon as it is detected.
|
||||
|
||||
mbtask.last Purpose: A timestamp created and touched by "mbtask" every
|
||||
minute so you can check it is running.
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
</BLOCKQUOTE>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
61
html/misc/usleep.html
Normal file
61
html/misc/usleep.html
Normal file
@@ -0,0 +1,61 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>System load and the usleep() call.</TITLE>
|
||||
</HEAD>
|
||||
|
||||
<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
|
||||
<BODY
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#000080"
|
||||
ALINK="#FF0000"
|
||||
>
|
||||
<PRE>
|
||||
usleep.doc
|
||||
|
||||
|
||||
At some time when developping MBSE BBS I decided that background utilities
|
||||
did't need full speed to do their jobs. BBS utilities under DOS needed
|
||||
to run as fast as possible because you needed to bring the bbs down to run
|
||||
these programs and users couldn't login during that time.
|
||||
|
||||
Starting with mball, the allfiles creator, I inserted code that does usleep(1)
|
||||
after each 5 processed files. The 1 microsecond is not really the time the
|
||||
program pauses, it's probably a lot longer. I think this depends on the
|
||||
hardware type, (Intel, Sparc, Alpha etc) how long Linux will really suspends
|
||||
executing the utility.
|
||||
|
||||
The program speed downgrade at the development machine that mball needed was
|
||||
3 times the original exection time, while system loading stayed under 30%.
|
||||
At that time the development machine is an 486DX2-66 with a Seagate ST32151N
|
||||
SCSI harddisk.
|
||||
|
||||
The extra usleep code is only active if you run these utils with the -quiet
|
||||
switch and when this is set in mbsetup. See menu 1->5.
|
||||
With this switch, the program is mostly run by cron. If you onmit
|
||||
this switch, this is probably when you start the program manually, it will
|
||||
then always run at full speed, no matter what the setting in mbsetup is.
|
||||
|
||||
If you have a fast system or don't care that the performance of your system
|
||||
drops because of background processing, you can turn this future off with
|
||||
mbsetup in the global section. (menu 1->5).
|
||||
|
||||
Remember, if you have a PII-400 MMX or so with IDE disks, you may still have
|
||||
performance problems and need to set that switch to yes. There is only one
|
||||
way to find out if you need it.
|
||||
|
||||
Well, actually, I tested this on a Dell Latitude PII-266, setting the switch to
|
||||
yes gave better performance then no. Why? The CPU has more time for the slow
|
||||
IDE disk. With the slow switch on programs runs even faster then with the switch
|
||||
off.
|
||||
|
||||
Michiel.
|
||||
|
||||
</PRE>
|
||||
|
||||
<A HREF="index.htm"><IMG SRC="../images/b_arrow.gif" ALT="Back" Border="0" width="33" height="35"> Go Back</A>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
Reference in New Issue
Block a user