Date: Mon, 11 Jan 93 04:30:03 PST From: Advanced Amateur Radio Networking Group <tcp-group@ucsd.edu> Errors-To: TCP-Group-Errors@UCSD.Edu Reply-To: TCP-Group@UCSD.Edu Precedence: Bulk Subject: TCP-Group Digest V93 #11 To: tcp-group-digest TCP-Group Digest Mon, 11 Jan 93 Volume 93 : Issue 11 Today's Topics: CPU ID test code DPMI, etc Duplicate MID HELP! help AND kf5mg's 'stupid but they work for me fixes' In-Reply-To: AA4RE's DPMI et al... Internet ampr.org addresses MID dups problem - Revisited (3 msgs) Remote in JNOS 107b Returned mail: User unknown (fwd) Stability Unwanted mail WHAT IS SMACK ? Send Replies or notes for publication to: <TCP-Group@UCSD.Edu>. Subscription requests to <TCP-Group-REQUEST@UCSD.Edu>. Problems you can't solve otherwise to brian@ucsd.edu. Archives of past issues of the TCP-Group Digest are available (by FTP only) from UCSD.Edu in directory "mailarchives". We trust that readers are intelligent enough to realize that all text herein consists of personal comments and does not represent the official policies or positions of any party. Your mileage may vary. So there. ---------------------------------------------------------------------- Date: Sun, 10 Jan 1993 14:13:42 -0500 (EST) From: MIKEBW@ids.net (Mike Bilow, <MIKEBW@ids.net>) Subject: CPU ID test code To: JT@zfja-gate.fuw.edu.pl, tcp-group@ucsd.edu This is what turned out to be what is known here as an "RTFM" problem. Borland C offers a "#pragma startup" directive which allows a function name to be specified that will be run ahead of main(). It should be easy to link in my assembly language CPU type checked so that it is called from a C language function referenced with the pragma. The rules for the pragma say that it has to take a void argument list and return void, and there is no official way to get it to terminate. However, we can probably follow the example in C0.ASM and have our C routine call the _exit() function if the wrong CPU is found. If this works, it would be a lot less trouble than the ideas you and I were coming up with, such as modifying C0.ASM or writing an external loader for NOS. -- Mike ------------------------------ Date: Fri, 8 Jan 93 22:20:24 PST From: jmorriso@ee.ubc.ca (John Paul Morrison) Subject: DPMI, etc To: ucsd.edu@tcp-group.ee.ubc.ca I think DPMI protected mode support is very desirable, especially the 286 mode. I can only speak for our use, but there are piles of 286 class machines that are basically garbage, and that's why we get them! It would be nice to stick a few AT's in the corner, doing stuff, routing ftp etc., but NOS is too slow and too unstable for significant unattended use. I don't know if 286 protected mode would help, but perhaps by freeing up more memory, more prorgammers can worry apport stability, and not code size. Our case: I tried to use NOS (pagri???) as a gateway and ftp server between two networks. UNfortunately, NOS stopped routing periodically. So I had to trash NOS on that machine, and I used PC route, which was faster, but we lost the the ftp, which was nice. What kind of usage do people here put their machines through? I would like to be able to dedicate the old machines (286s, 8088s perhaps) to a couple of tasks, and run them 24 hrs a day. That's because 386 machines are a priority (the department provides 386s for regular use, but it would take a lot of talking to get a 386 or 486 that *we* can setup, hack on and get fancy things up and running. Since no one wants the 286s, they dump them on us). About the only real 286 solution might be to dredge up a copy of OS/2 1.3 and TCP/IP. Dump in lots of RAM, and then we would get pre-emptive multitasking, threaded execution, etc. Has anyone tried this? __________________________________________________________________________ John Paul Morrison | University of British Columbia, Canada | Electrical Engineering | .sig file without a cause jmorriso@ee.ubc.ca VE7JPM | ________________________________________|_________________________________ ------------------------------ Date: Mon, 11 Jan 93 09:53:19 GMT From: Alan Cox <iiitac@pyr.swan.ac.uk> Subject: Duplicate MID To: tcp-group@ucsd.edu I still don't see it as an acceptable solution. It could happen and with the common practice of distributing NOS as a directory tree you unzip tweak a few files and run its very likely to occur. Much better would be to have a single sequence file for MID's and allocate them as you ax.25 forward and not before. Then you can generate normal bbs style nnnnn_call addresses. It's not MUCH work to do it properly Alan ------------------------------ Date: Mon, 11 Jan 93 00:09:55 EST From: crompton@NADC.NAVY.MIL (D. Crompton) Subject: HELP! To: johan@ece.orst.edu Johan, I am experiencing a particulary screwy BBS problem. I consistently get a system crash when a BBS is sending a message to me. It stops at the same place each time. As viewed by a trace while it is happenning the following is seen - I suspect that the subject is being screwed up by this rather strange line: Subject: EARTHWINS LAUNCH Message-Id: <921228181039_70304.326_DHP47_1@ CompuServe.com> I think I have that right - copied from my trace at crash. The crash is fatal - invalid pointer - no stktrace called - most of the time a hard reset is required. Qemm exception error at times. I went back to plain vanilla 107B to eliminate any changes I have made. Still bad - also had 106 code here - same thing. I should try entering a bizzare subject line from my other system and see if I can locally make this happen. I looked thru forward.c quickly but did not see anyhting obvious. The above subject line is coming FROM the remote BBS. Doug ------------------------------ Date: 11 Jan 93 04:37:21 CST From: Jack Snodgrass <kf5mg@vnet.ibm.com> Subject: help AND kf5mg's 'stupid but they work for me fixes' To: <TCP-Group@UCSD.Edu> crompton@NADC.NAVY.MIL (D. Crompton) writes: >Johan, > > I am experiencing a particularly screwy BBS problem. I consistently >get a system crash when a BBS is sending a message to me. It stops >at the same place each time. As viewed by a trace while it is happenning >the following is seen - I suspect that the subject is being screwed >up by this rather strange line: > >Subject: EARTHWINS LAUNCH Message-Id: <921228181039_70304.326_DHP47_1@ >CompuServe.com> > >I think I have that right - copied from my trace at crash. The crash >is fatal - invalid pointer - no stktrace called - most of the time a >hard reset is required. Qemm exception error at times. > Hey Doug, This probably should have been sent to the NOS-BBS group, since it is BBS related. Blame Doug.... not me. :) Pretty *&@(*&@*(^@ irritating isn't it. My system crashed at least 10 times before I finally got past that stupid bulletin. The R: line in the Bulletin had R:1234/1234 @: #:0 Z:00000 and NOS bit the big one when it tried to process it. I posted this info in the NOS-BBS list a couple of days ago. Guess you missed it, or I didn't make it clear enough. Anyway... here's my fix that let me process the bulletin. It's not good, and I'm not proud of it, but it let me process the bulletin without getting blown out of the water. I've also included my 'script' language from the Forward.C file. Maybe Johan can make sense of it and merge his script language with mine. In Mailbox.c This let me get past that stupid earth winds bulletin with the corrupted R:line. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ if(check_r) { /* Check for R: lines to start with */ #ifdef notdef if(!strncmp(m->line,"R:",2)) { /*found one*/ #endif /* Invalidate R: lines that don't have R:YYMMDD/ */ if((!strncmp(m->line,"R:",2)) && (*(m->line+8) == '/')) { /*found one*/ . . . . . /* if we use 'return addres' * copy whole 'domain' name */ if(Rreturn) #ifdef notdef if(strlen(cp) <= OBLEN) #endif if((strlen(cp) <= OBLEN) && (strlen(cp))) strcpy(origbbs,cp); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ This is what I was using for a 'script' language before Johan put his in. One of the problems I have with Johan's code is that it doesn't handle TEXNET's 'inverse' *** Linked to message when forwarding over TEXNET. You need to be able to wait for multiple lines before you send the [JNOS-H$] string. For example, I need to wait for: [AA4RE-H$] N5AUX> [AA4RE-H$] N5AUX> Then I can send the [JNOS-MH$] string. The first is for the TEXNET id. The second one is what AA4RE sends back when it gets the *** linked to kf5mg message. You also have to handle the [] string when you get it to turn on mbx forwarding. This lets me forward through TEXNET. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ In Forward.c int Done; char TmpLine[MBXLINE] /* . = sends data. Same as Johan's */ /* .w = wait for data */ /* it waits forever, or until */ /* the station times out. */ Done = 0; while(fgets(m->line,MBXLINE,m->tfile) != NULLCHAR) { strcpy(TmpLine,m->line); rip(TmpLine); if(TmpLine[0] == '.') { Done = 1; if(TmpLine[1] == 'w') { /* We need to 'wait' for something */ for(;;) { if(recvline(m->user,m->line,MBXLINE) == -1) { exitbbs(m); return; } if(*m->line == '[') { /* parse the SID */ rip(m->line); mbx_parse(m); continue; } if(strstr(m->line,&TmpLine[3]) != NULLCHARP) { break; } } } else { /* send the current '.' line */ tputs(m->line + 1); usflush(m->user); } } else { /* we are done with the file. */ fclose(m->tfile); m->tfile = NULLFILE; if(Done == 0) { /* no '.' lines in the file. */ for(;;) { if(recvline(m->user,m->line,MBXLINE) == -1) { exitbbs(m); return; } if(ISPROMPT(m->line)) break; if(*m->line == '[') { /* parse the SID */ rip(m->line); mbx_parse(m); continue; } } } break; } } 73's de Jack - kf5mg AMPRnet - kf5mg@kf5mg.ampr.org - 44.28.0.14 AX25net - kf5mg@kf5mg.#dfw.tx.usa.na - work (817) 962-4409 Internet - kf5mg@vnet.ibm.com - home (817) 488-4386 ------------------------------ Date: Sun, 10 Jan 1993 09:57:10 -0800 From: atheist@Apocalypse.CAD.UCLA.EDU (Jim Small) Subject: In-Reply-To: AA4RE's DPMI et al... To: aa6ed@algedi.ampr.org, tcp-group@ucsd.edu A while back someone posted that some dpmi utilities for bc and msc were on wustl, Are they located anywhere else? Wustl's been tellingme that more than 175 concurrent connections exist and cuts me off. .. ------------------------------ Date: 10 Jan 93 15:34:36 CST From: Jack Snodgrass <kf5mg@vnet.ibm.com> Subject: Internet ampr.org addresses To: <TCP-Group@UCSD.Edu> Can someone explain what you need to do to set up and ampr.org address using the ampraddr robot? I saw Brian's append on how to add stuff to the ampr.org file, but he didn't explain what needed to be added. My IP address is 44.28.0.14, but it's not connected to the internet. I have a SMTP gateway ( rowdy.lonestar.org ) that my station can connect to and I have my work id. I sent the ampraddr robot a message telling it my IP address and gave it a mx record that pointed to rowdy.lonestar.org. This was a week ago or so. I still can't send mail to kf5mg@kf5mg.ampr.org. Is that because I gave it my IP address and it can't connect to it, or is it something else. Also, can I specify my work id as a secondary id in case the rowdy.lonestar.org system is down? If I need to remove the reference to my 44.28.0.14 IP address, how do I do that? Thanks. 73's de Jack - kf5mg AMPRnet - kf5mg@kf5mg.ampr.org - 44.28.0.14 AX25net - kf5mg@kf5mg.#dfw.tx.usa.na - work (817) 962-4409 Internet - kf5mg@vnet.ibm.com - home (817) 488-4386 ------------------------------ Date: 10 Jan 1993 13:19:49 -0500 (EST) From: "Brian A. Lantz" <BRIANLANTZ@delphi.com> Subject: MID dups problem - Revisited To: tony@mpg.phys.hawaii.edu 1. You're preaching to the choir! That's why we are using NOS and not a "regular" BBS. It IS NOT a problem sending to standard BBSs, since NOS truncates the BID/MID to 13 characters if it is larger. 2. Whose idea? Don't ask me, I just try to make TNOS co-exist with the "standard". 3. We need to generate a new MID because NOS handles aliases by using the same internal MID number for all messages from a common base message. Thus the problem that OTHERS reported. I simply gave you a way around it. 4. You STILL have the option of IGNORING the fix, and living with the problem! No skin off my back ;-) All I know is that the fix WORKS! Until something better comes along, feel free to use it or ignore it! 73 from Brian A. Lantz KO4KS@KO4KS.#TPAFL.FL.USA.NA 3100813105 Internet: brianlantz@delphi.com Amprnet: ko4ks@ko4ks.ampr.org [44.98.0.167] ------------------------------ Date: Sun, 10 Jan 1993 14:31:58 -0500 (EST) From: MIKEBW@ids.net (Mike Bilow, <MIKEBW@ids.net>) Subject: MID dups problem - Revisited To: BRIANLANTZ@delphi.com, tcp-group@ucsd.edu I disagree that the chances of MID collision when basing the MID on the mail receiver instead of the mail sender are not very great. Around here, for example, everyone seems to start their messages at 1 on New Year's Day. -- Mike Bilow, <mikebw@ids.net> (Internet) ------------------------------ Date: Mon, 11 Jan 93 02:14:34 UTC From: n8fow@wsu.n8fow.ampr.org Subject: MID dups problem - Revisited To: tcpgroup@ucsd.edu First, all BBS's in the regular AX25 packet world CAN duplicate BIDS and MIDS. Want to try it? Put up 2 systems with the same callsign but different SSID's. They will both put out the EXACT same BIDS and MIDS. This is a problem with ARES/RACES groups that put a callsign on the BBS that's that same as a full-service system in town, they will both have the same BID/MID and if they renumber their messages in January and an emergency occurs then the neighboring BBS will reject their emergency mail. And NO, not even AA4RE BBS will generate different BID/MID with the option in it to do so when you give the BBS different SSID's. It only works when both systems have the exact same callsign and SSID. Second, the MID problem should have been dragged off of TCP-GROUP and moved to the BBS-SYSOP group instead. The source code for the change would belong here, but not the debate and arguements, that's a BBS problem and not the TCP/IP protocols problem. 73, Ron Michigan AMPRNet (TCP/IP) AX25 BBS: N8FOW @ WB8H.#SEMI.MI.USA.NA AMPRNet : n8fow@n8fow.ampr.org [44.102.0.99] n8fow@wsu.n8fow.ampr.org [44.102.0.196] Internet: ron@chaos.eng.wayne.edu ------------------------------ Date: Mon, 11 Jan 93 10:38:02 GMT From: A.D.S.Benham@bnr.co.uk Subject: Remote in JNOS 107b To: TCP-Group@UCSD.Edu I spent the weekend compiling 1.07b of JNOS to replace my current NOS (my own compile of JNOS 1.01). I use Borland C++ v3.0, compiling with 80186 instructions. Everything seemed to work fine, except for the "remote" command. Trying "remote g8fsl kick" gives the error "Unknown command g8fsl". But 'g8fsl' is supposed to be the host, not the command! Having checked that the command syntax hadn't changed between JNOS versions, I checked the 1.01 and 1.07 sources in the appropriate areas - identical! The section of code concerned is in the function "doremote" in file "MAIN.C". A part of this function reads: char *host,*cmd; ..... host = argv[optind++]; cmd = argv[optind]; where 'optind' is an index for the command options (used by getopt). Putting a few printf's in after these lines gives the following info when 'remote g8fsl kick' is issued: argv[1] = g8fsl argv[2] = kick host = g8fsl cmd = g8fsl optind = 2 So everything is correct, =except= that cmd is pointing to the wrong argument, hence the "Unknown command g8fsl" message. But optind is correct... I then tried putting some printf's around the assignments: printf("%u\n",optind); host = argv[optind++]; printf("%u\n",optind); cmd = argv[optind]; Issuing the "remote g8fsl kick" command gives the printout: 1 2 followed by, yes, you've guessed; argv[1] = g8fsl argv[2] = kick host = g8fsl cmd = kick optind = 2 ^^^^ and the command working correctly! I've fixed the problem now by doing: char *host,*cmd; int optindcopy; ..... optindcopy = optind; host = argv[optindcopy++]; cmd = argv[optindcopy]; but I don't really see why the problem exists. I thought at first it was the re-reading of optind that fixes the problem, but it isn't. I've subsequently found that at least one other user of JNOS 107b in my local area has found that the remote command doesn't work in his build (using BC++ v3.1). I'm totally puzzled as to what's going on, but I offer the information in case anyone else is suffering from the same problem. Anyway, I'm very happy with my new JNOS. My regards to all concerned, Andrew Benham -------------------------------------------------------------------- adsb@bnr.co.uk BNR Europe Ltd, London Road, Harlow, Essex CM17 9NA +44 279 402372 Fax: +44 279 402100 Home: g8fsl@g8fsl.ampr.org [44.131.19.195] G8FSL@GB3XP -------------------------------------------------------------------- ------------------------------ Date: Sun, 10 Jan 93 17:56:28 MST From: Larsen Karl VAL-C 678-3145 <klarsen@curie.UCSD.EDU> Subject: Returned mail: User unknown (fwd) To: tcp-group@ucsd.edu > > ----- Transcript of session follows ----- > > While connected to ucsd.edu [128.54.16.1] (tcp): > >>> RCPT To:<tcpip-group@ucsd.edu> > <<< 550 <tcpip-group@ucsd.edu>... User unknown > 550 tcpip-group@ucsd.edu... User unknown > > > ----- Unsent message follows ----- > Received: by dirac > (16.6/16.2) id AA25942; Sun, 10 Jan 93 17:51:43 -0700 > From: Larsen Karl VAL-C 678-3145 <klarsen@dirac> > Return-Path: <klarsen@dirac> > Subject: AA4RE and Windows > To: tcpip-group@ucsd.edu > Date: Sun, 10 Jan 93 17:51:42 MST > Mailer: Elm [revision: 66.25] > > I have been reading about the idea to have Roy write a version > of his fine bbs as a windows program. I don't think that is necessary or > worth the work. Here is what I am doing at this time: > > I have a 386-25 with 4 meg ram and have AA4RE ver 12.* in a > window and JNOS105 in another and Opus 173a in another and all three > software are not windows compatable but do run well in a *.pif defined > partition. Since I am part of the packet network I am running the > wonderful G8BPQ Switch ver 1.46a and have AA4RE and JNOS105 attached to > the switch. It seems to my uneducated eye to be working fine. > > I have been told by other hams that windows does not multitask. > It can only pretend to do so. Well it does a fine job of pretending. and > I think those who doubt it works listen to this: > > For better or for worse this computer uses a intel 386 cpu that > is interupt driven. There is no magic way to do things any better than > windows does to do what it does. Period. > > 73, karl k5di@k5di > > > ------------------------------ Date: Mon, 11 Jan 93 10:15:10 GMT From: Alan Cox <iiitac@pyr.swan.ac.uk> Subject: Stability To: tcp-group@ucsd.edu I've run NOS in various forms as just a router. Its stable with enough free memory and so long as you don't run some of the buggy application code on top. To fix NOS requires a pretty major rewrite and from previous conversation topics on here, people know how to do it, but nobody has the time. Alan ------------------------------ Date: Mon, 11 Jan 93 09:44:18 GMT From: Alan Cox <iiitac@pyr.swan.ac.uk> Subject: Unwanted mail To: andy@mimuw.edu.pl, tcp-group@ucsd.edu Its trivial to add. You just put an extra check of username against a file in the validate_address code for local addresses. Alan ------------------------------ Date: Mon, 11 Jan 93 11:58:00 MET From: Martin W Freiss <freiss.pad@sni.de> Subject: WHAT IS SMACK ? To: tcp-group@ucsd.edu Barry Titmarsh writes: > it seems to be in new netrom type or tnc type boxes > some talk about it has been seen in Germany for past 6 months > but i have never gotten a sensible reply for any one. > Any Idears? Please Well, I don't know if my reply is sensible, but from memory... ------------------------------ Date: 10 Jan 1993 15:14:18 -0500 (EST) From: "Brian A. Lantz" <BRIANLANTZ@delphi.com> To: johan@ECE.ORST.EDU MID - Revisited, finished, moving on... Here is the "absolute" fix to the MID problem. These few lines make a brand new MID for each message (after the first) generated from an incoming message. This works equally well with CC's, aliases, etc. The first message in a list retains the original MID, all others get new numbers. Ignore previous hack and apply this fix. All changes are in SMTPSERV.C. The line numbers given are for WG7J107b. insert lines with '>>', change lines with "**" smtpserv.c at line 493 extern int Smtpquiet; >> int index; if ((Smtpmode & QUEUE) != 0) smtpserv.c at line 528 #endif >> index = 0; ** for(ap = tolist;ap != NULLLIST;ap = ap->next, index++){ smtpserv.c at line 584 } >> if (index && htype(buf) == MSGID) { >> fprintf (fp, "%s<%ld@%s>\n",Hdrs[MSGID],get_msgid(),Hostname); >> } else fputs(buf,fp); 73 from Brian A. Lantz KO4KS@KO4KS.#TPAFL.FL.USA.NA 3100813105 Internet: brianlantz@delphi.com Amprnet: ko4ks@ko4ks.ampr.org [44.98.0.167] ------------------------------ Date: Mon, 11 Jan 93 09:56:03 GMT From: Alan Cox <iiitac@pyr.swan.ac.uk> To: tcp-group@ucsd.edu Another approach to the windows com port problem is to use a windows to packet driver interface (waterloo tcp has an example of this), and use the slip8250 driver in AX.25 mode. This approach could be used on creating a windows callback layer for BPQ if neccessary. Be warned windows programming is very different to DOS Alan ------------------------------ Date: (null) From: (null) ------------------------------ End of TCP-Group Digest V93 #11 ****************************** ******************************