home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
HATCH
/
LINK39B1.ZIP
/
LINKER.DOC
< prev
next >
Wrap
Text File
|
1996-07-26
|
28KB
|
762 lines
┌───────────────────────────────────────────────────────┐
│ ▀▀ ▀▀ ▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀▀▀▀▀ ▀▀▀▀▀▀ │
│ ▀▀ ▀▀ ▀▀▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ │
│ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀▀▀ ▀▀▀▀▀ ▀▀▀▀▀▀ │
│ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ ▀▀ │
│ ▀▀▀▀▀▀ ▀▀ ▀▀ ▀▀▀▀ ▀▀ ▀▀ ▀▀▀▀▀▀ ▀▀ ▀▀ │
└───────────────────────────────────────────────────────┘
Linker version 3.9
Multi-Network Sender/Support Software
Contents:
Archive Contents ................................. 1
Purpose of Linker ................................ 2
Linker Setup ..................................... 3
Purpose of Linkutil .............................. 4
Linkutil Setup ................................... 5
Command Line Options ..............................6
Linkutil Trouble Shooting ........................ 7
Modifications for Linker ......................... 8
Greenware ........................................ 9
───────────────────────────────────────────────────────────────────────────
1: Archive Contents:
───────────────────────────────────────────────────────────────────────────
LINKER.DOC { This file
LINKER.EXE { Primary Executable file
LINKERGD.EXE { Primary Executable for systems using Gold System.
LINKUTIL.EXE { Used to create Linknets.Net as well as
{ enhancements.
LINKER.DAT { Definable Enhancements
FILEREQ.BAT { (goes in your root bbs directory) for those systems
{ that compiled WWIV with the PACKSCAN Option on.
FILE_ID.DIZ { File description
GREENWAR.REG { GREENWARE registration form
WHATSNEW.DOC { A list of new features in current update
SOFTWARE.TXT { A list of support boards and other software
{ produced by PURGware
LINKER may be distributed as SHAREWARE as long as it is also distributed with
the above files.
───────────────────────────────────────────────────────────────────────────
2: The Purpose of Linker:
───────────────────────────────────────────────────────────────────────────
LINKER was developed by Hellfire. With the capability of WWIV 4.21a to
handle multiple networks the cost of connecting rose dramatically for
Sysops making long distance connections. As a Canadian SysOp routinely
connecting to the U.S. the increase in expense was dramatic. LINKER
enables SysOps to bundle multiple network packets into one packet so
that multiple connects may be made with one call.
LINKER is designed to bundle multiple packets destined for remote
systems into one packet, and when received by the remote system LINKER
processes the bundled packets and tosses them into the correct network
directories. In short if you connect to a system with more than one
network LINKER will allow you to pass network information with one call
rather than multiple calls.
───────────────────────────────────────────────────────────────────────────
3: LINKER Setup:
───────────────────────────────────────────────────────────────────────────
The first consideration for installation of LINKER is to make sure that
you can connect to a system using LINKER as LINKER must be used by both
systems connecting. Therefore either contact your A/C to obtain a
connection to a system using LINKER or ask your connect to install
LINKER. Both of you must agree on which networks are to be LINKED and
which network these networks are to be LINKED TO.
STEP 1: Modify CALLOUT.NET files for LINKED networks.
For all networks that are to be LINKED you must change the CALLOUT.NET
file, the changes will remove network compression and instruct the
network software to never call on that network. The parameter for
compression in CALLOUT.NET is ';', the parameter instructing the network
software to never call is '+'. Therefore, the CALLOUT.NET file must
have a '+' and must not have a ';'. This would be an example of a
LINKED CALLOUT.NET.
@1 + "ABCDEFGHUJKLMNO"
No changes are required for the LINKED TO network.
STEP 2: Create LINKNETS.NET
LINKUTIL will create this file for you. At this point place LINKER.EXE
(Use LINKERGD.EXE if you have installed the Gold System to your BBS) and
LINKUTIL.EXE in your BBS directory.
Run LINKUTIL.EXE you will see the following menu:
╒═══════════════════════════════════════════════════════════════════════════╕
│ LINKUTIL Linker Utility v3.9, By Hellfire 1@20750 WWIVnet │
│ Copyright (c) 1993,94 Jayson Cowan. - WWIV (r) 1988. Wayne BELL │
╘═══════════════════════════════════════════════════════════════════════════╛
[E]dit LINKNETS.NET
[L]ist Subscriber Editor
[G]et file listing
[R]equest file
[S]end file
[Q]uit
[*]Option?
Select [E]dit and then select [A]dd. You will be prompted for the following
information:
Network the packet is FROM. - Select the number of the network the
system to be LINKED.
System the packet is FROM - Select the node number of the
system to be LINKED.
Network the package is to go TO. - Select the number of the network
the packet is to be LINKED TO.
System the packet is to go TO - Select the node number of the
system to be LINKED TO.
STEP 3: Final Step
There are two ways to complete the LINKER installation.
1] Rename NETWORK2.EXE to NET2.EXE and rename LINKER.EXE to
NETWORK2.EXE.
Or
2] Create a file called EPREPROC.NET in the network directory for all
networks with which you want to use LINKER (all the LINKED and
LINKED TO networks). The file EPREPROC.NET will contain the
following:
LINKER.EXE
As a final note running LINKER will create a directory under your BBS
root directory called BADLINK. This directory is used to store any
network packets that LINKER cannot process, such packets may be
restricted files, misdirected packets or bad packets. Check this
directory occasionally to see if anything is there.
───────────────────────────────────────────────────────────────────────────
4: The purpose of LINKUTIL:
───────────────────────────────────────────────────────────────────────────
LINKUTIL contains a library of useful utilities for network SysOps, they
include. The functions of other programs such as PACKSCAN (Middle Earth
Software) and AUTOSEND (Jafo) are fully incorporated in LINKER.
LINKUTIL allows you to:
The ability to create LINKNETS.NET as described in Section 3 Step 2.
Request a list of files other SysOps using LINKER have made available
to be requested.
Request files from other systems using LINKER.
Send files to other systems using LINKER.
Send subscriber listings for subs which your system hosts
periodically.
Send posts of "Rules" for particular subs you host periodically.
When you load LINKUTIL, you will be see the following menu:
╒═══════════════════════════════════════════════════════════════════════════╕
│ LINKUTIL Linker Utility v3.9, By Hellfire 1@20750 WWIVnet │
│ Copyright (c) 1993,94 Jayson Cowan. - WWIV (r) 1988. Wayne BELL │
╘═══════════════════════════════════════════════════════════════════════════╛
[E]dit LINKNETS.NET
[L]ist Subscriber Editor
[G]et file listing
[R]equest file
[S]end file
[Q]uit
[*]Option?
[E]dit Linknets.Net
In the [E]dit mode, you will be prompted to explain which systems you wish to
be LINKED and which systems you wish packets to be LINKED TO. See
Section 3 Step 2 for more details.
[L]ist Subscriber Editor.
When you select [L]ist Subscriber Editor you be asked to select a network.
Once a network selected LINKER will list the subs your system hosts on
that network you will be prompted to (A)dd, (D)elete or enter the number
of a sub to be modified. Once you select a sub you will see the the
following menu:
[A]dd Subscriber
[D]elete a Subscriber
[P]ost Subscriber list
[R]ules posting
[S]ort Subscriber list
[V]iew Subscriber list
[X] Delete all Unknown Subscribers from list
[Q]uit
[*]Option?
The options in this portion of LINKUTIL are self explanatory with one
exception, that of [R]ules Posting.
[R]ules Posting.
This option provides a SysOp with the ability to automatically post
messages on any sub. Obviously the feature is not limited to posting
sub-host rules, any post can be automated, BBS advertisements, Sub
Advertisements can also be automated.
To utilize this feature the post to be automatically sent must be placed
in the appropriate network sub-directory in this format:
R(subtype).*
Subtype refers to the name of the sub you wish the post to me installed
to. As a default the title of the post will be "Rules Posting", to
change this the first line of the R(subtype) file can me modified like
this:
~E-mail title of your choice
The tilde (~) instructs LINKER to use this line as the message title.
Rules are AUTOMATICALLY posted on the days defined in LINKER.DAT when
LINKUTIL /M is run in your midnight batch file.
[G]et File List.
This will permit you to get lists of files, sysop defined, from systems also
using Linker. They will be returned to you in your transfer section in the
Sysop Directory.
[R]equest File.
To request a file from a fellow Linker sysop, simply enter this option and
enter the file name you wish to receive. Follow the prompts.
New feature for Linker 3.2 /s command line. There is a new prompt from the
dos command line that is now added. You may send files from dos now using as
is in the example;
LINKUTIL /A:1 /N:1 /S:C:\WWIV\DLOADS\WWIVNET\LINKER32.ZIP
■■■ IMPORTANT WARNING ■■■
MOST networks do to permit the transmission of files across the networks.
Because WWIV networking is primarily hobbyist in nature, the costs of
transmissions of network data are assumed by those who volunteer to
operate servers and make long distance connections. If you send or
request files from long distance systems you will undoubtedly cause
someone else to pay for the transmission. This option should only be
used for local systems where transmission is free, or if you MUST
transmit a file long distance you MUST obtain permission of ALL SysOps
enroute BEFORE sending or requesting the file.
[S]end File
You may send a file to any fellow Linker sysop by following the prompts from
this area. You will need to enter the following information
File name {Include path} :
Description :
With this, the file will be sent to your fellow sysop, there to be found in
his SysOp Directory as defined in DIREDIT.
───────────────────────────────────────────────────────────────────────────
5: LINKUTIL Setup:
───────────────────────────────────────────────────────────────────────────
At the heart of LINKUTIL setup is LINKER.DAT. LINKER.DAT must be placed
in the root SysOp directory and contains a list of feature defines in
ASCII format for ease of editing. Disabling an option is achieved by
placing a semi-colon before the instruction line (;) if there is no
semi-colon before the define it will be used. These may also simply be
pasted into your WWIV.INI file.
SUBSEND Sends back issue messages when there is a new sub request.
This process called BISS (Back Issue Sub Sending).
PACKSCAN=LOG.TXT Generic log somewhere in main WWIV directory. This
file can become very large. The log can be appended
to any other text file, a good option being to append
the data to NETDAT0.LOG. To do this use this command
line:
PACKSCAN=C:\WWIV\GFILES\NETDAT0.LOG
If you wish to put the network log information in the
daily user log you can use the USERLOG option on your
PACKSCAN command. Example:
PACKSCAN=USERLOG
REMNOTE.DAT Security support (list of systems that are permitted
to request files) ,supported in WWIV v4.23. Please check
the WWIV 4.23 documentation for more information on this
and the Packscan/Linker support functions.
PURGEDAY=1 To purge out DEAD.NET files for all networks and
return undelivered mail to the system of origin.
LISTGENDAY=1 Date that you wish to generate subscriber lists to be
posted.
DIRS Indicates which directories are able to be accessed
by file requests. The numbers correspond to the
numbers for the directories as seen in DIREDIT. The
directories MUST be listed sequentially.
MOREINFO This will cause the output of more information. This is
usually used for debuging linked connections.
RULESDAY=1 Put in the date of the month that you wish to automaticly
post sub rules. LinkUtil will post rules that you place in
your network data directory. The file name must be named
R<sub type>.* and in that file you can have any text
that you wish to post. Make sure if you have gated subs
that you post sub rules on only ONE of the networks
otherwise you will send multiple rule posts.
UPDIR=1 This option allows you to change the directory that files
are placed when sent by Linker. Linker defaults to directory
0 (SysOp directory) as a default.
PRETTY Enables the Graphical Interface. Which shows what files
files are being scanned and also displays a colored
bar graph.
T_COLOUR= Text color of graphical interface.
B_COLOUR= Background color of graphical interface.
MAINTLOG= When this is added to Linker.dat LINKUTIL.EXE will output
a verbose log file of LINKUTIL's actions.
DELETE_UNKNOWN When this option is enabled LINKUTIL will delete any
Unknown systems on your hosted subs when they are sorted.
DISK_BUFFER This option will greatly decrease analysis time if
enabled, the draw back is that 32727 Bytes extra is
needed to do so. Most SysOps do not have enough free
memory to use this option.
LISTCOLOUR=
LISTCOLOUR defines the colors to be used in generating subscriber
listings. These colors correspond with your WWIV colors so if you wish to use t
he
standard 0-9 and A-Z your welcome to do so. Each number and comma
corresponds to a line in the list generation. Linkutil will default to
the original colors if this option is not included. Each number corresponds
to a line in the Subscriber List as follows:
Line 1: Systems Subscribing to:
Line 2: Hosted by :
Line 3: ════════════════════════════════════════════════════════════════════
Line 4: Node System Name .....etc.
Line 5: ───── ─────────────────────────────────── ───────────────────── ──
Line 6 & 7: The names of the systems subscribing color 6 is the color of the
"Host" system, and color 7 is the color of the rest of the systems.
Line 8: ───── ─────────────────────────────────── ───────────────────── ──
^^Note that this is the end header,make it the same color as Line 5.
Line 9: Total Systems on <Network Name>.
Line 10: ═════════════════════════════════════════════════════════════════════
^^Another "End Header" Make it the same color as Line 3.
Line 11: Total Systems on all networks:
───────────────────────────────────────────────────────────────────────────
6: Command Line Options:
───────────────────────────────────────────────────────────────────────────
The following information outlines the possible command line options for
Linker and Linkutil.
This is the complete list of command line options to Linker
LINKER [.[n]][/B:[node],[subtype]][/I][/O]
[.[n]]: n indicates the network in which Linker will scan
[/B:[node],[subtype]]: Send back Issue subs to [node] for [subtype]
[/I]: Analyzes incoming data only
[/O]: Analyzes outgoing data only
LINKUTIL also has the following command line options.
LINKUTIL [/F:filename[;]...][/S:[[drive:][path][filename[;]...]][/A:[n]]
[/N:[n]][/M]
/F:[filename[;]...]: name of file to request
/S:[[drive:][path][filename[;]...] path and name of file to send
/A:[n]: Node to request file from
/N:[n]: Network to request file from
/M: Run maintenance in unattended mode
───────────────────────────────────────────────────────────────────────────
7: Trouble Shooting:
───────────────────────────────────────────────────────────────────────────
Q: It doesn't work!
A: The most common problem with setting up linker is naming the data file
linknets.net to linknets.dat in the mistaken belief that it should be a
data file. Be sure that you have Linknets.net in your wwiv main dir.
Q: My packets are all mashed and mail is everywhere!
A: check all your network data dirs for network2.exe's delete them, they
should only appear in your wwiv main dir. If you cannot then linker is
not for you.
Q: I have done that and they are still a mess! Mail doesn't seem to be
going to the correct place.
A: Check your linknets.net. You likely have the nodes cross configured and
it's sending to an incorrect node or network.
Q: I am getting any linked packets in from my server.
A: Inform your server, he may not have things set up incorrectly on his end.
Q: He has it set fine there, but I have noticed that my mail isn't linking.
A: THREE possibilities.
ONE your network processors are in the wrong order. Re-install
the works just to be sure.
TWO try setting the linker processer up as an event every
night before you do your callouts. Doing this should clear up
pending network data.
THREE you have compression set on your network data, remove it.
that is go into callout.net and remove the semicolon ";"
Q: I am running VBBS and it just doesn't work right for me.
A: Sorry, the decision to run VBBS has hurt you again!
───────────────────────────────────────────────────────────────────────────
8: Source Code Modifications:
───────────────────────────────────────────────────────────────────────────
Modifications used here in the documentation are used with permission
of the authors and are for use ONLY by those sysops who have registered
WWIV BBS software with WWIV Support Services. For further information
on WWIV registration, contact Filo, 1@2051 WWIVNet or your local Network
AC/GC.
Remember, SOFTWARE PIRACY IS AGAINST THE LAW. Lets all support the Shareware
concept.
[1] Linker Clean up Mod for WWIV 4.24
This modification will clean up your pending packets following all
network connections. Not needed for Linker Pro.
Load up NETSUP.C and find the function cleanup_net
if (ok) {
holdphone(1);
hangup=0;
using_modem=0;
if (run_external1_x("NETWORK1")<0)
abort=1;
else
any=1;
ok2=1;
extern_prog("LINKER /O", EFLAG_NETPROG|EFLAG_SHRINK);
}
[2] Linker BISS (Back Issue Sub Send) mod for WWIV 4.24
This mod will allow you to send BISS Back Issue subs from the mail prompt
when you add a new subscriber.
This mod is real simple just load up the file READMAIL.C and change the this
line in the function add_netsubscriber.
sprintf(ns1,"AUTOSEND.EXE %s %u .%d",s1,sn,net_num);
to
sprintf(ns1,"NETWORK2.EXE /B:%u,%s .%d",sn,s1,net_num);
or if your using epreproc.net
sprintf(ns1,"LINKER.EXE /B:%u,%s .%d",sn,s1,net_num);
or if your using Linker pro
sprintf(ns1,"NETWORK1.EXE /B:%u,%s .%d",sn,s1,net_num);
and your done.
[3] WHOMOD02.423 - Removes LINKED connections from PENDING display.
[Author "Keeper of the Matrix" 1@2925 IceNET
should work just fine for 4.24 - Hellfire
File: NETSUP.C
Add these two lines in void force_callout:
= if (!net_networks[net_num].con)
= read_call_out_list();
=
= i=-1;
= for (i1=0; i1<net_networks[net_num].num_con; i1++) {
+ if ((net_networks[net_num].con[i1].options & options_PCP_night))
+ continue;
= if (net_networks[net_num].con[i1].sysnum == sn) {
= i=i1;
= break;
= }
= }
=
= if (i!=-1) {
Replace this void...
void print_pending_list(void)
{
int i,i1,i2,nn,num_ncn, num_call_sys,abort=0;
char s[100],ch,s1[100];
long l,l2;
unsigned long ss;
net_call_out_rec *con;
net_contact_rec *ncn;
if ((net_networks[0].sysnum==0) && (net_num_max==1))
return;
time(&l);
ss=thisuser.sysstatus;
thisuser.sysstatus |= sysstatus_pause_on_page;
nln(2);
pla(get_string(912),&abort);
if (net_num_max>1) {
pla(get_string(913),&abort);
pla(get_string(914),&abort);
pla(get_string(961),&abort);
} else {
pla(get_string(915),&abort);
pla(get_string(916),&abort);
pla(get_string(962),&abort);
}
for (nn=0; nn<net_num_max; nn++) {
set_net_num(nn);
if (!net_sysnum)
continue;
if (!net_networks[net_num].con)
read_call_out_list();
if (!net_networks[net_num].ncn)
read_contacts();
con=net_networks[net_num].con;
ncn=net_networks[net_num].ncn;
num_call_sys=net_networks[net_num].num_con;
num_ncn=net_networks[net_num].num_ncn;
for (i1=0; i1<num_call_sys; i1++) {
i2=-1;
for (i=0; i<num_ncn; i++) {
if (con[i1].sysnum==ncn[i].systemnumber) {
i2=i;
break;
}
}
if (i2!=-1) {
if (ok_to_call(i1)) {
if ((bytes_to_k(ncn[i2].bytes_waiting)>=con[i1].min_k) ||
(labs(l-ncn[i2].lastcontact)>=SECONDS_PER_DAY))
ch='*';
else
ch='+';
} else
ch=' ';
if (ncn[i2].lastcontactsent) {
sprintf(s1,"%4ld:",(l-ncn[i2].lastcontactsent)/SECONDS_PER_HOUR);
l2=(((l-ncn[i2].lastcontactsent)%SECONDS_PER_HOUR)/60);
itoa(l2,s,10);
if (l2<10) {
strcat(s1,"0");
strcat(s1,s);
} else
strcat(s1,s);
} else
strcpy(s1,get_string(917));
if (!(con[i1].options & options_PCP_night)) {
if (net_num_max>1) {
sprintf(s,"%s7│5 %c%s%-11s%s%-6u%s%6ldk%s%11s 7│",0
charstr(14,' '),
ch,
get_string(974),
net_name,
get_string(974),
ncn[i2].systemnumber,
get_string(974),
bytes_to_k(ncn[i2].bytes_waiting),
get_string(974),
s1);
pla(s,&abort);
} else {
sprintf(s,"%s7│5 %c%s%-6u%s%6ldk%s%11s 7│",0
charstr(21,' '),
ch,
get_string(974),
ncn[i2].systemnumber,
get_string(974),
bytes_to_k(ncn[i2].bytes_waiting),
get_string(974),
s1);
pla(s,&abort);
}
}
}
}
}
for (nn=0; nn<net_num_max; nn++) {
set_net_num(nn);
if (!net_sysnum)
continue;
sprintf(s,"%sDEAD.NET",net_data);
i=sh_open1(s,O_RDONLY | O_BINARY);
if (i>0) {
l=filelength(i);
sh_close(i);
if (net_num_max>1) {
sprintf(s,
"%s%s%-11s%s%6ldk%s",
charstr(14,' '),
get_string(966),
net_name,
get_string(967),
bytes_to_k(l),
get_string(964));
} else {
sprintf(s,
"%s%s%6ldk%s",
charstr(21,' '),
get_string(965),
bytes_to_k(l),
get_string(964));
}
pla(s,&abort);
}
}
for (nn=0; nn<net_num_max; nn++) {
set_net_num(nn);
if (!net_sysnum)
continue;
sprintf(s,"%sCHECK.NET",net_data);
i=sh_open1(s,O_RDONLY | O_BINARY);
if (i>0) {
l=filelength(i);
sh_close(i);
if (net_num_max>1) {
sprintf(s,
"%s%s%-11s%s%6ldk",
charstr(14,' '),
get_string(966),
net_name,
get_string(967),
bytes_to_k(l));
strcat(s,get_string(1242));
} else {
sprintf(s,
"%s%s%6ldk",
charstr(21,' '),
get_string(965),
bytes_to_k(l));
strcat(s,get_string(1242));
}
pla(s,&abort);
}
}
if (net_num_max>1)
pla(get_string(918),&abort);
else
pla(get_string(963),&abort);
nl();
thisuser.sysstatus=ss;
if((!useron) && (lines_listed))
pausescr();
}
NOTE - You will have to put a '=' in your CALLOUT.NET for the connects you
would like to disappear from the pending box...
───────────────────────────────────────────────────────────────────────────
9: Greenware:
───────────────────────────────────────────────────────────────────────────
Please note - this program is GreenWare. You may use it for an evaluation
period of 30 DAYS. Even though this software is FULLY ENABLED without
registration make no mistake the software is not licensed to you unless
you register. The registration fee is merely Ten Dollars, or you may apply
to our alternative GREENWARE program. The GREENWARE program requires that you
email Parapuke 1@18251.WWIVLink or 1@8251.WWIVnet and send in the GREENWARE
registration form.
The GREENWARE registration form has more information on what that means.
Please send money to:
John Wheeler
8703 East Wabash Ave Lot #57
Terre Haute, IN 47803
In a new and exciting concept in the software industry, the authors and ßeta
testers of Linker wish to introduce nationwide a concept in Shareware
Registration known as GreenWare.
The concept is simple. We care for the environment and the world we live in.
In order to register this this software, you may do the following.
Make a commitment to the planet you and I live on and promise to make at
least one change in your life that is environmentally friendly. For
example you may:
Recycle! You use enough paper with your printer don't you?
Take some aluminum cans to the Recyclers.
Plant a tree.
Use Public Transportation.
Car pool.
The list goes on.
When you have done that, send mail to me telling me that you care for the
environment and we will consider you fully registered as a user of this
software.
For more information see GRENWARE.REG