home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume33 / anon / part01 < prev    next >
Encoding:
Text File  |  1992-11-03  |  34.7 KB  |  1,042 lines

  1. Newsgroups: comp.sources.misc
  2. From: Karl_Kleinpaste@cs.cmu.edu (Karl_Kleinpaste)
  3. Subject:  v33i033:  anon - Anonymous contact system, a short work in 8 shell scripts, Part01/01
  4. Message-ID: <1992Nov3.204113.20933@sparky.imd.sterling.com>
  5. X-Md4-Signature: a5643cb0ced2b2e3dd1a169408777b61
  6. Date: Tue, 3 Nov 1992 20:41:13 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: Karl_Kleinpaste@cs.cmu.edu (Karl_Kleinpaste)
  10. Posting-number: Volume 33, Issue 33
  11. Archive-name: anon/part01
  12. Environment: MMDF, sendmail
  13.  
  14. This software is what constitutes the anonymous contact system running
  15. on godiva.nectar.cs.cmu.edu.  It was first created 17 September, when
  16. it was 4 shell scripts.  Logging and traffic-watching scripts were
  17. added next for bug-tracking, followed by nickname support and plonk
  18. capability.  Logging and traffic-watching can be trivially disabled,
  19. and in fact are disabled as distributed here.  Abusive users can be
  20. prevented from posting via the fire extinguisher facility (plonking).
  21. Posting errors are (attempted to be) returned to the user.  The system
  22. attempts to prevent use by bogus origin addresses, bogosity being
  23. defined as non-domain addresses and "self-forgeries."  I have
  24. attempted to make the system as parameterized as possible; most of the
  25. path- and host-specific information lives in a file ".anonvars" for
  26. one-stop hacking.  The scripts were initially bash-based, but I have
  27. since converted to the least common denominator in the interest of
  28. portability.  (Not incidentally, conversion to /bin/sh caused a
  29. momentary shutdown of the system while I discovered the inadequacies
  30. of the default /bin/sh $PATH.)
  31.  
  32. I live under MMDF as a mail transport, and as such I believe in the
  33. use of .maildelivery and username+SuffixString.  The MH-provided
  34. program slocal will do (almost?) identical things for folks living
  35. under sendmail, but you will probably have to hack things a bit to
  36. make it work exactly correctly, and you will definitely need access to
  37. (and understanding of) sendmail.cf.  I have used the suggested
  38. modifications for username+SuffixString on my home system,
  39. mesquite.charcoal.com, but have not tried out installing this ACS
  40. there.  I do know that this use of slocal is adequate to the task of
  41. my personal mail delivery scheme, which is fairly contorted.
  42.  
  43. The system mostly runs itself, modulo the need to trim back logs.
  44. Failure logs cannot be disabled without hacking the scripts
  45. themselves.  After 6 weeks of usage, traffic being supported on Godiva
  46. is approximately 500 msgs/day weekdays, 250/day weekends, between 1
  47. and 3 Mbytes/day.  There are 2200 users known to the system, of which
  48. 6% or so have assigned themselves nicknames.  Godiva's installation
  49. supports 7 newsgroups.
  50.  
  51. --karl
  52.  
  53. #! /bin/sh
  54. # This is a shell archive, meaning:
  55. # 1. Remove everything above the #! /bin/sh line.
  56. # 2. Save the resulting text in a file.
  57. # 3. Execute the file with /bin/sh (not csh) to create:
  58. #    .
  59. # This archive created: Tue Oct 27 08:46:34 1992
  60. # By:    Anonymous User (-None- (guest at CMU))
  61. export PATH; PATH=/bin:/usr/bin:$PATH
  62. echo shar: "extracting 'README'" '(3424 characters)'
  63. if test -f 'README'
  64. then
  65.     echo shar: "will not over-write existing file 'README'"
  66. else
  67. sed 's/^KK//' << \ANONYMUS > 'README'
  68. KKBasic structure of the anonymous contact system...
  69. KK
  70. KK1. An "anon" directory in which live the scripts (anon/bin) and the
  71. KKuser-matching database and nickname files (anon/lib).
  72. KK2. A "Memos" directory in which the traces of everything the system
  73. KKdoes are kept.
  74. KK3. A bunch of setup stuff in the home directory of the anonymous user,
  75. KKplus a "misc" directory containing a couple of useful documents.
  76. KK
  77. KKSetup...
  78. KK
  79. KK1. Create the anonymous user.  I use username "anonymus," a known,
  80. KKsemi-deliberate misspelling.  (If only UNIX allowed longer
  81. KKusernames...ahwell.)  The name "anonymus" is engraved all over the
  82. KKplace, so you'll have some serious editing to do if you use something
  83. KKelse.
  84. KK2. Put all this stuff in ~anonymus.  Chmod things tightly so that
  85. KKprying eyes cannot see.  The user-match file is most important.
  86. KK3. Hack on .anonvars appropriately.  Note THISHOST, for example; use
  87. KK`/bin/hostname` if you wish.  Most of the rest can probably be left
  88. KKalone.  head/tail/grep/egrep are there because they're frequently in
  89. KKplaces that aren't in a default /bin/sh path.  You need a good grep; I
  90. KKuse GNU grep.  Standard Berkeley grep will complain of "RE error" in
  91. KKmany cases.
  92. KK4. Modify .maildelivery for the human who is really in charge, for
  93. KKthose newsgroup prefixes (e.g., "alt") which you will support, and for
  94. KKthe absolute pathnames which you will use on your system.
  95. KK5. Update .trailer to describe your system.
  96. KK6. Hack on .plan.  It contains the text of .trailer; edit carefully.
  97. KK7. Edit misc/anonymity, and don't be bashful.  This is the
  98. KKperiodically-posted blurb you should send out.
  99. KK8. Edit the set of newsgroups you intend to support in the "case"
  100. KKstatement of anon/bin/post.
  101. KK
  102. KKanon/lib/last-assigned is initialized in this distribution as -1.
  103. KKThis is useful for you to become anonymus+0 by sending the first
  104. KKanonymus+ping message.  Also send to anonymus+nick to set your real
  105. KKname for anonymus+0.  People should know who you are when you are
  106. KKacting as +0.
  107. KK
  108. KKThere needs to be something called /usr/lib/sendmail (even if what you
  109. KKhave is MMDF) to do person-to-person mailing (see anon/lib/mail).  And
  110. KKyou need to create an appropriate inews for anon/bin/post.  Note that,
  111. KKas distributed, the reference to inews in .anonvars is to
  112. KK~anonymus/bin, not ~anonymus/anon/bin.
  113. KK
  114. KKAlthough use of .maildelivery is not typical in a sendmail
  115. KKenvironment, you can run this software if you have access to
  116. KKsendmail.cf.  You can get the support you need via changes of this
  117. KKflavor to .cf:
  118. KK
  119. KK1. Add `+' to the set of characters which define token separators ("Do").
  120. KK2. In S0, just before $#local delivery, insert a rule:
  121. KK    R$-+$*<@$*$D>    $#plusprog $@$1+$2 $:$1        local "user+suffix"
  122. KK3. Define a new mailer for $#plusprog:
  123. KK    Mplusprog, P=/usr/local/lib/mh/slocal, F=DFMSs, A=slocal $u $h $g
  124. KK4. You may also want to replace the usual /bin/mail definition of
  125. KK$#local with something similar:
  126. KK    Mlocal, P=/usr/local/lib/mh/slocal, F=DFMlsn, A=slocal $u $u $g
  127. KKbut be aware that the latter may cause troubles with transient failures.
  128. KKEmbellish to taste.  If you don't have MH installed locally, you can
  129. KKpick it up from louie.udel.edu:portal/mh*.tar.Z.
  130. KK
  131. KKEnable the use of Zephyr's zwrite(1) in anon/bin/zeph to watch the
  132. KKtraffic flow, or use the write(1) line instead.  The scripts use zeph
  133. KKquite freely.  Zeph is a NOP as distributed.
  134. KK
  135. KKWatch the logs in Memos, and trim them back from time to time.
  136. KK
  137. KKSuggestions, enhancements, and bug fixes are welcome.
  138. KK
  139. KK--karl
  140. ANONYMUS
  141. if test 3424 -ne "`wc -c < 'README'`"
  142. then
  143.     echo shar: "error transmitting 'README'" '(should have been 3424 characters)'
  144. fi
  145. fi
  146. echo shar: "extracting '.anonvars'" '(632 characters)'
  147. if test -f '.anonvars'
  148. then
  149.     echo shar: "will not over-write existing file '.anonvars'"
  150. else
  151. sed 's/^KK//' << \ANONYMUS > '.anonvars'
  152. KK# Where we are
  153. KKTHISHOST=godiva.nectar.cs.cmu.edu
  154. KK# Base dirs.
  155. KKANON=$HOME/anon
  156. KKLIB=$ANON/lib
  157. KKBIN=$ANON/bin
  158. KKRECORD=$HOME/Memos
  159. KK# Library files.
  160. KKLASTASSIGNED=$LIB/last-assigned
  161. KKUSERS=$LIB/users
  162. KKNICKNAMES=$LIB/nicknames
  163. KKEXTINGUISHER=$LIB/fire-extinguisher
  164. KK# Scripts.
  165. KKASSIGN=$BIN/assign
  166. KKPING=$BIN/ping
  167. KKNICK=$BIN/nick
  168. KKLOG=$BIN/log
  169. KKZEPH=$BIN/zeph
  170. KKMAIL=$BIN/mail
  171. KKPOST=$BIN/post
  172. KKPLONK=$BIN/plonk
  173. KK# Recordings.
  174. KKMAILREJ=$RECORD/.mail.rej.log
  175. KKNEWSREJ=$RECORD/.news.rej.log
  176. KKNICKLOG=$RECORD/.nick.log
  177. KK# Programs.
  178. KKBERKMAIL=/usr/ucb/Mail
  179. KKTAIL=/usr/ucb/tail
  180. KKHEAD=/usr/ucb/head
  181. KKGREP=/usr/misc/bin/grep
  182. KKEGREP=/usr/misc/bin/egrep
  183. KKINEWS=$HOME/bin/inews
  184. ANONYMUS
  185. if test 632 -ne "`wc -c < '.anonvars'`"
  186. then
  187.     echo shar: "error transmitting '.anonvars'" '(should have been 632 characters)'
  188. fi
  189. chmod +x '.anonvars'
  190. fi
  191. echo shar: "extracting '.maildelivery'" '(677 characters)'
  192. if test -f '.maildelivery'
  193. then
  194.     echo shar: "will not over-write existing file '.maildelivery'"
  195. else
  196. sed 's/^KK//' << \ANONYMUS > '.maildelivery'
  197. KK# Log
  198. KK#*    -        |    R    /usr/anonymus/anon/bin/log $(sender) $(address) >> /usr/anonymus/Memos/.log
  199. KK# Administrivia
  200. KKaddr    anonymus+admin    |    ?    /usr/misc/bin/resend karl+anonymus+admin
  201. KK# Ping/assign/verify address
  202. KKaddr    anonymus+ping    |    ?    /usr/anonymus/anon/bin/ping $(sender)
  203. KK# Set nickname
  204. KKaddr    anonymus+nick    |    ?    /usr/anonymus/anon/bin/nick $(sender)
  205. KK# Plonk a bogon
  206. KKaddr    anonymus+plonk    |    ?    /usr/anonymus/anon/bin/plonk $(sender)
  207. KK# Post anon'ly to newsgroup
  208. KKaddr    anonymus+alt    |    ?    /usr/anonymus/anon/bin/post $(sender) $(address)
  209. KK# Mail to anon user
  210. KKaddr    anonymus+    |    ?    /usr/anonymus/anon/bin/mail $(sender) $(address)
  211. KK# Administrivia
  212. KKdefault    -        |    ?    /usr/misc/bin/resend karl+anonymus+admin
  213. ANONYMUS
  214. if test 677 -ne "`wc -c < '.maildelivery'`"
  215. then
  216.     echo shar: "error transmitting '.maildelivery'" '(should have been 677 characters)'
  217. fi
  218. fi
  219. echo shar: "extracting '.mailrc'" '(25 characters)'
  220. if test -f '.mailrc'
  221. then
  222.     echo shar: "will not over-write existing file '.mailrc'"
  223. else
  224. sed 's/^KK//' << \ANONYMUS > '.mailrc'
  225. KKset record=Memos/.record
  226. ANONYMUS
  227. if test 25 -ne "`wc -c < '.mailrc'`"
  228. then
  229.     echo shar: "error transmitting '.mailrc'" '(should have been 25 characters)'
  230. fi
  231. fi
  232. echo shar: "extracting '.plan'" '(868 characters)'
  233. if test -f '.plan'
  234. then
  235.     echo shar: "will not over-write existing file '.plan'"
  236. else
  237. sed 's/^KK//' << \ANONYMUS > '.plan'
  238. KKThis is the anonymous user.  It is used solely as a mail-forwarding
  239. KKmechanism.  For details, check in with Karl_Kleinpaste@cs.cmu.edu.
  240. KKThe short explanation is...
  241. KK
  242. KKNo test posting.  To use this service, mail to (note misspelling, "anonymus"):
  243. KKAnonymous posting:    anonymus+<name.of.news.group>@godiva.nectar.cs.cmu.edu
  244. KKAnonymous mail:        <user's alias>@godiva.nectar.cs.cmu.edu
  245. KKTest path/get alias:    anonymus+ping@godiva.nectar.cs.cmu.edu
  246. KKAssign nickname:    anonymus+nick@godiva.nectar.cs.cmu.edu    (in Subject:)
  247. KKAnon administrator:    anonymus+0@godiva.nectar.cs.cmu.edu    (anonymously)
  248. KK            anonymus+admin@godiva.nectar.cs.cmu.edu    (non-anon)
  249. KK
  250. KKThe newsgroups supported for anonymous posting are...
  251. KK    alt.sexual.abuse.recovery    alt.sex.bondage
  252. KK    alt.personals            alt.personals.ads
  253. KK    alt.personals.bondage        alt.personals.poly
  254. KK    alt.polyamory
  255. KKAny others will reward you with a bounce-o-gram.
  256. ANONYMUS
  257. if test 868 -ne "`wc -c < '.plan'`"
  258. then
  259.     echo shar: "error transmitting '.plan'" '(should have been 868 characters)'
  260. fi
  261. fi
  262. echo shar: "extracting '.project'" '(10 characters)'
  263. if test -f '.project'
  264. then
  265.     echo shar: "will not over-write existing file '.project'"
  266. else
  267. sed 's/^KK//' << \ANONYMUS > '.project'
  268. KKAnonymity
  269. ANONYMUS
  270. if test 10 -ne "`wc -c < '.project'`"
  271. then
  272.     echo shar: "error transmitting '.project'" '(should have been 10 characters)'
  273. fi
  274. fi
  275. echo shar: "extracting '.trailer'" '(468 characters)'
  276. if test -f '.trailer'
  277. then
  278.     echo shar: "will not over-write existing file '.trailer'"
  279. else
  280. sed 's/^KK//' << \ANONYMUS > '.trailer'
  281. KK-- 
  282. KKNo test posting.  To use this service, mail to (note misspelling, "anonymus"):
  283. KKAnonymous posting:    anonymus+<name.of.news.group>@godiva.nectar.cs.cmu.edu
  284. KKAnonymous mail:        <user's alias>@godiva.nectar.cs.cmu.edu
  285. KKTest path/get alias:    anonymus+ping@godiva.nectar.cs.cmu.edu
  286. KKAssign nickname:    anonymus+nick@godiva.nectar.cs.cmu.edu    (in Subject:)
  287. KKAnon administrator:    anonymus+0@godiva.nectar.cs.cmu.edu    (anonymously)
  288. KK            anonymus+admin@godiva.nectar.cs.cmu.edu    (non-anon)
  289. ANONYMUS
  290. if test 468 -ne "`wc -c < '.trailer'`"
  291. then
  292.     echo shar: "error transmitting '.trailer'" '(should have been 468 characters)'
  293. fi
  294. fi
  295. if test ! -d 'Memos'
  296. then
  297.     echo shar: "creating directory 'Memos'"
  298.     mkdir 'Memos'
  299. fi
  300. echo shar: "entering directory 'Memos'"
  301. cd 'Memos'
  302. echo shar: "extracting '.log'" '(0 characters)'
  303. if test -f '.log'
  304. then
  305.     echo shar: "will not over-write existing file '.log'"
  306. else
  307. sed 's/^KK//' << \ANONYMUS > '.log'
  308. ANONYMUS
  309. if test 0 -ne "`wc -c < '.log'`"
  310. then
  311.     echo shar: "error transmitting '.log'" '(should have been 0 characters)'
  312. fi
  313. fi
  314. echo shar: "extracting '.mail.rej.log'" '(0 characters)'
  315. if test -f '.mail.rej.log'
  316. then
  317.     echo shar: "will not over-write existing file '.mail.rej.log'"
  318. else
  319. sed 's/^KK//' << \ANONYMUS > '.mail.rej.log'
  320. ANONYMUS
  321. if test 0 -ne "`wc -c < '.mail.rej.log'`"
  322. then
  323.     echo shar: "error transmitting '.mail.rej.log'" '(should have been 0 characters)'
  324. fi
  325. fi
  326. echo shar: "extracting '.news.rej.log'" '(0 characters)'
  327. if test -f '.news.rej.log'
  328. then
  329.     echo shar: "will not over-write existing file '.news.rej.log'"
  330. else
  331. sed 's/^KK//' << \ANONYMUS > '.news.rej.log'
  332. ANONYMUS
  333. if test 0 -ne "`wc -c < '.news.rej.log'`"
  334. then
  335.     echo shar: "error transmitting '.news.rej.log'" '(should have been 0 characters)'
  336. fi
  337. fi
  338. echo shar: "extracting '.nick.log'" '(0 characters)'
  339. if test -f '.nick.log'
  340. then
  341.     echo shar: "will not over-write existing file '.nick.log'"
  342. else
  343. sed 's/^KK//' << \ANONYMUS > '.nick.log'
  344. ANONYMUS
  345. if test 0 -ne "`wc -c < '.nick.log'`"
  346. then
  347.     echo shar: "error transmitting '.nick.log'" '(should have been 0 characters)'
  348. fi
  349. fi
  350. echo shar: "extracting '.record'" '(0 characters)'
  351. if test -f '.record'
  352. then
  353.     echo shar: "will not over-write existing file '.record'"
  354. else
  355. sed 's/^KK//' << \ANONYMUS > '.record'
  356. ANONYMUS
  357. if test 0 -ne "`wc -c < '.record'`"
  358. then
  359.     echo shar: "error transmitting '.record'" '(should have been 0 characters)'
  360. fi
  361. fi
  362. echo shar: "done with directory 'Memos'"
  363. cd ..
  364. if test ! -d 'anon'
  365. then
  366.     echo shar: "creating directory 'anon'"
  367.     mkdir 'anon'
  368. fi
  369. echo shar: "entering directory 'anon'"
  370. cd 'anon'
  371. if test ! -d 'bin'
  372. then
  373.     echo shar: "creating directory 'bin'"
  374.     mkdir 'bin'
  375. fi
  376. echo shar: "entering directory 'bin'"
  377. cd 'bin'
  378. echo shar: "extracting 'mail'" '(2185 characters)'
  379. if test -f 'mail'
  380. then
  381.     echo shar: "will not over-write existing file 'mail'"
  382. else
  383. sed 's/^KK//' << \ANONYMUS > 'mail'
  384. KK#!/bin/sh
  385. KKif [ $# != 2 ] ; then
  386. KK    echo 'Usage: mail <source> <address>'
  387. KK    exit 1
  388. KKfi
  389. KKsource="`echo $1 | sed -e 's/^@.*://' | tr A-Z a-z`"
  390. KKaddress="`echo $2 | sed -e 's/^@.*://' -e 's/anonymus+//' | tr A-Z a-z`"
  391. KK. $HOME/.anonvars
  392. KKcase "$source" in
  393. KK    *@*.*)    ;;
  394. KK    *)    $ZEPH "$source" "$address"/DROP
  395. KK        exit 0
  396. KK        ;;
  397. KKesac
  398. KKcase "$source" in
  399. KK    *anonym*)    $ZEPH "$source"/BOGON "$address"
  400. KK            exit 0
  401. KK            ;;
  402. KK    *)        ;;
  403. KKesac
  404. KKall=/tmp/Am.$$
  405. KKtext="$all"-t
  406. KKheader="$all"-h
  407. KKcat - > $all
  408. KKsed -e '1,/^$/d' -e '/^--/,$d' $all > $text
  409. KKsed -e '/^$/,$d' $all | $EGREP '^To:|^Date:|^Subject:' > $header
  410. KK$GREP -i "^$source    " $USERS | $HEAD -1 > $all 2>&1
  411. KKif [ ! -s $all ] ; then
  412. KK    $ASSIGN "$source" "which required"
  413. KK    $TAIL -1 $USERS > $all
  414. KKfi
  415. KKuserid="`sed -e 's/^.*    \(.*\)$/\1/' $all`"
  416. KKecho From: anonymus+"$userid"@$THISHOST >> $header
  417. KK$GREP -i "^$userid    " $NICKNAMES | $HEAD -1 > $all 2>&1
  418. KKif [ -s $all ] ; then
  419. KK    nick="`sed -e 's/^.*    \(.*\)$/\1/' $all`"
  420. KK    ed - $header <<EOF
  421. KK/^From:/s/\$/ ($nick)/
  422. KKw
  423. KKq
  424. KKEOF
  425. KKfi
  426. KK$GREP -i "^.*    $address$" $USERS | $HEAD -1 > $all 2>&1
  427. KKif [ ! -s $all ] ; then
  428. KK    if /bin/test "$address" -le "`cat $LASTASSIGNED`" ; then
  429. KK    (echo "$source" requested anonymous mail forwarding to ; \
  430. KK     echo anonymus+"$address". This was rejected: ; \
  431. KK     case "$address" in \
  432. KK        [a-z]*)    $ZEPH "$source"/"$userid" BADGROUP/"$address" ; \
  433. KK            echo invalid newsgroup destination. ;; \
  434. KK        *)    $ZEPH "$source"/"$userid" DELETED/"$address" ; \
  435. KK            echo entry was deleted at request of the user. ;; \
  436. KK     esac ; \
  437. KK     echo '' ; \
  438. KK     cat $header ; echo '' ; cat $text ; echo '' ) | \
  439. KK     tee -a $MAILREJ | \
  440. KK    $BERKMAIL -s 'Anonymous User rejected your mail.' "$source"
  441. KK    else
  442. KK    (echo "$source" requested anonymous mail forwarding to ; \
  443. KK     echo anonymus+"$address". This was rejected: address unknown. ; \
  444. KK     echo '' ; \
  445. KK     cat $header ; echo '' ; cat $text ; echo '' ) | \
  446. KK     tee -a $MAILREJ | \
  447. KK    $BERKMAIL -s 'Anonymous User rejected your mail.' "$source"
  448. KK    $ZEPH "$source"/"$userid" UNKNOWN/"$address"
  449. KK    fi
  450. KKelse
  451. KK    addr="`sed -e 's/    .*$//' $all`"
  452. KK    echo X-Anonymously-To: "$addr" >> $header
  453. KK    $ZEPH "$source"/"$userid" "$addr"/"$address"
  454. KK    (cat $header ; echo '' ; cat $text ) | /usr/lib/sendmail $addr
  455. KKfi
  456. KKrm -f $all $text $header
  457. KKexit 0
  458. ANONYMUS
  459. if test 2185 -ne "`wc -c < 'mail'`"
  460. then
  461.     echo shar: "error transmitting 'mail'" '(should have been 2185 characters)'
  462. fi
  463. chmod +x 'mail'
  464. fi
  465. echo shar: "extracting 'ping'" '(660 characters)'
  466. if test -f 'ping'
  467. then
  468.     echo shar: "will not over-write existing file 'ping'"
  469. else
  470. sed 's/^KK//' << \ANONYMUS > 'ping'
  471. KK#!/bin/sh
  472. KKif [ $# != 1 ] ; then
  473. KK    echo 'Usage: ping <source>'
  474. KK    exit 1
  475. KKfi
  476. KKsource="`echo $1 | sed -e 's/^@.*://' | tr A-Z a-z`"
  477. KK. $HOME/.anonvars
  478. KKcase "$source" in
  479. KK    *@*.*)    ;;
  480. KK    *)    $ZEPH "$source" ping/DROP
  481. KK        exit 0
  482. KK        ;;
  483. KKesac
  484. KKcase "$source" in
  485. KK    *anonym*)    $ZEPH "$source"/BOGON ping
  486. KK            exit 0
  487. KK            ;;
  488. KK    *)        ;;
  489. KKesac
  490. KK$ZEPH "$source" ping
  491. KKt=/tmp/a-ping.$$
  492. KK$GREP -i "^$source    " $USERS | $HEAD -1 > $t 2>&1
  493. KKif [ -s $t ] ; then
  494. KK    (echo You are already known to this database. ; \
  495. KK     echo Your anonymous address is: ; \
  496. KK     echo '' ; \
  497. KK     sed -e 's/    /    anonymus+/' < $t) | \
  498. KK    $BERKMAIL -s 'Anonymous User ping reply.' "$source"
  499. KKelse
  500. KK    $ASSIGN "$source" requesting
  501. KKfi
  502. KKrm -f $t
  503. KKexit 0
  504. ANONYMUS
  505. if test 660 -ne "`wc -c < 'ping'`"
  506. then
  507.     echo shar: "error transmitting 'ping'" '(should have been 660 characters)'
  508. fi
  509. chmod +x 'ping'
  510. fi
  511. echo shar: "extracting 'post'" '(3093 characters)'
  512. if test -f 'post'
  513. then
  514.     echo shar: "will not over-write existing file 'post'"
  515. else
  516. sed 's/^KK//' << \ANONYMUS > 'post'
  517. KK#!/bin/sh
  518. KKif [ $# != 2 ] ; then
  519. KK    echo 'Usage: post <source> <address>'
  520. KK    exit 1
  521. KKfi
  522. KKsource="`echo $1 | sed -e 's/^@.*://' | tr A-Z a-z`"
  523. KKaddress="`echo $2 | sed -e 's/^@.*://' -e 's/anonymus+//' | tr A-Z a-z`"
  524. KK. $HOME/.anonvars
  525. KKcase "$source" in
  526. KK    *@*.*)    ;;
  527. KK    *)    $ZEPH "$source" "$address"/DROP
  528. KK        exit 0
  529. KK        ;;
  530. KKesac
  531. KKcase "$source" in
  532. KK    *anonym*)    $ZEPH "$source"/BOGON "$address"
  533. KK            exit 0
  534. KK            ;;
  535. KK    *)        ;;
  536. KKesac
  537. KKcase "$address" in
  538. KK    alt.sex.bondage|alt.personals|alt.personals.ads|alt.personals.bondage|alt.personals.poly|alt.polyamory|alt.sexual.abuse.recovery|cmu.test)
  539. KK        ;;
  540. KK    *)
  541. KK        (echo You requested an anonymous posting to newsgroup "$address". ; \
  542. KK         echo This was rejected as an invalid newsgroup for anon posts. ; \
  543. KK         echo '' ; \
  544. KK         cat - ; \
  545. KK         echo '' ) | tee -a $NEWSREJ | \
  546. KK        $BERKMAIL -s 'Anonymous User rejected your posting.' "$source"
  547. KK        $ZEPH "$source" "$address"/REJECT
  548. KK        exit 0
  549. KK        ;;
  550. KKesac
  551. KKall=/tmp/Ap.$$
  552. KK$GREP -i "^$source" $EXTINGUISHER > $all
  553. KKif [ -s $all ] ; then
  554. KK    (echo You requested an anonymous posting to "$address". However, ; \
  555. KK     echo your address appears in this system\'s \"fire extinguisher\" ; \
  556. KK     echo file, as a source of irritation not considered worth ; \
  557. KK     echo allowing to continue to post anonymously. Your posting ; \
  558. KK     echo is thus rejected. If you wish to question this, feel free ; \
  559. KK     echo to write to anonymus+0 for an explanation. ; \
  560. KK     echo '' ; \
  561. KK     echo This restriction does not affect your ability to send ; \
  562. KK     echo mail anonymously. ; \
  563. KK     echo '' ; \
  564. KK     cat - ; \
  565. KK     echo '' ) | tee -a $NEWSREJ | \
  566. KK    $BERKMAIL -s 'Anonymous User extinguished your posting.' "$source"
  567. KK    rm -f $all
  568. KK    $ZEPH "$source" "$address"/EXTINGUISHED
  569. KK    exit 0
  570. KKfi
  571. KKtext="$all"-t
  572. KKheader="$all"-h
  573. KKcat - > $all
  574. KKsed -e '1,/^$/d' -e '/^--/,$d' $all > $text
  575. KKsed -e '/^$/,$d' $all | $EGREP '^Subject:|^References:' > $header
  576. KKif [ "`$GREP '^Subject:' $header`" = "" ]  ; then
  577. KK    echo Subject: --none given-- >> $header
  578. KKfi
  579. KKecho "Newsgroups: $address" >> $header
  580. KK$GREP -i "^$source    " $USERS | $HEAD -1 > $all 2>&1
  581. KKif [ ! -s $all ] ; then
  582. KK    $ASSIGN "$source" "which required"
  583. KK    $TAIL -1 $USERS > $all
  584. KKfi
  585. KKuserid="`sed -e 's/^.*    \(.*\)$/\1/' $all`"
  586. KK$ZEPH "$source"/"$userid" "$address"
  587. KKecho From: anonymus+"$userid"@$THISHOST >> $header
  588. KK$GREP -i "^$userid    " $NICKNAMES | $HEAD -1 > $all 2>&1
  589. KKif [ -s $all ] ; then
  590. KK    nick="`sed -e 's/^.*    \(.*\)$/\1/' $all`"
  591. KK    ed - $header <<EOF
  592. KK/^From:/s/\$/ ($nick)/
  593. KKw
  594. KKq
  595. KKEOF
  596. KKfi
  597. KKecho Organization: Anonymous contact service >> $header
  598. KKerrs=/tmp/n.log.$$
  599. KK(cat $header ; echo '' ; cat $text ; cat $HOME/.trailer ) | $INEWS >>$errs 2>&1
  600. KKif [ -s $errs ] ; then
  601. KK    (echo You requested an anonymous posting to newsgroup "$address". ; \
  602. KK     echo This failed due to a problem when running inews. ; \
  603. KK     echo If the error below is \"Connection timed out\" ; \
  604. KK     echo then please try again later when the server is up again. ; \
  605. KK     echo '' ; \
  606. KK     echo ++ Error log ++ ; \
  607. KK     cat $errs ; echo '' ; \
  608. KK     echo ++ Article ++ ; \
  609. KK     cat $header ; echo '' ; cat $text ; \
  610. KK     echo '' ) | tee -a $NEWSREJ | \
  611. KK    $BERKMAIL -s 'Anonymous User error in post.' "$source"
  612. KKfi
  613. KKrm -f $all $text $header $errs
  614. KKexit 0
  615. ANONYMUS
  616. if test 3093 -ne "`wc -c < 'post'`"
  617. then
  618.     echo shar: "error transmitting 'post'" '(should have been 3093 characters)'
  619. fi
  620. chmod +x 'post'
  621. fi
  622. echo shar: "extracting 'assign'" '(522 characters)'
  623. if test -f 'assign'
  624. then
  625.     echo shar: "will not over-write existing file 'assign'"
  626. else
  627. sed 's/^KK//' << \ANONYMUS > 'assign'
  628. KK#!/bin/sh
  629. KKif [ $# != 2 ] ; then
  630. KK    echo 'Usage: assign <source> <requesting|which required>'
  631. KK    exit 1
  632. KKfi
  633. KKsource="$1"
  634. KK. $HOME/.anonvars
  635. KKx=`cat $LASTASSIGNED`
  636. KKx=`expr $x + 1`
  637. KKecho $x > $LASTASSIGNED
  638. KKecho "$source    $x" >> $USERS
  639. KK(echo You sent a message to or thru the anonymous user system ; \
  640. KK echo "$2" assignment of an anonymous userid. ; \
  641. KK echo Your new id is number $x. ; \
  642. KK echo This means you are addressed anonymously ; \
  643. KK echo as anonymus+$x@$THISHOST. ) | \
  644. KK$BERKMAIL -s 'Anonymous User assignment.' "$source"
  645. KKexit 0
  646. ANONYMUS
  647. if test 522 -ne "`wc -c < 'assign'`"
  648. then
  649.     echo shar: "error transmitting 'assign'" '(should have been 522 characters)'
  650. fi
  651. chmod +x 'assign'
  652. fi
  653. echo shar: "extracting 'zeph'" '(208 characters)'
  654. if test -f 'zeph'
  655. then
  656.     echo shar: "will not over-write existing file 'zeph'"
  657. else
  658. sed 's/^KK//' << \ANONYMUS > 'zeph'
  659. KK#!/bin/sh
  660. KK# Enable one of the next lines to get ongoing notifications of activity.
  661. KK#/usr/misc/bin/zwrite -d -q -i ACS karl -m "$1" "=>" "$2." 2>/dev/null
  662. KK#echo "$1" "=>" "$2." | write karl 2>/dev/null
  663. KKexit 0
  664. ANONYMUS
  665. if test 208 -ne "`wc -c < 'zeph'`"
  666. then
  667.     echo shar: "error transmitting 'zeph'" '(should have been 208 characters)'
  668. fi
  669. chmod +x 'zeph'
  670. fi
  671. echo shar: "extracting 'log'" '(74 characters)'
  672. if test -f 'log'
  673. then
  674.     echo shar: "will not over-write existing file 'log'"
  675. else
  676. sed 's/^KK//' << \ANONYMUS > 'log'
  677. KK#!/bin/sh
  678. KKecho 
  679. KKecho From $1
  680. KKecho X-Envelope-To: $2
  681. KKcat -
  682. KKecho ''
  683. KKexit 0
  684. ANONYMUS
  685. echo shar: "1 control character may be missing from 'log'"
  686. if test 74 -ne "`wc -c < 'log'`"
  687. then
  688.     echo shar: "error transmitting 'log'" '(should have been 74 characters)'
  689. fi
  690. chmod +x 'log'
  691. fi
  692. echo shar: "extracting 'nick'" '(959 characters)'
  693. if test -f 'nick'
  694. then
  695.     echo shar: "will not over-write existing file 'nick'"
  696. else
  697. sed 's/^KK//' << \ANONYMUS > 'nick'
  698. KK#!/bin/sh
  699. KKif [ $# != 1 ] ; then
  700. KK    echo 'Usage: nick <source>'
  701. KK    exit 1
  702. KKfi
  703. KKsource="`echo $1 | sed -e 's/^@.*://' | tr A-Z a-z`"
  704. KK. $HOME/.anonvars
  705. KKcase "$source" in
  706. KK    *@*.*)    ;;
  707. KK    *)    $ZEPH "$source" nick/DROP
  708. KK        exit 0
  709. KK        ;;
  710. KKesac
  711. KKcase "$source" in
  712. KK    *anonym*)    $ZEPH "$source"/BOGON nick
  713. KK            exit 0
  714. KK            ;;
  715. KK    *)        ;;
  716. KKesac
  717. KKnick="`$GREP '^Subject:'|$HEAD -1|sed -e 's/^Subject: //' -e 's/[     ]*//'`"
  718. KKall=/tmp/a-nick.$$
  719. KK$GREP -i "^$source    " $USERS | $HEAD -1 > $all 2>&1
  720. KKif [ ! -s $all ] ; then
  721. KK    $ASSIGN "$source" requesting
  722. KK    $TAIL -1 $USERS > $all
  723. KKfi
  724. KKuserid="`sed -e 's/^.*    //' $all`"
  725. KK$ZEPH "$source"/"$userid" nick/"$nick"
  726. KK$GREP -v "^$userid    " $NICKNAMES > $NICKNAMES.new
  727. KKmv $NICKNAMES.new $NICKNAMES
  728. KKecho "$userid    $nick" >> $NICKNAMES
  729. KK(echo You requested assignment of a new nickname. ; \
  730. KK echo The nickname associated with anonymus+"$userid" ; \
  731. KK echo is now: "$nick". ) | \
  732. KK tee -a $NICKLOG | \
  733. KK$BERKMAIL -s 'Anonymous User nickname assignment.' "$source"
  734. KKrm -f $all
  735. KKexit 0
  736. ANONYMUS
  737. if test 959 -ne "`wc -c < 'nick'`"
  738. then
  739.     echo shar: "error transmitting 'nick'" '(should have been 959 characters)'
  740. fi
  741. chmod +x 'nick'
  742. fi
  743. echo shar: "extracting 'plonk'" '(1123 characters)'
  744. if test -f 'plonk'
  745. then
  746.     echo shar: "will not over-write existing file 'plonk'"
  747. else
  748. sed 's/^KK//' << \ANONYMUS > 'plonk'
  749. KK#!/bin/sh
  750. KKif [ $# != 1 ] ; then
  751. KK    echo 'Usage: plonk <source>'
  752. KK    exit 1
  753. KKfi
  754. KKsource="`echo $1 | sed -e 's/^@.*://' | tr A-Z a-z`"
  755. KK. $HOME/.anonvars
  756. KKvalid="`$GREP '    0$' $USERS | sed -e 's/    0$//'`"
  757. KKif [ "$source" != "$valid" ] ; then
  758. KK    (echo Nice try. ; \
  759. KK     echo Do it again and you will be plonked yourself.; \
  760. KK     echo '' ; cat - ; echo '' ) | \
  761. KK    $BERKMAIL -s 'Anonymous User plonk failure.' "$source" "$valid"
  762. KK    $ZEPH "$source" PLONK-FAILURE
  763. KK    exit 0
  764. KKfi
  765. KKall=/tmp/Aplonk.$$
  766. KKplonk="`$GREP '^Subject:'|$HEAD -1|sed -e 's/^.*+//' -e 's/@.*$//'`"
  767. KK$GREP -i "^.*    $plonk$" $USERS | $HEAD -1 > $all 2>&1
  768. KKif [ ! -s $all ] ; then
  769. KK    (echo "$source" requested plonking of "$plonk". ; \
  770. KK     echo This was rejected: address unknown? ; \
  771. KK     echo '' ; cat $header ; echo '' ; cat $text ; echo '' ) | \
  772. KK     tee -a $MAILREJ | \
  773. KK    $BERKMAIL -s 'Anonymous User plonk unknown.' "$source"
  774. KK    $ZEPH "$source"/"$userid" PLONK-UNKNOWN/"$address"
  775. KKelse
  776. KK    addr="`sed -e 's/    .*$//' $all`"
  777. KK    echo "$addr" >> $EXTINGUISHER
  778. KK    $ZEPH "$source" PLONKED/"$addr/$plonk"
  779. KK    echo "$addr/$plonk" plonked. | \
  780. KK    $BERKMAIL -s 'Anonymous User plonk succeeds' "$source"
  781. KKfi
  782. KKrm -f $all
  783. KKexit 0
  784. ANONYMUS
  785. if test 1123 -ne "`wc -c < 'plonk'`"
  786. then
  787.     echo shar: "error transmitting 'plonk'" '(should have been 1123 characters)'
  788. fi
  789. chmod +x 'plonk'
  790. fi
  791. echo shar: "done with directory 'bin'"
  792. cd ..
  793. if test ! -d 'lib'
  794. then
  795.     echo shar: "creating directory 'lib'"
  796.     mkdir 'lib'
  797. fi
  798. echo shar: "entering directory 'lib'"
  799. cd 'lib'
  800. echo shar: "extracting 'last-assigned'" '(3 characters)'
  801. if test -f 'last-assigned'
  802. then
  803.     echo shar: "will not over-write existing file 'last-assigned'"
  804. else
  805. sed 's/^KK//' << \ANONYMUS > 'last-assigned'
  806. KK-1
  807. ANONYMUS
  808. if test 3 -ne "`wc -c < 'last-assigned'`"
  809. then
  810.     echo shar: "error transmitting 'last-assigned'" '(should have been 3 characters)'
  811. fi
  812. fi
  813. echo shar: "extracting 'users'" '(0 characters)'
  814. if test -f 'users'
  815. then
  816.     echo shar: "will not over-write existing file 'users'"
  817. else
  818. sed 's/^KK//' << \ANONYMUS > 'users'
  819. ANONYMUS
  820. if test 0 -ne "`wc -c < 'users'`"
  821. then
  822.     echo shar: "error transmitting 'users'" '(should have been 0 characters)'
  823. fi
  824. fi
  825. echo shar: "extracting 'nicknames'" '(0 characters)'
  826. if test -f 'nicknames'
  827. then
  828.     echo shar: "will not over-write existing file 'nicknames'"
  829. else
  830. sed 's/^KK//' << \ANONYMUS > 'nicknames'
  831. ANONYMUS
  832. if test 0 -ne "`wc -c < 'nicknames'`"
  833. then
  834.     echo shar: "error transmitting 'nicknames'" '(should have been 0 characters)'
  835. fi
  836. fi
  837. echo shar: "extracting 'fire-extinguisher'" '(0 characters)'
  838. if test -f 'fire-extinguisher'
  839. then
  840.     echo shar: "will not over-write existing file 'fire-extinguisher'"
  841. else
  842. sed 's/^KK//' << \ANONYMUS > 'fire-extinguisher'
  843. ANONYMUS
  844. if test 0 -ne "`wc -c < 'fire-extinguisher'`"
  845. then
  846.     echo shar: "error transmitting 'fire-extinguisher'" '(should have been 0 characters)'
  847. fi
  848. fi
  849. echo shar: "done with directory 'lib'"
  850. cd ..
  851. echo shar: "done with directory 'anon'"
  852. cd ..
  853. if test ! -d 'misc'
  854. then
  855.     echo shar: "creating directory 'misc'"
  856.     mkdir 'misc'
  857. fi
  858. echo shar: "entering directory 'misc'"
  859. cd 'misc'
  860. echo shar: "extracting 'anonymity'" '(6580 characters)'
  861. if test -f 'anonymity'
  862. then
  863.     echo shar: "will not over-write existing file 'anonymity'"
  864. else
  865. sed 's/^KK//' << \ANONYMUS > 'anonymity'
  866. KKThe short version:
  867. KK
  868. KK_Don't_ post tests.
  869. KK
  870. KKAnonymous posting:    anonymus+<name.of.news.group>@godiva.nectar.cs.cmu.edu
  871. KKAnonymous mail:        <user's alias>@godiva.nectar.cs.cmu.edu
  872. KKTest path/get alias:    anonymus+ping@godiva.nectar.cs.cmu.edu
  873. KKAssign a nickname:    anonymus+nick@godiva.nectar.cs.cmu.edu    (in Subject:)
  874. KKAdministrator:        anonymus+0@godiva.nectar.cs.cmu.edu    (anonymously)
  875. KK            anonymus+admin@godiva.nectar.cs.cmu.edu    (non-anon)
  876. KK_Don't_ post tests.
  877. KK
  878. KK*** Note misspelling: "anonymus"!!! ***
  879. KK________________
  880. KK
  881. KKThe long version:
  882. KK
  883. KKINTRODUCTION TO THE GENERALIZED ANONYMOUS POSTING/CONTACT SERVICE
  884. KK
  885. KKLast update: 17 Oct 1992
  886. KK
  887. KKThe following newsgroups are supported for anonymous posting:
  888. KK    alt.sex.bondage        alt.personals
  889. KK    alt.personals.ads    alt.personals.bondage
  890. KK    alt.personals.poly    alt.polyamory
  891. KK    alt.sexual.abuse.recovery
  892. KKAll postings for any of these groups will leave the user with a single
  893. KKanonymous contact userid -- the software shares a common database for
  894. KKthis support.  Other newsgroups may be added; drop me a note and
  895. KKconvince me.
  896. KK
  897. KKBear in mind that alt.sex.bondage != alt.personals.anything.  _Don't_
  898. KKpost "personals"-style messages to a.s.b.  You shall surely bring down
  899. KKupon yourself the wrath of them-who-are-not-to-be-messed-with if you
  900. KKdo so.
  901. KK
  902. KKThe anonymous mail support is, of course, double-blind.  You can't see
  903. KKwhere you're sending beyond the anonymus+### viewpoint; in the same
  904. KKway, your recipients can't see back to where your messages come.
  905. KK
  906. KKThere are no article length restrictions of any kind.  Anything from a
  907. KKline beginning with 2 dashes ("--") to the end of an article is
  908. KKperceived as a signature, and is deleted on the way through.
  909. KK
  910. KKThe usual disclaimers apply regarding what goes through here...  The
  911. KKACS admin doesn't see what comes through, he doesn't know who does
  912. KKwhat, but he'll cancel things which are obviously illegal that are
  913. KKbrought to his attention.
  914. KK
  915. KKA note on the issue of appropriateness...  There has been one incident
  916. KKin which an ACS user apparently used the veil of ACS anonymity by
  917. KKwhich to attempt extortion against a former lover.  Real, honest-to-
  918. KKgoodness legal remedies may be sought by the victim and her family
  919. KKagainst the perpetrator -- this is not just fun and games.  Generally
  920. KKspeaking, it is a true statement that the real address associated with
  921. KKany anonymous userid is strictly private; but understand that
  922. KKpositively no guarantees are made about maintenance of privacy in the
  923. KKcase of flagrant abuses like this.
  924. KK
  925. KKIf you simply wish to test out the system and get an anonymous userid
  926. KKassigned to yourself, drop a note to
  927. KK    anonymus+ping@godiva.nectar.cs.cmu.edu
  928. KKThe system will respond automatically with a newly-assigned userid.
  929. KKIf you already have one and send to +ping, you'll get an
  930. KKacknowledgement with your existing userid.  Subject and body of a
  931. KKmessage to +ping are irrelevant.
  932. KK
  933. KKYou may optionally have a "nickname" assigned to yourself; this will
  934. KKbe inserted parenthetically in your messages' "From:" headers during
  935. KKdistribution.  Assignment is done by sending a message to
  936. KK    anonymus+nick@godiva.nectar.cs.cmu.edu
  937. KKand the nickname assigned is the contents of your "Subject:" header.
  938. KKUse good taste, please.
  939. KK
  940. KKPosting to one of the supported newsgroups is done via mail to the
  941. KKaddress
  942. KK    anonymus+the.group.name@godiva.nectar.cs.cmu.edu
  943. KKwhereupon the software will do the usual header hacks and post to the
  944. KKnewsgroup.  Crossposting is explicitly not supported.  "References:"
  945. KKheaders will pass; I recommend their inclusion to support threading in
  946. KKyour discussions.
  947. KK
  948. KKPLEASE NOTE #1: Posting of tests is NOT WELCOME.  Trust me, the
  949. KKsoftware works.  If you really must test, then send something,
  950. KKanything at all, to anonymus+0, which is the anonymous mailbox for
  951. KKthis system's administrator, who will forward back exactly what he
  952. KKgets.  Alternatively, send yourself some mail at your anonymus+###
  953. KKaddress; it'll come back anonymified and you can see that things work.
  954. KK
  955. KKPLEASE NOTE #2: The ACS Fire Extinguisher exists.  Users who are
  956. KKobserved to post test messages via this ACS will find themselves
  957. KK*plonk*ed.  What does it mean to be *plonk*ed, you ask?  From the
  958. KKjargon file...
  959. KK
  960. KK    <plonk> [USENET] The sound a <newbie> makes as he falls to the bottom
  961. KK       of a <kill file>.
  962. KK
  963. KKThe specific manifestation of being *plonk*ed in this ACS is that
  964. KKanonymous mail between yourself and individuals will continue to work,
  965. KKbut attempts to make anonymous postings will be bounced back.  The
  966. KKfire extinguisher will be used only in extreme cases.
  967. KK
  968. KKPLEASE NOTE #3: Delay between arrival at Godiva of mail aimed at a
  969. KKnewsgroup and its appearance in the newsgroup proper is averaging
  970. KKabout an hour.  See "Please Note #1" above, and practice patience.
  971. KK
  972. KKMail to an anonymous userid works as one expects: Just write to the
  973. KKFrom: address, and the double-blind mailer will hack headers and
  974. KKenvelope beyond recognition.
  975. KK
  976. KKIn the case of both news postings and mail, if you have not previously
  977. KKbeen assigned an anonymous userid, one will be assigned when your
  978. KKfirst posting or mail message passes through; you will get a message
  979. KKto this effect from the system.
  980. KK
  981. KKNotes for mail-intensive people (others, let your eyes sort of glaze
  982. KKover for this paragraph).  [1] Your address as known to the anonymous
  983. KKuser database is expected to be in user@host.dom.ain format.  [2]
  984. KKLeading RFC822 route specifications ("@ho.st1,@ho.st2:") are stripped
  985. KKoff on arrival, so the specific Internet path by which your mail gets
  986. KKhere will not affect matters; you should keep a single, consistent
  987. KKanonymous userid.  [3] NOTE, however, that users whose mail originates
  988. KKfrom UUCP sites, and hence which use !-paths, may have troubles if
  989. KKrouting between hither and yon changes, because !-path components of
  990. KKyour mail address are not managed at all -- new !-paths mean new
  991. KKanonymous userids.  [4] Godiva is strictly an Internet host, which
  992. KKmeans its mailer believes in the RFCs, and especially that Godiva's
  993. KKmailer does _not_ believe in the fake/quasi-domains .uucp and .bitnet.
  994. KKIt's not even known how people are managing to get such addresses to
  995. KKGodiva, but the system won't even be able to respond to a ping request
  996. KKin such cases (as proven by crud landing in dead.letter locally).
  997. KK
  998. KKThere is no way to cancel mail you've sent to an alias, so don't even
  999. KKbother asking.
  1000. KK
  1001. KKYou can reach the ACS administrator at any of these addresses:
  1002. KK    Karl_Kleinpaste@cs.cmu.edu        (but wrong mailbox)
  1003. KK    anonymus+0@godiva.nectar.cs.cmu.edu    (anonymously)
  1004. KK    anonymus+admin@godiva.nectar.cs.cmu.edu    (non-anon, right mailbox)
  1005. KKKeep the quasi-deliberate misspelling "anonymus" in mind.
  1006. KK
  1007. KKcheers,
  1008. KK++karl
  1009. ANONYMUS
  1010. if test 6580 -ne "`wc -c < 'anonymity'`"
  1011. then
  1012.     echo shar: "error transmitting 'anonymity'" '(should have been 6580 characters)'
  1013. fi
  1014. fi
  1015. echo shar: "extracting 'reply.error'" '(258 characters)'
  1016. if test -f 'reply.error'
  1017. then
  1018.     echo shar: "will not over-write existing file 'reply.error'"
  1019. else
  1020. sed 's/^KK//' << \ANONYMUS > 'reply.error'
  1021. KK[...canned reply to misdirected mail...]
  1022. KK
  1023. KKYour mailer replied to the wrong place.  At a guess, it replied to the
  1024. KK"envelope address" (also known as the "UNIX From_ line" or
  1025. KK"Return-Path").  Note lack of "+###" in the To: line below.
  1026. KK
  1027. KK--karl
  1028. KK________________
  1029. KK
  1030. ANONYMUS
  1031. if test 258 -ne "`wc -c < 'reply.error'`"
  1032. then
  1033.     echo shar: "error transmitting 'reply.error'" '(should have been 258 characters)'
  1034. fi
  1035. fi
  1036. echo shar: "done with directory 'misc'"
  1037. cd ..
  1038. exit 0
  1039. #    End of shell archive
  1040.  
  1041. exit 0 # Just in case...
  1042.