ࡱ; v  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuwxyz{|}~Root Entry FPۮѼCompObjbWordDocument߷ObjectPool#Ѽ#Ѽ 4@   FMicrosoft Word 6.0 Document MSWordDocWord.Document.6;  Oh+'0$ H l   D h(D:\MSOFFICE\WINWORD\TEMPLATE\NORMAL.DOT MajorTCP/IP Sylvain DurocherSylvain Durocher@Oχܥe= e ߷y dfpfppipipipipijkjkjkjkjkzkjkjk1lBsXsXsXsXs#t< &$llKT@piεXsXsεεεpipiXslεεεεpiXspiXsi:j0pipipipiεε.ε MajorTCP/IP TCP/IP Connectivity Software for The MajorBBS and Worldgroup by Vircom Inc. Installation Guide (Advanced Features addendum) time \@ "MMMM d, yyyy" October 9, 1997 v2.20-X TABLE OF CONTENTS  TOC \o "1-4" Advanced Features: multi-homing capability  GOTOBUTTON _Toc400739157  PAGEREF _Toc400739157 4 Multi-homing Overview  GOTOBUTTON _Toc400739158  PAGEREF _Toc400739158 4 Installation procedure for multi-homing  GOTOBUTTON _Toc400739159  PAGEREF _Toc400739159 5 Configure SMTP E-mail Multi-Homing / Virtual Domains  GOTOBUTTON _Toc400739160  PAGEREF _Toc400739160 6 Prepare MajorTCP/IP for the SMTP Host Alias File.  GOTOBUTTON _Toc400739161  PAGEREF _Toc400739161 6 Create the SMTP Host Alias File  GOTOBUTTON _Toc400739162  PAGEREF _Toc400739162 6 Register the alias or aliases.  GOTOBUTTON _Toc400739163  PAGEREF _Toc400739163 7 Configure the IP range for Telnet/RLogin and WWW Multi-homing  GOTOBUTTON _Toc400739164  PAGEREF _Toc400739164 7 Follow these steps to tell the BBS to use multiple-IP addresses:  GOTOBUTTON _Toc400739165  PAGEREF _Toc400739165 7 Configure WWW Multi-Homing  GOTOBUTTON _Toc400739166  PAGEREF _Toc400739166 8 Assign an IP address to www.widget.com  GOTOBUTTON _Toc400739167  PAGEREF _Toc400739167 8 Configure the default web page directory for the new IP address  GOTOBUTTON _Toc400739168  PAGEREF _Toc400739168 9 Addaccess control (optional)  GOTOBUTTON _Toc400739169  PAGEREF _Toc400739169 9 Identify your web server for proper directory redirection.  GOTOBUTTON _Toc400739170  PAGEREF _Toc400739170 9 Configure Telnet/RLogin Multi-Homing  GOTOBUTTON _Toc400739171  PAGEREF _Toc400739171 10 Configure FTP Multi-Homing  GOTOBUTTON _Toc400739172  PAGEREF _Toc400739172 11 Sample system configuration for Multi-Homing  GOTOBUTTON _Toc400739173  PAGEREF _Toc400739173 13 Advanced Features: banning outside systems  GOTOBUTTON _Toc400739174  PAGEREF _Toc400739174 16 Overview  GOTOBUTTON _Toc400739175  PAGEREF _Toc400739175 16 Installation procedure for TCPSITES.BAN file  GOTOBUTTON _Toc400739176  PAGEREF _Toc400739176 16 Configure the TCPLIBM.MSG file  GOTOBUTTON _Toc400739177  PAGEREF _Toc400739177 16 Level 4 - System options configuration  GOTOBUTTON _Toc400739178  PAGEREF _Toc400739178 16 Create the TCPSITES.BAN file  GOTOBUTTON _Toc400739179  PAGEREF _Toc400739179 17 Advanced Features: DMA Server configuration  GOTOBUTTON _Toc400739180  PAGEREF _Toc400739180 18 Overview  GOTOBUTTON _Toc400739181  PAGEREF _Toc400739181 18 Definitions  GOTOBUTTON _Toc400739182  PAGEREF _Toc400739182 18 What is DMA?  GOTOBUTTON _Toc400739183  PAGEREF _Toc400739183 18 Multiple-Multiple Relationships  GOTOBUTTON _Toc400739184  PAGEREF _Toc400739184 19 Compatibility  GOTOBUTTON _Toc400739185  PAGEREF _Toc400739185 19 LICENSING  GOTOBUTTON _Toc400739186  PAGEREF _Toc400739186 19 Limitations of DMA  GOTOBUTTON _Toc400739187  PAGEREF _Toc400739187 19 Installation procedure for the DMA Server  GOTOBUTTON _Toc400739188  PAGEREF _Toc400739188 19 Configure the security on the DMA Server  GOTOBUTTON _Toc400739189  PAGEREF _Toc400739189 20 Setting the TCPSITES.BAN file as a DMA Server access file  GOTOBUTTON _Toc400739190  PAGEREF _Toc400739190 20 Set the DMA Password on the DMA Server and the special Rlogin string on the MasterBBS.  GOTOBUTTON _Toc400739191  PAGEREF _Toc400739191 20 Set Master Key access to the DMA Server  GOTOBUTTON _Toc400739192  PAGEREF _Toc400739192 21 Configure the DMA Access control file for multiple MasterBBS access  GOTOBUTTON _Toc400739193  PAGEREF _Toc400739193 21 Experimental Option #1  GOTOBUTTON _Toc400739194  PAGEREF _Toc400739194 21 Experimental Option #2  GOTOBUTTON _Toc400739195  PAGEREF _Toc400739195 22 Configure the MSG files on the DMA Server  GOTOBUTTON _Toc400739196  PAGEREF _Toc400739196 22 Configuration Options to change on the DMA Server  GOTOBUTTON _Toc400739197  PAGEREF _Toc400739197 22 Configuration option changes specific to MajorBBS 6.25  GOTOBUTTON _Toc400739198  PAGEREF _Toc400739198 23 Configuration option changes specific to Worldgroup  GOTOBUTTON _Toc400739199  PAGEREF _Toc400739199 23 Configure the MSG files on the MasterBBS  GOTOBUTTON _Toc400739200  PAGEREF _Toc400739200 23 Install/Move modules from the MasterBBS to the DMA Server  GOTOBUTTON _Toc400739201  PAGEREF _Toc400739201 23 Setup the link from the MasterBBS to the DMA Server  GOTOBUTTON _Toc400739202  PAGEREF _Toc400739202 23 Use the following procedure to create the Rlogin page on the MasterBBS  GOTOBUTTON _Toc400739203  PAGEREF _Toc400739203 23 Details about the command string.  GOTOBUTTON _Toc400739204  PAGEREF _Toc400739204 24 Some examples:  GOTOBUTTON _Toc400739205  PAGEREF _Toc400739205 25 Additional Notes  GOTOBUTTON _Toc400739206  PAGEREF _Toc400739206 25 Advanced Features: HTML parsing for TCPWEB2  GOTOBUTTON _Toc400739207  PAGEREF _Toc400739207 26 Overview  GOTOBUTTON _Toc400739208  PAGEREF _Toc400739208 26 Variable types available  GOTOBUTTON _Toc400739209  PAGEREF _Toc400739209 26 Generic text variables  GOTOBUTTON _Toc400739210  PAGEREF _Toc400739210 26 BBS text variables  GOTOBUTTON _Toc400739211  PAGEREF _Toc400739211 28 Special-case variables  GOTOBUTTON _Toc400739212  PAGEREF _Toc400739212 29  Advanced Features: multi-homing capability This is the first of a series of advanced features that will be added to MajorTCP/IP. Contrary to the rest of MajorTCP/IPs documentation, we assume here that you have a solid grasp of MajorBBS/Worldgroup operations and understand the various issues pertaining to domain names and internic registration. Last revised June 3rd, 1997 Added Email alias Filter. You define an alias filter file in ALSSPCF (TCPSMTP.MSG, level 4 config). This file is reloaded automatically every 5 minutes. Usefull for multi-homing. Check in the SMTP section of the manual for more details. The main function of this alias filter is it lets you do something like this: sales@domain1.com sales_domain1 sales@domain2.com sales_domain2 sales@yourdomain.com sales_yourdomain As you can see, you can now have more than one sales account on your system, with each one pointing at a different real user. SMTP will redirect email to the appropriate account as per the settings of the alias file. Multi-homing Overview Multi-homing lets you transform your system into multiple virtual BBS. This means that your BBS can disguise itself to suit your clients needs. A growth industry was created recently by the desire for companies to have their own domain name, with associated Web and E-mail services. Unfortunately, up until the latest version of MajorTCP/IP, it wasnt possible to offer such personalized services except through a fake multi-homing scheme, accomplished via an alias of the primary domain name of the BBS corresponding to the clients desired domain name, a web page directory for the client and use of a POP3 mail-reader so any outgoing mail is labeled as coming from the aliased domain name. With the new version of MajorTCP/IP comes the capability of offering true multi-hosting capability. Multi-hosting covers five aspects of BBS virtuality. SMTP E-mail Virtual Domains The domain added to the User ID on outgoing E-mails can now be different based on the user's class. Combined with MajorTCP/IP's multiple host aliases, it is now possible to truly handle mail for different domains. The limit of 20 domains is also removed to allow a large number of virtual mail domains running on the same Worldgroup server. This means that the SMTP module can be configured to accept a large number of domain names were accepting E-mail for. In addition, specific user classes can be set so that any Email they send out using the SMTP module will go out under a specific domain: If a company called Widgets Inc. wants to receive and send E-mail using your BBS as if all mail was coming from widgets.com, it can. Incoming mail destined for the president of widgets.com will not be rejected, as widgets.com will be regarded as a proper alias of yourdomain.com. Furthermore, any mail sent by the president of widget.com will be labeled as coming from widget.com, not yoursystem.com. Telnet/RLogin Virtual Domains Your Worldgroup server can now be configured to listen to multiple IP addresses. This provides a powerful method of hosting multiple virtual BBS on the same Worldgroup server. When a Telnet/RLogin connection is opened, MajorTCP/IP defines a pseudo-key based on the IP address called. Used in concert with products such as High Water Mark's "Virtual User", different login screens and menu trees could be displayed. This capability requires that you assign one IP address of your class C (or range of IP addresses available) to this use for each company that requests this capability. Lets assume your BBS is located at 199.84.216.2, and you own the entire class C (from 199.84.216.0 to 199.84.216.255). You assign the widgets.com domain name the IP 199.84.216.20. If someone telnets to widgets.com, they will hit your BBS through the 199.84.216.20 IP address. A text variable will indicate this upon log-in. Using autoselect menus, you could conceivably create a totally different menu hierarchy for users coming from that IP address, basically making your BBS into a virtual BBS. WWW Virtual Domain Based on the IP address the WWW request came for, web pages stored in different directories will be transmitted to the browser. Since the information is kept in distinct directory tree structure for each IP address, maintenance of the client's web site becomes an easy task. This capability requires that you assign one IP address of your class C (or range of IP addresses available) to this use for each company that requests this capability. The same way we know from which IP address someone tries to connect to, we know what IP address they are using to gain access to the web server. All we do is assign a different directory tree for that IP. What this means is that a person trying to do an http://widgets.com/ will get the index.htm page of the directory tree assigned to widgets.com (199.84.216.20) , instead of the previous case where widgets.com simply pointed to your BBS IP address which meant no differentiation between domain name aliases and the IP address. That forced you to put the clients web pages in a subdirectory of your only directory tree for web pages. The URL would look like http://widgets.com/hisdir/ instead, which is a bit strange, if the system is supposed to pretend to be a standalone web server for widgets.com. FTP Server Multi-homing MajorTCP/IPs new FTP server supports anonymous access multi-homing. That means that you could operate various libraries for companies that want to be hosted on your system, and make them accessible to their domain names via FTP. This feature however only works for anonymous FTP access. Multi-Homing and Murkworks Worldsock When using WorldSock, all users are normally using the same IP address which is the base BBS IP address. This works fine for most applications, but some (like CuSeeMe) require their own address. We've added an API to MajorTCP/IP that will enable Murkworks to change Worldsock so that it can assign IP addresses to individual users. The IP address will come from the multi group defined further in this section. Murkworks has confirmed that they have adapted multi-homing to provite dynamic IP addressing to Worldsock users. Installation procedure for multi-homing Each multi-homing option is totally optional. Feel free to use only those options you need. STEPDescriptionDone#1Configure SMTP E-mail Multi-Homing / Virtual Domains#2Configure the IP range for Telnet/RLogin and WWW Multi-homing#3Configure WWW Multi-Homing#4Configure Telnet/RLogin Multi-Homing#5Configure FTP Multi-Homing#6*Check out the Sample system configuration for Multi-Homing * Step #6 isnt really a step, more of a suggestion in case you need a concrete example configuration-wise. Configure SMTP E-mail Multi-Homing / Virtual Domains Normally, SMTP processes mail that is only addressed to you base BBS hostname + domain name as specified in TCPLIBM.MSG, level 1 hardware configuration. E-mail addressed to other domain names will be promptly rejected. Thats not very usefull if you want to be able to handle multiple domain names. E-mail multi-homing involves extra domain names that will either point at your BBS IP address or an IP address from your class C that MUST be processed in the same fashion mail is processed for your BBS domain name. To this end, you need to create the host alias file identifying all the domain names that correspond to your BBS. These domain names are called domain name aliases. Prepare MajorTCP/IP for the SMTP Host Alias File. This step tells SMTP which file is going to contain the various domain names that the BBS will be handling mail for. From the CNF, go to level 4 configuration options. Press on F8 - Search. Look for SMAL01. It should be found under TCPSMTP.MSG. At the SMAL01 parameter, type in $ followed by the filename of your SMTP Host alias file. We use on our own support BBS the name of TCPSMHAL.TXT, so we wrote $TCPSMHAL.TXT in the SMAL01 parameter. Note that doing this disables any other alias entered in SMAL02 to SMAL20 if you have any. Youll have to transfer these to the alias file. Go to DOS. Create the SMTP Host Alias File Fire up an ascii text editor (like Dos Edit) and create the file defined in the SMAL01 parameter. This is the format the file should take with an example: Format of the file: host1 [class] host2 [class] host3 [class] host4 [class] hostn: a hostname.domainname that is to be considered as another alias for the BBS. We will accept all email addressed to this hostname.domainname as mail for users on the BBS. If it begins with a '*', only the characters after the '*' will be matched. Example: gm.gamemaster.qc.ca, *.gamemaster.qc.ca [Class: OPTIONAL] If a user is in this class at the time SMTP tries to send the email out, the email will be sent out using the hostname listed above. You do not want to use this feature with wildcard ('*') domains. Example: gm.gamemaster.qc.ca HOURLY Example: gm.gamemaster.qc.ca HOURLY bbs.vircom.com VIRCOM_STAFF widget.com WIDGET_USER www.vircom.com Those in the HOURLY class will have their E-mail labeled as coming from gm.gamemaster.qc.ca. Those in the VIRCOM_STAFF class will see their E-mail labeled as coming from bbs.vircom.com. Those in the WIDGET_USER class will see their E-mail labeled as coming from the widget.com system. Finally, the last line simply indicates another alias of the BBSes domain name. No class means that no mail will be labeled as coming from www.vircom.com. (except for the base HOSTNAME and DOMNAME where, if a user doesnt have any of the mentionned classes, his mail will be label as coming from the HOSTNAME+DOMNAME in TCPLIBM.MSG, or SMTPFROM in TCPSMTP.MSG). Register the alias or aliases. You'll need to ask your provider to add each domain alias to his DNS servers (the configuration of which is beyond the scope of our support). These alias domains will need to be routed to your BBS. This would usually be done by defining an MX record of priority 0 pointing to your BBS for each alias defined. Furthermore, these domain name aliases will need to be registered on the internic, something your provider can do for you. For more information about domain name registration, try http://rs.internic.net/. If your clients only require E-mail multi-homing, you will not need to assign a different IP address for that particular domain. However, if your client will require Virtual Telnets/RLogins or a Virtual Web Site, then youll need to have the client registered under the IP address you will assign him from your class C. E-mail will need to be routed to your primary BBS IP by your provider through the MX records. Configure the IP range for Telnet/RLogin and WWW Multi-homing This feature lets your BBS TCP/IP Servers listen to multiple IP addresses at the same time. Some servers (WEB2, Telnet/RLogin) have been modified to take special advantage of this. Follow these steps to tell the BBS to use multiple-IP addresses: Go to level 1 - hardware configuration Press F8 - Search to Find the Special Configuration options CFGTXT01 Go to the first available option (usually CFGTXT01) Type in multi:lowip/highip, where lowip is the Lowest IP address MajorTCP/IP will use for the IP multi-domains and highip is the highest IP address. This is in addition to the normal IP address of the BBS. This range must not overlap with the ranges assigned in the SLIP/CSLIP/PPP server (see SLIPDLOW/SLIPDHGH and SLIPSLOW/SLIPSHGH in TCPSLIP.MSG, level 4 configuration). Results are unpredictable if they overlap. Only enter the last digits of the range. Example: System owns the entire 199.84.216.XXX class C. MYIPADDR TCPLIBM.MSG (CNF1) 199.84.216.2 GATEWAY1 TCPLIBM.MSG (CNF1) 199.84.216.1 SLIPNET TCPSLIP.MSG (CNF4) 199.84.216.0 SLIPDLOW TCPSLIP.MSG (CNF4) 100 SLIPDHGH TCPSLIP.MSG (CNF4) 175 SLIPSLOW TCPSLIP.MSG (CNF4) 176 SLIPSHGH TCPSLIP.MSG (CNF4) 254 CFGTXT01 TCPLIBM.MSG (CNF1) multi:10/50 Say, for the 199.84.216.X class C address, we have 199.84.216.100 to 175 assigned for dynamic IP allocation, and 176 to 254 for static IP allocation in the SLIP/CSLIP/PPP server. We select the range from 199.84.216.10 to 199.84.216.50 as the range of IP addresses well allocate for multi-homing. That means that well enter multi:10/50 in the CFGTXTXX parameter in TCPLIBM.MSG, level 1 hardware config. Youll need to define hostname.domainnames for each IP that you will allocate to various clients who want their own domain name. Youll have to deal with your provider to add these to his DNS server and to register these domains with the Internic. Dont forget what was mentionned in the SMTP E-mail multi-homing section about the MX records as well if you want these users to be able to send and receive E-mail under their own domain name. Configure WWW Multi-Homing Before we wrote the Multi-Homing components for the web server, those of you that are selling domain names for the WWW were probably using this technique to do pseudo-multi-homing: Let's say your World-Wide-Web server address is www.yourdomain.com. Your customer (Widget Inc.) wants to have a page on your server. Before multi-homing, his URL would most likely be http://www.widget.com/info or http://www.widget.com/info/index.htm. Although you created an alias for www.yourdomain.com thats called www.widget.com, you need to put the clients pages in a subdirectory that must be accessed explicitly. Most customers would rather have their pages accessible directly without having to specify a subdirectory. They would prefer that their URL looked like http://www.widget.com. This is now possible. Well use the example in STEP #2 (widget.com), using one of the IP addresses from the multi:lowip/highip range to illustrate the process. Assign an IP address to www.widget.com You'll first get one IP address from your multi range (the multi:lowip/highip mentionned in the previous chapter), and assign it to www.widget.com in your providers DNS name server. (Of course, you'll have to register the domain by talking to your provider and the internic ...), We'll assume that you want to assign 199.84.216.45 to www.widget.com as per the example in STEP #2. Configure the default web page directory for the new IP address The WWW server will now automatically serve a different default (home) directory for this IP address. What this means is that, instead of looking for pages in the standard TCPWEB2\WEBPAGES directory, all pages retrieved via www.widget.com will be taken from the TCPWEB2\WEBPAGES.045 directory. If the directory doesnt exist, youll need to create it by hand under TCPWEB2. Example: If the domain name will be pointing at 199.84.216.45, the directory is WEBPAGES.045 If the domain name is pointing at 199.84.216.220, the directory is WEBPAGES.220 You can use multi-homing with the WEBACCESS.LOG file and the IMAGEMAPs as well. Normally, WEBACCESS.LOG is stored in the TCPWEB2 directory, and most image maps will be stored in the TCPWEB2\IMAGEMAP directory. To make sure that both the web access logs and the image maps will be used directly from the new directory created for the domain name selected, set LOGLOC to YES and IMGLOC to YES in TCPWEB2.MSG, level 4 configuration. In our last example, this means that both the webaccess log and imagemaps will be found in the WEBPAGES.045 directory, under the TCPWEB2 directory. Addaccess control (optional) You will probably want to protect your webaccess.log with a key, if you have set LOGLOC to NO in TCPWEB2.MSG, level 4 configuration.. The format of the access.ctl file has been expanded so that you can specify to which IP address the page you're trying to protect belongs to. The format is now: page key [IP] page key [IP] page key [IP] Example: INDEX.HTM WIDGKEY 45 COMMENT.HTM WIDGKEY 45 FILE.ZIP WIDGETKEY 45 This will protect the TCPWEB2\WEBPAGES.045\index.htm, with the key WIDGKEY. Also the comment.htm and the file.zip file. If you use 0 as the IP, all pages of that name, for all IPs, will be protected. If you don't put anything, it protects only for the base IP of the BBS. Identify your web server for proper directory redirection. You need to create a file, called TCPW2HST.TXT that defines all the hosts names the Web2 server will be using. Its a text file, in the directory TCPWEB2, that has the following format. For more information, see the WEB2HOST option in TCPWEB2 documentation, level 4 configuration. Example: 199.84.216.2 www.vircom.com 199.84.216.20 www.widget.com 199.84.216.30 www.thisco.com The "hostname" is what will be used on a redirection when the server hit is on that IP address. The BBS' base IP address doesn't have to be defined here (and will be ignored if it is) and always uses WEB2HOST or HOSTNAME/DOMNAME if WEB2HOST is empty in TCPWEB2.MSG, level 4 configuration. Configure Telnet/RLogin Multi-Homing These two servers will accept calls on all IP addresses listed in the multi: command. In addition, you can see which IP address the user telneted to in the /TCPID command while the user is online. This address is also defined in the TCP_CALLED_IP text variable and can be keyed using the _TCP_CIP#nnn pseudo key. Example: If you wanted an auto-select page to be selected only when the user telneted to 199.84.216.45 (or the domain associated with this IP address), then you would used the key _TCP_CIP#45 to key the auto-select page. The applications of these features are vast. One can conceive a virtual BBS that would look totally different depending on which IP address the user telneted to. We'll try to make a list of ISV add-ons that can be used to help doing this. A real world example: alternate TOP menu for someone coming from an alternate IP Lets assume for arguments sake that the IP address of 199.84.216.45 is the IP address assigned to the widgets.com domain name as per the previous paragraphs. We want to offer users of Widgets an alternate TOP menu that they will see when logging onto the BBS. The key to verify would be _TCP_CIP#45. Someone getting this key would obtain the TOP2 menu instead of the the TOP menu. 1. Startup the system and go into your menu tree. From the CNF menu, pick option #2, Design Menu Tree 2. Create the TOPDEF menu page The TOPDEF page would become the default TOP page that would be called by the original TOP page. You need to copy all the options you have in your normal TOP menu to this menu because the TOP menu will be turned into an autoselect menu. (Teleconference, Forums, Email, so on and so forth ...) 3. Create the TOP45 menu page The TOP45 menu page is the menu that will be called for people telnetting in from the 199.84.216.45 IP address (as per example). This menu can contain whatever options you want, including options from the original TOP menu. 4. Modify the TOP menu In the Is this an autoselect menu option, set it to YES. Delete all the options in the TOP menu (Teleconference, Forums ...). Create the first option Select character ............................ Unimportant. Short description ........................... Widget alternate menu Key required .................................. _TCP_CIP#45 If user has no key ........................... Dim Option Destination page ............................ TOP45 Save this option ............................. YES Create the second option Select character ............................ Unimportant. Short description ........................... Default main menu Key required .................................. If user has no key ........................... Dim Option Destination page ............................ TOPDEF Save this option ............................. YES Youre done! The new TOP menu would work this way. If the person logs in via the .45 IP address, he is assigned the _TCP_CIP#45 key that will automatically force him into the TOP45 menu, which is the menu specific to Widget BBS. If however, the user doesnt have the _TCP_CIP#45 key, he will automatically get the TOPDEF menu which is simply a carbon copy of the original TOP menu, before we turned it into an auto-select page. Using this example, you could have as many different TOP menus as you have individual companies using your multi-homing services. Configure FTP Multi-Homing With the birth of MajorTCP/IPs FTP server, we decided to add multi-homing capability to the new module from the outset. What multi-homing allows with the new FTP server is the ability to offer anonymous user access tailored to the various subdomain names that are assigned to your system. What this means is that, if say, as per the previous examples, someone accesses the ftp site at 199.84.216.30 (widget.com instead of vircom.com which is .2) as an anonymous, he will be placed in a special class from the outset. All you need to do then is to define these classes with personalized keyrings that grant access to libraries that may or may not be exclusive to the company that has the subdomain name. For more information about the FTP server, check out STEP #15: Configuring the FTP server in this manual. FTP Multi-homing only works with anonymous FTP access. Heres a setup example: Say your system is called something.com and is at the 199.84.216.2 IP address. Youve defined as your multi:low/high range from .20 to .30 (multi:20/30). The somecorp.com domain name was assigned to the 199.84.216.20 IP address. Someone doing an FTP access to the somecorp.com domain name would thus be coming in at the 199.84.216.20 IP address. The user logs in as anonymous with the password corresponding to his E-mail address. Automatically, MajorTCP/IP will put this user in a special class. The class for anonymous users is defined in the ANONCLS parameter in TCPFTPD.MSG, level 4 configuration. In our case, the default is DEMO. When a user connects via multi-homing, in this example on the .20, the class the person is put in is DEMO020. That means that you could create these classes on your system with individualized keyrings granting access to a selected list of libraries on your system. An anonymous user logging on to the .210 would therefore be in the DEMO210 class. To setup multi-homing, follow these steps: Turn on FTPD multi-homing by setting FTPDMULT to YES in TCPFTPD.MSG, level 4 configuration. Note down the setting of ANONCLS in TCPFTPD.MSG, level 4 config. By default, this value is set to the DEMO class. That means that people logging via the .30 would be put in the DEMO030 class, people logging on via the .100 would be in the DEMO100 class. If you change ANONCLS say to a new class say ANON, that means that people coming in from the .30 would be in the ANON030 class and people coming in from the .100 would be in the ANON100 class. Create the classes (example: ANON030 and ANON100), assign them those keys that will grant access to the appropriate file libraries depending on what your clients with the multi-homed domain names want to grant access to (probably a corporate library exclusive to them on your system for instance). Thats it. Sample system configuration for Multi-Homing Following is an example of a Multi-Homing setup, step by step. Please note that the values here are entered solely as examples, and should not be used on your own system except for "generic" values, like the Netmask which is almost the same for everyone. Before starting Lets assume that these are the settings in your system: Option NameCNFValueOption NameCNFValueMYIPADDRLvl 1199.84.216.2SLIPNETLvl 4199.84.216.0NETMASKLvl 1255.255.255.0SLIPDLOWLvl 4100GATEWAY1 Lvl 1199.84.216.1SLIPDHGHLvl 4150PRIDNSLvl 1199.84.216.1SLIPSLOWLvl 4200HOSTNAMELvl 1bbsSLIPSHGHLvl 4254DOMNAMELvl 1widget.com The address you wish to allocate to your client is 199.84.216.100. The domain name he will be registered under is hisco.com, and possibly also www.hisco.com. Take note that each domain name needs to be registered with Internic. For more information, please contact Internic on the Web at: http://www.internic.net. Step #1 Make sure hisco.com and www.hisco.com are pointing at the right IP address This means you will need to speak with your provider in order to have the address 199.84.216.100 assigned to your client's domain name(s). Both hisco.com and www.hisco.com should point to 199.84.216.100. Step #2 Ajust the settings in your system before allocating multi-homing features Lets say you want to allocate from 199.84.216.50 to 199.84.216.100 for multi-homing. The 100 overlaps with the settings of your SLIPDLOW configuration option unfortunately. So you'll need to tweak your settings as follows: Go inside TCPSLIP.MSG, Level 4 Configuration. Press F8 and search for SLIPDLOW. Change it to 101, instead of 100 No overlap problem. Step #3: Set the range of IP addresses that will be allocated to Multi-homing Go to Level 1 Hardware configuration. Press F8 and search for CFGTXT00 (under TCPLIBM.MSG). Press enter to edit it. As stated in the documentation, all that is required is the last digit of IPs, lowest and highest. Therefore in our example, the setting should be: multi:50/100 Step #4: Create and edit the TCPSMHAL.TXT file You need to change the Level 4 option SMAL01 to read the file TCPSMHAL.TXT. In order to do this, go to Level 4 Configuration Options and press F8 to search SMAL01. At the SMAL01 parameter, type in $TCPSMHAL.TXT. The file TCPSMHAL.TXT should be located in your BBS directory (ex: C:\WGSERV). This is the current content of the file (Domain name and Class name): hisco.com HISCO www.hisco.com HISCO bbs.widget.com www.widget.com When someone of Widget BBS replies to a message, the e-mail will be labelled as coming from someone@widget.com. But if a customer of Widget BBS is in the HISCO class, the e-mail will be labelled as coming from someone@hisco.com. The other entries are there simply to identify all the other aliases the server goes by, so that mail will not bounce. Don't forget to create a class called HISCO. Consult the Worldgroup manual on setting up classes. Step #5: Identify your web server for proper directory redirection There's a file in the TCPWEB2 directory (C:\WGSERV\TCPWEB2) called TCPW2HST.TXT which must exists in order to identify all of the Web sites on your system. It should look like this (IP address and Domain Name): 199.84.216.2 www.widget.com 199.84.216.100 www.widget.com Step #6: Create the WEBPAGES.100 directory In TCPWEB2, all your systems web pages would normally go in the WEBPAGES directory. For hisco, you must create the directory WEBPAGES.100, because their IP ends with .100. If the IP address was ending by a number lower than 100, for example .3, the directory name to create would be WEBPAGES.003. That's where all of hiscos web pages will need to be. So, someone browsing http://www.hisco.com will get the index.htm file found in the C:\WGSERV\TCPWEB2\WEBPAGES.100 directory. Step #7: Change the ACCESS.CTL file The ACCESS.CTL file is used to limit access to the web pages listed in this file. For example, to protect the info.htm and the secret.htm files with the HISCOKEY key, in the C:\WGSERV\TCPWEB2\WEBPAGES.100 directory, the ACCESS.CTL file should look like this: info.htm HISCOKEY 100 secret.htm HISCOKEY 100 The first item is the file to protect. The second item is the key. The third item is the last digit of the IP address to identify in which webpages directory they belong to, in this example, WEBPAGES.100. And, if you have a sub-directory in the WEBPAGES.100 directory called SECRETS (C:\WGSERV\TCPWEB2\WEBPAGES.100\SECRETS) with a page in it called ultrasec.htm, the the line in the ACCESS.CTL file would look like this: secrets\ultrasec.htm HISCOKEY 100 So this is how the entire file would look if we followed the example above: info.htm HISCOKEY 100 secret.htm HISCOKEY 100 secrets\ultrasec.htm HISCOKEY 100 Advanced Features: banning outside systems Overview MajorTCP/IP lets you setup a simple firewall that prevents specific systems on the internet from accessing your BBS. This is usefull to protect your system from attacks by malicious hackers who might attempt mail-bombing you or persist on trying to crack user accounts with passwords on your BBS via the internet. Note that this is a bidirectional block. Users calling in from the banned systems cannot reach your BBS, nor can you reach their system. Basically, you can create a file called TCPSITES.BAN in the BBS directory (WGSERV or BBSV6) that will contain all the IP addresses that are banned from accessing your BBS. Any user trying to contact you from the IP addresses in that TCPSITES.BAN file will be unable to contact your system either directly via Telnet/RLogin or by E-mail. Installation procedure for TCPSITES.BAN file There are only two steps involved to create the TCPSITES.BAN file. STEPDescriptionDone#1Configure the TCPLIBM.MSG file #2Create the TCPSITES.BAN file Configure the TCPLIBM.MSG file You need to set the BANMODE parameter in TCPLIBM.MSG, level 4 configuration options to the appropriate value (NO). This parameter tells MajorTCP/IP to use the TCPSITES.BAN as an exclusionary file. That means that any IP address in the TCPSITES.BAN file will prevent access to the BBS coming from those IP addresses. Level 4 - System options configuration From the main configuration menu (CNF), select F4 - Configuration options Press on F8 - Search, type BANMODE Set BANMODE to NO. (Note that this is valid only in the Combo version. Setting BANMODE to NO on a DMA Server is innapropriate). Once done, press on F10 Save and Exit to go back to the main configuration menu. BANMODE Use TCPSITES.BAN to list allowed sites. NO You can define a TCPSITES.BAN file to list of sites that are not allowed any connectivity with the BBS. Or you can set BANMODE to yes, and use the TCPSITES.BAN file to list the sites that CAN communicate with the BBS. If you do so, only the listed sites can have any sort of connectivity with the BBS. The TCPSITES.BAN file can be created with a simple text editor. On each line, put the IP address of the site you want to ban (BANMODE=NO) or allow (BANMODE=YES). This feature lets you stop hacking attempts from a particular IP if your system finds itself under attack. The TCPSITES.BAN file has to be located in your BBS directory (WGSERV/BBSV6). Create the TCPSITES.BAN file Go to DOS and fire up a text editor (like DOS Edit) and create the TCPSITES.BAN file. The file must be in the BBS directory. For Worldgroup, thats in the WGSERV directory. For MajorBBS 6.25, its BBSV6. Format of the file: ... so on and so forth Example: 199.84.216.45 180.23.16.5 205.240.12.0 In this example, people trying to telnet in from the 199.84.216.45 or 180.23.16.5 IP addresses will not be able to connect to your system. The 205.240.12.0 is special. If you use a 0 at the end of an IP address as in the example, this bans the entire class C. This means in this particular example, people using 205.240.12.1 to 205.240.12.254 will be unable to connect to your system. This is particularly usefull if the offending user is connecting in PPP to that IP address and the provider at the other end allows SLIP/PPP dynamic access (hence, a range of IP addresses where the offending user connects to, not a single fixed IP address). For the TCPSITES.BAN file to take effect, simply bring the system back online. If you edited the file on a network drive while the BBS was running on another machine, you can force MajorTCP/IP to read the TCPSITES.BAN file by using the R option under the TCPLIB sysop menu. Advanced Features: DMA Server configuration Last revised october 9th, 1997 Accounts created on the DMA server via a DMA connection will have their birthdate set to 01/01/01. Added: dmanoascpause special configuration option to disable screen pausing when a user is in ASCII mode. Note: The DMA server is a separate product that must be purchased separately. When you purchase MajorTCP/IP, you get a free DMA _client_ which allows you to connect to DMA Servers. Overview Definitions DMA Stands for Distributed MajorBBS Architecture. MasterBBS Your main server, where your callers first connect. DMA Server The secondary server (sometimes referred to as a SubBBS), where some of your modules are actually located. What is DMA? DMA2.1 allows you to move modules from your MasterBBS onto a DMA Server, and make these changes transparent to your users. DMA2.1 takes care of automatically creating accounts when a user access facilities on the DMA server for the first time, permits transparent (invisible) logins and logouts and special echo control depending on the modules running on the DMA Server. Furthermore, the DMA server will automatically whisk the user to whichever module youve specified on the MasterBBS. Security-wise, DMA2.1 is a secure environment, as long as you set it up properly with prudence. The benefits of operating a DMA Server are many: Ability to go beyond the 16 megabyte barrier: you can offload modules to the DMA Server, hence, splitting the load to two systems. Each could conceivably have 16 megs of RAM, making it possible for you to run 32 megs worth of modules. Improved system performance: by offloading heavy resource grabbers to a DMA Server, this improves performance on the MasterBBS. Reduced downtime: If you put your unstable modules on your DMA Server, this will reduce the amount of system downtime your system may occasionally suffer from. If the DMA Server crashes, the MasterBBS keeps running normally. This is especially useful with crash-prone games. Ability to create networks of BBSes: DMA technology has created a whole new industry of Game Nets. You can let other MasterBBSes connect to your DMA Server, even over the internet. What this means is you could potentially have dozens of BBSes all sharing the same modules on your DMA server, making it possible to have large numbers of users in those modules, coming from all over the world. This is just scratching the surface. Multiple-Multiple Relationships DMA2.1 supports multiple MasterBBSes having pages that point to multiple DMA Servers. User-ID collision is prevented by using a suffix that is added to the userid of your users when using accounts on the DMA Server. These suffixes are controlled by the MasterBBSes. Suffix 0 is no-suffix. To prevent User-ID collision, you must limit the size of your User-IDs on the MasterBBSes to 27 characters. Compatibility DMA1.0 is still supported in the code, but no longer supported as a product. Once you have converted your DMA1.0 Server over, you should set Level 4 Option DMAPH1 to NO in the file TCPLIBM.MSG on the DMA Server. DMA2.1 can be run on a MajorBBS 6.25 or WorldGroup system. Furthermore, you need to be running MajorTCP/IP version 1.78 or better on the MasterBBS. LICENSING Your DMA Server 2.1 License includes the right to copy your MajorBBS/Worldgroup system onto one DMA Server. Note that you can only configure Telnet channels and one Lan channel on the DMA Server. You are specifically prohibited from connecting modems onto a DMA Server. You must purchase a copy of MajorTCP/IPs DMA Server for each computer that is used as a DMA Server in a DMA2.1 system. If you use DMA to run multiple copies of a module, you are probably violating the license that was allocated to you by the author of the module. Some products have limited distribution agreements based on geographical location that might be violated by the ability DMA technology gives you to allow outside systems to access your DMA Servers resources, irregardless of their physical location. Please contact the author of the respective software for more information. Limitations of DMA Currently, the DMA server will only let you offload modules that run in A/A (Ascii/Ansi) mode. C/S modules that have an Ansi/Ascii interface should work as well. Installation procedure for the DMA Server Setting up a DMA server requires that you perform special configuration tasks on both the MasterBBS and the DMA Server. Simply follow these steps: STEPDescriptionDone#1Configure the security on the DMA Server#2Configure the MSG files on the DMA Server#3Configure the MSG files on the MasterBBS#4Install/Move modules from the MasterBBS to the DMA Server#5 Setup the link from the MasterBBS to the DMA Server Configure the security on the DMA Server The DMA Server will automatically refuse any ordinary telnet and rlogin calls from the outside world. Thats because someone _must_ go through a MasterBBS to access a DMA Server. Furthermore, systems that are not listed in the TCPSITES.BAN file will not be able to access your DMA Server, even if the systems are using a DMA Client to attempt to connect to your system. Finally, systems that have a DMA client but do not have the proper DMA password to access your DMA Server will be refused connection. Setting the TCPSITES.BAN file as a DMA Server access file Set BANMODE to YES in TCPLIBM.MSG, level 4 config. on the DMA Server. This tells the DMA Server to use the TCPSITES.BAN file as a listing of systems that will be allowed to connect to your system. Normally, when BANMODE is set to NO, the file is used to _prevent_ specific systems from connecting to your BBS. This is not what we want. Create a file in your BBS directory called TCPSITES.BAN. Each line should contain the IP address of the systems that will be allowed to connect to your system. Here is the format of the file: ... so on and so forth Example: 199.84.216.45 180.23.16.5 205.240.12.6 Each IP address in the file is a system thats allowed to connect to your DMA server. This assumes that they are using a DMA Client and they have the proper DMA Password to gain entry to your DMA Server. Set the DMA Password on the DMA Server and the special Rlogin string on the MasterBBS. For a MasterBBS to gain access to your DMA Server, it must know what the DMA Password is on your system. First though, you have to assign this password to the DMA Server. This is to prevent unauthorized access to the facilities on your DMA Server. To set the DMA Password on the DMA Server, look for the DMAPWD option in level 3 configuration options, in the TCPLIBM.MSG file. Change the default value to whatever password you desire. The password can be up to 30 characters long. On the MasterBBS, the password is given in the special Rlogin command string that establishes the connection between the MasterBBS and the DMA Server. The form the command string takes is as follows: d dmapassword For more details about this command string, check out the next sections of this chapter of the manual. The DMA password is case sensitive, so make sure that the DMA password used in the Rlogin string used on the main BBS matches exactly, including case, the password set in the DMAPWD field in TCPLIBM.MSG, level 3 configuration of the DMA Server. Its strongly suggested that, should you run a DMA Server next to your MasterBBS, you should never let your users enter the Rlogin module without using a pre-programmed Rlogin page. Set Master Key access to the DMA Server Setting DMAMAST to YES in TCPLIBM.MSG, level 3 accounting and security will allow people holding the Master Key on the main BBS to have MASTER access to your DMA Server. If youre running your DMA server strictly for your own BBSes use, this is fine. However, if youre planning on granting access to your DMA Server resources to other BBSes on the net, DMAMAST should be set to NO, to prevent the sysops of those systems from tampering with your DMA Servers configuration. In any event, be very careful about who you give MASTER access to your DMA server. Configure the DMA Access control file for multiple MasterBBS access If you decide to offer access to multiple MasterBBSes (you want to create a Game-Net) to your DMA Server, it needs to be able to tell one system apart from another. We accomplish this by using an access control file that contains the IP address of the MasterBBS, and the one-character suffix the MasterBBS will be using to access your server. This prevents systems from using other systems prefixes. Some systems may have multiple prefixes so theres nothing wrong with having multiple prefix entries in here for a given IP address. The file should be named TCPDMACT.TXT. The format of the file is: # This is a comment. Lines beginning with # are comments. ... so on and so forth Example: 199.84.216.45 A 180.23.16.5 B 205.240.12.6 C 205.240.12.6 D In this example, the first two system have a unique prefix. In the case of the 205.240.12.6 IP address, we have two prefixes assigned to this system. MajorTCP/IP checks this file every 5 minutes for any changes. Once loaded, you should see a message in your DMA Server audit trail TCPLIB-DMA-I Loaded x Records. Experimental Option #1 If you put the word DMAIPLOK (Level 1, Special Configuration Options, TCPLIBM.MSG CFGTXT00 to CFGTXT09, on the DMA Server), an account will be allowed to log only if the account's address 3 field (can be edited in the user account editor) contains an IP address that matches the IP address of the caller. If the address 3 field doesn't match the IP address, the user will see "failed DMA login" and a message will be printed in the audit trail on the DMA Server. If the address 3 field does not contain an IP address, or the DMAIPLOK is not enabled, then this is ignored. Note that starting with DMA2.0, the DMA Server automatically puts the IP address of the caller when creating the account in the address 3 field. Experimental Option #2 If you put the word DMAOLDRM in one of the TCPLIBM.MSG, Level 1 Special Configuration Options (CFGTXT00 to CFGTXT09) (on the DMA Server), the DMA Server will automatically flag an account for deletion, (and print a message in the audit trail), if the creation date of the account on the MasterBBS is newer by more than 2 days than the creation date of the account on the DMA Server. Note that accounts that are exempt from deletion are exempted there too. Configure the MSG files on the DMA Server Before changing the configuration options on the DMA Server listed below, make sure that you can create new accounts on your DMA Server, and that they end up in a class that will give them access to all public features of the DMA Server. You should set accounts to be deleted after a certain period of non-usage. Configuration Options to change on the DMA Server Set ASKBDY to NO in BBSSUP.MSG, level 4 configuration options. Set SUBBS to YES in TCPLIBM.MSG, level 4 configuration options. Set DMASEQ to the sequence number of your DMA Server if you are running multiple servers. If not, leave it to the default of 01. Each DMA Server you run has a different sequence number which generates a different activation code. DMASEQ is in TCPLIBM.MSG level 4 configuration options. Set DMACODE in TCPLIBM.MSG, level 3 accounting and security to the 8 character DMA 2.1 Server activation code you received for your DMA 2.1 server when you purchased the package. Configuration option changes specific to MajorBBS 6.25 Set DFTPR2 to NOTIFY in GALMS.MSG, level 4 Configuration options. Set SUPU2S to NO in GALMS.MSG, level 4 Configuration options. Set SUPE2U to NO in GALMS.MSG, level 4 Configuration options. Configuration option changes specific to Worldgroup Set DFLONP to NEVER in GALME.MSG, level 4 configuration options. Set SUPU2S to NO in GALME.MSG, level 4 configuration options. Set SUPE2U to NO in GALME.MSG, level 4 configuration options. Set CLISRV to NO in BBSMAJOR.MSG, level 4 configuration options. NOTE: You should disable all MajorTCP/IP modules that you are not using on the DMA Server. A minimal configuration would be to have only TCPLIB enabled. That's the only module required on the DMA Server Configure the MSG files on the MasterBBS If you are sending more than one MasterBBS into the same DMA Server change SGNUSZ on the MasterBBSes to 27 in BBSSUP.MSG, level 4 configuration. You should also change MAXCAT in BBSMAJOR.MSG, level 4 configuration to 20 at least. Finally, you might want to set DMALANG to YES in TCPRLGN.MSG, level 4 configuration if you are connecting to a DMA server owned by someone else and are unsure of which language to use on login. Install/Move modules from the MasterBBS to the DMA Server Just copy/install the module files over to the DMA Server. You may have to call the authors of the software to have the module transferred to the new MajorBBS registration number of the DMA Server. No Specific configuration changes are required for DMA Server operation. If the module has a configuration option for DMA or SubBBS, set that to NO. That was used with DMA 1.0. Create a Module page in the menu tree of that DMA Server that will point to the proper module. On WorldGroup systems, make sure you create this page in the "Terminal Mode" menus. This page must be accessible to users that are created on the DMA Server. This page can be an orphan page or can be attached to the menu tree. Start the DMA Server, log from the console, and make sure the module is working fine. Try it by logging into one of your test users that does have sysop privileges. Setup the link from the MasterBBS to the DMA Server Create an RLogin module page in an appropriate place in your menu tree, in both the Terminal and C/S mode if you are running WorldGroup. Protect it with the key your users must have to enter this module. Put the name of the module that you'll be using on the DMA Server as the name or description of that page to help users know what this page do. Use the following procedure to create the Rlogin page on the MasterBBS From the main configuration menu (CNF), select F2 - Design Menu Tree Make sure that the menu item cursor is located in the menu you will create the option in. Select F2 Edit to change that menu page. Go to the menu options area and add a new option, say [T] for TradeWars (example) In the EDIT OPTION window ... Short Description .......................... could be [T] Enter Trade Wars Key required for this option............. Lets say NORMAL (or PAYING) Destination page............................. could be called TRADEWARS Save the menu. A new page in the menu tree shouldve been created. Move the cursor to the new page called TRADEWARS. Press F2 Edit to configure this module page. Allow go to this page ......... should be set to YES Key required ...................... NORMAL or PAYING. Select module window, you should chose the RLogin Module Display header ................... should be set to YES The command string should be composed as below ... Save the resulting page. Thats it! Details about the command string. Enter a Command String in the page, using the following format: d dmapassword suffix ipaddress luser ruser autolof autospc echo mode gopage #desc d Indicates DMA2.1 dmapassword Value of DMAPWD on the destination DMA Server. Warning: This password is case-sensitive, make sure that it matches exactly the value in DMAPWD on the DMA Server, including case. suffix Suffix of your BBS for multiple MasterBBS->DMA Server relationships. Set to 0 for no suffix. ipaddress IP (numeric) address of DMA Server luser Not used. Set to "." (just a period). ruser Username the user should log into on the remote system. Usually set to %u autolof If user should be automatically logged off from the DMA Server and brought back to the main BBS when he exits the module he was sent into. Usually set to Y. autospc Automatically turn the RLogin extended special commands off upon entering the module on the DMA Server. Usually set to Y. echo Determine the way the echo will be processed on this connection. If set to Y, echo is generated by the DMA Server. Usually set when mode = Binary or permanent binary. If set to O, echo is generated by the MasterBBS. Usually set when mode = Ascii. If set to N, the DMA Server will use whatever default echo is set for the DMA Server. mode A = Ascii. Used for line-based module, modules that always wait until you hit enter before processing the command. Example: Most RPG games like TeleArena, CrossRoads. This mode has the advantage of fast echos and also any globals the user type is executed on the MasterBBS. So they can still page and be paged from the MasterBBS. B = Binary. Modules that process keys one at a time, like the full screen editor, chatting, All commands typed are processed by the DMA Server. Pages, globals. In other words, everything takes place on the DMA Server. User is set to BUSYmode on the main BBS. P = Same as B, but permanent, 8 bit clean. Used for file transfers and modules like TW2002. Echo should usually be set to O or N for this mode. gopage Page that will be executed on the DMA Server. This must be a module page. (no menu or file pages). User must have access to this page. #desc Description that will appear in the online users listing on your MasterBBS if you use the TCP_RL_MOD or TCP_RL_MOD2 text variables in your global handlers on the MasterBBS. Some examples: TeleArena d dmapassword 0 111.111.111.111 . %u y y o a TA #TA_5.6 TradeWars d dmapassword 0 111.111.111.111 . %u y y y p TW2002 #TW2002 FileLibrary d dmapassword 0 111.111.111.111 . %u y y y p LIB #Library Additional Notes We added a new special configuration option DMASTRICTCT. When enabled, it requires that the TCPDMACT.TXT file be used and the IP address and suffix of the calling DMA client be listed there. (The default was that if it isnt there, any suffix would do). Another new special configuration option, dmanoascpause will disable screen pausing during ASCII sessions. To activate these features, all you need to do is go to level 1 hardware configuration, in TCPLIBM.MSG. Look for the first empty CFGTXT option (ranging from CFGTXT00 to CFGTXT09) and put in the DMASTRICTCT or dmanoascpause word there. Advanced Features: HTML parsing for TCPWEB2 Overview HTML parsing is the latest feature added to MajorTCP/IPs web server. The essence of it is that TCPWEB2 will scan HTML files matching specific conditions to replace variables with text. The text can come from several different sources: Generic text variables: information provided before the page to parse is called up. BBS text variables: lets you display any text variable in MBBS/Worldgroup. Special-case variables: used for specific purposes, like ACTIVE-X telnet autologins. In order for a HTML file to be parsed in this way, the following conditions must be met: PARSENAB in TCPWEB2.MSG, level 4 configuration must be set to YES. PARSEURI must be set to a directory under the current webpages directory specified in WEB2PATH under TCPWEB2.MSG, level 4 config. For instance: if we assume that WEB2PATH is set to the default /wgserv/tcpweb2, which means web pages reside under /wgserv/tcpweb2/webpages ... if you set PARSEURI to /parse.dir/ (the default setting), pages that will need parsing will be under /wgserv/tcpweb2/webpages/parse.dir/. The page to be parsed must have a .SHT extention. What is the reason for the directory specified in PARSEURI? It was felt that if we just parsed any .SHT files, any user-webpage management software would allow users to use the parsing. This power shouldnt be put in any ordinary users hand, since the accessible text variables can include some that are sensitive in nature. Furthermore, trying to parse a non-existent text variable can cause a GP. So you should protect the PARSEURI directory to prevent people from accessing it from the web. In the example above, you would want to add an entry in your access.ctl file like: parse.dir/. NOTE: The resulting output from the .SHT scanning/parsing MUST NOT EXCEED 16K. TCPWEB2 does an in-memory scan and the maximum buffer size for TCPWEB2 is 16K. Variable types available A page that is eligible to be parsed will first be scanned by TCPWEB2 for "variables" that need to be replaced. A variable is specified by enclosing it between curly braces {}. Variables can be ANYWHERE in the .SHT file and they will be replaced with the text associated to the variable. Generic text variables Generic variable can be defined on the fly on the parent page and passed to a destination page that will be parsed by TCPWEB2 via a special URL.. These variables use the prefix wv! before the variable name on the destination page. Generic variables are used to create a single child page that changes depending on which button a person clicks on the parent page. This avoids having to create a separate child page for each URL selected if the function of the destination page is always the same. Lets say for instance that you want to create a page with links to different MUDs (multi-user dungeons). You want this page to call up another page that will do the telnet itself, with a small description on the top of the page telling the user where hes being telnetted to, without having to create a separate telnet page for each MUD. Normally ... the links on the calling page would look like this: Go to SuperMUD page Go to OrdinaryMUD page Go to KiddyMUD page And then, youd need to create a page for each MUD that would essentially display say, the name of the MUD, a description and the telnet link to the MUD itself. This link should carry you to the awesome SuperMUD Multi-User Dungeon. If you dont have a telnet client, you can find one on the tucows website.

click here to telnet to SuperMUD Overall, in this example, youd need to create parent page (the main page) and three child pages, one for each MUD. This isnt very efficient. Using HTML parsing, you could create the parent page with the following links instead: Go to SuperMUD page Go to OrdinaryMUD page Go to KiddyMUD page As you can see in the special URL, we always call the same page, namely SENDMUD.SHT. The extra stuff after the question marks (?) would then be passed to the SENDMUD.SHT page under the /parse.dir/ directory. In SENDMUD.SHT, you would find: This link should carry you to the awesome {wv!name} Multi-User Dungeon. If you dont have a telnet client, you can find one on the tucows website.

Go to {wv!name} So now, all you have is the parent page and one child page: sendmud.sht. Thats two pages less than the original example. This is just one small sample of what can be done with generic variables. Lets look at the URL from the parent page more closely: http://www.domain.com/parse.dir/sendmud.sht?host=supermud.com%202222&name=SuperMUD http://www.domain.com/parse.dir/sendmud.sht calls up the sendmud.sht web page to be parsed. The ? (question mark) separates the parameters to be passed to the sendmud.sht page from the beginning of the URL. Everything after the question mark identifies the parameters to pass. The & (ampersand) is used to separate each parameter, and the %20 is used to insert a space in the parameter. For instance, to access the SuperMUD, you need to do a telnet to supermud.com on port 2222, which would look like supermud.com 2222, but since you cant put a space in a URL, you modify the line by replacing the space with %20. The host becomes supermud.com%202222. host=supermud.com%202222 assigns the value supermud.com 2222 to the variable host name=SuperMUD assigns the value SuperMUD to the variable name When someone clicks on the URL, what happens then is we call up sendmud.sht with host=supermud 2222 and name=SuperMUD. The sendmud.sht gets called and parsed by TCPWEB2. It replaces the {wv!name} with SuperMUD and {wv!host} with supermud.com 2222. The result on the users screen would look like so: This link should carry you to the awesome SuperMUD Multi-User Dungeon. If you dont have a telnet client, you can find one on the tucows website. Go to SuperMUD Essentially, this lets you create pages that change depending on what URL a person clicks. BBS text variables HTML parsing lets you create special web pages that can examine or display information available from various BBS text variables. For instance, when running Radius (another vircom product) with MajorTCP/IP, a text variable is available that lets you see who is connected to the terminal servers called TCPRAD_SHOWUSR. HTML parsing makes it possible to create a web page that, when called, would display the people who are connected to your terminal servers. Nothing special needs to be done on the parent page. To specify a MajorBBS/Worldgroup text variable, you use {tv!tvar_name} in the .SHT file. Heres an example: {tv!system_name} will be replaced with the content of the SYSTEM_NAME text variable. Note that USAPTR is temporarily set to the current user (if we have one) during text variable evaluation. Use at your own risk, it's quite easy to GP your system by using the wrong Text Variable at the wrong time. Another example: Lets create a page that will display radius users as illustrated above called showusr.sht. The page itself would be under the /parse.dir/ directory. GM users on the net

The following people from Widget BBS
are currently surfing the net:

{tv!tcprad_showusr} A parent page with the URL http://www.domain.com/parse.dir/showusr.sht calls showusr.sht. When the person brings up showusr.sht using the URL above, the contents of TCPRAD_SHOWUSR will replace the {tv!tcprad_showusr} statement in the child page. This is the result: The following people from Widget BBS are currently surfing the net: (TS157:Mirabel) TCP/IP Radius (TS163:Pixel) TCP/IP Radius (TS172:Pipers) TCP/IP Radius (TS173:Hiromi) TCP/IP Radius (TS150:Forsaken) TCP/IP Radius Special-case variables Special-case variables were designed for a specific purpose in mind. Right now, MajorTCP/IPs web page parsing only supports two variables that are specifically used with ACTIVE-X telnet autologins. More variables will be added in the future. {userid} returns the userid of the currently authenticated user (or N/A) {password} returns the password (encrypted) for this user (or N/A) Example of an autologin page Our ActiveX telnet client now supports a feature called autologin. When a person uses the ActiveX telnet client to logon to the BBS via a web page, we can pass the {userid} and {password} to the telnet client if the user is coming from a local IP address (either one assigned from the SLIP/CSLIP/PPP Server or a terminal server identified with Radius). This way, the person doesnt need to type in his username and password to log-on. This feature is used in conjunction with the PortGo facility which lets a user wind up in a specific application from a telnet to the BBS via a specific port number. Active-X telnet and PortGo are vircom products sold separately For our example, well assume that you have two possible links. One sending link on the parent page that calls the Active-X telnet page sending the user to Tele-Arena on Port #20000. The other link does the same, but sends the user to TradeWars on Port #20001. We decided to split the host name and the port number for clarity. The links on the parent page would look like this: Go to Tele-Arena Go to TradeWars On the Active-X telnet page, you would have the following lines: Note that we dont show the entire active-x telnet page, only the relevant parts [> Snipped some object parameters <] [> Snipped more parameters <] Snipped some object parameters <] PARAM_Hosts="{wv!host} {wv!port}" PARAM_DoConnect="{wv!host} {wv!port}" [> Snipped more parameters <] PARAM_UserID="{userid}" PARAM_WebP="{password}" PARAM_Prompts=": @: "> If you look closely at the page, not only do we provide the host and port to access the relevant games, but the {userid} and {password} parameters will grab the users userid and password directly via the Active-X security server. That means that if the person telnetted in from a local IP (either via the SLIP/CSLIP/PPP Server or from an IP on a terminal server used by the BBS via Radius), the user wont be asked a username and password. Hell telnet directly into the game.  PAGE 1 [Vircom Incs MajorTCP/IP Advanced Features Addendum, Copyright 1997 Vircom Inc. ]  ࡱ; v c56MNOQhi78STklmo/013STopDE`aZ uDZ[ uD[U^Vc(uD uDc(c(Uc(Vaxyz|,-.0qr < = X Y p q r t # $ & ( V W r s   2 3 5 7 e f Z uDZ[ uD[uD]  ; < S T V X v w      ; < S T V X e f "#:;=?NOjkCD_`wxZ uDZ[ uD[uD]xz|67NOQS )*ABDF-.IJabdf1246no?@[\stuD uDZZ`tvx!"=>UVXZ2357GHcd{|~,-/1;<WXoprt,-HI`ace}~Z uDZ[ uD[uD]t{4 Q ""#)#R#^#_#k########$ $*$0$>$A$^$`$6'M'U'b'{''(((w++++++-*------.//u00111111/222O2R2y2|2226,66777(7.7J7U77778 88U^cUU^cUccuD]8V8f8%9+999:::;;;;;@ ACD DDADIDtD|DDDDDDEMEEEEKFSFGGHHLLLLLLN+N.NDN6PvPcQsQQQQQQ.R/R7R`RmRRRRRRRS SS#SCTfTjTTTTTU&U'UhUuUUUUUUUVVXXdXXXc U^UbXYY"Y)YYY]]__` a]aaaaaaa=b@bbbbbc.c4c9cd,d.d0dfdidkdmddddddd e e9eReTeeeeeeeeeefff3f6f7f9fSfUffffffgg g g:gDgEgGgug{g|g~gggggh hlomqqqqU]]Ua a U^U_qssttFuRu+v@Ulos~/59;'*,]dhj&,]hUVUc :@Aw:; /9nx%OY:D RYew+5<C;>?qKLM`k%GPR\/U^UVUb/6lv9CGWY_-6Wbhr '.ox-8t)5r Kbbn,X|^UdAUQ#CD../}/BSdhjwe|\bn|}'5=A\l2DF.8r,?]   4 UcU^cUcU^cU^4  y z          uP uDPc ,-MN]^_`abcvRp4}1 u ) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!+ 8 Y  Y @}TGg7y[82uf!!!!!!!!!!!!!!!!!!!!+6vx4 5 Q R !!@$A$`$a$&&((((E+F+----.!!6!!!!!!%!%!!!!c!!%!!!!z!%!%!!!!s!!%!!hh h 4h%..////1=111111111111-2.2/222M2N2O2R2w2x2y2|222!%!!!!!fffffffffffl(," l(,"  2222222G3|3}344-6_6667W7888879p9q9999999fff!!!!!!!!!!!!!!!!& ' ( ) ! h 4hl(," 99:::;;;;<0<G<V<W<>? A ABBCCDJD~DJFTFUFFFFFG$GDGdGGG!!!!!!!!!!!!!!!!!!!!!!!!!! h 4h& ' ( ) %GGGaHEIFIKKKK|M}M-N.NDNENNNuPP.R/R8R9RRRR#UAUkVlVzVVVVVVVVVV_W`W!!!!!!!!!!!!!!!!!!!!!!!!!& ' ( ) *`WWW6XPYYYYYYYYEZZZ8[Y\Z\\]]^^____``]a^aaaaaaacc/c0cd!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0& ' ( ) )dd-d.dkddd eReeef7fSfff gEg|gggghiijllommmnnjqkqqqqqsst!!!!!!!!!!!!!!!!!!!!!!n!!!!u& ' ( ) h)ttt)u)v*v+v;vH hvvvvvvw w www%w2w3wH  wwwwwwwwxxxJyKyzzzlzmzN{O{{{{{{{+|0~55!!!!!!!!!!!!!!h&l4Z, 8lXZMi>H +|,|U||||L}N}}}~}S~T~~~~./56z (FGrsQSwx{|!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!!!!!h,z{STvwÇćڇ@Ih؋ًދ567!!!!!!!!!!!!ffffffl(," l(,"  78W-6Ǒɒʒڒ*6CD˕̕.!!!!!!!!!!!!!!!!!!!s!!!& ' ( ) h".ǘ;@A-.ĞŞRSx!!!!!!!!!! h 4h! h 4h h 4h'5 12 |~¨èĨǨ!!!!!!ffffffl(," l(,"  !$^_`dĩëPQ$4D[\eft[ffff!!!!!!!!!!!!!!!!& ' ( ) l(," $Ĵ:STӹ '>?HIYgvŻݻ¾ _!!!!!!!!!!!!!!!!! h 4h& ' ( )  & ' ( ) /#_s+iZh;u/0 e!!!!!!!! h 4h! h 4h h 4hKt2x6c?rKL`l/!!!!!!!!!!!!!!!!// 8 4h h 4h+YWM'|-.8tu9:&S\JK!!!!!!!!!!!!!!!!//$K@A}~@A!!!!j!!!!!/! h 4h! h 4h 4hUVGAZ8QR"#CD././ i!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!& ' ( ) & ' ( ) *ij(mn}~HI129Clw~&EFd.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!& ' ( ) *.qr,.yzmDz ?] O m     5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!& ' ( ) & ' ( ) /)5 R o    x y        !!!!!!!!!& ' ( ) K@Normal]a ,@, Heading 1 < U]^c$,@, Heading 2 < U]^c .@. Heading 3 < UV]^c*@* Heading 4 <U]^"A@"Default Paragraph Font ` TOC 9 @! $`$TOC 8 ! c$`$TOC 7 ! c$`$TOC 6  ! c$`$TOC 5 X! c$`$TOC 4 ! c"`"TOC 3 ! V ` TOC 2 ! Z(`(TOC 1xx! U[$ @$Footer !]$@$Header !]$O$toc 9 x! c"B@" Body Textx]&0@& List Bulleth]*C@*Body Text Indenthx])@ Page Number  !! !!!                    !".7KCvMVapjqMzRȎyt' f9 @   -  +, )7MM, cfa xt8Xq}y/4   .29G`Wdtvw+|7._Ki.5  5MOPh7Skmn/12SoD`xz{,./q<Xprs #&'Vr256e ; S V W v     ; S V W e  " : = > N j    C _ w z {  6 N Q R )ADE-Iade145n?[svw!=UXY256Gc{~,/0;Wors,H`cd}   2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%D2%@2%@ f!# _Toc358587198 _Toc358588090 _Toc358626140 _Toc358628233 _Toc359379065 _Toc363285916 _Toc363377094 _Toc364492539 _Toc366662067 _Toc366666921 _Toc378372759 _Toc390070830 _Toc400737778 _Toc400739157 _Toc358587199 _Toc358588091 _Toc358626141 _Toc358628234 _Toc359379066 _Toc363285917 _Toc363377095 _Toc364492540 _Toc366662068 _Toc366666922 _Toc378372760 _Toc390070831 _Toc400737779 _Toc400739158 _Toc358587200 _Toc358588092 _Toc358626142 _Toc358628235 _Toc359379067 _Toc363285918 _Toc363377096 _Toc364492541 _Toc366662069 _Toc366666923 _Toc378372761 _Toc390070832 _Toc400737780 _Toc400739159 _Toc358587201 _Toc358588093 _Toc358626143 _Toc358628236 _Toc359379068 _Toc363285919 _Toc363377097 _Toc364492542 _Toc366662070 _Toc366666924 _Toc378372762 _Toc390070833 _Toc400737781 _Toc400739160 _Toc358587202 _Toc358588094 _Toc358626144 _Toc358628237 _Toc359379069 _Toc363285920 _Toc363377098 _Toc364492543 _Toc366662071 _Toc366666925 _Toc378372763 _Toc390070834 _Toc400737782 _Toc400739161 _Toc358587203 _Toc358588095 _Toc358626145 _Toc358628238 _Toc359379070 _Toc363285921 _Toc363377099 _Toc364492544 _Toc366662072 _Toc366666926 _Toc378372764 _Toc390070835 _Toc400737783 _Toc400739162 _Toc358587204 _Toc358588096 _Toc358626146 _Toc358628239 _Toc359379071 _Toc363285922 _Toc363377100 _Toc364492545 _Toc366662073 _Toc366666927 _Toc378372765 _Toc390070836 _Toc400737784 _Toc400739163 _Toc358587205 _Toc358588097 _Toc358626147 _Toc358628240 _Toc359379072 _Toc363285923 _Toc363377101 _Toc364492546 _Toc366662074 _Toc366666928 _Toc378372766 _Toc390070837 _Toc400737785 _Toc400739164 _Toc358587206 _Toc358588098 _Toc358626148 _Toc358628241 _Toc359379073 _Toc363285924 _Toc363377102 _Toc364492547 _Toc366662075 _Toc366666929 _Toc378372767 _Toc390070838 _Toc400737786 _Toc400739165 _Toc358587207 _Toc358588099 _Toc358626149 _Toc358628242 _Toc359379074 _Toc363285925 _Toc363377103 _Toc364492548 _Toc366662076 _Toc366666930 _Toc378372768 _Toc390070839 _Toc400737787 _Toc400739166 _Toc358587208 _Toc358588100 _Toc358626150 _Toc358628243 _Toc359379075 _Toc363285926 _Toc363377104 _Toc364492549 _Toc366662077 _Toc366666931 _Toc378372769 _Toc390070840 _Toc400737788 _Toc400739167 _Toc358587209 _Toc358588101 _Toc358626151 _Toc358628244 _Toc359379076 _Toc363285927 _Toc363377105 _Toc364492550 _Toc366662078 _Toc366666932 _Toc378372770 _Toc390070841 _Toc400737789 _Toc400739168 _Toc358587210 _Toc358588102 _Toc358626152 _Toc358628245 _Toc359379077 _Toc363285928 _Toc363377106 _Toc364492551 _Toc366662079 _Toc366666933 _Toc378372771 _Toc390070842 _Toc400737790 _Toc400739169 _Toc358587211 _Toc358588103 _Toc358626153 _Toc358628246 _Toc359379078 _Toc363285929 _Toc363377107 _Toc364492552 _Toc366662080 _Toc366666934 _Toc378372772 _Toc390070843 _Toc400737791 _Toc400739170 _Toc358587212 _Toc358588104 _Toc358626154 _Toc358628247 _Toc359379079 _Toc363285930 _Toc363377108 _Toc364492553 _Toc366662081 _Toc366666935 _Toc378372773 _Toc390070844 _Toc400737792 _Toc400739171 _Toc358587213 _Toc358588105 _Toc358626155 _Toc358628248 _Toc359379080 _Toc363285931 _Toc363377109 _Toc364492554 _Toc366662082 _Toc366666936 _Toc378372774 _Toc390070845 _Toc400737793 _Toc400739172 _Toc358587214 _Toc358588106 _Toc358626156 _Toc358628249 _Toc359379081 _Toc363285932 _Toc363377110 _Toc364492555 _Toc366662083 _Toc366666937 _Toc378372775 _Toc390070846 _Toc400737794 _Toc400739173 _Toc358587215 _Toc358588107 _Toc358626157 _Toc358628250 _Toc359379082 _Toc363285933 _Toc363377111 _Toc364492556 _Toc366662084 _Toc366666938 _Toc378372776 _Toc390070847 _Toc400737795 _Toc400739174 _Toc358587216 _Toc358588108 _Toc358626158 _Toc358628251 _Toc359379083 _Toc363285934 _Toc363377112 _Toc364492557 _Toc366662085 _Toc366666939 _Toc378372777 _Toc390070848 _Toc400737796 _Toc400739175 _Toc358587217 _Toc358588109 _Toc358626159 _Toc358628252 _Toc359379084 _Toc363285935 _Toc363377113 _Toc364492558 _Toc366662086 _Toc366666940 _Toc378372778 _Toc390070849 _Toc400737797 _Toc400739176 _Toc358587218 _Toc358588110 _Toc358626160 _Toc358628253 _Toc359379085 _Toc363285936 _Toc363377114 _Toc364492559 _Toc366662087 _Toc366666941 _Toc378372779 _Toc390070850 _Toc400737798 _Toc400739177 _Toc358587219 _Toc358588111 _Toc358626161 _Toc358628254 _Toc359379086 _Toc363285937 _Toc363377115 _Toc364492560 _Toc366662088 _Toc366666942 _Toc378372780 _Toc390070851 _Toc400737799 _Toc400739178 _Toc358587220 _Toc358588112 _Toc358626162 _Toc358628255 _Toc359379087 _Toc363285938 _Toc363377116 _Toc364492561 _Toc366662089 _Toc366666943 _Toc378372781 _Toc390070852 _Toc400737800 _Toc400739179 _Toc358626163 _Toc358628256 _Toc359379088 _Toc363285939 _Toc363377117 _Toc364492562 _Toc366662090 _Toc366666944 _Toc378372782 _Toc390070853 _Toc400737801 _Toc400739180 _Toc358626164 _Toc358628257 _Toc359379089 _Toc363285940 _Toc363377118 _Toc364492563 _Toc366662091 _Toc366666945 _Toc378372783 _Toc390070854 _Toc400737802 _Toc400739181 _Toc358626165 _Toc358628258 _Toc359379090 _Toc363285941 _Toc363377119 _Toc364492564 _Toc366662092 _Toc366666946 _Toc378372784 _Toc390070855 _Toc400737803 _Toc400739182 _Toc358626166 _Toc358628259 _Toc359379091 _Toc363285942 _Toc363377120 _Toc364492565 _Toc366662093 _Toc366666947 _Toc378372785 _Toc390070856 _Toc400737804 _Toc400739183 _Toc358626167 _Toc358628260 _Toc359379092 _Toc363285943 _Toc363377121 _Toc364492566 _Toc366662094 _Toc366666948 _Toc378372786 _Toc390070857 _Toc400737805 _Toc400739184 _Toc358626168 _Toc358628261 _Toc359379093 _Toc363285944 _Toc363377122 _Toc364492567 _Toc366662095 _Toc366666949 _Toc378372787 _Toc390070858 _Toc400737806 _Toc400739185 _Toc358626169 _Toc358628262 _Toc359379094 _Toc363285945 _Toc363377123 _Toc364492568 _Toc366662096 _Toc366666950 _Toc378372788 _Toc390070859 _Toc400737807 _Toc400739186 _Toc358626170 _Toc358628263 _Toc359379095 _Toc363285946 _Toc363377124 _Toc364492569 _Toc366662097 _Toc366666951 _Toc378372789 _Toc390070860 _Toc400737808 _Toc400739187 _Toc358626171 _Toc358628264 _Toc359379096 _Toc363285947 _Toc363377125 _Toc364492570 _Toc366662098 _Toc366666952 _Toc378372790 _Toc390070861 _Toc400737809 _Toc400739188 _Toc358626172 _Toc358628265 _Toc359379097 _Toc363285948 _Toc363377126 _Toc364492571 _Toc366662099 _Toc366666953 _Toc378372791 _Toc390070862 _Toc400737810 _Toc400739189 _Toc358626173 _Toc358628266 _Toc359379098 _Toc363285949 _Toc363377127 _Toc364492572 _Toc366662100 _Toc366666954 _Toc378372792 _Toc390070863 _Toc400737811 _Toc400739190 _Toc358626174 _Toc358628267 _Toc359379099 _Toc363285950 _Toc363377128 _Toc364492573 _Toc366662101 _Toc366666955 _Toc378372793 _Toc390070864 _Toc400737812 _Toc400739191 _Toc358626175 _Toc358628268 _Toc359379100 _Toc363285951 _Toc363377129 _Toc364492574 _Toc366662102 _Toc366666956 _Toc378372794 _Toc390070865 _Toc400737813 _Toc400739192 _Toc358626176 _Toc358628269 _Toc359379101 _Toc363285952 _Toc363377130 _Toc364492575 _Toc366662103 _Toc366666957 _Toc378372795 _Toc390070866 _Toc400737814 _Toc400739193 _Toc358626177 _Toc358628270 _Toc359379102 _Toc363285953 _Toc363377131 _Toc364492576 _Toc366662104 _Toc366666958 _Toc378372796 _Toc390070867 _Toc400737815 _Toc400739194 _Toc358626178 _Toc358628271 _Toc359379103 _Toc363285954 _Toc363377132 _Toc364492577 _Toc366662105 _Toc366666959 _Toc378372797 _Toc390070868 _Toc400737816 _Toc400739195 _Toc358626179 _Toc358628272 _Toc359379104 _Toc363285955 _Toc363377133 _Toc364492578 _Toc366662106 _Toc366666960 _Toc378372798 _Toc390070869 _Toc400737817 _Toc400739196 _Toc358626180 _Toc358628273 _Toc359379105 _Toc363285956 _Toc363377134 _Toc364492579 _Toc366662107 _Toc366666961 _Toc378372799 _Toc390070870 _Toc400737818 _Toc400739197 _Toc358626181 _Toc358628274 _Toc359379106 _Toc363285957 _Toc363377135 _Toc364492580 _Toc366662108 _Toc366666962 _Toc378372800 _Toc390070871 _Toc400737819 _Toc400739198 _Toc358626182 _Toc358628275 _Toc359379107 _Toc363285958 _Toc363377136 _Toc364492581 _Toc366662109 _Toc366666963 _Toc378372801 _Toc390070872 _Toc400737820 _Toc400739199 _Toc358626183 _Toc358628276 _Toc359379108 _Toc363285959 _Toc363377137 _Toc364492582 _Toc366662110 _Toc366666964 _Toc378372802 _Toc390070873 _Toc400737821 _Toc400739200 _Toc358626184 _Toc358628277 _Toc359379109 _Toc363285960 _Toc363377138 _Toc364492583 _Toc366662111 _Toc366666965 _Toc378372803 _Toc390070874 _Toc400737822 _Toc400739201 _Toc358626185 _Toc358628278 _Toc359379110 _Toc363285961 _Toc363377139 _Toc364492584 _Toc366662112 _Toc366666966 _Toc378372804 _Toc390070875 _Toc400737823 _Toc400739202 _Toc358626186 _Toc358628279 _Toc359379111 _Toc363285962 _Toc363377140 _Toc364492585 _Toc366662113 _Toc366666967 _Toc378372805 _Toc390070876 _Toc400737824 _Toc400739203 _Toc358626187 _Toc358628280 _Toc359379112 _Toc363285963 _Toc363377141 _Toc364492586 _Toc366662114 _Toc366666968 _Toc378372806 _Toc390070877 _Toc400737825 _Toc400739204 _Toc358626188 _Toc358628281 _Toc359379113 _Toc363285964 _Toc363377142 _Toc364492587 _Toc366662115 _Toc366666969 _Toc378372807 _Toc390070878 _Toc400737826 _Toc400739205 _Toc363377143 _Toc364492588 _Toc366662116 _Toc366666970 _Toc378372808 _Toc390070879 _Toc400737827 _Toc400739206 _Toc400737828 _Toc400739207 _Toc400737829 _Toc400739208 _Toc400737830 _Toc400739209 _Toc400737831 _Toc400739210 _Toc400737832 _Toc400739211 _Toc400737833 _Toc400739212..............G0G0G0G0G0G0G0G0G0G0G0G0G0G0-3SummaryInformation(Ѽ@@SѼ@ Microsoft Word 6.04ࡱ; -3-3-3-3-3-3-3-3-3-3-3-3-355555555555555;;;;;;;;;;;;;;??????????????@@@@@@@@@@@@@@HHHHHHHHHHHHHHKKKKKKKKKKKKKKvMvMvMvMvMvMvMvMvMvMvMvMvMvM#R#R#R#R#R#R#R#R#R#R#R#R#R#RTTTTTTTTTTTTTTZYZYZYZYZYZYZYZYZYZYZYZYZYZYffffffffffffffqqqqqqqqqqqqqq@@@@@@@@@@@@@@hhhhhhhhhhhhhh88888888888888ȎȎȎȎȎȎȎȎȎȎȎȎȎȎxyyyyyyyyyyy'''''''''''' èèèèèèèèèèèè[[[[[[[[[[[[ŸŸŸŸŸŸŸŸŸŸŸŸttttttttttttiiiiiiiiiiiihhhhhhhhhhhh;;;;;;;;;;;;eeeeeeeeeeee''SS   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~<.<.<.<.<.<.<.<.<.<.<.<.<.<.{0{0{0{0{0{0{0{0{0{0{0{0{0{0^3^3^3^3^3^3^3^3^3^3^3^3^3^355555555555555<<<<<<<<<<<<<<??????????????@@@@@@@@@@@@@@HHHHHHHHHHHHHHKKKKKKKKKKKKKKMMMMMMMMMMMMMM@R@R@R@R@R@R@R@R@R@R@R@R@R@R5U5U5U5U5U5U5U5U5U5U5U5U5U5U~Y~Y~Y~Y~Y~Y~Y~Y~Y~Y~Y~Y~Y~Ygggggggggggggg(r(r(r(r(r(r(r(r(r(r(r(r(r(r??????????????HHHHHHHHHHHHHHVVVVVVVVVVVVVVƕƕƕƕƕƕƕƕƕƕƕƕ444444444444ææææææææææææññññññññññññ999999999999۸۸۸۸۸۸۸۸۸۸۸۸ttttttttttttRR[[ .Sylvain DurocherD:\VIRCOM\DOCS\TCP220A.DOC@HP DeskJet 520 PrinterLPT1:DESKJETCHP DeskJet 520 Printer D(,,A_}HP DeskJet 520 Printer D(,,A_}1Times New Roman Symbol &Arial"h0&0&$@ MajorTCP/IP Sylvain DurocherSylvain Durocherࡱ;