ÜÜÜÜÜÜ Ü ÜÛßßÛÛÛÛÛÛÜ Ü Û ÛÛÛÛÛÛß ÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛß ÜÜÜÜÜÜÜÜÜÜ ßÜÛ Ü ÜÜÜÜÜÜÜÜÜ °ß ÞÛÛßÛÛ ÜÛÛßßß ßÛß ÜÜÛÛÛÛÛÛÛÛÛÛÛÛÛÜ ÛÛÛÛÜ ÜÛÛÛÛÛÛÛÛÛÛÛÜ ° ÛÛÝ ÞÛ ÛÛ ° ÛÛßß ÜÜÜÜÜÜÜÜÜ ßÛ Û Ü Ü Ûß Ü Û ÛÛ Û ßÛ ÛÛß Ûß ßÜÜ ÜÜÛÛß ÛÜ ßÝ Ü ÞÛÝ ÞÛ Û ÜÜÜÜÛÜÜÜÜÜ ÛÛ Û ßÜ ßÛÛ ßÛÛÛÛÛÛÛÛÜ ÛÛ Û ÛÜ ß° ßÛ ÛÛÜ Û ÜßßÜ Û ÛÛÛ °ßßßßßßßß²²Ü ÛÛ Ü Û ßÛÜ ° ÛÛ ßÜ ° ßÜ Û ÛÛÛ ßÛÛ ÞÛ ÜÛÛÛÜ Û ßÛÜ ÛÛÜ ßÜÜÜÜÜ ÜÜß ÛÛ ÛÛÛ Ü ÜÛÛ ÜÜ ÛÜ ° ÜÛÛ ßÛÛÜÜ Ü ÜÜÛÜ ßÛÛÜÜÜÜÜ ßß ÜÜÛÛÛ ÛÛ ÜÛ ß Üܲ²Û ß Û ß ÜÛÛ °ßßÛÜ ßßÛÛÛÛÛÛÛÛÛÛÜ ÛÛÛÛÛÛÛÛÛÛÛÛÛÛ ÜÛÛ ÛÛÛÛÛÛÛÛÛÛÛß ° ÝßÜÜÜÛÛßß ° kP°ßÛÛÛÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜ Ü Ü Ü Ü Ý ß ß ß Ü Üß ßÜÛ Ûßß Ûß± Ûß± Ûß± Ü ß ß Ü ß ÜßÜ Û ²ÜÜ ²ÜÛ ²ßÜ ²ßß <´EGiS CoRP iEMSi iNTERFACE v1.1 CoDE BY Lone Runner DESCRIPTION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ The AEGiS CoRP IEMSI Interface allows you to add IEMSI capabilities to almost ANY logon. It doesn't matter if you have the source from the login you use, the AEGiS CoRP IEMSI Interface will plug very easilly! WHAT IS IEMSI ?? ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ IEMSI stands for Interactive Electronic Mail Standart Identification... It is a enhenced protocol derived from the EMSI (Electronic Mail Standart Indentification) used by mailers such as Frontdoor, Qfront, PCB 15.21+, Portal of Power, and so on... The IEMSI has been developped by Joaquim H. Homrighausen (in 1991 AFAIK), to allow automatic sending of a user identity to a server like, for example, a Bulletin Board System... The IEMSI works on a simple protocol basis, The server sends an IEMSI request to the terminal, no matter if it doesn't support IEMSI... Once an IEMSI capable terminal has received this little string (18 chars), it interrupts his normal process to send the users informations in a predefined format... The server gets it, verify its informations, and sends his packet. ll packets, messages & request are CRC32 protected, so the transfer is bug-free (well, in theory). The Client package (the one that the user's terminal send) contains all informations the user has entered while installing its software (name, age, address, phone number, ...), as well as a bunch of informations unused now... The Server Package (the one that the BBS sends once it has received the client package) contains some informations about the Server... Its name, the name of the sysop, the local time & date... Included with this package is a complete description of the EMSI & IEMSI protocols in the file EMSC-001.001. INSTALLATION ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ You will have to solutions to add the IEMSI capability to your board... þ The first one consist in just adding the IEMSI Interface PPE before your login (if you have a connection status for example your could put it just before or between the connect status and the login PPE...) If you use this way, you will have to be carefull that you don't modify the line reading "StuffAll = True" in the PPS. Once you installed the PPE, it will automatically test for IEMSI, do the transaction in case the user's terminal handles it, and kbdstuff the name & password, so your login will react exactly as if the user was typing its personnal informations... Once the login ppe is done, you can put a small PPE in your login process to archive the datas contained in the log file (more about that later). þ The second solution is a little more complicated and should be used only if you have a quite good knowledge in PPL language, as i'll tell you WHAT to do, but i won't tell you HOW :) Why you should use this method while it's more difficult to use it ? Well, it's also a way to customize the thing so your users won't see any kbdstuff (witch is a weird thing to look at IMHO ;)). Before choosing this method, be sure that : > You have the whole sources for your login PPE (a PPX/D file may be ok, but you will have to be a good PPE coder). - First edit the IEMSI.PPS file and set the StuffAll boolean var to FALSE. - Then edit your login so it opens and handle the log file (i'll describe its format later...) - Then you can do exactly what you want... you can only archive the log, use it for the connection... use it to compare the name used at login with the one contained in the IEMSI packed... you can do what you want... Here is what you should know about the IEMSI log file : All informations extracted from the IEMSI packet can be retrieved in the file IEMSI.n where n is the node number... Build the filename like this : Fielname = "C:\...\IEMSI\IEMSI" + String(PcbNode()) Theer are 3 cases : IEMSI Successfull, IEMSI Not Present, and IEMSI Failure. IEMSI Successfull : ------------------- Here is a typicall log : ---CUT HERE--- ************************************************************** Name : Joe User Password : 4578\Š~&&,,? Alias : MonsterKiller2000+ Location : Paris Data Phone : +33-1-0000-0000 Voice Phone: +33-1-0000-0000 Birthdate : 03/08/1980 Software : Terminate 1.41, 128 days after expiration date ! ************************************************************** ---END-------- Note that all fields are not always present! A field is here only if there are informations to show... So we should also get a file that looks like : ---CUT HERE--- ************************************************************** Name : Joe User Password : 4578\Š~&&,,? Location : Paris Software : Terminate 1.90â, Freeware ************************************************************** ---END-------- The IEMSI Interface also detects some cracked Terminates! :)) (not the last cracks). It adds in the file (after the last field) : ---CUT HERE--- Using Cracked Version of Terminate ! ---END-------- IEMSI Not Present : ------------------- ---CUT HERE--- ************************************************************** NO IEMSI CAPABILITIES ************************************************************** ---END-------- IEMSI Failure : --------------- ---CUT HERE--- ************************************************************** IEMSI HANDSHAKE FAILURE ************************************************************** ---END-------- I think that's all you have to know... WARNING ! READ THIS ! --------------------- IEMSI.MSG During the IEMSI session, some messages are displayed on the screen, those messages are sent only LOCALY and cannot be seen by users... You may customize them, put colors if you want... but BE AWARE that at this location of PCB, you cannot use @Xnn codes! So you will have to save in ANSI mode. Thos messages are located in the file IEMSI.MSG IEMSI.CFG Don't forget to enter your board informations in IEMSI.CFG! PCB 15.21+ Mailer I have stricly NO IDEA if this PPE works fine with a PCB 15.21+ set up with Mailer capabilities... All i can say is that it works on ALL PCB VERSIONS SO FAR, but without Mailer capabilities... Let me know if you try it! FUTUR ENHENCEMENTS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Well... do you see some ? Yes ???! You have the code... modify it! :) WARNING / DISCLAIMER ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ þ Do what you want with this, you have the code so you have the complete control over the compilation... You may use this ppe in any way you want, you may destroy it, burn it, eat it, smoke it, inject it, vomit it, kick it, suck it, piss it, shot it, print it with reversed lines, rename it to zip, arj, arc or whatever you want, try then to extract it, to pkzipfix it, you may also perform sort on it, uuencode, crypt it with PGP, play it on your GUS or even your SB, you may even decompile, modify it, you may do WHAT YOU WANT, but NO MEMBER OF AEGiS CoRP MAY BE RESPONSIBLE FOR ANY DAMAGE CAUSED BY THE USE OF THIS PROGRAM OR IT'S MODIFICATIONS... Also, as you have the source... Be kind... if you release some login handling IEMSI that use my interface or, simply if you learned out from my code or docs how to do you own IEMSI routines... Just greet me... :) FINAL WORDS ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Have fun trying to understand my shitty code! :) You can contact me at lone.runner@nuxes.frmug.fr.net if you have problems, suggestions, or anything... Greets to all the PCB scene! Special big hello to all the sysops that are in touch with me, for a reason or another... be patient! i'll anwser! :) Hey you wanna write for a diskmag ? Write to my email address! :) _.Lone Runner _ _ _ ___ ___/\ _________/\ /\_____________/\________________ ___ _ _ \/\______________ / _ \/ _________ / ______________________ / __________ / _/ __/ \ ____)___\/ \ \_/ \/\___________ \/_ \ \ \_ \ \_ \__ \_ \_ / / \______\ /____________/________________/_____________/____________/kP ú-------`------'---------------------------------------------------------ú