IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/15/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Thu, 14 Feb 1991 13:46 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <8ACC1A4A80204963@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14 Feb 1991 13:43 CST Date: Thu, 14 Feb 1991 13:43 CST From: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: Sockets/SYSV To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <8A6DDB180020523B@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Thu, 14 Feb 1991 02:46 CST Received: by NDSUVM1 (Mailer R2.07) id 3876; Thu, 14 Feb 91 02:45:18 CST Date: Thu, 14 Feb 91 09:43:00 LCL From: Olaf Erb <UJ65@DKAUNI2.BITNET> Subject: Sockets/SYSV Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: Unix-Wizards@BRL.MIL Message-id: <2E8868C02000346B@MSUS1.MSUS.EDU> I heard there exits a library emulating sockets via names pipes on a sys5 machine. Where is it available? Pse reply to uj65@dkauni2.bitnet directly, i've no access to this group. Tnx, Olaf
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/15/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Thu, 14 Feb 1991 13:43 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <8A67D160E020493A@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14 Feb 1991 13:42 CST Date: Thu, 14 Feb 1991 13:42 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#017 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <8A4D515220205736@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Wed, 13 Feb 1991 05:36 CST Received: by NDSUVM1 (Mailer R2.07) id 6288; Wed, 13 Feb 91 05:32:49 CST Date: Wed, 13 Feb 91 05:45:03 EST From: Mike Muuss The Moderator <Unix-Wizards-Request@BRL.MIL> Subject: UNIX-WIZARDS Digest V12#017 Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <7D22E427A00023E4@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Wed, 13 Feb 1991 V12#017 Today's Topics: Re: Question:Books on Unix mailing-list demon Re: mailing-list demon Comer's TCP/IP books (was: Re: Wizard-level questions) Re: dup2 Csh hacking -- having problems... How to read v6 distribution tapes? Interprocess Communication question ----------------------------------------------------------------- From: "John G. Kissane" <kissane@motcid.uucp> Subject: Re: Question:Books on Unix Date: 23 Jan 91 12:44:30 GMT To: unix-wizards@sem.brl.mil In article <11425@darkstar.ucsc.edu> googol@ucscb.ucsc.edu (60778000) writes: > >Hi! Could anyone recommend some books on Unix related to the following >topics: Unix Kernel, Shell Programming, Unix Utilities . Is there >any single book that talks about all these topics ? thanks. I suggest that you take a look at O'Reilly & Associates. They have several excellent books on a large number of UNIX topics. They can be reached via e-mail at the following address: ora!nuts Good Luck. -- -- John Kissane, Mahon Industrial Estate, Motorola Ireland Ltd. Blackrock, Cork, Ireland. ...!uunet!motcid!kissane +353-21-357-101 ----------------------------- From: Vance Heron <heron@mars.jpl.nasa.gov> Subject: Re: Question:Books on Unix Date: 23 Jan 91 21:29:53 GMT Sender: news@jato.jpl.nasa.gov Nntp-Posting-Host: mars.jpl.nasa.gov To: unix-wizards@sem.brl.mil In article <11425@darkstar.ucsc.edu> googol@ucscb.ucsc.edu (60778000) writes: > >Hi! Could anyone recommend some books on Unix related to the following >topics: Unix Kernel, Shell Programming, Unix Utilities . Is there >any single book that talks about all these topics ? thanks. For Shell programming and utilities, I can reccomend "Tricks of the Unix Masters" put out by the Waite group. ----------------------------- From: "Andreas C. Lemke" <andreas@newsigi.us> Subject: mailing-list demon Date: 12 Feb 91 13:59:43 GMT Sender: news <news@csn.org> Nntp-Posting-Host: newsigi.colorado.edu To: unix-wizards@sem.brl.mil Hi, I would like to create a mailing list with as little administrative effort for myself as possible. To that end *everybody* should be able to add, update, or remove people from the list, as well as obtain a listing of the current mail addresses on the list. This should be doable by mail, e.g., if a new person wanted to be added to the alias he/she would simply send a mail-message containing a command such as "add joe@abc.edu" and some sort of demon should carry out the command. Do you guys know of some software that filters incoming mail messages for commands and executes them? Thanks. .................. Andreas C. Lemke ... andreas ..:-). CS Dept., U. of Colorado, Boulder .................. andreas@cs.colorado.edu, (303) 492-1503 -- .................. Andreas C. Lemke ... andreas ..:-). CS Dept., U. of Colorado, Boulder .................. andreas@cs.colorado.edu, (303) 492-1503 ----------------------------- From: "Andreas C. Lemke" <andreas@newsigi.us> Subject: mailing-list demon Date: 12 Feb 91 15:19:03 GMT Sender: news <news@csn.org> Nntp-Posting-Host: newsigi.colorado.edu To: unix-wizards@sem.brl.mil Hi, I would like to create a mailing list with as little administrative effort for myself as possible. To that end *everybody* should be able to add, update, or remove people from the list, as well as obtain a listing of the current mail addresses on the list. This should be doable by mail, e.g., if a new person wanted to be added to the alias he/she would simply send a mail-message containing a command such as "add joe@abc.edu" and some sort of demon should carry out the command. Do you guys know of some software that filters incoming mail messages for commands and executes them? I'm thinking of something like a perl script to be installed as the alias for mailing-list-request. Thanks. -- .................. Andreas C. Lemke ... andreas ..:-). CS Dept., U. of Colorado, Boulder .................. andreas@cs.colorado.edu, (303) 492-1503 ----------------------------- From: "Gary Weimer (588-0953" <weimer@garden.kodak.com> MMDF-Warning: Parse error in original version of preceding line at BRL.MIL Subject: Re: mailing-list demon Date: 12 Feb 91 21:59:54 GMT Sender: news@ssd.kodak.com To: unix-wizards@sem.brl.mil I tried to reply, but my mailer couldn't find the host. In article <ANDREAS.91Feb12091903@newsigi.us>, andreas@newsigi.us (Andreas C. Lemke) writes: |> Hi, |> |> I would like to create a mailing list with as little administrative |> effort for myself as possible. To that end *everybody* should be able |> to add, update, or remove people from the list, as well as obtain a |> listing of the current mail addresses on the list. This should be |> doable by mail, e.g., if a new person wanted to be added to the alias |> he/she would simply send a mail-message containing a command such as |> "add joe@abc.edu" and some sort of demon should carry out the command. |> |> Do you guys know of some software that filters incoming mail messages |> for commands and executes them? I'm thinking of something like a perl |> script to be installed as the alias for mailing-list-request. I don't know if this will help at all or not. It's not exactly what you asked for. This is something I wrote to sort my incomming mail. You can setup a special login id that this can be installed under, or use your own and require that a specific subject line be used. You'll need to understand grep and maybe awk to understand what I'm doing in the sort section of mailsort.csh. To tell the mail server to use mailsort.csh, I had to create a .forward file in my home directory (I'm using Unix, specifically SunOS): -------------- .forward file ------------------ "|/u/users1/weimer/bin/mailsort.csh weimer ~/MAIL" -------------- end .forward file ------------------ The mailsort.csh program follows. If you would like more explanation, write back and ask (My .sig has a mail address which should work). ------------ mailsort.csh file ------------------ #!/bin/csh -fb # login id of person using this script # environment vars take precidence over defaults if (!($?USER)) set USER=weimer # mail directory of person using this script # environment vars take precidence over defaults # NOTE: USER will not be set when prog called by mail daemon if (!($?MAILDIR)) then if (-e ~$USER/MAIL) then set MAILDIR=~$USER/MAIL else set MAILDIR=~$USER/mail endif endif ################################################################### # NOTE: mail message will be saved in the file $MSG, # the mail header only will be saved in the file $HEADER # the mail body only will be saved in the file $BODY ################################################################### # mail header lines to skip when saving message # $MSG will still have these, $HEADER will not set HDRSKIP='$1=="Received:" || $1=="id" || $1=="Message-Id:"' #set HDRSKIP="" # arguments take precidence over defaults and environmen vars # NOTE: this is not important part of code logic (you can skip it) set PARAMS=($*) if ($#PARAMS > 1) then set USER=$PARAMS[1] set MAILDIR=$PARAMS[2] set TMP=`echo $MAILDIR|awk '{print index($1,"//")}'` if ($TMP == 1) set MAILDIR=~$USER`echo $MAILDIR|awk '{print substr($1,2)}'` else if ("$PARAMS" != "") then set $USER=$PARAMS if (-e ~$USER/MAIL) then set MAILDIR=~$USER/MAIL else set MAILDIR=~$USER/mail endif endif ####################################################################### # # generic setup stuff # ####################################################################### # date in case I want it for file names set DATE = `date +"%y-%m-%d"` # awk script for separating mail header from mail body set PARSER=('{if (b) {print $0>>bf;next}};{if (NF==0) {b=1;next}};{if (""'$HDRSKIP'){next}};{print $0>>hf};END{print>>bf;print>>hf}') # files for msg, header, & body set MSG="/tmp/$USER.mail.$$" set HEADER=$MSG.head set BODY=$MSG.body /bin/rm -f $HEADER $BODY $MSG # just in case we've found a duplicate name... # our mail server uses /usr/spool/mail, other machines mount this in /var if (-e /usr/spool/mail) then set MAILBOX=/usr/spool/mail/$USER else set MAILBOX=/var/spool/mail/$USER endif # stdin is the mail message being sent, put it in $MSG cat > $MSG # separate header and body awk "$PARSER" hf=$HEADER bf=$BODY $MSG while (1) #we really only go through loop once # this allows us to use break instead of goto ####################################################################### # # BEGIN SORTING # ####################################################################### ####################################################################### # if you do not want a message to be sent to yourself, and you do not # want it to match any other conditions, 'break' after sending message-- # DO NOT 'exit'--temporary files will not get removed ####################################################################### # when concatinating to a mailbox, you should always add a blank line # to the end of what you are concatinating (hence all the 'echo ""'s # below) ####################################################################### # # extra stuff just for me :-) # # intro to prepend to forwarded msg's (stating this has been auto-forwarded) set AUTOHDR=$MAILDIR/auto.header # flag for who a copy was sent to (put at end my copy of files auto-forwarded) set COPYHDR=$MAILDIR/copy.header # # template # #set SUBJECT=`grep '^Subject:.<subj to check for>' $HEADER` #set TO=`grep '^To:.<id you expect forwarded mail from>' $HEADER` #set OTHER=`grep '<text to look for in body of msg>' $BODY` #if ("$<SUBJECT, TO, or OTHER>" != "") then # we found a match # # do any other calculations/parsing here # # # save to a file # (cat $<MSG, HEADER, and/or BODY>; echo "") >> $MAILDIR/<file> # # put in your own mailbox (as if we never did this script) # (cat $MSG; echo "") >> $MAILBOX # # forward to someone else # cat $<MSG, HEADER, and/or BODY> | /usr/ucb/Mail -s "<subject>" <userid> # # # run any programs, edit files, etc. that you want to here # break #endif # # Budtool Report # # simply write $MSG to appropriate file # set SUBJECT=`grep '^Subject:.Budtool.Report$' $HEADER` if ("$SUBJECT" != "") then # body of msg has machine name on line starting with 'rsh' set MACH=`grep '^rsh' $BODY | awk '{print $2; exit}'` # write mail to file (cat $MSG; echo "") >> $MAILDIR/backups/$MACH/$DATE break endif # # warehouse submissions -- cc: edj # set SUBJECT=`grep '^Subject:.wh.submission$' $HEADER` if ("$SUBJECT" != "") then (cat $AUTOHDR $HEADER $BODY) | /usr/ucb/Mail -s "wh submission" edj (cat $MSG $COPYHDR;echo "edj";echo "") >> $MAILBOX break endif # # test (see if any of this works...) # #set SUBJECT=`grep '^Subject:.test$' $HEADER` #if ("$SUBJECT" != "" ) then # (cat $HEADER; echo "test successful"; echo "") >> $MAILBOX # break #endif ####################################################################### # # No matches--Put in mailbox # ####################################################################### cat $MSG >> $MAILBOX echo "" >> $MAILBOX break #don't repeat while loop end /bin/rm -f $HEADER $BODY $MSG exit ------------ end mailsort.csh file ------------------ weimer@ssd.kodak.com ( Gary Weimer ) ----------------------------- From: Nick Dokos <nick@osf.org> Subject: Comer's TCP/IP books (was: Re: Wizard-level questions) Date: 12 Feb 91 17:54:22 GMT Sender: news@osf.org To: unix-wizards@sem.brl.mil |> |> Of the list above, Comer was missing. The original poster asked something |> about networking. A text I have found invaluable is: |> |> Internetworking with TCP/IP: Principles, Protocols, and Architecture |> by Douglas Comer, (c) 1988, Prentice-Hall, ISBN 0-13-470154-2 |> |> It is well written and has answered the vast majority of my questions |> on networking. |> |> -- |> scott barman | There comes a time in everyone's existance |> scott@nbc1.ge.com | when actions speak louder than words. |> (This does not represent any | Just make sure your actions are louder |> opinions of NBC or affiliates) | than the next guy's! - Anonymous There is a second edition, expanded and improved: Internetworking with TCP/IP, Vol.1: Principles, Protocols and Architecture by Douglas E. Comer, (c) 1991, Prentice-Hall, ISBN 0-13-468505-9. The second volume was scheduled for last November, but as far as I know it is still not out. The blurb in the back of the first volume says: Internetworking with TCP/IP, Vol.2: Implementation and Internals by Douglas E.Comer and David L.Stevens. -- Nick Dokos (nick@osf.org) Systems Engineering OSF ----------------------------- From: Guy Harris <guy@auspex.auspex.com> Subject: Re: dup2 Date: 12 Feb 91 18:30:43 GMT To: unix-wizards@sem.brl.mil >Do you mean that V7 had dup2 but System V doesn't? Yes. For whatever reason, that particular branch of the family didn't have "dup2()"; it did, however, have "fcntl()" and the F_DUPFD subfunction thereof, at least as far back as S3 (I don't remember whether earlier members of that branch had it). S5R3 picked up "dup2()", which is in POSIX; 4.2BSD picked up "fcntl()", which is also in POSIX. >And what about systems that don't have fcntl? If you have neither "fcntl()" nor "dup2()", you're not dealing with a UNIX, or lookalike, that does a reasonable job of looking like a modern UNIX (it's not as modern as V7, even), in which case 1) you may have a problem if you need "dup2()"-like functionality (you might have to repeatedly "dup()" the file descriptor until it reaches the desired value, and then close all the intermediate descriptors) and 2) you probably have a bunch of other problems as well. ----------------------------- From: Chet Ramey <chet@odin.ins.cwru.edu> Subject: Re: dup2 Date: 12 Feb 91 20:51:49 GMT Sender: news@usenet.ins.cwru.edu Nntp-Posting-Host: odin.ins.cwru.edu To: unix-wizards@sem.brl.mil In article <richard.666334818@fafnir.la.locus.com> richard@locus.com (Richard M. Mathews) writes: >I would post what I consider to be the right answer, but I have licensing >problems. I can recommend taking ideas from both Gwyn and Ramey; perhaps >one of them would be willing to post the result of such a merge. How about this (apologies for the Gnu coding style)? (As an aside, I do not think that the second fcntl will ever return EINVAL, since it only returns that error for out-of-range values (< 0 or >= getdtablesize()), and that case is already handled explicitly.) dup2 (fd1, fd2) int fd1, fd2; { int saved_errno, r; if (fcntl (fd1, F_GETFL, 0) == -1) /* fd1 is an invalid fd */ return (-1); if (fd2 < 0 || fd2 >= getdtablesize ()) /* This could be removed. */ { errno = EBADF; return (-1); } if (fd1 == fd2) return (0); saved_errno = errno; (void) close (fd2); r = fcntl (fd1, F_DUPFD, fd2); if (r >= 0) errno = saved_errno; else { if (errno == EINVAL) errno = EBADF; } return (r); } Chet -- Chet Ramey ``There's just no surf in Network Services Group Cleveland, U.S.A. ...'' Case Western Reserve University chet@ins.CWRU.Edu My opinions are just those, and mine alone. ----------------------------- From: The Grey Wolf <greywolf@unisoft.uucp> Subject: Csh hacking -- having problems... Keywords: How to push/fork w/o losing interrupt Date: 12 Feb 91 18:51:26 GMT To: unix-wizards@sem.brl.mil [ .globl _newsfood, 512; ] I'm doing a major upgrade to the Berkeley C shell (no flames, please; I speak csh and sh fluently and have different uses for each one). One of the things I am implementing is a "push" builtin, which is supposed to simply fork() and create an exact duplicate of the shell on top of itself. In the older version of this shell (to which I have regrettably lost the source), we used to do this for extended alterations of environment without having to restart the damn thing (i.e. aliases and shell variables were preserved). It was easier than throwing it into a ( subshell ), and we needed the interaction. Now, never mind *why* I want to do this when there might be other solutions... When the push command is entered, the following set of events occurs (assume all necessary variables): dopush() { switch (fork()) { case -1: /* error */ setname("push"); bferr("Couldn't fork!"); return (1); case 0: /* child */ /* set $$ = getpid() */ /* set process group to $$ */ /* set tty process group to $$ */ /* increment push level */ return(0); default: /* parent */ wait(&exitstat); /* reset process group */ /* reset terminal process group */ return(exitstat); } } Now, the push() occurs fine (it forks and does all the necessary stuff). HOWEVER: As soon as I hit an interrupt, the pushed shell prints a prompt, exits, and the original shell prints a prompt. The thing that's confusing is that I don't know why the pushed shell is only catching the interrupt once and then giving up. It seems as though the parent shell also gets the interrupt (which I didn't think would happen if the process group gets reset). I thought Berkeley signal handlers reset themselves...? This is a Pyramid running OSx 5.0b, under the BSD universe (essentially BSD 4.2-and-a-half). -- thought: I ain't so damb dumn! | Your brand new kernel just dump core on you war: Invalid argument | And fsck can't find root inode 2 | Don't worry -- be happy... ...!{ucbvax,acad,uunet,amdahl,pyramid}!unisoft!greywolf ----------------------------- From: Roy Smith <roy@alanine.phri.nyu.edu> Subject: How to read v6 distribution tapes? Date: 12 Feb 91 20:22:03 GMT Sender: News System <news@phri.nyu.edu> To: unix-wizards@sem.brl.mil After the recent talk about v6 history on this group, I figured I'd actually do something crazy and go back and look at the source to make sure. Unfortunately, I'm not sure how to do that! The tape I have consists of several RK-05 images with v6 file systems on them. Is there any reasonable way to read them on a 4.3BSD vax or a SunOS-3.5 system? -- Roy Smith, Public Health Research Institute 455 First Avenue, New York, NY 10016 roy@alanine.phri.nyu.edu -OR- {att,cmcl2,rutgers,hombre}!phri!roy "Arcane? Did you say arcane? It wouldn't be Unix if it wasn't arcane!" ----------------------------- From: David Johnson <dejohnso@cs.utah.edu> Subject: Interprocess Communication question Date: 13 Feb 91 04:37:50 GMT Originator: dejohnso@cs.utah.edu To: unix-wizards@sem.brl.mil Can anyone out there help me get started learning about interprocess communication? Do you have any bare-bones examples of how to use sockets and things like that? How about helpful articles or books to read? I am hoping to try some distributed graphics and don't want to communicate through files or anything like that. Any help would be appreciated. Please send e-mail to dejohnso@cs.utah.edu. Oh yeah, thanks!!!!!!!!! ----------------------------- End of UNIX-WIZARDS Digest **************************
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/15/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Thu, 14 Feb 1991 13:46 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <8AD0265CE0204963@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14 Feb 1991 13:44 CST Date: Thu, 14 Feb 1991 13:44 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#018 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <8A91244C0020523B@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Thu, 14 Feb 1991 05:36 CST Received: by NDSUVM1 (Mailer R2.07) id 4963; Thu, 14 Feb 91 05:34:09 CST Date: Thu, 14 Feb 91 05:45:01 EST From: Mike Muuss The Moderator <Unix-Wizards-Request@BRL.MIL> Subject: UNIX-WIZARDS Digest V12#018 Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <4659BFF0A0001A42@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Thu, 14 Feb 1991 V12#018 Today's Topics: Re: What is sigcleanup? Re: SIGCONT occurs after a SIGTERM Re: dynamic linking C code with ld link editor Re: Help! There's a slash '/' in my filename. cfreelist info gettytab, entries f0, f1 & f2 Loading and Executing Object Code at Runtime Re: dup2 Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Re: Slashes in file names ----------------------------------------------------------------- From: Root Boy Jim <rbj@uunet.uu.net> Subject: Re: What is sigcleanup? Date: 25 Jan 91 00:38:21 GMT To: unix-wizards@sem.brl.mil In article <1991Jan22.153802.9869@daimi.aau.dk> kaja@daimi.aau.dk (Kaja P. Christiansen) writes: >What is "sigcleanup" doing? I dunno for sure, but I'll hazard a guess. It could be a mutation of 4.3BSD's sigreturn call with new bells and whistles. RTFM sez "sigreturn allows users to atomicly unmask, switch stacks, and return from a signal context". Since signals are more complex than they used to be, s system call is required to exit from them as well as to enter them. When a signal handler returns, it executes what is known as the signal trampoline code, which actually calls sigreturn. Setjmp/longjmp have been extended to save and restore the signal mask as well. However, _setjmp/_longjmp exist for speedier execution when signals are involved. Now sing with me to the tune of a Beatles song: We all live in a signal trampoline, A signal trampoline, a signal trampoline! >Kaja P. Christiansen Computer Science Department >(kpchristiansen@daimi.aau.dk) Aarhus University >Phone: +45 86 12 71 88 Ny Munkegade 116, >Fax: +45 86 13 57 25 DK-8000 Aarhus C., Denmark -- Root Boy Jim Cottrell <rbj@uunet.uu.net> Close the gap of the dark year in between ----------------------------- From: Edward Conger <conger@hpcupt1.cup.hp.com> Subject: Re: SIGCONT occurs after a SIGTERM Date: 12 Feb 91 22:23:14 GMT To: unix-wizards@sem.brl.mil / hpcupt1:comp.unix.wizards / coleman@cam.nist.gov (Sean Sheridan Coleman X5672) / 9:06 am Feb 11, 1991 / >Please explain to me why a SIGCONT is sent to a process after >SIGTERM is sent to my process. It doesn't compute because TERM >means to terminate the the process. The distinction is that sending a signal to a process (usually|often) is implemented by setting a bit in a flag word associated with the "victim process". The action of *send*ing the signal doesn't terminate the process, rather, it says, "when next you run in the kernel (either via a system call or a timeslice (usually ~ 1/100 sec)), you should go handle this signal." In the case of SIGTERM, the default behaviour is to TERMinate. Now suppose the victim process is stopped (either by job control, SIGSTOP, or via debugging), it will NOT see the bit set in the flag word until it runs again. The SIGCONT gets it unstopped and it runs long enough to terminate. Your mileage (and implementation) may vary, but this is the general gist of the problem. >Thanks >Sean Coleman >coleman@bldrdoc.gov >NIST >Boulder, CO >---------- Hope this helps, -Ed. =========================================================================== The above is an official statement of MeMyself & I Inc. It should not be interpreted to be an official statement of any other likely targets, including, but not limited to, Hewlett-Packard Co., ACME Rockets, ACME Rubber Bands, ACME Consolidated Mining Engineering, or the Home for Damaged Coyotes. ----------------------------- From: Steve Alter <alter@ttidca.tti.com> Subject: Re: dynamic linking C code with ld link editor Date: 13 Feb 91 03:09:27 GMT To: unix-wizards@sem.brl.mil In article <23713@netcom.COM> aed@netcom.COM (Andrew Davidson) writes: } I am trying to fiqure out how to use the ld link editor to dynamicly link } some C code. Are there any refference? All I have are the man pages } which are less than usefull for the beginer } } I am working on a sun workstation, but must also get this to run on a } sys V unix(SCO ODT UNIX sysV 3.2.0). This info is for SunOS (4.1, but I believe also applies to 4.0.) Load the "shlib.etc" package from your distrubution media (under 4.1 the command to do this is "/usr/etc/install/add_services") and then look in directory /usr/lib/shlib.etc at the README and Makefile files. That stuff only describes how to build a new version of the shared libc library, but it shows some of the basics that might be useful/needed in building your own library. Highlights: -- You have to build all of your object modules (for this library) with the "-pic" option to generate position-independent (a.k.a. relocatable) code. -- The Makefile uses the "-assert pure-text" option on the "ld" command to ensure (I believe) that everything in the library is read-only, i.e. no writable global data areas because read-only is a must for anything that is shared between anonymous users. If you want a global writable buffer then you've got to create a shared-memory segment. -- The Makefile also plays some games to ensure that the object modules go into the library in the correct order. The concepts of ranlib and the __.SYMDEF module don't apply to shared libraries because they're mapped directly into the address space of the process, whereas a normal library is just a collection of .o files with a symbol table up front and .o files still have to be linked with ld. Read the "ld" manual-page very carefully as it explains a lot of how the ld and ld.so programs, the LD_LIBRARY_PATH, and the version numbers on the /usr/lib/lib*.s[ao].* files work together. My ultimate suggestion: buy a set of the manuals; there's a whole chapter on shared libraries in there. -- Steve Alter <alter@ttidca.tti.com> {philabs,psivax,pyramid,quad1,rdlvax,retix,rutgers}!ttidca!alter Transaction Technology Inc. a subsidiary of Citicorp (213) 450-9111 x2541 ----------------------------- From: Greg Kemnitz <kemnitz@gaia.berkeley.edu> Subject: Re: dynamic linking C code with ld link editor Date: 13 Feb 91 20:04:48 GMT Sender: USENET Administrator <usenet@agate.berkeley.edu> To: unix-wizards@sem.brl.mil I had this problem for several months until (after much hacking) I got my dynamic loaders to work with Postgres. It is a rather different idea than shared libraries - the idea is to load and execute a function (whose name is unknown beforehand) in an object file given by the user. It is quite tricky, since you have to know about the a.out format, and getting it to work requires using lots of undocumented or almost undocumented features and options (especially on DECstations). Also, Postgres had to be able to unload and reload a user function (since the user may have changed it) which is easy but not entirely straightforward. I have two versions - one for Sun 3's, Sparcs, and Sequents, and another version for DECstations running Ultrix >= 4.0. They all use "ld -A", but there's lots of stuff you need to know that you only discover after much inspection. Nobody has a man page that is at all descriptive on "ld -A"'s use. If there's interest, I'll post them to the net. ----------------------------------------------------------------------- Greg Kemnitz | "I ran out of the room - I Postgres Chief Programmer | didn't want to be killed by a pile 278 Cory Hall, UCB | of VMS manuals" :-) (415) 642-7520 | kemnitz@postgres.berkeley.edu | --A friend at DEC Palo Alto in the Quake ----------------------------- From: s082@brems.ii.uib.no Subject: Re: Help! There's a slash '/' in my filename. Date: 13 Feb 91 12:02:01 GMT Sender: Usenet posting account <usenet@eik.ii.uib.no> To: unix-wizards@sem.brl.mil There seems to be a rather lengthy discussion going on about slashes in filenames, how to get them there, and whether to ask questions about them... Just one thing: Why would anyone want a slash (or any such character) a filename in the first place? -km ----------------------------- From: John F Haugh II <jfh@rpp386.cactus.org> Subject: cfreelist info Date: 13 Feb 91 16:45:41 GMT X-Clever-Slogan: Recycle or Die. To: unix-wizards@sem.brl.mil in various system v's the cblock freelist is declared something like struct chead cfreelist; and (struct chead) is struct chead { struct cblock *c_next; int c_size; int c_flag; } what the hell is cfreelist.c_size =supposed= to contain? it sure doesn't contain the total number of characters available on the cblock freelist right now. my x.29 tty driver thanks you ... ps - no fair peeking at the source code. -- John F. Haugh II UUCP: ...!cs.utexas.edu!rpp386!jfh Ma Bell: (512) 832-8832 Domain: jfh@rpp386.cactus.org "I've never written a device driver, but I have written a device driver manual" -- Robert Hartman, IDE Corp. ----------------------------- From: Thomas Omerzu <omerzu@quando.quantum.de> Subject: gettytab, entries f0, f1 & f2 Date: 13 Feb 91 20:13:17 GMT To: unix-wizards@sem.brl.mil A little but nasty problem: All bsd-based Unix-Implementations of getty (at least as far as known to me) support gettytab attributes f0, f1 and f2. According to TFM(gettytab) they take numeric values, where f0, f1 & f2 represent the tty mode flags "to write messages", "to read login name", and "to leave terminal in". "... Terminal modes to be used for the output of the message, for input of the login name, and to leave ther terminal set as upon completion, are derived from the Boolean flags specified. If the derivation should prove inadequate, any (or all) of these three may be overridden with one of the f0, f1, or f2 numeric specifications, which can be used to specify (usually in octal, with a leading 0) the exact values of the flags. Local (new tty) flags are set in the top 16 bits of this (32-bit) value. ..." [ From Dec Ultrix V4.0 Ref. Man. Vol 6 ] Now my question: how do the terminal mode flags (as know from termio or stty) correspond to the bits in f0 (or f1, f2)? Obviously it cannot be a 1:1 corresponency, since the struct termio contains 4 short values (c_iflag, c_oflag, c_cflag, c_lflag), or - in other words - 64 bits. Any ideas/experiences anyone? I was trying to use this on a DECstation 5000/200 running Ultrix 4.0, although other vendors seem not to supply much more information. Thanks in advance for your help, Thomas -- *--------------------------------------------------------------------------* Thomas Omerzu. Internet: omerzu@quantum.de Quantum GmbH Bitnet: omerzu%quando@UNIDO.bitnet Dortmund,Germany UUCP: ...!unido!quando!omerzu ----------------------------- From: Ian Flanigan <flan@cics.berkeley.edu> Subject: Loading and Executing Object Code at Runtime Keywords: help, load, run, .o, LISP Date: 13 Feb 91 21:27:04 GMT Sender: USENET News System <news@cec1.wustl.edu> To: unix-wizards@sem.brl.mil Hi, I tried posting this to comp.unix.questions first, but as I got no answer I figured this must be a Wizard level question: I'm wondering how to load an object file (my_functions.o) at execution time and execute a function contained therein. I know this is possible since many flavors of LISP allow you to compile your functions and then load the compiled versions later. If it's in TFM, could someone point me in the right direction, or, if it's trivially simple, could someone please explain how to go about it? Thanks much. -- Ian Flanigan flan@cics.wustl.edu "You can never have too many napkins." wucs1.wustl.edu!cics!flan@uucp ----------------------------- From: Doug Gwyn <gwyn@smoke.brl.mil> Subject: Re: dup2 Date: 13 Feb 91 22:41:02 GMT To: unix-wizards@sem.brl.mil In article <122373@uunet.UU.NET> rbj@uunet.UU.NET (Root Boy Jim) writes: -In article <15136@smoke.brl.mil> gwyn@smoke.brl.mil (Doug Gwyn) writes: ->/* -> dup2 -- 7th Edition UNIX system call emulation for UNIX System V ->*/ -Do you mean that V7 had dup2 but System V doesn't? -And what about systems that don't have fcntl? Geez, what do you think the comment means, anyway? ----------------------------- From: David Elliott <dce@smsc.sony.com> Subject: Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Date: 14 Feb 91 01:35:27 GMT To: unix-wizards@sem.brl.mil In article <=H_&Z9#@rpi.edu> rodney@sun.ipl.rpi.edu (Rodney Peck II) writes: >and finally, just because a question comes back again and again, doesn't >mean that all the wrong answers have to be dragged out again. that's what >the faq is for -- if someone wants to say "hey I read these answers in >the faq, and I didn't see this idea .... why won't this work?" -- that, >in my opinon, would be fine. I certainly agree with you, but let me make a suggestion. Instead of people complaining about people sending out wrong answers, or even answers at all, let's all try doing this: If someone posts a frequently-asked question, mail them a copy of the FAQ posting, and point out that the answer is there. If someone posts an answer, be it correct or incorrect, mail them a copy of the FAQ posting to remind them that the answer is already available to everyone in a consistent format. I did this myself for a while, made some friends in the first case, and got some pretty interesting excuses in the second. ----------------------------- From: Steve Summit <scs@adam.mit.edu> Subject: Re: Slashes in file names Date: 14 Feb 91 07:05:12 GMT Sender: News system <news@athena.mit.edu> To: unix-wizards@sem.brl.mil I begin to understand why people have such passionately awful things to say about NFS. As far as I'm concerned, if the NFS server code can create an illegal file (where "illegal" is defined by the host on which the server is running), then that's a bug in the NFS server, period. If the protocol doesn't include an error return of "I can't create a file of that name" (not surprising; <errno.h> doesn't define that specific error either, although it probably should), then it should just say something halfway like "no such file or directory." If the client can help out by trying not to ask for illegal files in the first place, that's fine; but in the final analysis the server has got to protect itself. Having the client not ask for illegal files is never going to work perfectly, anyway: even if a negotiation is defined by which the client can learn which characters are illegal, some operating system somewhere is going to have rules that can't be encoded that simply. Has anyone ever considered modifying namei so that it essentially checks to see if the current path character matches a target filename character *before* checking to see if the current path character is a '/'? That would make the filesystem robust against inadvertent /'s in filenames, because unlink("a/b/c") would in fact unlink a file called "b/c" in directory "a", if one somehow existed. (To be sure, there would be idiosyncrasies associated with such an algorithm. In the above example, if directory "a" also contained a subdirectory "b" as well as a file "b/c" the behavior would depend on which came first, or something. Still, it might be a nice escape hatch. Note that by only attempting to match existing files in this way, it would still never create a filename with a slash.) Steve Summit scs@adam.mit.edu ----------------------------- End of UNIX-WIZARDS Digest **************************
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/15/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Thu, 14 Feb 1991 14:07 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <8DB789FAE0203727@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14 Feb 1991 14:05 CST Date: Thu, 14 Feb 1991 14:05 CST From: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: Re: Wizard-level questions (go4th & thread your primitives) To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <8D7B99BDE020544F@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Thu, 14 Feb 1991 14:04 CST Received: by NDSUVM1 (Mailer R2.07) id 2307; Thu, 14 Feb 91 14:02:41 CST Date: Thu, 14 Feb 91 13:58:21 EST From: DAVID@PENNDRLS.UPENN.EDU Subject: RE: Wizard-level questions (go4th & thread your primitives) Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: Unix-Wizards@BRL.MIL Message-id: <8D3F0ACFE00046CB@MSUS1.MSUS.EDU> X-To: unix-wizards%sem.brl.mil@remote.dccs.upenn.edu For FORTH written in C, try Mitch Bradley of Bradley ForthWorks (wmb@MITCH.ENG.SUN.COM), who also has a SUN FORTH (by the way, he is also responsible for the FORTH in the Sparcstation boot proms) as well as FORTHs for a number of other platforms. Prices are very reasonable (circa $50, I think). If you can't afford anything but freeware, try Mikael Patel (eru!hagbard!sunic!liuida!mip@BLOOM-BEACON.MIT.EDU is the only address I have for him and I've never tried to use it) who has constructued TILE FORTH to run on Sun's and other Unix platforms. Actually, I don't know for sure that Mikael is giving away the current version, but there was at least one version that he posted to ForthNet. (ForthNet, by the way, is a virtual network of Forth mailing lists, BBSs, and other stuff with connections to the BITNET FIGI-L, usenet comp.language.forth (I think that is the right group) and to the Forth roundtable on Genie. If you like FORTH, it is worth getting connected to; right now the hot topic is the upcomming ANS FORTH dpANS.) -- R. David Murray (DAVID@PENNDRLS.UPENN.EDU) P.S.: I tried to mail this before I posted it, but the mail bounced. Hope you wizards assembled don't mind too much, this not being a unix-wizardly subject . . .
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/18/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Sat, 16 Feb 1991 14:12 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <20B31A6AA0207F88@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Fri, 15 Feb 1991 05:57 CST Date: Fri, 15 Feb 1991 05:57 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#019 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <1267ABF5C0206670@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Fri, 15 Feb 1991 05:55 CST Received: by NDSUVM1 (Mailer R2.07) id 1371; Fri, 15 Feb 91 05:51:46 CST Date: Fri, 15 Feb 91 05:45:06 EST From: Mike Muuss The Moderator <Unix-Wizards-Request@BRL.MIL> Subject: UNIX-WIZARDS Digest V12#019 Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <1230A50BC0004B3E@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Fri, 15 Feb 1991 V12#019 Today's Topics: Really serious security hole in Microport Unix (Re: SECURITY BUG IN INTERACTIVE UNIX SYSV386) Re: SIGCONT occurs after a SIGTERM Re: Help! There's a slash '/' in my filename. re: How to read v6 distribution tapes? Re: Slashes in file names Re: Loading and Executing Object Code at Runtime Some Wizardry in need V7/BSD vs. S3/S5/POSIX tty drivers (was Re: gettytab, entries f0, f1 & f2) Re: dynamic linking C code with ld link editor SCO Mailing List How to get remote ethernet address? Counting FLOPS Putenv() & Getenv() Bug ? ----------------------------------------------------------------- From: Bill <bill@franklin.com> Subject: Really serious security hole in Microport Unix (Re: SECURITY BUG IN INTERACTIVE UNIX SYSV386) Date: 13 Feb 91 17:03:16 GMT Followup-To: comp.unix.sysv386 To: unix-wizards@sem.brl.mil [I've crossposted this widely because there should be a lot of people who care about this; however, I've directed followups to comp.unix.sysv386.] Interactive's Unix isn't the only one with a really serious security hole. Microport 3.0e, and possibly others from Microport, has an equally awful hole and it is unfixable without kernel hacking. Microport knows about it since I told them about it; I don't know what, if anything, they are going to do about it. If anyone out there wants information on this bug, I will send it to you. Also, I have created a replacement for the offending kernel module of 3.0e and can send that. However, I will only send these to root@yoursite and only if I think that the path to your site is reasonably secure. If you are at the end of an insecure (in my opinion, and I won't change it) path and you still want this information, I will arrange a direct uucp connection to send it. If that won't work, I'll try to arrange something. I won't immediately describe the bug on the net in order to give admins a chance to fix their systems before the crackers get a whack at it. I can't even describe the general area that this bug compromises without making it too easy to trigger it. In a few weeks, after the expected deluge of "what *is* that bug" messages, I will post the informational message I'm sending out. -- Consider said various vicious and incendiary comments about brain dead programmers and inadequate QA. These bugs should *never* have made it out the door and, having done so, they should never have lasted as long as they have. Of course, we can't blame the guys at Interactive and Microport too much; they have had the example (and largely uncomment code) of those guys who gave us the still unfixed (or so I hear) System V inode bug. ----------------------------- From: Heiko Blume <src@scuzzy.in-berlin.de> Subject: Re: SIGCONT occurs after a SIGTERM Date: 13 Feb 91 21:31:10 GMT To: unix-wizards@sem.brl.mil richard@locus.com (Richard M. Mathews) writes: >The solution is don't catch SIGCONT. Your SIGTSTP handler knows when >the program resumes anyway because the line after the "kill" which >caused it to suspend itself will not be reached until the program is >resumed. which fails miserably when you get the uncatchable SIGSTOP. *yes*, i do use SIGSTOP, there are programs that disable the SIGTSTP feature, and i won't let those go unsuspended. -- Heiko Blume <-+-> src@scuzzy.in-berlin.de <-+-> (+49 30) 691 88 93 public source archive [HST V.42bis]: scuzzy Any ACU,f 38400 6919520 gin:--gin: nuucp sword: nuucp uucp scuzzy!/src/README /your/home ----------------------------- From: Steve Alter <alter@ttidca.tti.com> Subject: Re: Help! There's a slash '/' in my filename. Date: 14 Feb 91 05:41:03 GMT To: unix-wizards@sem.brl.mil At last, a package that avoids this problem altogether! I'm installing and testing the uShare software from Information Presentation Technologies, Inc. It provides, among other things, an AppleShare Server daemon for SunOS systems. I don't know if anybody else does this (yet) but uShare prevents the '/' from getting into the filename in the first place. When you create a file from a Mac in a uShare AppleShare volume, any characters that Unix might not like (slashes, control characters, bytes with the 8th bit, etc.) are converted into some strange notation (possibly hexadecimal digits) and prefixed with a ':'. Since the colon is invalid as part of a Mac filename (it's used to separate folder names in a path and the "Save File" dialog either ignores it or turns it into a hyphen) it's certainly available to protect the filename on the Unix side. -- Steve Alter <alter@ttidca.tti.com> {philabs,psivax,pyramid,quad1,rdlvax,retix,rutgers}!ttidca!alter Transaction Technology Inc. a subsidiary of Citicorp (213) 450-9111 x2541 ----------------------------- From: Barry Shein <bzs@world.std.com> Subject: Re: Help! There's a slash '/' in my filename. Date: 14 Feb 91 09:33:17 GMT Sender: Barry Shein <bzs@world.std.com> To: unix-wizards@sem.brl.mil From: s082@brems.ii.uib.no >Just one thing: Why would anyone want a slash (or any such character) a >filename in the first place? Perhaps the file name was in Norwegian? :-) (it's usually another machine, like a macintosh, using NFS to the unix system and creating a file name like "Expense 12/2/91" which is legal and common on macs.) Doesn't norwegian use o-slash and all that? -- -Barry Shein Software Tool & Die | bzs@world.std.com | uunet!world!bzs Purveyors to the Trade | Voice: 617-739-0202 | Login: 617-739-WRLD ----------------------------- From: Dennis Ritchie <dmr@alice.att.com> Subject: re: How to read v6 distribution tapes? Date: 14 Feb 91 06:05:35 GMT To: unix-wizards@sem.brl.mil Roy Smith wondered about how to look at v6, which exist on tape as RK05 disk images. Here's how we do it. It's instructive of something--I'm not sure quite what, but it makes an interesting demo, and it is a useful way to keep these archives. We transferred the disk images to big single files. Norman Wilson wrote a file server that understands the v6 disk format (512-byte disk blocks, 32-byte inodes, 16-bit disk addresses). Thus we can mount this disk image as a file system and poke around in it. Incidentally, we still have a few vax 11/750s, with the pdp-11 compatibility feature. So, from such a machine I can do cd /n/bowell/usr/src/history/v6/bin/bin # move to v6 /bin compat sh # start v6 shell and get a `%' prompt. These commands change to a directory on another machine, which contains an interpreted Sixth Edition file system, and run the Sixth Edition shell. Many of the commands there work. E.g. % ./size sh 4992+880+1408=7280 (16160) % ./date Thu Feb 14 00:46:32 EST 1991 % ./dc 10k2vp 1.4142135623 Doing this induces a somewhat creepy feeling. Dennis Ritchie dmr@research.att.com att!research!dmr ----------------------------- From: Sean Eric Fagan <sef@kithrup.com> Subject: Re: Slashes in file names Date: 14 Feb 91 09:18:53 GMT To: unix-wizards@sem.brl.mil In article <1991Feb14.070512.24190@athena.mit.edu> scs@adam.mit.edu writes: >If the protocol doesn't include an error return of "I can't >create a file of that name" (not surprising; <errno.h> doesn't >define that specific error either, although it probably should), It does. BSD has been using EINVAL to indicate an illegal filename (8-bit set in one or more of the characters), I believe. Thus, I think that's the error that should have been used, if possible. -- Sean Eric Fagan | "I made the universe, but please don't blame me for it; sef@kithrup.COM | I had a bellyache at the time." -----------------+ -- The Turtle (Stephen King, _It_) Any opinions expressed are my own, and generally unpopular with others. ----------------------------- From: Barry Shein <bzs@world.std.com> Subject: Re: Loading and Executing Object Code at Runtime Date: 14 Feb 91 09:43:21 GMT Sender: Barry Shein <bzs@world.std.com> To: unix-wizards@sem.brl.mil >I'm wondering how to load an object file (my_functions.o) at execution >time and execute a function contained therein. I know this is possible >since many flavors of LISP allow you to compile your functions and then >load the compiled versions later. > >If it's in TFM, could someone point me in the right direction, or, if it's >trivially simple, could someone please explain how to go about it? It's not trivially simple by any means and can be quite subtle to get right (e.g. loading multiple functions which reference each other and external functions.) It also is heavily dependent on the particular version of Unix, this is not portable, although one solution might work on several different unixes. BSD-based systems will use "ld -A" for starters. Encore had a routine to do this which made it relatively easy (dynaload(), which I think originated at AT&T but was never made part of the regular distribution? Or do I say this every two years when it comes up and someone corrects me that it's original to Encore? Anyhow.) In theory you should be able to do this on any Unix system, barring hideous ideosyncractic restrictions, it's mostly a matter of how much of a link-editor you might have to implement yourself. For starters, if you had a trivial routine that had no external references you can usually just read it into a malloc'd array of bytes from the .o and jump to it. It's the external references that make this harder than that, you have to resolve the externals against any which are already in the running image (e.g. printf) and load in any externals from the libraries (e.g. libc.a) which aren't. Your best bet is to find a piece of code which does this and read it. KCL does this and is available in source from various FTP sources. -- -Barry Shein Software Tool & Die | bzs@world.std.com | uunet!world!bzs Purveyors to the Trade | Voice: 617-739-0202 | Login: 617-739-WRLD ----------------------------- From: Melinda Shore <shore@mtxinu.com> Subject: Re: Loading and Executing Object Code at Runtime Date: 14 Feb 91 18:29:25 GMT To: unix-wizards@sem.brl.mil In article <BZS.91Feb14044321@world.std.com> bzs@world.std.com (Barry Shein) writes: >In theory you should be able to do this on any Unix system, barring >hideous ideosyncractic restrictions A quite widespread hideous idiosyncratic restriction is that on some architectures, notably the 386, you can't execute out of data space. It's sometimes possible to work around it by playing games with remapping memory, but only if you have kernel support (as with, say, Mach). -- Software longa, hardware brevis Melinda Shore shore@mtxinu.com mt Xinu ..!uunet!mtxinu.com!shore ----------------------------- From: Suresh Subramanian <suresh@lama.enet.dec.com> Subject: Some Wizardry in need Keywords: Sockets, Signals. Date: 14 Feb 91 18:54:26 GMT Sender: newsdaemon@shlump.nac.dec.com To: unix-wizards@sem.brl.mil The scenario goes like this if (!fork()) { fd = socket(.....); /* Unix domain */ bind and listen for connection accept(...) close(0) dup2(fd,0); close(1); dup2(fd,1); close(2); dup2(fd,2); execl("tip", "tip", args, (char *)0); /* standard unix tip, */ } else { sock = socket(...) connect(...); parent process goes on and exits. } (SIGCLD is also installed for notifying child's death) The main program is kind of a supervisor. Keeps waiting for user input and does appropriate actions. The problem I am facing is this:- 1) When a user wants to login to a another machine he calls the above mentioned function. I go ahead and exec tip and wait for tip to make the connection and send me a "login:" prompt. I get it and all goes well. But if the number dialled by tip is a lat then I will not get the standard login prompt. But instead I will get the LAT prompt and tip will be waiting for input from the user. Now the supervisor (that's me) should know that I have to get the input from the user and send it to tip. But I don't know that since I did not get the standard "login: " prompt but a LAT prompt. I cannot forsee all possible lat prompts. An elegant solution would be to get signal from tip, when it is waiting to do IO. I know there is SIGIO to do that. But I have execed tip within a child process. So the function address that I pass to signal system call before execing tip is now meaningless within the tip program. A solution is to modify tip to send SIGIO. But is there any other way to get the job done? Many Thanks for any insight Suresh ----------------------------- From: Guy Harris <guy@auspex.auspex.com> Subject: V7/BSD vs. S3/S5/POSIX tty drivers (was Re: gettytab, entries f0, f1 & f2) Date: 14 Feb 91 21:28:32 GMT Followup-To: comp.unix.programmer To: unix-wizards@sem.brl.mil (Not really a wizard-level question these days, and not really involved with UNIX internals, and not Ultrix-specific; this long discourse should probably be stuck in an FAQ list some day, at least until the POSIX tty driver conquers the UNIX world and we can all *finally* forget about the V7 driver and its descendants....) >All bsd-based Unix-Implementations of getty (at least as far as known to me) >support gettytab attributes f0, f1 and f2. > >According to TFM(gettytab) they take numeric values, where f0, f1 & f2 >represent the tty mode flags "to write messages", "to read login name", >and "to leave terminal in". > >"... Terminal modes to be used for the output of the message, >for input of the login name, and to leave ther terminal set as upon >completion, are derived from the Boolean flags specified. If the derivation >should prove inadequate, any (or all) of these three may be overridden >with one of the f0, f1, or f2 numeric specifications, which can be >used to specify (usually in octal, with a leading 0) the exact values >of the flags. Local (new tty) flags are set in the top 16 bits of this >(32-bit) value. ..." [ From Dec Ultrix V4.0 Ref. Man. Vol 6 ] > >Now my question: how do the terminal mode flags (as know from termio or stty) >correspond to the bits in f0 (or f1, f2)? > >Obviously it cannot be a 1:1 corresponency, since the struct termio >contains 4 short values (c_iflag, c_oflag, c_cflag, c_lflag), >or - in other words - 64 bits. > >Any ideas/experiences anyone? There are two general flavors of UNIX terminal drivers: "V7ish" and "System III"ish. (We ignore "V6ish" terminal drivers, as they're really ancient and obsolete.) "V7ish" terminal drivers have the "ioctl" functions TIOCGETP, TIOCSETP, TIOCSETN, TIOCGETC, and TIOCSETC, and may have other functions. TIOCGETP, TIOCSETP, and TIOCSETN use "struct sgtty", which includes the member "sg_flags", which is a "short", generally 16 bits. Some systems with "V7ish" terminal drivers have the functions TIOCLBIS, TIOCLBIC, TIOCLSET, and TIOCLGET, which use a "local mode word", with 16 bits. "System III"ish terminal drivers have one or more of: the "ioctl" functions TCGETA, TCSETA, TCSETAW, and TCSETAF; the "ioctl" functions TCGETS, TCSETS, TCSETSW, and TCSETSF; the POSIX functions "tcgetattr()" and "tcsetattr()". TCGETA, TCSETA, TCSETAW, and TCSETAF use "struct termio", which includes the members "c_iflag", "c_oflag", "c_cflag", and "c_lflag"; in "struct termio", they are all "unsigned short", generally 16 bits. TCGETS, TCSETS, TCSETSW, and TCSETSF, as well as "tcgetattr()" and "tcsetattr()", use "struct termios", which also includes the members "c_iflag", "c_oflag", "c_cflag", and "c_lflag"; in "struct termios", they are all "unsigned long", or "tcflag_t", generally 32 bits. The "f0", "f1", and "f2" flags in "gettytab" are the 16 bits from "sgtty.sg_flags", plus the 16 bits from the "local mode word", as described above (the "local mode word" flags are in the upper 16 bits). Some systems support both interfaces, either by some subterfuge such as having multiple line disciplines, or by translating one style of "ioctl" into another. SunOS 4.x and S5R4 do the latter; they support a "System III"ish terminal driver as their native tty driver, with a streams module that translates "V7ish" "ioctl"s into "System III"ish "ioctl"s. The underlying "System III"ish tty driver has been extended to support a bunch of BSDish features. Here's stuff from the manual page for that streams module, which gives some indication of how the modes are mapped. Note that *NOT* all systems with "System III"ish tty drivers have all the modes described below; if your system doesn't document it, it probably doesn't have it. Some fairly old systems with "V7ish" tty drivers may not have all the BSD features listed either. The basic ioctl calls use the sgttyb structure defined by <sys/ioctl.h>: struct sgttyb { char sg_ispeed; char sg_ospeed; char sg_erase; char sg_kill; short sg_flags; }; The sg_ispeed and sg_ospeed fields describe the input and output speeds of the device, and reflect the values in the c_cflag field of the termio structure. The sg_erase and sg_kill fields of the argument structure specify the erase and kill characters respectively, and reflect the values in the VERASE and VKILL members of the c_cc field of the termio structure. The sg_flags field of the argument structure contains several flags that determine the system's treatment of the terminal. They are mapped into flags in fields of the ter- minal state, represented by the termio structure. Delay type 0 is always mapped into the equivalent delay type 0 in the c_oflag field of the termio structure. Other delay mappings are performed as follows: sg_flags c_oflag BS1 BS1 FF1 VT1 CR1 CR2 CR2 CR3 CR3 not supported TAB1 TAB1 TAB2 TAB2 XTABS TAB3 NL1 ONLRET|CR1 NL2 NL1 If previous TIOCLSET or TIOCLBIS ioctl calls have not selected LITOUT or PASS8 mode, and if RAW mode is not selected, the ISTRIP flag is set in the c_iflag field of the termio structure, and the EVENP and ODDP flags control the parity of characters sent to the terminal and accepted from the terminal: 0 Parity is not to be generated on output or checked on input; the character size is set to CS8 and the PARENB flag is cleared in the c_cflag field of the termio structure. EVENP Even parity characters are to be generated on output and accepted on input; the INPCK flag is set in the c_iflag field of the termio struc- ture, the character size is set to CS7 and the PARENB flag is set in the c_cflag field of the termio structure. ODDP Odd parity characters are to be generated on output and accepted on input; the INPCK flag is set in the c_iflag field, the character size is set to CS7 and the PARENB and PARODD flags are set in the c_cflag field of the termio struc- ture. EVENP|ODDP Even parity characters are to be generated on output and characters of either parity are to be accepted on input; the INPCK flag is cleared in the c_iflag field, the character size is set to CS7 and the PARENB flag is set in the c_cflag field of the termio structure. The RAW flag disables all output processing (the OPOST flag in the c_oflag field, and the XCASE flag in the c_lflag field, are cleared in the termio structure) and input pro- cessing (all flags in the c_iflag field other than the IXOFF and IXANY flags are cleared in the termio structure). 8 bits of data, with no parity bit, are accepted on input and generated on output; the character size is set to CS8 and the PARENB and PARODD flags are cleared in the c_cflag field of the termio structure. The signal-generating and line- editing control characters are disabled by clearing the ISIG and ICANON flags in the c_lflag field of the termio struc- ture. The CRMOD flag turn input RETURN characters into NEWLINE characters, and output and echoed NEWLINE characters to be output as a RETURN followed by a LINEFEED. The ICRNL flag in the c_iflag field, and the OPOST and ONLCR flags in the c_oflag field, are set in the termio structure. The LCASE flag maps upper-case letters in the ASCII charac- ter set to their lower-case equivalents on input (the IUCLC flag is set in the c_iflag field), and maps lower-case letters in the ASCII character set to their upper-case equivalents on output (the OLCUC flag is set in the c_oflag field). Escape sequences are accepted on input, and gen- erated on output, to handle certain ASCII characters not supported by older terminals (the XCASE flag is set in the c_lflag field). Other flags are directly mapped to flags in the termio structure: sg_flags flags in termio structure CBREAK complement of ICANON in c_lflag field ECHO ECHO in c_lflag field TANDEM IXOFF in c_iflag field Another structure associated with each terminal specifies characters that are special in both the old Version 7 and the newer 4BSD terminal interfaces. The following structure is defined by <sys/ioctl.h>: struct tchars { char t_intrc; /* interrupt */ char t_quitc; /* quit */ char t_startc; /* start output */ char t_stopc; /* stop output */ char t_eofc; /* end-of-file */ char t_brkc; /* input delimiter (like nl) */ }; The characters are mapped to members of the c_cc field of the termio structure as follows: tchars c_cc index t_intrc VINTR t_quitc VQUIT t_startc VSTART t_stopc VSTOP t_eofc VEOF t_brkc VEOL Also associated with each terminal is a local flag word, specifying flags supported by the new 4BSD terminal inter- face. Most of these flags are directly mapped to flags in the termio structure: local flags flags in termio structure LCRTBS not supported LPRTERA ECHOPRT in the c_lflag field LCRTERA ECHOE in the c_lflag field LTILDE not supported LTOSTOP TOSTOP in the c_lflag field LFLUSHO FLUSHO in the c_lflag field LNOHANG CLOCAL in the c_cflag field LCRTKIL ECHOKE in the c_lflag field LCTLECH CTLECH in the c_lflag field LPENDIN PENDIN in the c_lflag field LDECCTQ complement of IXANY in the c_iflag field LNOFLSH NOFLSH in the c_lflag field Another structure associated with each terminal is the ltchars structure which defines control characters for the new 4BSD terminal interface. Its structure is: struct ltchars { char t_suspc; /* stop process signal */ char t_dsuspc; /* delayed stop process signal */ char t_rprntc; /* reprint line */ char t_flushc; /* flush output (toggles) */ char t_werasc; /* word erase */ char t_lnextc; /* literal next character */ }; The characters are mapped to members of the c_cc field of the termio structure as follows: ltchars c_cc index t_suspc VSUSP t_dsuspc VDSUSP t_rprntc VREPRINT t_flushc VDISCARD t_werasc VWERASE t_lnextc VLNEXT IOCTLS ttcompat responds to the following ioctl calls. All others are passed to the module below. TIOCGETP The argument is a pointer to an sgttyb struc- ture. The current terminal state is fetched; the appropriate characters in the terminal state are stored in that structure, as are the input and output speeds. The values of the flags in the sg_flags field are derived from the flags in the terminal state and stored in the structure. TIOCSETP The argument is a pointer to an sgttyb struc- ture. The appropriate characters and input and output speeds in the terminal state are set from the values in that structure, and the flags in the terminal state are set to match the values of the flags in the sg_flags field of that structure. The state is changed with a TCSETSF ioctl, so that the interface delays until output is quiescent, then throws away any unread char- acters, before changing the modes. TIOCSETN The argument is a pointer to an sgttyb struc- ture. The terminal state is changed as TIOCSETP would change it, but a TCSETS ioctl is used, so that the interface neither delays nor discards input. TIOCHPCL The argument is ignored. The HUPCL flag is set in the c_cflag word of the terminal state. TIOCFLUSH The argument is a pointer to an int variable. If its value is zero, all characters waiting in input or output queues are flushed. Otherwise, the value of the int is treated as the logical OR of the FREAD and FWRITE flags defined by <sys/file.h>; if the FREAD bit is set, all char- acters waiting in input queues are flushed, and if the FWRITE bit is set, all characters waiting in output queues are flushed. TIOCSTOP The argument is ignored. Output is stopped as if the STOP character had been typed. TIOCSTART The argument is ignored. Output is restarted as if the START character had been typed. TIOCGETC The argument is a pointer to an tchars struc- ture. The current terminal state is fetched, and the appropriate characters in the terminal state are stored in that structure. TIOCSETC The argument is a pointer to an tchars struc- ture. The values of the appropriate characters in the terminal state are set from the charac- ters in that structure. TIOCLGET The argument is a pointer to an int. The current terminal state is fetched, and the values of the local flags are derived from the flags in the terminal state and stored in the int pointed to by the argument. TIOCLBIS The argument is a pointer to an int whose value is a mask containing flags to be set in the local flags word. The current terminal state is fetched, and the values of the local flags are derived from the flags in the terminal state; the specified flags are set, and the flags in the terminal state are set to match the new value of the local flags word. TIOCLBIC The argument is a pointer to an int whose value is a mask containing flags to be cleared in the local flags word. The current terminal state is fetched, and the values of the local flags are derived from the flags in the terminal state; the specified flags are cleared, and the flags in the terminal state are set to match the new value of the local flags word. TIOCLSET The argument is a pointer to an int containing a new set of local flags. The flags in the termi- nal state are set to match the new value of the local flags word. TIOCGLTC The argument is a pointer to an ltchars struc- ture. The values of the appropriate characters in the terminal state are stored in that struc- ture. TIOCSLTC The argument is a pointer to an ltchars struc- ture. The values of the appropriate characters in the terminal state are set from the charac- ters in that structure. ----------------------------- From: Guy Harris <guy@auspex.auspex.com> Subject: Re: dynamic linking C code with ld link editor Date: 14 Feb 91 21:39:52 GMT To: unix-wizards@sem.brl.mil >I had this problem for several months until (after much hacking) I got my >dynamic loaders to work with Postgres. It is a rather different idea than >shared libraries - the idea is to load and execute a function (whose name is >unknown beforehand) in an object file given by the user. Different idea, but the SunOS 4.1/S5R4 implementation of it (and, I think, the OSF/1 implementation of it) uses a lot of stuff from the shared library mechanism in the OSes in question. If you're on one of those systems, you don't have to know about executable file formats, or all the other obscure stuff; just use the dynamic loading mechanism that comes with the OS. ----------------------------- From: Dave Armbrust <dma@pcssc.com> Subject: SCO Mailing List Date: 14 Feb 91 22:45:01 GMT To: unix-wizards@sem.brl.mil The Santa Cruz Operation mailing list Charter: For exchange of information and discussions regarding all products from Santa Cruz operations. This group will be beneficial to any one interested or currently using SCO products. This mailing list is a single area that discussions and information can be exchanged regarding ALL SCO products. This mailing is independent of any existing news groups. If you are currently using SCO products, interested in products from SCO or work for Santa Cruz Operations I encourage you to join the SCO mailing list. Currently there are 300 sites that subscribe to the list. The SCO mailing list is located on the uunet host. Send all articles or discussions to the address: sco-list@uunet.uu.net Please send change requests to sco-list-request@uunet.uu.net. If you wish to be added to this list please follow these instructions. IT IS IMPORTANT THAT THESE INSTRUCTIONS ARE FOLLOWED AS THE PROCESS IS AUTOMATED. 1) Mail your add request to sco-list-request@uunet. Do not send your request to sco-list@uunet.uu.net as this is the address to post all articles to. 2) Include the address you wish to received the mailing at in the body of the mail message. Example to add the address dma@pcssc.com include in the body of the message the following: Add: dma@pcssc.com Note the word add starts with a capital `A` and is the first word on the line. It is also followed by a colon ':', a single blank space, an address and then a new line. Be sure to include the `:` and the blank. Do not follow the address with any comments. Only internet addresses are accepted, Bang paths are not allowed. Do not put the add request in the subject line as this will be ignored. 3) Once our system receives your request you will receive an acknowledgment. You will then start to get all articles posted to uunet!sco-list. 4) If you do not receive the acknowledgment and postings right away do not send a alternate address path. You may end up getting two copies of all posting using both paths. Instead mail myself at dma@pcssc.com and ask if I got the original request. ----------------------------------------------------------------------------- Dave Armbrust | PC Software Systems | dma@pcssc.com or 4370 S Tamiami Trail | owner-sco-list@uunet.uu.net Sarasota, FL 34231-3400 | Phone: (813)922-8857 ----------------------------- From: Lynn Wallace <lwallace@javelin.es.com> Subject: How to get remote ethernet address? Keywords: ethernet address remote Date: 15 Feb 91 00:04:14 GMT To: unix-wizards@sem.brl.mil We use dedicated ethernet connections between machines, meaning a machine on each end of a cable with no other connections. The system I am writing (or attempting to :-) a driver for will be connected to various machines, sometimes "right off the assembly line". Is there a way to obtain the remote's ethernet address (vs. internet address; it's a low-level protocol) from software so the user doesn't have to flip through a manual, eyeball a card or peek memory to get it? Reply via e-mail please, as I don't usually follow these groups. Thanks! -- Lynn Wallace |I am not an official representative of Evans and Sutherland Computer Corp.| <- E&S. Or for that matter, unofficial. Salt Lake City, UT 84108 |Internet: lwallace@javelin.sim.es.com War not make one great! -- Yoda ----------------------------- From: Rouben Rostamian <rouben@math9.math.umbc.edu> Subject: Counting FLOPS Date: 15 Feb 91 00:40:44 GMT Sender: newspost@umbc3.umbc.edu To: unix-wizards@sem.brl.mil How does one count the number of floating point operations (flops) during the execution of a C program? I guess it is possible to trace manually all loops and function calls and iterations and recursions, etc., and add them up, but that will easily gets out of hand for a half-way complicated program. Are there automatic tools for doing this? I am primarily interested in a solution which will work under RISC Ultrix, if that matters. Rouben Rostamian -- Rouben Rostamian Telephone: (301) 455-2458 Department of Mathematics and Statistics e-mail: University of Maryland Baltimore County bitnet: rostamian@umbc.bitnet Baltimore, MD 21228, U.S.A. internet: rouben@math9.math.umbc.edu ----------------------------- From: Ivan Borzieri <borzieri@king.ico.olivetti.com> Subject: Putenv() & Getenv() Bug ? Date: 15 Feb 91 10:15:44 GMT Sender: news@olivea.atc.olivetti.com To: unix-wizards@sem.brl.mil Hi, I URGENTLY need this information : I wrote two c modules called by a fortran main. in the first c module I call the system function "putenv()" which should set a variable in the environment. In the second c module I call the system function "getenv()" to read the value of the previous set variable. The value returned by getenv() is NULL, id est, that variable doesn't exist. Now my question is : is this right ? I know that in C-Shell scripts, when you set variables you loose them as you exit the script. Is it the same or this is a operating system bug ? The system is SCO Unix System V 3.2 Thanks, Ivan Borzieri ----------------------------- End of UNIX-WIZARDS Digest **************************
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/18/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Sat, 16 Feb 1991 14:12 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <20B7AB3D60207F88@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Fri, 15 Feb 1991 13:24 CST Date: Fri, 15 Feb 1991 13:24 CST From: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: read news software To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <50DAE39F00206D56@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Fri, 15 Feb 1991 13:20 CST Received: by NDSUVM1 (Mailer R2.07) id 7075; Fri, 15 Feb 91 13:15:16 CST Date: Fri, 15 Feb 91 08:38:20 PST From: Nagesh_Pabbisetty.Henr801C@XEROX.COM Subject: read news software Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: Unix-Wizards@BRL.MIL Message-id: <5062C61C00005A4C@MSUS1.MSUS.EDU> X-To: unix-wizards@sem.brl.mil X-cc: Pabbisetty.Henr801C@xerox.com, phillips.Henr801C@xerox.com We would like to start getting news feed at our location (Rochester,NY). Could someone give us the location of the software for "read news"? Is this the best software available for reading news? Is this software available for anonymous ftp? We will summarize and post information to the net, if there is enough interest... Thanks... pabbiset@arisia.xerox.com, phillips@arisia.xerox.com ------------------------------------------------------------------------------- Learning is a monotonic growth experience, Education is an exercise in iteration. -------------------------------------------------------------------------------
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/18/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Sat, 16 Feb 1991 14:12 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <20BB4972C0207F88@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Sat, 16 Feb 1991 05:50 CST Date: Sat, 16 Feb 1991 05:50 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#020 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <DAA92F848020713B@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Sat, 16 Feb 1991 05:49 CST Received: by NDSUVM1 (Mailer R2.07) id 6467; Sat, 16 Feb 91 05:44:58 CST Date: Sat, 16 Feb 91 05:45:03 EST From: Mike Muuss The Moderator <Unix-Wizards-Request@BRL.MIL> Subject: UNIX-WIZARDS Digest V12#020 Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <DA77307200005813@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Sat, 16 Feb 1991 V12#020 Today's Topics: Finding tape block size Re: Finding tape block size Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Re: Stuck-up Wizards Re: Loading and Executing Object Code at Runtime Re: SIGCONT occurs after a SIGTERM Re: Help! There's a slash '/' in my filename. Re: Putenv() & Getenv() Bug ? converting termcap to termlib Re: Counting FLOPS ----------------------------------------------------------------- From: Anthony DeBoer <adeboer@gjetor.geac.com> Subject: Finding tape block size Date: 12 Feb 91 22:43:53 GMT To: unix-wizards@sem.brl.mil I periodically get tapes from client's systems or other sources where the precise tape format isn't documented. What I'm looking to find out is if there's a way to determine exactly what block size was used when the tape was written, or even if this is a major requirement (should I even be worrying about it or not?). Reading with a tasteful default value usually seems to work (even a 512-byte block size has worked before, although at tremendous loss of efficiency), but I'm wondering if there's any chance of data loss with the wrong block size, or any rule of thumb for optimizing things. I have several systems here, so as far as naming my hardware/software configuration goes I'll just mention the Unisys 6000/50 running SVR3.0 with a 150meg QIC drive. And I shouldn't forget the old Convergent Technologies Mightyframe. -- Anthony DeBoer NAUI#Z8800 | adeboer@gjetor.geac.com | Programmer (n): One who Geac J&E Systems Ltd. | uunet!geac!gjetor!adeboer | makes the lies the Toronto, Ontario, Canada | #include <disclaimer.h> | salesman told come true. ----------------------------- From: George Robbins <grr@cbmvax.commodore.com> Subject: Re: Finding tape block size Date: 16 Feb 91 05:17:06 GMT To: unix-wizards@sem.brl.mil In article <1991Feb12.224353.6514@gjetor.geac.COM> adeboer@gjetor.geac.COM (Anthony DeBoer) writes: > I periodically get tapes from client's systems or other sources where the > precise tape format isn't documented. What I'm looking to find out is if > there's a way to determine exactly what block size was used when the tape was > written, or even if this is a major requirement (should I even be worrying > about it or not?). Reading with a tasteful default value usually seems to > work (even a 512-byte block size has worked before, although at tremendous > loss of efficiency), but I'm wondering if there's any chance of data loss with > the wrong block size, or any rule of thumb for optimizing things. dd if=/dev/nrmt* of=diskfile bs=65535 count=1 ; ls -l diskfile ... - or - dd if=/dev/nrmt* bs=65535 count=1 | wc -c Different tape devices have different characteristics. A sun type cartridge tape is insensitive to blocksize (except as a performance issue), traditional raw 9-track tapes may well lose data... -- George Robbins - now working for, uucp: {uunet|pyramid|rutgers}!cbmvax!grr but no way officially representing: domain: grr@cbmvax.commodore.com Commodore, Engineering Department phone: 215-431-9349 (only by moonlite) ----------------------------- From: Doug Gwyn <gwyn@smoke.brl.mil> Subject: Re: Finding tape block size Date: 16 Feb 91 05:34:24 GMT To: unix-wizards@sem.brl.mil In article <1991Feb12.224353.6514@gjetor.geac.COM> adeboer@gjetor.geac.COM (Anthony DeBoer) writes: >... if there's a way to determine exactly what block size was used when the >tape was written, or even if this is a major requirement (should I even be >worrying about it or not?). Assuming your tape subsystem conforms to long-established UNIX practice, if the read() system call specifies a read count less than the actual block size when reading the "raw tape" device (which is the usual one), you should get an I/O error since data will be lost. (If you're trying to read a "tar" or "cpio" archive, and data ever does get silently lost, you should see archive checksum comparison errors.) For read counts in excess of the block size, read() returns the actual amount of data read, not the requested size. Therefore the usual practice is to try to read using an over-generous allocation for the input buffer, which should not introduce any significant amount of inefficiency. If you have an oddball device driver or hardware, you may be out of luck. ----------------------------- From: "Blair P. Houghton" <bhoughto@pima.intel.com> Subject: Re: Stuck-up Wizards (Re: Summary and Fix for "slashes in filenames") Date: 13 Feb 91 21:21:06 GMT Sender: news@inews.intel.com To: unix-wizards@sem.brl.mil In article <=H_&Z9#@rpi.edu> rodney@sun.ipl.rpi.edu (Rodney Peck II) writes: >You've missed the point. I don't think that most of the flame here is >because someone asked how to get rid of a file with a '/' in it. It is >instead because of all the people who are offering wrong answers. > >This exact argument went though this group last year with basically the >same results. Those who do not learn from history are numerous and reproductive; so, what's your point? >The point is -- this is supposed to be a place where people who really >actually guarenteed know the answer to some difficult question will answer >you. cuw is not the place for people to throw in their two cents. There's >a whole other tree that was created for just that purpose. And which might that be? I've seen plenty of comp.unix.internals/wizards threads that were valuable only after a large number of people had tweaked the solution. That's how problems get solved. Anyone who is capable of solving problems alone isn't hanging around playing pinochle and kibbitzing about slashes in filenames. And, some questions have no answer, only answer-determining algorithms, with many decision points, with many options, depending on the systems under which the algorithms are to be implemented. I'd rather have fifty short, half-right answers and a clue than one, dead-right answer and be left with the need to post asking what the answer means on my platform. Someone posted something incorrect? Welcome to the planet Earth. Say it's wrong, say what's right, give us all some sleep. (Pardon my hypocrisy; someone's gotta sacrifice so that others may gain, and I have little to lose. (Hi, Doug! :-)) >and finally, just because a question comes back again and again, doesn't >mean that all the wrong answers have to be dragged out again. As a tautology, that would be correct, if only because asking a repeated question can't prevent a wrong answer. However, it's likely that if the question didn't get into everyone's knowledge, the correct answer couldn't have, either. In fact, if in the standard methodology the answer is hidden but necessary, then the question must eventually be deduced, but the answer -- right or wrong -- would have to wait for the question before it could be produced. >if someone wants to say "hey I read these answers in >the faq, and I didn't see this idea .... why won't this work?" -- that, >in my opinon, would be fine. Elitism is no defense for flaming this poor slob: "Hey, I've been reading this group far longer than my employer and I think is valuable (must be ten minutes, at least), and I haven't come across this question, and I'm on a deadline and ... how do I get back rm'ed files?" Any question has essentially that same etiology, even if the deadline is only for personal reasons, or economics is only a minor cause. If you had the time and character to wait for the truth to come to you, or the resources to attract it irresistably, you wouldn't need question marks at all. Anyone who asks "What's a FAQ?" without first having heard of one is clairvoyant. >in summary -- it's not a question of people being out of line. it's a >question of being considerate when you offer advice to someone who is >expecting your answer to work. The general admonition for that is to test it yourself. But even that is a lesson that requires experience to prove its economy. --Blair "You don't. You weep for their unlinking and pray that it's on the backups and you can find a good hypnotist to help you type in your changes again." ----------------------------- From: Doug Gwyn <gwyn@smoke.brl.mil> Subject: Re: Stuck-up Wizards Date: 16 Feb 91 05:27:44 GMT To: unix-wizards@sem.brl.mil In article <2509@inews.intel.com> bhoughto@pima.intel.com (Blair P. Houghton) writes: >>cuw is not the place for people to throw in their two cents. There's >>a whole other tree that was created for just that purpose. >And which might that be? Comp.unix.questions, which you presumably know since you posted to both groups. Come on, get with the program! ----------------------------- Subject: Re: Loading and Executing Object Code at Runtime Date: 14 Feb 91 07:22:52 GMT To: unix-wizards@sem.brl.mil In an article, flan@cics.Berkeley.EDU (Ian Flanigan) writes: >Hi, > >I tried posting this to comp.unix.questions first, but as I got no answer >I figured this must be a Wizard level question: > >I'm wondering how to load an object file (my_functions.o) at execution >time and execute a function contained therein. I know this is possible >since many flavors of LISP allow you to compile your functions and then >load the compiled versions later. When you are talking about compiling functions and loading the compiled versions later, are you talking about using a linkage editor to build a runable image? If you're trying to do what it looks like you're trying to do, the answer is "you can't get there from here." You would have open the object file, load the function within the context of the current process (a real trick), allocate the core for data, stack, and bbs, push the stack frame, and jump to the address of this arbitrary function. Just ain't no way you can be doin' this in user mode. -- Michael Stefanik | Opinions stated are not even my own. Systems Engineer, Briareus Corporation | UUCP: ...!uunet!bria!mike ------------------------------------------------------------------------------- technoignorami (tek'no-ig'no-ram`i) a group of individuals that are constantly found to be saying things like "Well, it works on my DOS machine ..." ----------------------------- From: Tom Christiansen <tchrist@convex.com> Subject: Re: Loading and Executing Object Code at Runtime Date: 15 Feb 91 17:30:24 GMT Sender: news access account <usenet@convex.com> Nntp-Posting-Host: pixel.convex.com To: unix-wizards@sem.brl.mil From the keyboard of uunet!bria!mike: :If you're trying to do what it looks like you're trying to do, the answer :is "you can't get there from here." You would have open the object file, :load the function within the context of the current process (a real trick), :allocate the core for data, stack, and bbs, push the stack frame, and :jump to the address of this arbitrary function. Just ain't no way you :can be doin' this in user mode. Never say never. It certainly is on some architectures. Just malloc or mmap in some pages as RWX, then load the position-independently compiled functions in there from disk, and call through a function pointer. There are also overlay schemes available -- that's what I used to do on Z80 machines. You could also use overlays on PDP-11's. --tom -- Tom Christiansen tchrist@convex.com convex!tchrist "All things are possible, but not all expedient." (in life, UNIX, and perl) ----------------------------- From: Guy Harris <guy@auspex.auspex.com> Subject: Re: Loading and Executing Object Code at Runtime Date: 15 Feb 91 23:11:31 GMT To: unix-wizards@sem.brl.mil >A quite widespread hideous idiosyncratic restriction is that on >some architectures, notably the 386, you can't execute out of data >space. What's "data space", and how is it different from any other sort of space? (Most UNIX systems run with a flat address space on 386es. PTEs on the 386 only have a "writable" bit.) ----------------------------- From: "Brandon S. Allbery KB8JRR" <allbery@ncoast.org> Subject: Re: SIGCONT occurs after a SIGTERM Date: 15 Feb 91 00:56:23 GMT Followup-To: comp.unix.questions To: unix-wizards@sem.brl.mil As quoted from <7103@fs1.cam.nist.gov> by coleman@cam.nist.gov (Sean Sheridan Coleman X5672): +--------------- | Please explain to me why a SIGCONT is sent to a process after | SIGTERM is sent to my process. It doesn't compute because TERM +--------------- Being suspended, it wouldn't execute the signal handler unless it were continued. Also, I think the exit processing in the kernel needs this. (So why does the SIGCONT handler run after the SIGTERM handler? Because signal handlers are invoked in signal-number order.) ++Brandon (BSD folks feel free to correct me.) -- Me: Brandon S. Allbery VHF/UHF: KB8JRR on 220, 2m, 440 Internet: allbery@NCoast.ORG Packet: KB8JRR @ WA8BXN America OnLine: KB8JRR AMPR: KB8JRR.AmPR.ORG [44.70.4.88] uunet!usenet.ins.cwru.edu!ncoast!allbery Delphi: ALLBERY ----------------------------- From: Robert Claeson <prc@erbe.se> Subject: Re: Help! There's a slash '/' in my filename. Date: 15 Feb 91 08:11:41 GMT To: unix-wizards@sem.brl.mil In article <BZS.91Feb14043317@world.std.com> bzs@world.std.com (Barry Shein) writes: >From: s082@brems.ii.uib.no >>Just one thing: Why would anyone want a slash (or any such character) a >>filename in the first place? > >Perhaps the file name was in Norwegian? :-) ..... >Doesn't norwegian use o-slash and all that? Yes, but it's o-slash as a single seven-bit or eight-bit character and not an "o" followed by a slash. -- Robert Claeson Disclaimer: I represent myself and not my employer. ----------------------------- From: Erik Naggum <enag@ifi.uio.no> Subject: Re: Help! There's a slash '/' in my filename. Date: 15 Feb 91 09:15:08 GMT Sender: Erik Naggum <enag@ifi.uio.no> To: unix-wizards@sem.brl.mil In article <BZS.91Feb14043317@world.std.com>, Barry Shein writes: > From: s082@brems.ii.uib.no > >Just one thing: Why would anyone want a slash (or any such character) a > >filename in the first place? > Perhaps the file name was in Norwegian? :-) I fail to see the humor in this. > Doesn't norwegian use o-slash and all that? Norwegian does overload (as per ISO 646) [\]{|} into (ISO 8859-1 alert) FXEfxe, but / remains /. Norwegians may actually use - or . to separate the parts of the date spec, so you might be better off with one of us Viking descendants... (Presently, I'm glad that we did not inherit their Runes, even though the winter weather outside is reminiscent of the Fimbulvinter we will see shortly before, or was it after, the end of the world.) My parents were fortunately smart enough to choose a family name without any of the "national" characters, and to give me a name without any of them, too, which might or might not have been caused by a quite astonishing amount of foresight. I've already decided on a dedication line for any books I might produce: To my parents, who kindly avoided F, X, and E in my name. Finally, I hope this makes it out with the ISO 8859-1 intact. If not, some of you might wonder what's so special with F, X and E. -- [Erik Naggum] <enag@ifi.uio.no> Naggum Software, Oslo, Norway <erik@naggum.uu.no> ----------------------------- From: Jenner <Jenner@uswnvg.uucp> Subject: Re: Help! There's a slash '/' in my filename. Date: 16 Feb 91 05:22:04 GMT To: unix-wizards@sem.brl.mil In article <1991Feb13.120201.13608@eik.ii.uib.no>, s082@brems.ii.uib.no writes: > > There seems to be a rather lengthy discussion going on about slashes in > filenames, > how to get them there, and whether to ask questions about them... > Just one thing: Why would anyone want a slash (or any such character) a > filename in the first place? Maybe they didn't. How bout this sceniero. person types: foo/bar and hits return wanted to type: foo.bar and hit return look at your keyboard. it is possible. "Users. If we could only keep 'em off the machine." cedgman jenner .....................................dfpedro@uswnvg.UUCP *Disclaimer? You bet! I speak for myself only.* ----------------------------- From: "S. A. Rasche" <scrs_ltd@uhura.cc.rochester.edu> Subject: 'Talk' off campus Date: 15 Feb 91 13:42:54 GMT Sender: scrs_ltd@uhura.cc.rochester.edu To: unix-wizards@sem.brl.mil Does anyone know how to get the 'talk' command to work off campus?? I have used it on the University of Rochester campus, but when I try to 'talk' to someone at let's say Ga. Tech, it doesn't work. I try 'talk gt7164b@prism.gatech.edu' but nothing happens or I get a response saying that they are an unknown host or something like that. Can anyone in this news group help me???? Thanks a bunch, Shorts --Tip your bartenders - Tip your friends-- Kevn Kinney ----------------------------- From: "Conor P. Cahill" <cpcahil@virtech.uucp> Subject: Re: Putenv() & Getenv() Bug ? Date: 15 Feb 91 14:03:09 GMT To: unix-wizards@sem.brl.mil borzieri@KING.ICO.OLIVETTI.COM (Ivan Borzieri) writes: >in the first c module I call the system function "putenv()" which should >set a variable in the environment. >In the second c module I call the system function "getenv()" to read >the value of the previous set variable. the problem is *PROBABLY* that you are using a local variable in the call to putenv. local data is lost when you return from the function and thereafter unavailable. the putenv(3) man page states that you shouldn't do this. The argument to putenv should point to a static data area or a malloc'd data area. All this is predicated on the fact that both modules (the one calling putenv and the one calling getenv) are called from the same executable. -- Conor P. Cahill (703)430-9247 Virtual Technologies, Inc. uunet!virtech!cpcahil 46030 Manekin Plaza, Suite 160 Sterling, VA 22170 ----------------------------- Subject: Re: Putenv() & Getenv() Bug ? Date: 16 Feb 91 02:25:54 GMT To: unix-wizards@sem.brl.mil In an article, KING.ICO.OLIVETTI.COM!borzieri (Ivan Borzieri) writes: >I wrote two c modules called by a fortran main. >in the first c module I call the system function "putenv()" which should >set a variable in the environment. >In the second c module I call the system function "getenv()" to read >the value of the previous set variable. >The value returned by getenv() is NULL, id est, that variable >doesn't exist. >Now my question is : is this right ? I have found putenv() to be particuarly annoying, and wonderfully inconsistent in implementation. For example, not all putenv()'s guarantee that the newly created variable is inherited by child processes. Try this ditty to see if your putenv() is broken: #include <stdio.h> main() { putenv("FOO=BAR"); printf("FOO=%s\n",(char *)getenv("FOO")); if ( fork() ) wait(NULL); else execlp("/bin/sh","/bin/sh",NULL); } When you run this program, you should see "FOO=BAR" and then a shell prompt; type "echo $FOO" and you should get "BAR". Press CTRL-D to jump out of the subshell. If you don't get this kind of response, I would consider your putenv() broken. If it is broken, then write some subroutines to handle the environment yourself (_environ is a pointer to an array of pointers to char's that is the current environment). Use execle() or execve() to pass your own table to a child process. If you need more specific information on doing this type of thing, send me mail, and I'll help. >I know that in C-Shell scripts, when you set variables you loose them >as you exit the script. >Is it the same or this is a operating system bug ? Neither. Is is a "problem" with the way that the putenv() and getenv() subroutines are implemented. Shell variables are "lost" because scripts are executed in subshells. Golden rule: No child process may modify its parent's environment. Hope this helps. -- Michael Stefanik, MGI Inc., Los Angeles| Opinions stated are not even my own. Title of the week: Systems Engineer | UUCP: ...!uunet!bria!mike ------------------------------------------------------------------------------- Remember folks: If you can't flame MS-DOS, then what _can_ you flame? ----------------------------- From: "E. L. Salant" <salantel@wsqtb9.crd.ge.com> Subject: converting termcap to termlib Keywords: termcap termlib tic Date: 15 Feb 91 19:17:35 GMT Sender: news@crdgw1.crd.ge.com Followup-To: comp.unix.wizards To: unix-wizards@sem.brl.mil I am trying to run a cursesX application on our new DecStation 5000, and have found that there is no termlib entry for xterm. I therefore took the termcap entry and did a tic -v on it. While the tic command seemed to work ok (it created an xterm directory in /usr/lib/terminfo/x), when I try running my application I get "Sorry, I don't know how to deal with your 'xterm' terminal" coming from initscr. Why isn't it finding the xterm entry in termlib?? Please respond directly to me and thanks for your help - Eliot Salant ----------------------------- From: Doug Gwyn <gwyn@smoke.brl.mil> Subject: Re: Counting FLOPS Date: 15 Feb 91 19:31:44 GMT Followup-To: comp.unix.questions To: unix-wizards@sem.brl.mil In article <5025@umbc3.UMBC.EDU> rouben@math9.math.umbc.edu writes: >How does one count the number of floating point operations (flops) during >the execution of a C program? I for one would have to know exactly what is meant by a "FLOP". I'm not being facetious; there is considerable truth to the saying that "there are lies, damned lies, and benchmarks". (Originally "statistics" was the third category, but it was adapted for modern purposes.) On all computing architectures known to me, different floating-point operations take different amounts of time, sometimes in fact dependent on the content of the data being operated on; thus an measure such as "FLOPs per second" is not a very well- defined quantity. On the other hand, in some implementations that I know of, the floating-point processor is involved in executing some operations on what would probably be considered "integer" data; is it intended that those operations be counted or excluded? It may be that your best bet would be to rely on total time required to perform some lengthy computation (perhaps numerous iterations of some shorter computation), rather than number of operations as such. ----------------------------- End of UNIX-WIZARDS Digest **************************
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/18/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Sat, 16 Feb 1991 14:12 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <20BEBE7540207F88@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Sat, 16 Feb 1991 12:51 CST Date: Sat, 16 Feb 1991 12:51 CST From: "MSUS1::IN%\"Unix-Wizards@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: Slashes in filenames? To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <157FD56BA0207B5D@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Sat, 16 Feb 1991 12:50 CST Received: by NDSUVM1 (Mailer R2.07) id 8784; Sat, 16 Feb 91 12:50:12 CST Date: Sat, 16 Feb 91 12:21:46 CST From: STEINKEL%CAR1@LEAV-EMH.ARMY.MIL Subject: Slashes in filenames? Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: Unix-Wizards@BRL.MIL Message-id: <1552CD67C000601E@MSUS1.MSUS.EDU> X-To: unix-wizards@BRL.MIL From: LELAND STEINKE, 242-4633 Subject: Slashes in filenames? I must have missedsomething... If the prohibition on slashes in filenames is enforced by the kernel, how the bleep does NFS get them in there? If *IX were as modular, well, structured, well, well-behaved as it were supposed to be, shouldn't these things never happen, whether or not there is an exactly appropriate error code for it? Leland J. Steinke, Programmer/Analyst U.S. Army War College, Carlisle, PA 17013 * we make your life difficult, so you won't have to. * my Uncle isn't being represented by me right now...
IN% Postmaster@VAX1.Mankato.MSUS.EDU %MKVAX1.DECNET@msus1.bitnet (PMDF Mail Server) (02/18/91)
Return-path: <postmaster@VAX1.Mankato.MSUS.EDU> Date: Sun, 17 Feb 1991 05:34 CST From: PMDF Mail Server <Postmaster@VAX1.Mankato.MSUS.EDU> Subject: Undeliverable mail: SMTP delivery failure To: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Message-id: <A1867D8000207A4C@VAX1.Mankato.MSUS.EDU> The message could not be delivered to: Addressee: BD6@MKATT1.MANKATO.MSUS.EDU Reason: Illegal host/domain name found. ---------------------------------------- Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Sun, 17 Feb 1991 05:34 CST Date: Sun, 17 Feb 1991 05:34 CST From: "MSUS1::IN%\"UNIX-WIZARDS@BRL.MIL\""@VAX1.Mankato.MSUS.EDU Subject: UNIX-WIZARDS Digest V12#021 To: BD6@MKATT1.MANKATO.MSUS.EDU Message-id: <A17DBBFBE020814B@VAX1.Mankato.MSUS.EDU> X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Return-path: <UNIX-WIZ@NDSUVM1.BITNET> Received: from NDSUVM1.BITNET (MAILER@NDSUVM1) by MSUS1.MSUS.EDU with PMDF#10130; Sun, 17 Feb 1991 05:32 CST Received: by NDSUVM1 (Mailer R2.07) id 5597; Sun, 17 Feb 91 05:22:39 CST Date: Sun, 17 Feb 91 05:44:59 EST From: Mike Muuss The Moderator <Unix-Wizards-Request@BRL.MIL> Subject: UNIX-WIZARDS Digest V12#021 Sender: Unix-Wizards Mailing List <UNIX-WIZ@NDSUVM1.BITNET> To: "Brian D. Goecke" <bd6%MKVAX1.DECNET@MSUS1.BITNET> Reply-to: UNIX-WIZARDS@BRL.MIL Message-id: <A14E6B8EA0007666@MSUS1.MSUS.EDU> X-To: UNIX-WIZARDS@BRL.MIL UNIX-WIZARDS Digest Sun, 17 Feb 1991 V12#021 Today's Topics: Re: Unbuffered pipe(2)'s? Re: Wizard-level questions (go4th & thread your primitives) Re: Help! There's a slash '/' in my filename. Re: Slashes in filenames? POSIX orphaned process groups: automatic SIGCONT ----------------------------------------------------------------- From: "Brandon S. Allbery KB8JRR" <allbery@ncoast.org> Subject: Re: Unbuffered pipe(2)'s? Date: 16 Feb 91 02:34:08 GMT Followup-To: comp.unix.wizards To: unix-wizards@sem.brl.mil As quoted from <1991Feb08.151307.3160@convex.com> by tchrist@convex.COM (Tom Christiansen): +--------------- | It seems inappropriate to use comp.unix.wizards as an AI interface to TFM. +--------------- Your intelligence is artificial? :-) ++Brandon -- Me: Brandon S. Allbery VHF/UHF: KB8JRR on 220, 2m, 440 Internet: allbery@NCoast.ORG Packet: KB8JRR @ WA8BXN America OnLine: KB8JRR AMPR: KB8JRR.AmPR.ORG [44.70.4.88] uunet!usenet.ins.cwru.edu!ncoast!allbery Delphi: ALLBERY ----------------------------- From: "Brandon S. Allbery KB8JRR" <allbery@ncoast.org> Subject: Re: Wizard-level questions (go4th & thread your primitives) Date: 16 Feb 91 02:48:51 GMT Followup-To: comp.unix.wizards To: unix-wizards@sem.brl.mil As quoted from <19041@rpp386.cactus.org> by jfh@rpp386.cactus.org (John F Haugh II): +--------------- | In article <8433@suns5.cel.co.uk> mjp@cel.co.uk (matthew pidd) writes: | > I've been tempted to write a FORTH compiler in C (as in build interactive | >versions and loadable binaries with preprocessing etc) but just haven't had | >the inclination. Does anyone know of such a creature ... and would it be | >worth crafting? | | Yes, there is a "cforth" in some archive or another. I have the | source stashed away here, but don't recall which newsgroup I picked | it out of. +--------------- TILE was posted to comp.lang.forth,alt.sources (and might have been sent to comp.sources.unix; I don't rememeber it having been in .misc, but since I don't have the index any more I can't check :-) at least twice (different versions). ++Brandon -- Me: Brandon S. Allbery VHF/UHF: KB8JRR on 220, 2m, 440 Internet: allbery@NCoast.ORG Packet: KB8JRR @ WA8BXN America OnLine: KB8JRR AMPR: KB8JRR.AmPR.ORG [44.70.4.88] uunet!usenet.ins.cwru.edu!ncoast!allbery Delphi: ALLBERY ----------------------------- From: Rich Rauscher <rauscher@remus.rutgers.edu> Subject: Re: Help! There's a slash '/' in my filename. Date: 16 Feb 91 16:29:53 GMT To: unix-wizards@sem.brl.mil >Maybe they didn't. How bout this sceniero. >person types: foo/bar and hits return >wanted to type: foo.bar and hit return >look at your keyboard. it is possible. Yeh, it's possible to type this but in almost all versions of Unix, you'll just get an error 'No such file or directory' or something like it. This will happen whether you're in a shell or application. -Rich -- ------------- rauscher@rutgers.edu RPO 5997 PO 5063, New Brunswick, NJ 08903 rauscher@PISCES Shakespeare learns Discrete Math: {backbone site}!rutgers!rauscher (2B | not (2B)) <=> TRUE ----------------------------- From: Doug Gwyn <gwyn@smoke.brl.mil> Subject: Re: Help! There's a slash '/' in my filename. Date: 16 Feb 91 20:31:40 GMT To: unix-wizards@sem.brl.mil In article <Feb.16.11.29.52.1991.575@remus.rutgers.edu> rauscher@remus.rutgers.edu (Rich Rauscher) writes: >Yeh, it's possible to type this but in almost all versions >of Unix, you'll just get an error 'No such >file or directory' or something like it. This will >happen whether you're in a shell or application. Look, guys, if you feel obligated to drag this discussion out, you should go back and check the posting that started it. The problem is not that a user DESIRED to have a pathname COMPONENT with a slash embedded in it; the problem is that a deficient implementation ALLOWED one to be created, but it was much more difficult to fix the situation once it had occurred. If you don't by now know how this could have occurred, you should not be prolonging the discussion. ----------------------------- From: Robert Thurlow <thurlow@convex.com> Subject: Re: Slashes in filenames? Date: 17 Feb 91 02:01:13 GMT Sender: news access account <news@convex.com> Nntp-Posting-Host: dhostwo.convex.com To: unix-wizards@sem.brl.mil In <26038@adm.brl.mil> STEINKEL%CAR1@leav-emh.army.mil writes: >If the prohibition on slashes in filenames is enforced by the kernel, how >the bleep does NFS get them in there? The NFS server on BSD/Sun systems is implemented as a module that calls virtual file system (VFS) operations directly; the VFS is a layer below the system call interface. Since many of the old, inviolable firewalls are implemented at the system call level, they had to be duplicated in the NFS server logic. Sun's initial implementation didn't catch a number of these, and neither Sun nor the industry as a whole has kept up with closing them as soon as they were found. The slash issue is old news; other things like the server permitting mknod()s by non-root users are still being found. One of the things that makes it tougher is the fact that Unix clients can't send you such a request, since they still have the firewall in the syscall. Rob T -- Rob Thurlow, thurlow@convex.com An employee and not a spokesman for Convex Computer Corp., Dallas, TX ----------------------------- From: Tor Lillqvist <tml@tik.vtt.fi> Subject: POSIX orphaned process groups: automatic SIGCONT Date: 17 Feb 91 16:01:01 GMT Sender: news@tik.vtt.fi Followup-To: comp.sys.hp To: unix-wizards@sem.brl.mil I earlier posted a question concerning a problem I had on HP-UX 7.0 with POSIX sessions and signals: A process (A) creates a new session and process group by calling setsid(), forks, then the parent process (A) exits and the child (B) forks (and execs new programs) a couple of times. Now I stop one of these new child processes (C), but as soon as another child process (D) exits, the stopped process (C) magically continues. The (A) process (the process group leader) forks after setsid() so that it won't by accident acquire a new controlling terminal. Quotes from the HP-UX manual pages: exit(2): If the exit of the calling process causes a process group to become orphaned, and if any member of the newly-orphaned process group is stopped, all processes in the newly-orphaned process group are sent SIGHUP and SIGCONT signals. glossary(9): (This entry is only in the printed manual!) orphaned process group: A process group in which the parent of every member is either itself a member of the group or is not a member of the group's session. According to the reply I got, HP-UX checks in exit() if the process belonged to an orphaned process group, and sends the SIGHUP and SIGCONT signals, *even if it wasn't this exit that caused the process group to become orphaned*. So, I got around my problem by not exiting in (A), instead only waiting for (B) to finish. Additionally, (B) calls setpgid(0,0) so that it and the children will be in their own, non-orphan, process group. (It is not an orphan process group because the parent of (B) is in another process group in *the same session*.) Whew... well at least now I think I understand the POSIX session and process group concepts. -- Tor Lillqvist, working, but not speaking, for the Technical Research Centre of Finland ----------------------------- End of UNIX-WIZARDS Digest **************************