rs@uunet.UUCP (06/23/87)
Mod.sources: Volume 10, Number 15 Submitted by: Lennart Lovstrand <mcvax!ida.liu.se!lel> Archive-name: ida/Part04 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 4 (of 7)." # Contents: ida/lib/xaliases ida/patches/parseaddr.c.diff # Wrapped by lenlo@prefix on Wed Jun 10 15:39:55 1987 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f ida/lib/xaliases -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"ida/lib/xaliases\" else echo shar: Extracting \"ida/lib/xaliases\" \(16825 characters\) sed "s/^X//" >ida/lib/xaliases <<'END_OF_ida/lib/xaliases' X########################################################################## X## Alias file for IDA.LiU.SE aka liuida.UUCP ## X########################################################################## X# Aliases in this file will NOT be expanded in message headers. X# X# Aliases are recognized in any mix of upper and lower case, X# since they are all converted to lower case. X# X# >>>>>>>>>> A consequence of the above line is that mail X# >> BUG! >> can't be aliased to addresses with capital X# >>>>>>>>>> letters (eg. files). X# X# >>>>>>>>>> The program "newaliases" may need to be run after X# >> NOTE >> this file is updated for any changes to X# >>>>>>>>>> show through to sendmail. X# X## X X# Following alias is required by the new mail protocol, RFC 822 X# Set it to the address of a HUMAN who deals with this system's mail problems. XPostmaster@ida: lel@ida XPostmaster: Postmaster@ida X X# Alias for mailer daemon; returned messages from our MAILER-DAEMON X# should be routed to our local Postmaster. XMAILER-DAEMON, MAILER-DAEMON@ida: Postmaster@ida X X# Aliases to handle mail to programs or files, eg news Xb-smtp, b-smtp@ida: "|egrep '^#' | sed 's/^#//' | /usr/lib/sendmail -bs" Xdecode, decode@ida: "|/usr/bin/uudecode" Xnamelist, namelist@ida: "|/usr/lib/uucp/reclist" Xnobody, nobody@ida: /dev/null Xrnews, rnews@ida: "|/usr/lib/news/uurec" X Xxlp@ida, xlp-e-1tr@ida: xlp-e-1tr-s@ida Xxlp-e-bv@ida: xlp-e-bv-s@ida Xxlp-b-1tr@ida: xlp-b-1tr-s@ida X Xxlp-e-1tr-e@ida: "|/usr/lib/mail/mahafilter -Pxlp-e-1tr" Xxlp-e-bv-e@ida: "|/usr/lib/mail/mahafilter -Pxlp-e-bv" Xxlp-b-1tr-e@ida: "|/usr/lib/mail/mahafilter -Pxlp-b-1tr" X Xxlp-e-1tr-s@ida: "|/usr/lib/mail/mahafilter -Pxlp-e-1tr -S" Xxlp-e-bv-s@ida: "|/usr/lib/mail/mahafilter -Pxlp-e-bv -S" Xxlp-b-1tr-s@ida: "|/usr/lib/mail/mahafilter -Pxlp-b-1tr -S" X Xalw, alw-e-1tr: "|lpr -Palw" X X######################################################################### X# Specific mail -> news entries # X######################################################################### X Xtest-news@ida: "|/usr/lib/news/inews -h -n test" X Xida-mac@ida: "|/usr/lib/news/altrecnews ida.mac" X Xowner-ida-mac@ida: Postmaster@ida X X######################################################################### X# Misc generic system users # X######################################################################### X Xnews, news@ida: Postmaster@ida Xusenet, usenet@ida: Postmaster@ida Xdaemon, daemon@ida: Postmaster@ida Xuucp, uucp@ida: Postmaster@ida X X######################################################################### X# Misc mail group links # X######################################################################### X XIDA, IDA@IDA, IDA@LiU.SE: IDA@LISBET XADB@ida: ADB@LISBET XAIELAB@ida, AILAB@ida: AIELAB@LISBET XASLAB@ida: ASLAB@LISBET XCADLAB@ida: CADLAB@LISBET XLIBLAB@ida: LIBLAB@LISBET XNLPLAB@ida: NLPLAB@LISBET XPELAB@ida: PELAB@LISBET XRKLLAB@ida, RKL@ida: RKLLAB@LISBET X Xowner-IDA, owner-IDA@IDA, owner-IDA@LiU.SE: Postmaster@ida Xowner-ADB@ida: Postmaster@ida Xowner-AIELAB@ida: Postmaster@ida Xowner-ASLAB@ida: Postmaster@ida Xowner-CADLAB@ida: Postmaster@ida Xowner-LIBLAB@ida: Postmaster@ida Xowner-NLPLAB@ida: Postmaster@ida Xowner-PELAB@ida: Postmaster@ida X X######################################################################### X# Arpanet mail group links # X######################################################################### X Xakt@ida: AKT@LISBET XARPAnet-BBoards@ida: ARPANET-BBOARDS@LISBET XExPhi-Group@ida: :include:/usr/lib/mail/groups/exphi-group XHorse-List@ida: HORSE-LIST@LISBET XIDA-Info-1100@ida: :include:/usr/lib/mail/groups/ida-info-1100 XIDA-Bug-1100@ida: BUG-1100@LISBET Xida-info-gnu@ida: :include:/usr/lib/mail/groups/ida-info-gnu XInfo-Postscript@ida: INFO-POSTSCRIPT@LISBET Xlll@ida: LASER-LOVERS@LISBET, Leif.Finmo@IDA XMusic-Research@ida: MUSIC-RESEARCH@LISBET, JANNE@TOKER XNL-KR@ida: NL-KR@LISBET XParsym@ida: PARSYM@LISBET XProlog-Digest@ida: PROLOG-DIGEST@LISBET XPsychNet@ida: PsychNet@LISBET XSMAuG@ida: SMAuG@LISBET Xsunflash@ida: :include: /usr/lib/mail/groups/sunflash XTekTCP@ida: TEKTCP@LISBET XTeXHAX@ida: TEXHAX@LISBET, Arne.Faldt@IDA Xtester@ida: :include:/usr/lib/mail/groups/foo XTOPS-20-Experts@ida: lenlo@ida, arnfa@ida XTransputer@ida: Transputer@LISBET, "|/usr/lib/news/altr ecnews -h -a daemon@ida.liu.se -n fa.transputer" X Xowner-akt@ida: Postmaster@ida Xowner-ARPAnet-BBoards@ida: Postmaster@ida Xowner-ExPhi-Group@ida: Postmaster@ida Xowner-Horse-List@ida: Postmaster@ida Xowner-IDA-Info-1100@ida: Postmaster@ida Xowner-IDA-Bug-1100@ida: Postmaster@ida Xowner-ida-info-gnu@ida: Postmaster@ida Xowner-Info-Postscript@ida: Postmaster@ida Xowner-lll@ida: Postmaster@ida Xowner-Music-Research@ida: Postmaster@ida Xowner-nl-kr@ida: Postmaster@ida Xowner-parsym@ida: Postmaster@ida Xowner-prolog-digest@ida: Postmaster@ida Xowner-psychnet@ida: Postmaster@ida Xowner-SMAuG@ida: Postmaster@ida Xowner-sunflash@ida: Postmaster@ida Xowner-TekTCP@ida: Postmaster@ida Xowner-TeXHAX@ida: Postmaster@ida Xowner-tester@ida: lel@ida Xowner-TOPS-20-Experts@ida: Postmaster@ida Xowner-Transputer@ida: Postmaster@ida X X######################################################################### X# Individual local aliases # X######################################################################### X Xlennart: lenlo Xlin-p: linpa (Lin Padgham) X Xbly@ida: jbl@ida (Bryan Lyles) Xbud@ida: hla@ida (Harald Lawson) Xes@ida: ejs@ida (Erik Sandewall ) Xjac@ida: lel@ida (Jacek's mail sent to L eL) Xjanba@ida: lel@ida (Janell's mail sent to lel) Xjim@ida: jwg@ida (James W Goodwin) Xlpa@ida: lin@ida (Lin Padgham) Xola@ida: olast@ida Xpeter-f@ida: petfr@majestix (Peter Fritzsons bror, suck) Xralf@ida: rni@ida (Ralf Nilsson) Xralf-n@ida: rni@ida (Ralf Nilsson) Xralf_n@ida: rni@ida (Ralf Nilsson) Xrolf-k@ida: rolka@ida (Rolf Karlsson) Xsandewal@ida: ejs@ida (Erik Sandewall) Xsandewall@ida: ejs@ida (Erik Sandewall) X XvaxTest@ida: lennart@hazel (testing, testing...) X X# Temporary due to enea/seismo lossage Xj-maluszynski@ida: J-MALUSZYNSKI@LISBET Xl-lovstrand@ida: L-LOVSTRAND@LISBET Xw-drabent@ida: W-DRABENT@LISBET X X X######################################################################### X# Signature aliases # X# # X# The format here is: # X# signature, altsign, full.name: alias-list # X# where alias-list is a comma and/or newline-separated list of user # X# names. Each user name may be headed by a '<' and/or '>' with the # X# following meaning: # X# > user -- mail to this sign/full.name is delivered to the user # X# < user -- mail from this user is rewritten with the signature # X# as new sender # X# <> user -- the combination of the above # X# user -- same as '> user' # X# # X# BE AWARE! This special '<>' syntax is quite in antagony with RFC822 # X# and was adapted only for its simplicity. Any suggestions # X# for an alternative syntax are warmly welcomed. # X######################################################################### X Xaha@ida, andha@ida, Anders.Haraldsson@ida: <> A-HARALDSSON@LISBET Xajl@ida, andli@ida, Andrzej.Lingas@ida, lingas@ida: <> A-LINGAS@LISBET Xaka@ida, andka@ida, Andreas.Kagedal@ida: <> A-KAGEDAL@LISBET Xalu@ida, andlu@ida, Anders.Lundberg@ida: <> A-LUNDBERG@LISBET Xamj@ida, annja@ida, Anne-Marie.Jacobsson@ida: <> AM-JACOBSON@LISBET Xany@ida, andny@ida, Anders.Nyberg@ida: <> A-NYBERG@LISBET, < andny Xaoa@ida, andal@ida, Anders.Aleryd@ida: <> A-ALERYD@LISBET, < andal Xara@ida, andra@ida, Anders.Rantila@ida: <> A-RANTILA@LISBET, < ara Xarf@ida, arnfa@ida, Arne.Faldt@ida: <> A-FAELDT@LISBET, <> arnfa Xarj@ida, arnjo@ida, Arne.Jonsson@ida: <> ARNE-J@LISBET, < arnjo Xaro@ida, annro@ida, Annie.Rostlinger@ida: <> A-ROSTLINGER@LISBET X#-- saknar userid! Xast@ida, arnst@ida, Arne.Stahre@ida: <> A-STAHRE@LISBET, < arnst Xato@ida, andto@ida, Anders.Torne@ida: <> A-TORNE@LISBET Xava@ida, arjva@ida, Arja.Vainio-Larsson@ida: <> A-VAINIO@LISBET Xban@ida, bjoni@ida, Bjorn.Nilsson@ida: <> B-NILSSON@LISBET, < bjoni Xbaw@ida, andwi@ida, Andreas.Wickberg@ida: <> A-WICKBERG@LISBET, < andwi Xbda@ida, birda@ida, Birgitta.Dahlgren@ida: <> B-DAHLGREN@LISBET Xbek@ida, barek@ida, Barbara.Ekman@ida: <> BARBARA@LISBET Xbfa@ida, bjofj@ida, Bjorn.Fjellborg@ida, bfj@ida: <> B-FJELLBORG@LISBET Xbkn@ida, berni@ida, Bernt.Nilsson@ida: <> BERNT-N@LISBET, < berni Xbln@ida, benle@ida, Bengt.Lennartsson@ida: < BENGT@LISBET, <> bln Xbma@ida, briah@ida, Britt-Marie.Ahlenback@ida: <> BM-AHLENBECK@LISBET Xbmk@ida, bodma@ida, Bodil.Mattson-Kihlstrom@ida: <> B-KIHLSTROM@LISBET Xbod@ida, benod@ida, Benny.Odenteg@ida: <> B-ODENTEG@LISBET Xbol@ida, birol@ida, Birgitta.Olander@ida, bio@ida: <> B-OLANDER@LISBET, < biro l Xbro@ida, borro@ida, Borje.Rosenberg@ida: <> B-ROSENBERG@LISBET Xbsu@ida, bosu@ida, Bo.Sundgren@ida: <> B-SUNDGREN@LISBET Xcba@ida, chrba@ida, Christer.Backstrom@ida: <> C-BACKSTROM@LISBET Xccg@ida, chrgn@ida, Christian.Gnosspelius@ida: <> C-GNOSSPELIUS@LISBET, < chrg n Xcha@ida, chrha@ida, Christer.Hansson@ida: <> C-HANSSON@LISBET, < chrha Xchl@ida, chrle@ida, Christos.Levcopoulos@ida: <> CHRISTOS@LISBET, < chrle Xcib@ida, carbj@ida, Carina.Bjorkman@ida: <> CARINA@LISBET Xcil@ida, clail@ida, Claes.Illergard@ida: <> C-ILLERGARD@LISBET, < clail Xckr@ida, chrkr@ida, Christian.Krysander@ida: <> CHRISTIAN@LISBET, < chrkr Xdbu@ida, doubu@ida, Douglas.Busch@ida: <> D-BUSCH@LISBET Xddr@ida, dimdr@ida, Dimiter.Driankov@ida: <> D-DRIANKOV@LISBET, < dimdr Xdif@ida, dimfo@ida, Dimitrios.Fotiades@ida: <> DIMITRIOS@LISBET, < dimfo Xeat@ida, erite@ida, Erik.Tengvald@ida: <> E-TENGVALD@LISBET, < erite Xecs@ida, evasv@ida, Eva-Chris.Svensson@ida: <> EVA-CHRIS@LISBET Xejs@ida, erisa@ida, Erik.Sandewall@ida: <> E-SANDEWALL@LISBET, < erisa Xeno@ida, erlno@ida, Erling.Nordmark@ida: <> E-NORDMARK@LISBET Xfli@ida, freli@ida, Fredrik.Lindstrom@ida: <> F-LINDSTROM@LISBET Xggo@ida, gorgo@ida, Goran.Goldkuhl@ida: <> G-GOLDKUHL@LISBET Xgka@ida, gorka@ida, Goran.Karlsson@ida: <> G-KARLSON@LISBET Xglt@ida, gunli@ida, Gunilla.Lingenhult@ida: <> G-LINGENHULT@LISBET Xgni@ida, gosni@ida, Gosta.Nilsson@ida: <> G-NILSSON@LISBET Xher@ida, hener@ida, Henrik.Eriksson@ida: <> H-ERIKSSON@LISBET, < her Xhbl@ida, hanbl@ida, Hans.Block@ida: <> H-BLOCK@LISBET Xheh@ida, hanho@ida, Hans.Holmgren@ida: <> H-HOLMGREN@LISBET, < hanho Xhjk@ida, janko@ida, Jan.Komorowski@ida: <> J-KOMOROWSKI@LISBET Xhla@ida, harla@ida, Harold.Lawson@ida, budla@ida, Bud.Lawson@ida: <> BUD@LISBE T, < harla Xhno@ida, henno@ida, Henrik.Nordin@ida: <> H-NORDIN@LISBET, < henno Xhst@ida, hakst@ida, Hakan.Straaf@ida: <> H-STRAAF@LISBET Xime@ida, ingem@ida, Inger.Emanuelson@ida: <> INGER@LISBET, < ingem Xira@ida, ivara@ida, Ivan.Rankin@ida: <> I-RANKIN@LISBET, < ivara Xjas@ida, johan@ida, Johan.Andersson@ida: <> JOHAN@LISBET, < johan Xjbl@ida, bryly@ida, Bryan.Lyles@ida: > Lyles.wbst@Xerox.COM X#-- tills vidare Xjfa@ida, johfa@ida, Johan.Fagerstrom@ida: <> J-FAGERSTROM@LISBET, < johfa Xjhu@ida, johhu@ida, Johan.Hultman@ida: <> J-HULTMAN@LISBET, < johhu Xjlo@ida, jonlo@ida, Jonas.Lowgren@ida: <> J-LOWGREN@LISBET, < jlo Xjma@ida, jalma@ida, Jalal.Maleki@ida: <> JALAL@LISBET, < jalma Xjmz@ida, janma@ida, Jan.Maluszynski@ida: <> J-MALUSZYNSKI@LISBET, < janm a Xjwc@ida, jonwa@ida, Jonas.Wallgren@ida: <> J-WALLGREN@LISBET Xjwg@ida, jamgo@ida, James.Goodwin@ida, James.W.Goodwin@ida, jimgo@ida, Jim.Goo dwin@ida: <> JIM@LISBET, < jimgo Xkku@ida, krzku@ida, Krzysztof.Kuchcinski@ida, krk@ida: <> K-KUCHCINSKI@LISBET, < krzku Xkol@ida, kerol@ida, Kerstin.Olsson@ida: <> K-OLSSON@LISBET, < k erol Xkre@ida, krier@ida, Kristina.Ernstsson@ida: <> KRISTINA@LISBET, < krier Xkrs@ida, krisa@ida, Kristian.Sandahl@ida: <> K-SANDAHL@LISBET, < krisa Xkry@ida, kevry@ida, Kevin.Ryan@ida: <> K-RYAN@LISBET, < kevry Xksd@ida, katsu@ida, Katarina.Sunnerud@ida: <> KATARINA@LISBET, < katsu Xlah@ida, larah@ida, Lars.Ahrenberg@ida: <> L-AHRENBERG@LISBET Xlbe@ida, larbe@ida, Lars.Bengtsson@ida: <> L-BENGTSSON@LISBET, < larbe Xlbf@ida, leifi@ida, Leif.Finmo@ida: <> LEIF@LISBET, < leifi Xlbj@ida, lisbj@ida, Lisbet.Bjorklund@ida: <> L-BJORKLUND@LISBET Xlel@ida, lenlo@ida, Lennart.Lovstrand@ida: <> L-LOVSTRAND@LISBET, X < lel@obelix, < LENNART@HAZEL, <> lenlo Xlew@ida, lilwa@ida, Lillemor.Wallgren@ida: <> LILLEMOR@LISBET Xlin@ida, linpa@ida, Lin.Padgham@ida: < L-PADGHAM@LISBET, <> linpa Xlli@ida, lisli@ida, Lisbeth.Linge@ida: <> LISBETH@LISBET Xlra@ida, lisra@ida, Lise-Lotte.Raunio@ida: <> L-RAUNIO@LISBET Xlro@ida, lenro@ida, Lennart.Rohlin@ida: <> L-ROHLIN@LISBET Xlst@ida, larst@ida, Lars.Stromberg@ida: <> L-STROMBERG@LISBET, < larst Xlwi@ida, larwi@ida, Lars.Wikstrand@ida: <> L-WIKSTRAND@LISBET Xmak@ida, marka@ida, Mariam.Kamkar@ida: <> MARIAM@LISBET, < marka Xmgw@ida, matwi@ida, Mats.Wiren@ida: <> M-WIREN@LISBET, < matwi Xmij@ida, maljo@ida, Malin.Johansson@ida: <> MALIN@LISBET Xmip@ida, mikpa@ida, Mikael.Patel@ida: <> MIKAEL@LISBET, < mikpa Xmja@ida, manja@ida, Manny.Jagerfeld@ida: <> M-JAGERFELD@LISBET Xmme@ida, magme@ida, Magnus.Merkel@ida: <> M-MERKEL@LISBET Xmre@ida, micre@ida, Michael.Reinfrank@ida: <> M-REINFRANK@LISBET X# reinfra@ztivax.UUCP Xmru@ida, matru@ida, Mats.Rundquist@ida: <> M-RUNDQUIST@LISBET, < mru Xmsa@ida, matan@ida, Mats.S.Andersson@ida, masan@ida, Mats.Andersson@ida: <> MA TS@LISBET, < msa Xmsv@ida, miksv@ida, Mikael.Svensson@ida: <> M-SVENSSON@LISBET, < miksv Xnda@ida, nilda@ida, Nils.Dahlback@ida: <> N-DAHLBACK@LISBET Xnka@ida, naika@ida, Nail.Kavak@ida: <> N-KAVAK@LISBET, < naika Xnos@ida, nossh@ida, Nosrat.Shahsavar@ida: <> N-SHAHSAVAR@LISBET, < nos Xnsh@ida, nahsh@ida, Nahid.Shahmehri@ida: <> NAHID@LISBET, < nahsh Xoha@ida, oveha@ida, Ove.Hanebring@ida: <> O-HANEBRING@LISBET Xope@ida, olape@ida, Ola.Petersson@ida: <> O-PETERSSON@LISBET Xowl@ida, ollwi@ida, Olle.Willen@ida: <> OLLE-W@LISBET, < ollwi Xpab@ida, petab@ida, Peter.Aberg@ida: <> P-ABERG@LISBET, < pab Xpaf@ida, petfr@ida, Peter.Fritzson@ida: < P-FRITZSON@LISBET, <> petfr Xpdy@ida, patdo@ida, Patrick.Doherty@ida, pdo@ida: <> P-DOHERTY@LISBET, < patdo X#pem@ida, parem@ida, Par.Emanuelson@ida: <> PAER@LISBET Xpha@ida, petha@ida, Peter.Haneklou@ida: <> P-HANEKLO@LISBET, < petha Xphj@ida, hakja@ida, Hakan.Jakobsson@ida: <> H-JAKOBSSON@LISBET, < hakja Xpjn@ida, pejni@ida, Peter.J.Nilsson@ida: <> PJ-NILSSON@LISBET, <> pjn, < PJN@HAZEL Xplo@ida, petlo@ida, Peter.Loborg@ida: <> P-LOBORG@LISBET Xpkw@ida, kriwa@ida, Kristian.Wallin@ida: <> K-WALLIN@LISBET Xplv@ida, pablo@ida, Pablo.Lozan-Villegas@ida: <> P-LOZAN-VILLEGAS@LISBET Xpsn@ida, pesni@ida, Peter.S.Nilsson@ida, pni@ida: <> P-NILSSON@LISBET, < pesni X# vilken g{ller? 'psn' torde vara b{ttre (med tanke p} 'pjn') Xpso@ida, palso@ida, Pal.Sorgaard@ida: <> P-SORGAARD@LISBET Xpuo@ida, perov@ida, Per.Overnas@ida: <> PER@LISBET, < perov Xrhj@ida, rolhj@ida, Roland.Hjerppe@ida: <> R-HJERPPE@LISBET, < rolhj Xrka@ida, rolka@ida, Rolf.Karlsson@ida: <> R-KARLSSON@LISBET, < rolka Xrni@ida, ralni@ida, Ralf.Nilsson@ida: <> ralni, < RALF-N@LISBET X#-- slutat Xrob@ida, robbi@ida, Rober.Bilos@ida: <> ROBER@LISBET, < robbi Xron@ida, rolni@ida, Rolf.Nilsson@ida: <> R-NILSSON@LISBET Xrre@ida, rolre@ida, Roland.Rehmnert@ida: <> R-REHMNERT@LISBET, < rolre Xsbo@ida, stabo@ida, Staffan.Bonnier@ida: <> S-BONNIER@LISBET, < stabo Xrrq@ida, ralro@ida, Ralph.Ronnquist@ida: <> RALPH-RONNQUIST@LISBET, < ra lro Xrzo@ida, rogzo@ida, Roger.Zollner@ida: <> R-ZOLLNER@LISBET Xsha@ida, steha@ida, Stefan.Hammar@ida: <> S-HAMMAR@LISBET Xsic@ida, shach@ida, Shamsul.Chowdhury@ida: <> SHAMSUL@LISBET, < shach Xsmn@ida, svemo@ida, Sven.Moen@ida: < S-MOEN@LISBET, <> svemo Xsnt@ida, simna@ida, Simin.Nadjm-Tehrani@ida: <> S-NADJM-TEHRANI@LISBET, < sn t Xsos@ida, olast@ida, Ola.Stromfors@ida: < OLA@LISBET, <> ola Xsso@ida, sivso@ida, Siv.Soderlund@ida: <> S-SODERLUND@LISBET Xsth@ida, stuha@ida, Sture.Hagglund@ida: <> STURE@LISBET, < stuh a Xswr@ida, stewr@ida, Stefan.Wrammerfors@ida: <> stewr Xtao@ida, tomol@ida, Tommy.Olsson@ida: <> TOMMY@LISBET, < tao Xtha@ida, timha@ida, Tim.Hansen@ida: <> T-HANSEN@LISBET Xtla@ida, tonla@ida, Tony.Larsson@ida: <> T-LARSSON@LISBET, < tonla Xton@ida, torna@ida, Torbjorn.Naslund@ida, tna@ida: < T-NASLUND@LISBET, <> torn a Xtoh@ida, tomoh@ida, Tommy.Ohlsson@ida: <> T-OHLSSON@LISBET Xtor@ida, totna@ida, Torbjorn.Naslund.ADB@ida: <> TORBJORN-NASLUND-ADB@LISBET Xtps@ida, tomso@ida, Tomas.Sokolnicki@ida: <> T-SOKOLNICKI@LISBET Xtri@ida, tomri@ida, Tom.Rindborg@ida: <> T-RINDBORG@LISBET, < tomri Xtti@ida, tooti@ida, Toomas.Timpka@ida: <> T-TIMPKA@LISBET Xuda@ida, ulfda@ida, Ulf.Dahlen@ida: <> U-DAHLEN@LISBET, < uda Xurn@ida, ulfni@ida, Ulf.Nilsson@ida: <> U-NILSSON@LISBET, < ulfni Xwdr@ida, wlodr@ida, Wlodek.Drabent@ida, Wlodzimierz.Drabent@ida: <> W-DRABENT@ LISBET, < wlodr Xyla@ida, yngla@ida, Yngve.Larsson@ida: < Y-LARSSON@LISBET, <> yngla Xzpe@ida, zebpe@ida, Zebo.Peng@ida: <> ZEBO@LISBET, < zebpe END_OF_ida/lib/xaliases if test 16825 -ne `wc -c <ida/lib/xaliases`; then echo shar: \"ida/lib/xaliases\" unpacked with wrong size! fi # end of overwriting check fi if test -f ida/patches/parseaddr.c.diff -a "${1}" != "-c" ; then echo shar: Will not over-write existing file \"ida/patches/parseaddr.c.diff\" else echo shar: Extracting \"ida/patches/parseaddr.c.diff\" \(17702 characters\) sed "s/^X//" >ida/patches/parseaddr.c.diff <<'END_OF_ida/patches/parseaddr.c.di ff' X*** parseaddr.c.orig Fri Mar 13 18:51:07 1987 X--- parseaddr.c Mon May 25 15:51:35 1987 X*************** X*** 508,518 **** X struct match mlist[MAXMATCH]; /* stores match on LHS */ X char *npvp[MAXATOM+1]; /* temporary space for rebuild */ X extern bool sameword(); X X if (OpMode == MD_TEST || tTd(21, 2)) X { X printf("rewrite: ruleset %2d input:", ruleset); X! printav(pvp); X } X if (pvp == NULL) X return; X--- 508,519 ---- X struct match mlist[MAXMATCH]; /* stores match on LHS */ X char *npvp[MAXATOM+1]; /* temporary space for rebuild */ X extern bool sameword(); X+ char tokbuf[MAXNAME+1]; /* for concatenated class tokens */ X X if (OpMode == MD_TEST || tTd(21, 2)) X { X printf("rewrite: ruleset %2d input:", ruleset); X! printcav(pvp); X } X if (pvp == NULL) X return; X*************** X*** 528,534 **** X if (tTd(21, 12)) X { X printf("-----trying rule:"); X! printav(rwr->r_lhs); X } X # endif DEBUG X X--- 529,535 ---- X if (tTd(21, 12)) X { X printf("-----trying rule:"); X! printcav(rwr->r_lhs); X } X # endif DEBUG X X*************** X*** 563,583 **** X switch (*rp) X { X register STAB *s; X X- case MATCHCLASS: X case MATCHNCLASS: X! /* match any token in (not in) a class */ X s = stab(ap, ST_CLASS, ST_FIND); X! if (s == NULL || !bitnset(rp[1], s->s_class)) X! { X! if (*rp == MATCHCLASS) X! goto backup; X! } X! else if (*rp == MATCHNCLASS) X goto backup; X X! /* explicit fall-through */ X X case MATCHONE: X case MATCHANY: X /* match exactly one token */ X--- 564,604 ---- X switch (*rp) X { X register STAB *s; X+ char **oldavp; X X case MATCHNCLASS: X! /* match any single token not in a class */ X s = stab(ap, ST_CLASS, ST_FIND); X! if (s != NULL && bitnset(rp[1], s->s_class)) X goto backup; X X! /* match exactly one token */ X! mlp->first = avp; X! mlp->last = avp++; X! mlp++; X! break; X X+ case MATCHCLASS: X+ /* match any token in a class */ X+ /* slow, concat version by lel@ida.liu.se */ X+ /* handles multi-token class matches, though */ X+ oldavp = avp; X+ *tokbuf = NULL; X+ do { X+ if (*avp == NULL) { X+ avp = oldavp; X+ goto backup; X+ } X+ strcat(tokbuf, *avp++); X+ s = stab(tokbuf, ST_CLASS, ST_FIND); X+ } while (s == NULL || X+ !bitnset(rp[1], s->s_class)); X+ X+ mlp->first = oldavp; X+ mlp->last = avp-1; X+ mlp++; X+ break; X+ X case MATCHONE: X case MATCHANY: X /* match exactly one token */ X*************** X*** 610,615 **** X--- 631,667 ---- X while (--rvp >= rwr->r_lhs) X { X rp = *rvp; X+ if (*rp == MATCHCLASS) { X+ register STAB *s; X+ char **oldavp; X+ X+ /* attempt to extend binding */ X+ /* slow, concat version by lel@ida.liu.se */ X+ X+ oldavp = avp; X+ *tokbuf = NULL; X+ for (avp = mlp[-1].first; X+ avp <= mlp[-1].last; avp++) X+ strcat(tokbuf, *avp); X+ X+ do { X+ if (*avp == NULL) { X+ /* back out binding */ X+ avp = oldavp; X+ mlp--; X+ goto cantextend; X+ } X+ strcat(tokbuf, *avp++); X+ s = stab(tokbuf, ST_CLASS, ST_FIND); X+ } while (s == NULL || X+ !bitnset(rp[1], s->s_class)); X+ X+ /* found an extension */ X+ mlp[-1].last = avp-1; X+ rvp++; X+ break; X+ } X+ cantextend: X if (*rp == MATCHANY || *rp == MATCHZANY) X { X /* extend binding and continue */ X*************** X*** 619,626 **** X break; X } X avp--; X! if (*rp == MATCHONE || *rp == MATCHCLASS || X! *rp == MATCHNCLASS) X { X /* back out binding */ X mlp--; X--- 671,677 ---- X break; X } X avp--; X! if (*rp == MATCHONE || *rp == MATCHNCLASS) X { X /* back out binding */ X mlp--; X*************** X*** 653,659 **** X if (tTd(21, 12)) X { X printf("-----rule matches:"); X! printav(rvp); X } X # endif DEBUG X X--- 704,710 ---- X if (tTd(21, 12)) X { X printf("-----rule matches:"); X! printcav(rvp); X } X # endif DEBUG X X*************** X*** 732,821 **** X X for (rvp = npvp; *rvp != NULL; rvp++) X { X! char **hbrvp; X char **xpvp; X int trsize; X char *olddelimchar; X! char buf[MAXNAME + 1]; X char *pvpb1[MAXATOM + 1]; X char pvpbuf[PSBUFSIZE]; X extern char *DelimChar; X X! if (**rvp != HOSTBEGIN) X continue; X X /* X! ** Got a hostname lookup. X ** X ** This could be optimized fairly easily. X */ X X hbrvp = rvp; X X /* extract the match part */ X! while (*++rvp != NULL && **rvp != HOSTEND) X continue; X if (*rvp != NULL) X *rvp++ = NULL; X X! /* save the remainder of the input string */ X trsize = (int) (avp - rvp + 1) * sizeof *rvp; X bcopy((char *) rvp, (char *) pvpb1, trsize); X X! /* look it up */ X! cataddr(++hbrvp, buf, sizeof buf); X! maphostname(buf, sizeof buf); X! X! /* scan the new host name */ X! olddelimchar = DelimChar; X! xpvp = prescan(buf, '\0', pvpbuf); X! DelimChar = olddelimchar; X! if (xpvp == NULL) X! { X! syserr("rewrite: cannot prescan canonical hostn ame: %s", buf); X! return; X } X X! /* append it to the token list */ X! for (avp = --hbrvp; *xpvp != NULL; xpvp++) X! { X! *avp++ = newstr(*xpvp); X! if (avp >= &npvp[MAXATOM]) X! goto toolong; X! } X X /* restore the old trailing information */ X! for (xpvp = pvpb1; (*avp++ = *xpvp++) != NULL; ) X! if (avp >= &npvp[MAXATOM]) X! goto toolong; X X! break; X } X X /* X ** Check for subroutine calls. X */ X X! if (*npvp != NULL && **npvp == CALLSUBR) X! { X! bcopy((char *) &npvp[2], (char *) pvp, X! (int) (avp - npvp - 2) * sizeof *avp); X # ifdef DEBUG X- if (tTd(21, 3)) X- printf("-----callsubr %s\n", npvp[1]); X- # endif DEBUG X- rewrite(pvp, atoi(npvp[1])); X- } X- else X- { X- bcopy((char *) npvp, (char *) pvp, X- (int) (avp - npvp) * sizeof *avp); X- } X- # ifdef DEBUG X if (tTd(21, 4)) X { X printf("rewritten as:"); X! printav(pvp); X } X # endif DEBUG X } X--- 783,907 ---- X X for (rvp = npvp; *rvp != NULL; rvp++) X { X! char **hbrvp, **ubrvp; X char **xpvp; X int trsize; X char *olddelimchar; X! char hbuf[MAXNAME + 1], ubuf[MAXNAME + 1]; X char *pvpb1[MAXATOM + 1]; X char pvpbuf[PSBUFSIZE]; X+ bool match, defaultpart; X extern char *DelimChar; X+ char begintype, db; X X! if (**rvp != HOSTBEGIN && **rvp != KEYBEGIN) X continue; X X /* X! ** Got a hostname or database lookup. X ** X ** This could be optimized fairly easily. X */ X X+ begintype = **rvp; X hbrvp = rvp; X+ ubrvp = NULL; X X+ /* read database name if that's what we're up for */ X+ if (begintype == KEYBEGIN) { X+ if (*++rvp != NULL) X+ db = **rvp; X+ } X+ X /* extract the match part */ X! while (*++rvp != NULL && X! (begintype == HOSTBEGIN ? X! **rvp != HOSTEND : X! **rvp != KEYEND && **rvp != CANONHOST) && X! **rvp != CANONUSER) X continue; X+ if (**rvp == CANONHOST) { X+ *rvp = NULL; X+ ubrvp = rvp+1; X+ while (*++rvp != NULL && **rvp != KEYEND && X+ **rvp != CANONUSER) X+ continue; X+ } X+ defaultpart = **rvp == CANONUSER; X if (*rvp != NULL) X *rvp++ = NULL; X X! /* Save the remainder of the input string */ X trsize = (int) (avp - rvp + 1) * sizeof *rvp; X bcopy((char *) rvp, (char *) pvpb1, trsize); X X! /* Look it up (lowercase version) */ X! cataddr(hbrvp + (begintype == HOSTBEGIN ? 1 : 2), X! hbuf, sizeof hbuf); X! if (begintype == HOSTBEGIN) X! match = maphostname(hbuf, sizeof hbuf); X! else { X! cataddr(ubrvp, ubuf, sizeof ubuf); X! match = mapkey(db, hbuf, sizeof hbuf, ubuf); X } X+ if (match || !defaultpart) { X+ /* scan the new route/host name */ X+ olddelimchar = DelimChar; X+ xpvp = prescan(hbuf, '\0', pvpbuf); X+ DelimChar = olddelimchar; X+ if (xpvp == NULL) { X+ syserr("rewrite: cannot prescan %s: %s" , X+ begintype == HOSTBEGIN ? X+ "new hostname" : X+ "dbm lookup result", X+ hbuf); X+ return; X+ } X X! /* append it to the token list */ X! for (avp = hbrvp; *xpvp != NULL; xpvp++) { X! *avp++ = newstr(*xpvp); X! if (avp >= &npvp[MAXATOM]) X! goto toolong; X! } X! } else X! avp = hbrvp; X X /* restore the old trailing information */ X! rvp = avp - 1; X! for (xpvp = pvpb1; *xpvp != NULL; xpvp++) { X! if (defaultpart && (begintype == HOSTBEGIN ? X! **xpvp == HOSTEND : X! **xpvp == KEYEND)) { X! defaultpart = FALSE; X! rvp = avp - 1; X! } else if (!defaultpart || !match) X! *avp++ = *xpvp; X! if (avp >= &npvp[MAXATOM]) X! goto toolong; X! } X! *avp++ = NULL; X X! /*break;*/ X } X X /* X ** Check for subroutine calls. X+ ** Then copy vector back into original space. X */ X X! callsubr(npvp); X! X! for (avp = npvp; *avp++ != NULL;); X! bcopy((char *) npvp, (char *) pvp, X! (int) (avp - npvp) * sizeof *avp); X! X! X # ifdef DEBUG X if (tTd(21, 4)) X { X printf("rewritten as:"); X! printcav(pvp); X } X # endif DEBUG X } X*************** X*** 823,832 **** X if (OpMode == MD_TEST || tTd(21, 2)) X { X printf("rewrite: ruleset %2d returns:", ruleset); X! printav(pvp); X } X } X /* X ** BUILDADDR -- build address from token vector. X ** X ** Parameters: X--- 909,967 ---- X if (OpMode == MD_TEST || tTd(21, 2)) X { X printf("rewrite: ruleset %2d returns:", ruleset); X! printcav(pvp); X } X } X /* X+ ** CALLSUBR -- call subroutines in rewrite vector X+ ** X+ ** Parameters: X+ ** pvp -- pointer to token vector. X+ ** X+ ** Returns: X+ ** none. X+ ** X+ ** Side Effects: X+ ** pvp is modified. X+ */ X+ X+ callsubr(pvp) X+ char **pvp; X+ { X+ char **rvp; X+ int subr; X+ X+ for (; *pvp != NULL; pvp++) X+ if (**pvp == CALLSUBR) { X+ X+ subr = atoi(pvp[1]); X+ X+ # ifdef DEBUG X+ if (tTd(21, 3)) X+ printf("-----callsubr %d\n", subr); X+ # endif DEBUG X+ X+ /* X+ ** Take care of possible inner calls. X+ */ X+ callsubr(pvp+2); X+ X+ /* X+ ** Move vector up over calling opcode. X+ */ X+ for (rvp = pvp+2; *rvp != NULL; rvp++) X+ rvp[-2] = rvp[0]; X+ rvp[-2] = NULL; X+ X+ /* X+ ** Call inferior ruleset. X+ */ X+ rewrite(pvp, subr); X+ X+ break; X+ } X+ } X+ /* X ** BUILDADDR -- build address from token vector. X ** X ** Parameters: X*************** X*** 907,915 **** X while (*tv != NULL && **tv != CANONUSER) X (void) strcat(buf, *tv++); X a->q_host = newstr(buf); X! } X! else X a->q_host = NULL; X X /* figure out the user */ X if (**tv != CANONUSER) X--- 1042,1053 ---- X while (*tv != NULL && **tv != CANONUSER) X (void) strcat(buf, *tv++); X a->q_host = newstr(buf); X! } else { X! if (**tv == CANONHOST) X! while (*tv != NULL && **tv != CANONUSER) X! *tv++; X a->q_host = NULL; X+ } X X /* figure out the user */ X if (**tv != CANONUSER) X*************** X*** 920,927 **** X X /* rewrite according recipient mailer rewriting rules */ X rewrite(++tv, 2); X! if (m->m_r_rwset > 0) X! rewrite(tv, m->m_r_rwset); X rewrite(tv, 4); X X /* save the result for the command line/RCPT argument */ X--- 1058,1065 ---- X X /* rewrite according recipient mailer rewriting rules */ X rewrite(++tv, 2); X! if (m->m_re_rwset > 0) X! rewrite(tv, m->m_re_rwset); X rewrite(tv, 4); X X /* save the result for the command line/RCPT argument */ X*************** X*** 1002,1008 **** X return (FALSE); X X /* if the user isn't the same, we can drop out */ X! if (strcmp(a->q_user, b->q_user) != 0) X return (FALSE); X X /* if the mailer ignores hosts, we have succeeded! */ X--- 1140,1146 ---- X return (FALSE); X X /* if the user isn't the same, we can drop out */ X! if (!sameword(a->q_user, b->q_user)) X return (FALSE); X X /* if the mailer ignores hosts, we have succeeded! */ X*************** X*** 1012,1018 **** X /* otherwise compare hosts (but be careful for NULL ptrs) */ X if (a->q_host == NULL || b->q_host == NULL) X return (FALSE); X! if (strcmp(a->q_host, b->q_host) != 0) X return (FALSE); X X return (TRUE); X--- 1150,1156 ---- X /* otherwise compare hosts (but be careful for NULL ptrs) */ X if (a->q_host == NULL || b->q_host == NULL) X return (FALSE); X! if (!sameword(a->q_host, b->q_host)) X return (FALSE); X X return (TRUE); X*************** X*** 1072,1077 **** X--- 1210,1217 ---- X ** rather than the recipient rewriting rules. X ** canonical -- if set, strip out any comment information, X ** etc. X+ ** headeraddress -- if set, use header specific rewriting X+ ** rulesets and uurelativize if M_RELATIVIZE is set. X ** X ** Returns: X ** the text string representing this address relative to X*************** X*** 1086,1096 **** X */ X X char * X! remotename(name, m, senderaddress, canonical) X char *name; X struct mailer *m; X bool senderaddress; X bool canonical; X { X register char **pvp; X char *fancy; X--- 1226,1237 ---- X */ X X char * X! remotename(name, m, senderaddress, canonical, headeraddress) X char *name; X struct mailer *m; X bool senderaddress; X bool canonical; X+ bool headeraddress; X { X register char **pvp; X char *fancy; X*************** X*** 1108,1114 **** X # endif DEBUG X X /* don't do anything if we are tagging it as special */ X! if ((senderaddress ? m->m_s_rwset : m->m_r_rwset) < 0) X return (name); X X /* X--- 1249,1257 ---- X # endif DEBUG X X /* don't do anything if we are tagging it as special */ X! if ((senderaddress ? X! (headeraddress ? m->m_sh_rwset : m->m_se_rwset) : X! (headeraddress ? m->m_rh_rwset : m->m_re_rwset)) < 0) X return (name); X X /* X*************** X*** 1154,1176 **** X X /* X ** Do more specific rewriting. X! ** Rewrite using ruleset 1 or 2 depending on whether this is X! ** a sender address or not. X ** Then run it through any receiving-mailer-specific rulesets. X */ X X! if (senderaddress) X! { X! rewrite(pvp, 1); X! if (m->m_s_rwset > 0) X! rewrite(pvp, m->m_s_rwset); X } X- else X- { X- rewrite(pvp, 2); X- if (m->m_r_rwset > 0) X- rewrite(pvp, m->m_r_rwset); X- } X X /* X ** Do any final sanitation the address may require. X--- 1297,1329 ---- X X /* X ** Do more specific rewriting. X! ** Rewrite using ruleset 1 or 2 for envelope addresses and X! ** 5 or 6 for header addresses depending on whether this X! ** is a sender address or not. X ** Then run it through any receiving-mailer-specific rulesets. X */ X X! if (senderaddress) { X! if (headeraddress) { X! rewrite(pvp, SplitRewriting ? 5 : 1); X! if (m->m_sh_rwset > 0) X! rewrite(pvp, m->m_sh_rwset); X! } else { X! rewrite(pvp, 1); X! if (m->m_se_rwset > 0) X! rewrite(pvp, m->m_se_rwset); X! } X! } else { X! if (headeraddress) { X! rewrite(pvp, SplitRewriting ? 6 : 2); X! if (m->m_rh_rwset > 0) X! rewrite(pvp, m->m_rh_rwset); X! } else { X! rewrite(pvp, 2); X! if (m->m_re_rwset > 0) X! rewrite(pvp, m->m_re_rwset); X! } X } X X /* X ** Do any final sanitation the address may require. X*************** X*** 1182,1187 **** X--- 1335,1348 ---- X rewrite(pvp, 4); X X /* X+ ** Check if we're supposed to do make the address X+ ** UUCP !-relative to the rcpt host vs ourselves. X+ */ X+ X+ if (headeraddress && bitnset(M_RELATIVIZE, m->m_flags)) X+ uurelativize("\001k", "\001h", pvp); X+ X+ /* X ** Now restore the comment information we had at the beginning. X */ X X*************** X*** 1195,1198 **** X--- 1356,1421 ---- X printf("remotename => `%s'\n", buf); X # endif DEBUG X return (buf); X+ } X+ /* X+ ** UURELATIVIZE -- Make an address !-relative to recipient/sender nodes X+ ** X+ ** Parameters: X+ ** from -- the sending node (usually "$k" or "$w") X+ ** to -- the receiving node (usually "$h") X+ ** pvp -- address vector X+ ** X+ ** Returns: X+ ** none. X+ ** X+ ** Side Effects: X+ ** The pvp is rewritten to be relative the "to" node X+ ** wrt the "from" node. In other words, if the pvp X+ ** is headed by "to!" that part is stripped; otherwise X+ ** "from!" is prepended. Exception: "to!user" addresses X+ ** with no '!'s in the user part are sent as is. X+ ** X+ ** Bugs: X+ ** The pvp may overflow, but we don't catch it. X+ */ X+ X+ uurelativize(from, to, pvp) X+ char *from, *to; X+ char **pvp; X+ { X+ register char **pxp = pvp; X+ char expfrom[MAXNAME], expto[MAXNAME]; X+ X+ expand(from, expfrom, &expfrom[sizeof expfrom - 1], CurEnv); X+ expand(to, expto, &expto[sizeof expto - 1], CurEnv); X+ X+ /* X+ * supposing that we've got something, should X+ * we add "from!" or remove "to!"? X+ */ X+ if (pvp[0] != NULL) X+ if (pvp[1] == NULL || strcmp(pvp[1], "!") != 0 || X+ /*sameword?*/ strcmp(pvp[0], expto) != 0) { X+ /* either local name, no UUCP address, or not to "to!" */ X+ /* ==> prepend address with "from!" */ X+ X+ /* already there? */ X+ if (pvp[1] == NULL || strcmp(pvp[1], "!") != 0 || X+ /*sameword?*/ strcmp(pvp[0], expfrom) != 0) { X+ /* no, put it there */ X+ while (*pxp != NULL) X+ pxp++; X+ do X+ pxp[2] = *pxp; X+ while (pxp-- != pvp); X+ pvp[0] = newstr(expfrom); X+ pvp[1] = "!"; X+ } X+ } else { X+ /* address is to "to!" -- remove if not "to!user" */ X+ for (pxp = &pvp[2]; *pxp != NULL && strcmp(*pxp, "!") != 0; pxp ++); X+ if (*pxp != NULL) X+ for (pxp = pvp; *pxp != NULL; pxp++) X+ *pxp = pxp[2]; X+ } X } END_OF_ida/patches/parseaddr.c.diff if test 17702 -ne `wc -c <ida/patches/parseaddr.c.diff`; then echo shar: \"ida/patches/parseaddr.c.diff\" unpacked with wrong size! fi # end of overwriting check fi echo shar: End of archive 4 \(of 7\). cp /dev/null ark4isdone MISSING="" for I in 1 2 3 4 5 6 7 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 7 archives. echo "See ida/README and ida/INSTALL for further instructions." rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0