From Majordomo-Users-Owner Mon Aug 2 21:26:43 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA17852; Mon, 2 Aug 93 21:26:43 GMT Received: from alpha.xerox.com by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA17845; Mon, 2 Aug 93 14:26:38 PDT Received: from samoyed.wrc.xerox.com ([13.0.32.6]) by alpha.xerox.com with SMTP id <12050>; Mon, 2 Aug 1993 14:27:55 PDT Received: by samoyed.wrc.xerox.com (4.1/SMI-4.1) id AA01129; Mon, 2 Aug 93 17:27:51 EDT Date: Mon, 2 Aug 1993 14:27:51 PDT From: slade@wrc.xerox.com (Mike Slade) Message-Id: <9308022127.AA01129@samoyed.wrc.xerox.com> To: majordomo-users@GreatCircle.COM Subject: add me Cc: slade@wrc.xerox.com Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk subscribe From Majordomo-Users-Owner Tue Aug 3 04:29:53 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA18474; Tue, 3 Aug 93 04:29:53 GMT Received: from deja-vu.aiss.uiuc.edu by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA18467; Mon, 2 Aug 93 21:29:46 PDT Received: by deja-vu.aiss.uiuc.edu (AIX 3.2/UCB 5.64/4.03) id AA34979; Mon, 2 Aug 1993 23:31:10 -0500 From: rrb@deja-vu.aiss.uiuc.edu (Rec.Radio.Broadcasting Moderator) Message-Id: <9308030431.AA34979@deja-vu.aiss.uiuc.edu> Subject: unsubscribe To: majordomo-users@GreatCircle.COM Date: Mon, 2 Aug 1993 23:31:10 -0600 (CDT) X-Mailer: ELM [version 2.4 PL21] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 334 Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk unsubscribe -- William Pfeiffer - Moderator | This is Satellite-Rock 106 rec.radio.broadcasting - Internet Radio Journal | ******************** Article Submission - rrb@airwaves.chi.il.us | - We're * NOT * Here - Subscription Desk - journal@airwaves.chi.il.us | ** BUT _YOU_ ARE!! ** From Majordomo-Users-Owner Tue Aug 3 12:48:16 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20024; Tue, 3 Aug 93 12:48:16 GMT Received: from refuge.Colorado.EDU by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20017; Tue, 3 Aug 93 05:48:09 PDT Received: by refuge.Colorado.EDU with SMTP id AA04848 (5.65b/IDA-1.4.4 for majordomo-users@greatcircle.com); Tue, 3 Aug 93 06:49:37 -0600 Message-Id: <9308031249.AA04848@refuge.Colorado.EDU> To: majordomo-users@GreatCircle.COM Subject: unsubscribe Date: Tue, 03 Aug 93 06:49:37 CDT From: "Peter Schmid - UnixOps" Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk unsubscribe From Majordomo-Users-Owner Tue Aug 3 15:37:52 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20277; Tue, 3 Aug 93 15:37:52 GMT Received: from Norway.EU.net (nic.eunet.no) by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20270; Tue, 3 Aug 93 08:37:30 PDT Received: from taskon.no by Norway.EU.net with UUCP id AA10537 (5.65c8/IDA-1.4.4/EUnet/NO for greatcircle.com!majordomo-users); Tue, 3 Aug 1993 17:38:43 +0200 Message-Id: <199308031538.AA10537@Norway.EU.net> To: majordomo-users@GreatCircle.COM Subject: 2 Questions Date: Tue, 03 Aug 93 17:23:54 -0000 From: cepe@taskon.no X-Mts: smtp Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk I have no installed Majordomo and got it to work (sort of). I still have two problems: The first is that I get no results from teh lists query. I have 2 lists installed, sample and role-modeling, but when I query the majordomo server for its lists I get the following result. ------- Forwarded Message Return-Path: Majordomo-Owner@taskon.no Date: Tue, 3 Aug 93 17:16:21 +0200 To: cepe From: Majordomo@taskon.no Subject: Majordomo results Reply-To: Majordomo@taskon.no >>>> lists Majordomo@taskon.no serves the following lists: Use the 'info ' command to get more information about a specific list. ------- End of Forwarded Message The second question is on how to set up an mailing list archive. I followed the setup in sample.aliases, but just got errors. -----stuff from /etc/aliases------------- # # Sample mailing list # sample: "|/usr/local/majordomo/wrapper resend -p bulk -M 10000 -l Sample -f Sample -h taskon.no -s sample-outgoing" owner-sample: sample-owner sample-outgoing: :include:/usr/local/majordomo/lists/sample, sample-archive owner-sample-outgoing: sample-owner sample-archive: /usr/local/majordomo/archive/sample ***** Is this line correct??? ^^^^^^^^^^^^^^^^^^^ owner-sample-archive: sample-owner sample-request: "|/usr/local/majordomo/wrapper request-answer sample" owner-sample-request: sample-owner sample-approval: cepe sample-owner: cepe owner-sample-owner: cepe ------------------------------------------ I will appreciate any help. ----------------------------------------------------------------------- Carl P. Swensson internet: cepe@taskon.no Taskon AS x400: /c=no/admd=telemax/prmd=taskon/s=swensson Gaustadalleen 21 Tel: +47-22 95 86 21 N-0371 Oslo, Norway Fax: +47-22 60 44 27 ----------------------------------------------------------------------- From Majordomo-Users-Owner Tue Aug 3 16:26:20 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20471; Tue, 3 Aug 93 16:26:20 GMT Received: from localhost by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20463; Tue, 3 Aug 93 09:26:15 PDT Message-Id: <9308031626.AA20463@mycroft.GreatCircle.COM> To: majordomo-users@GreatCircle.COM Subject: Re: unsubscribe In-Reply-To: Your message of Tue, 03 Aug 93 06:49:37 CDT Date: Tue, 03 Aug 93 09:26:14 -0700 From: Brent Chapman Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk # # unsubscribe # I guess I need to turn the administrivia filters back on for the Majordomo-Users mailing list. You'd think that, of all the people on the Internet, folks who want to run mailing lists themselves would remember to use "-request"... -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 From Majordomo-Users-Owner Tue Aug 3 17:02:26 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20646; Tue, 3 Aug 93 17:02:26 GMT Received: from localhost by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA20638; Tue, 3 Aug 93 10:02:14 PDT Message-Id: <9308031702.AA20638@mycroft.GreatCircle.COM> To: cepe@taskon.no Cc: majordomo-users@GreatCircle.COM Subject: Re: 2 Questions In-Reply-To: Your message of Tue, 03 Aug 93 17:23:54 -0000 Date: Tue, 03 Aug 93 10:02:13 -0700 From: Brent Chapman Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk # I have no installed Majordomo and got it to work (sort of). I still have two problems: # # The first is that I get no results from teh lists query. I have 2 lists installed, sample and # role-modeling, but when I query the majordomo server for its lists I get the following result. Usually this is the result of either a problem with the majordomo.cf file, or a problem with the permissions of the files or the directories above them. To check for the latter, "su" to the uid/gid you've got Majordomo running as, and see if you can access the files. There's no easy way to check for the former; you just have to stare at the file and convince yourself it's correct (fortunately, it's usually only a few lines long). # The second question is on how to set up an mailing list archive. I followed the setup in # sample.aliases, but just got errors. What you have is right for Sendmail, but may not be right for other mail systems. The archive file should already exist, and must be publicly writable (mode 666), because there's no predicting what uid/gid sendmail will use when it tries to write to the file. -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 From Majordomo-Users-Owner Tue Aug 3 22:34:40 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA22521; Tue, 3 Aug 93 22:34:40 GMT Received: from ora.com (ruby.ora.com) by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA22514; Tue, 3 Aug 93 15:34:16 PDT Received: from rubble.west.ora.com by ora.com (5.65c/Spike-2.1) id AA20652; Tue, 3 Aug 1993 18:35:37 -0400 Received: by rubble.west.ora.com (4.1/SMI-4.1+JP-2.5) id AA08516; Tue, 3 Aug 93 15:37:53 PDT From: Jerry Peek Reply-To: jerry@ora.com X-Mailer: MH 6.8 To: majordomo-users@GreatCircle.COM Subject: Re: 2 Questions In-Reply-To: Message from Brent Chapman of "Tue, 03 Aug 1993 10:02:13 -0700." <9308031702.AA20638@mycroft.GreatCircle.COM> Date: Tue, 03 Aug 1993 15:37:52 -0700 Message-Id: <8515.744417472@rubble.west.ora.com> Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk > The archive file should already exist, and must be > publicly writable (mode 666), because there's no predicting what > uid/gid sendmail will use when it tries to write to the file. I've been wondering about that. I just set up majordomo yesterday. I made my log file mode 664, owner & group "majordom". I wanted to protect the file from editing by anyone except me (or group members). I figured that'd be fine because sendmail is always run by "wrapper" -- and "wrapper" is SUID daemon, SGID majordom. "It works for me." ;-) My SunOS 4.1.3 sendmail seems to run as these UIDs: - the local user's UID for mail originating on the local host - daemon if it's handling mail sent via our network I'm no sendmail wizard. Brent (or anyone), are you saying that: - *my* sendmail may run with any arbitrary UID or GID, even when it's invoked from "wrapper"? Or, - as a *general rule*, people should use mode 666 because their mileage may vary (different sendmails are different)? Thanks. In case it matters, here are the relevant aliases: sample: "|/usr/local/majordomo/bin/wrapper resend -p bulk -M 10000 -l Sample -f Sample-Owner -h garnet.ora.com -s sample-outgoing" sample-outgoing: :include:/usr/local/majordomo/lists/sample, sample-archive sample-archive: /usr/local/majordomo/archive/sample --Jerry Peek, O'Reilly & Associates, jerry@ora.com, +1 707-829-0515 P.S. If anyone has tricks for making log files more secure, I'd be glad to hear what you do. Thanks. From Majordomo-Users-Owner Wed Aug 4 07:37:36 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA23876; Wed, 4 Aug 93 07:37:36 GMT Received: from Norway.EU.net (nic.eunet.no) by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA23865; Wed, 4 Aug 93 00:37:25 PDT Received: from taskon.no by Norway.EU.net with UUCP id AA06258 (5.65c8/IDA-1.4.4/EUnet/NO for greatcircle.com!majordomo-users); Wed, 4 Aug 1993 09:38:46 +0200 Message-Id: <199308040738.AA06258@Norway.EU.net> To: Brent Chapman Cc: majordomo-users@GreatCircle.COM Subject: Re: 2 Questions In-Reply-To: Your message of "Tue, 03 Aug 93 10:02:13 PDT." <9308031702.AA20638@mycroft.GreatCircle.COM> Date: Wed, 04 Aug 93 08:58:41 -0000 From: cepe@taskon.no X-Mts: smtp Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk # The second question is on how to set up an mailing list archive. I followed the setup in # sample.aliases, but just got errors. What you have is right for Sendmail, but may not be right for other mail systems. The archive file should already exist, and must be publicly writable (mode 666), because there's no predicting what uid/gid sendmail will use when it tries to write to the file. I got it to work! I did it by changing the setup in /etc/aliases. I am running majordomo on Ultrix v4.2. sample.aliases: sample-outgoing: :include:/usr/local/majordomo/lists/sample, sample-archive owner-sample-outgoing: sample-owner sample-archive: /usr/local/majordomo/archive/sample My edited /etc/aliases sample-outgoing: :include:/usr/local/majordomo/lists/sample, sample-archive owner-sample-outgoing: sample-owner sample-archive: "|cat >>/usr/local/majordomo/archive/sample" ^^^^^^^^ -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 ----------------------------------------------------------------------- Carl P. Swensson internet: cepe@taskon.no Taskon AS x400: /c=no/admd=telemax/prmd=taskon/s=swensson Gaustadalleen 21 Tel: +47-22 95 86 21 N-0371 Oslo, Norway Fax: +47-22 60 44 27 ----------------------------------------------------------------------- From Majordomo-Users-Owner Wed Aug 4 18:26:19 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA24987; Wed, 4 Aug 93 18:26:19 GMT Received: from shelley.u.washington.edu by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA24980; Wed, 4 Aug 93 11:26:12 PDT Received: by shelley.u.washington.edu (5.65/UW-NDC Revision: 2.28 ) id AA19787; Wed, 4 Aug 93 11:27:41 -0700 Date: Wed, 4 Aug 93 11:27:41 -0700 From: Micah Anderson Message-Id: <9308041827.AA19787@shelley.u.washington.edu> X-Sender: micah@shelley.u.washington.edu To: Majordomo-users@GreatCircle.COM Subject: I dont know if this got through last time... Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk Majordomo is putting in lines in my users list that our alias file does not appreciate (as does not the postmaster...), how can I make it so that it wont do this? Here are the errors I get from the aliaschecker: Problems with the Alias File For alias file "/com/mailer/aliases" checked on kropotkin.gnu.ai.mit.edu: Mail for alias they-might-be-d Felsenheld" <0003336353@mcimail .com>". Unterminated quoted text. Mail for alias they-might-be-digested --> ""Marc I. Damelin" ". Unterminated quoted text. Mail for alias they-might-be-digested --> "". Bad RFC822 local-part " "". Bad RFC822 local-part "". Unterminated quoted text. Mail for alias they-might-be-digested --> ""Christopher A Bongaarts-1" ". Unterminated quoted text. Thanks for any help! Micah From Majordomo-Users-Owner Thu Aug 5 16:49:02 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA27100; Thu, 5 Aug 93 16:49:02 GMT Received: from shelley.u.washington.edu by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA27093; Thu, 5 Aug 93 09:48:56 PDT Received: by shelley.u.washington.edu (5.65/UW-NDC Revision: 2.28 ) id AA16569; Thu, 5 Aug 93 09:50:30 -0700 Date: Thu, 5 Aug 93 09:50:30 -0700 From: Micah Anderson Message-Id: <9308051650.AA16569@shelley.u.washington.edu> X-Sender: micah@shelley.u.washington.edu To: majordomo-users@GreatCircle.COM Subject: aliases file... Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk Well, the entries in the alias file are pretty much how I posted them.... for example: "Daniel M. Felsenheld" <0003336353@mcimail.com> is the entry in my users file where: Mail for alias they-might-be-digested --> ""Daniel M. Felsenheld" <0003336353@mcimail .com>". Unterminated quoted text. is the error I get from the checkaliases program. If it just had the folks addresses, all would be kinky. Micah From Majordomo-Users-Owner Thu Aug 5 21:41:57 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA28832; Thu, 5 Aug 93 21:41:57 GMT Received: from alpha.xerox.com by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA28825; Thu, 5 Aug 93 14:41:51 PDT Received: from samoyed.wrc.xerox.com ([13.0.32.6]) by alpha.xerox.com with SMTP id <11738>; Thu, 5 Aug 1993 14:43:01 PDT Received: by samoyed.wrc.xerox.com (4.1/SMI-4.1) id AA28194; Thu, 5 Aug 93 17:42:59 EDT Date: Thu, 5 Aug 1993 14:42:59 PDT From: slade@wrc.xerox.com (Mike Slade) Message-Id: <9308052142.AA28194@samoyed.wrc.xerox.com> To: majordomo-users@GreatCircle.COM Subject: new features in Majordomo Cc: slade@wrc.xerox.com Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk Hi- As a new soon-to-install user of Majordomo, I am interested in some of the future features Brent mentioned in his 1992 LISA VI article. In the version I just retrieved from greatcircle.com I don't see any reference to email retrieval of files. Does this exist yet -even in beta form? Another 'feature' I need is to instead of sending back a file as a result of an email message, take a special command (and parameters) from the message, execute a program with parameters and return the results to the sender in an email message. Doesn't look too hard to do in Perl, but has anyone done this already? thanks -- Michael Slade Xerox Webster Research Center Phone: (716) 422-5346 FAX: x2126 800 Phillips Road, 0128-27E Internet: slade.wbst128@xerox.com Webster, New York 14580 From Majordomo-Users-Owner Thu Aug 12 23:55:49 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA26611; Thu, 12 Aug 93 23:55:49 GMT Received: from atc.boeing.com by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA26604; Thu, 12 Aug 93 16:55:38 PDT Received: by atc.boeing.com (5.57) id AA09110; Thu, 12 Aug 93 08:01:17 -0700 Received: from aw137.iasl.ca.boeing.com by aw101.iasl.ca.boeing.com with SMTP id AA21374 (5.65b/IDA-1.4.4 for majordomo-users@GreatCircle.COM); Thu, 12 Aug 93 07:55:22 -0700 From: "Vincent D. Skahan" Received: by aw137.majordomo-users@GreatCircle.COM (5.65c/client-1.3) id AA03524; Thu, 12 Aug 1993 07:55:29 -0700 Message-Id: <199308121455.AA03524@aw137.majordomo-users@GreatCircle.COM> Subject: better docs - want some ? To: majordomo-users@GreatCircle.COM Date: Thu, 12 Aug 1993 07:55:27 -0700 (PDT) X-Mailer: ELM [version 2.4 PL20] Content-Type: text Content-Length: 1866 Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk First a bit of an offer, then a question or two.... The Offer ========= I've gone through the code (wow! nice and clean to read) and generated sample data files for all the kinds of lists. I've created the appropriate info files describing what each list can and can't do automatically. Would there be value in having a 'samples' directory with these files in them so people would have a better clue of which lists were possible and which files are needed for each type? The problem is that of course the docs haven't caught up with the code (which I believe is the law in at least ten states :-) I can make the sample files available in a shar archive since they're very small and either mail them to Brent or to the list... The questions... ================ It struck me in reading the code that when somebody tries to get on a list that requires approval, that they kind'a sit and wait with no feedback either way. Is there any value in coming up with a 'disapprove' command that would do something like: - send mail saying their request is denied (maybe list.denyinfo) - add their address to a list.denied file in the list dir - maybe do a check in the list.denied info to prevent future attempts to subscribe It also struck me that mailing lists are ripe for abuse. I was also thinking about the same thing for a 'remove' command that would do something like: - send mail saying they've been removed from the list (list.removeinfo) - add them to the list.denied file (and/or list.removed) - maybe do a check in the list.denied info to prevent future attempts to subscribe Does anybody have any opinions either way or a need for any of the above? -- ----------- Vince Skahan ------ vds7789@aw101.iasl.ca.boeing.com ----------- Hypocrisoda - the diet soft drink you order so you can have extra cheese on that large pizza... From Majordomo-Users-Owner Fri Aug 13 00:22:45 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA26657; Fri, 13 Aug 93 00:22:45 GMT Received: from sgi.sgi.com (SGI.COM) by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA26650; Thu, 12 Aug 93 17:22:37 PDT Received: from relay.sgi.com by sgi.sgi.com via SMTP (920330.SGI/910110.SGI) for majordomo-users@greatcircle.com id AA22123; Thu, 12 Aug 93 17:24:21 -0700 Received: from oxford.chez.sgi.com by relay.sgi.com via SMTP (920330.SGI/920502.SGI) for @sgi.sgi.com:majordomo-users@greatcircle.com id AA16830; Thu, 12 Aug 93 17:24:19 -0700 Received: from localhost.chez.sgi.com by oxford.chez.sgi.com via SMTP (920330.SGI/921111.SGI.AUTO) for @relay.sgi.com:majordomo-users@greatcircle.com id AA21039; Thu, 12 Aug 93 17:32:01 -0700 Message-Id: <9308130032.AA21039@oxford.chez.sgi.com> To: majordomo-users@GreatCircle.COM Subject: simple archive packager script Date: Thu, 12 Aug 93 17:32:00 PDT From: Sam Leffler Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk I run majordomo on a machine on the interior of an Internet firewall. I wrote the script below to automatically package up the mailing list logs into archives that are accessible on the Internet gateway machine. It's certainly tailored to my environment, but I figured that it might be of use to others. FYI I run the majordomo lists from a list subdirectory of my home directory. Mailing list logs are kept in files named list/.archive. My personal crontab file is: whizzer% crontab -l #min hour daymo month daywk # 0 0 * * * sh mkarchive -v lists/tiff.archive '~ftp/graphics/tiff' | Mail -s "tiff archive update" sam@asd 5 0 * * * sh mkarchive -v lists/flexfax.archive '~ftp/sgi/fax' | Mail -s "flexfax archive update" sam@asd which causes the ftp'able archives to be updated each night and for me to receive mail about what was done. I'm sure the first thing some will do is rewrite it in perl :-) Sam #!/bin/sh VERBOSE=/bin/true if [ "$1" = "-v" ]; then VERBOSE=echo; shift fi LOG=${1:?"No archive file specified"} HOST=sgi.com PLACE=${2:?"No directory on $HOST specified"} THRESHOLD=8000 # max lines in each uncompressed archive file PATH=/usr/bsd:/bin:/usr/bin # From [a-z]+-owner Wed Aug 11 01:20:11 1993 NAME=`egrep "^From " $LOG | nawk ' func fmtDate(s) { year = substr(s,3,2); mon = substr(s,5,2); day = substr(s,7,2); for (i in month) if (month[i] == mon) { mon = i; break; } return mon day year } BEGIN { month["Jan"] = "01"; month["Feb"] = "02"; month["Mar"] = "03"; month["Apr"] = "04"; month["May"] = "05"; month["Jun"] = "06"; month["Jul"] = "07"; month["Aug"] = "08"; month["Sep"] = "09"; month["Oct"] = "10"; month["Nov"] = "11"; month["Dec"] = "12"; last = "19670101"; first = "99990101"; } /^From [a-z]+-owner/ { date = $7 month[substr($4,1,3)] sprintf("%02d", $5); if (date < first) first = date; if (date > last) last = date; } END { if (last != "19670101" && first != "99990101") print fmtDate(first) "-" fmtDate(last); else print "EMPTY"; } '` if [ -z "$NAME" -o "$NAME" = "EMPTY" ]; then echo "$LOG: log is empty." exit 0 fi # # Purge last update on $HOST. # if [ -f $LOG.lastupdate ]; then lastupdate=`cat $LOG.lastupdate` $VERBOSE "Purge old archive $lastupdate." rsh sam@${HOST} "rm -f $PLACE/$lastupdate" fi # # Update archive on $HOST and update the file that points to # it for the next update. If the archive reaches a threshold # limit, then rotate the logs and setup the last update file # so that the remote copy is not touched next time 'round. # ARCHIVE="archive.$NAME.Z" $VERBOSE "Convert $LOG to $ARCHIVE." cat $LOG | compress -f > $ARCHIVE $VERBOSE "Update archive at $HOST:$PLACE." rcp $ARCHIVE sam@${HOST}:$PLACE/$ARCHIVE && rsh sam@${HOST} "chmod 444 $PLACE/$ARCHIVE" && { LINES=`wc $LOG | awk '{print $1}'` $VERBOSE "Log file now has $LINES lines." if [ "$LINES" -ge "$THRESHOLD" ]; then $VERBOSE "Archive exceeds $THRESHOLD threshold, rotate logs." echo "nothing" > $LOG.lastupdate # clobber last update marker # rotate archive logs rm -f ${LOG}.7 if [ -f ${LOG}.6 ]; then mv -f ${LOG}.6 ${LOG}.7; fi if [ -f ${LOG}.5 ]; then mv -f ${LOG}.5 ${LOG}.6; fi if [ -f ${LOG}.4 ]; then mv -f ${LOG}.4 ${LOG}.5; fi if [ -f ${LOG}.3 ]; then mv -f ${LOG}.3 ${LOG}.4; fi if [ -f ${LOG}.2 ]; then mv -f ${LOG}.2 ${LOG}.3; fi if [ -f ${LOG}.1 ]; then mv -f ${LOG}.1 ${LOG}.2; fi if [ -f ${LOG}.0 ]; then mv -f ${LOG}.0 ${LOG}.1; fi mv -f ${LOG} ${LOG}.0; chmod 444 ${LOG}.0 cp /dev/null ${LOG}; chmod 666 ${LOG} else echo $ARCHIVE > $LOG.lastupdate # next update overwrites fi } rm -f $ARCHIVE From Majordomo-Users-Owner Sat Aug 14 21:39:30 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA01784; Sat, 14 Aug 93 21:39:30 GMT Received: from localhost by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA01775; Sat, 14 Aug 93 14:39:24 PDT Message-Id: <9308142139.AA01775@mycroft.GreatCircle.COM> To: majordomo-users@GreatCircle.COM Cc: "Vincent D. Skahan" Subject: Re: better docs - want some ? In-Reply-To: Your message of Thu, 12 Aug 1993 07:55:27 -0700 (PDT) Date: Sat, 14 Aug 93 14:39:23 -0700 From: Brent Chapman Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk "Vincent D. Skahan" writes: # First a bit of an offer, then a question or two.... # # The Offer # ========= # # I've gone through the code (wow! nice and clean to read) and generated sample Thanks! # data files for all the kinds of lists. I've created the appropriate info # files describing what each list can and can't do automatically. Cool! # Would there be value in having a 'samples' directory with these files in them # so people would have a better clue of which lists were possible and which # files are needed for each type? The problem is that of course the docs # haven't caught up with the code (which I believe is the law in at least ten # states :-) # # I can make the sample files available in a shar archive since they're # very small and either mail them to Brent or to the list... Vincent has already sent me a copy of the files, which I'll be including with a future Majordomo release (whenever that will be). In the mean time, I've asked him to email them to the list, so that everyone can benefit. # The questions... # ================ # # It struck me in reading the code that when somebody tries to get on a list # that requires approval, that they kind'a sit and wait with no feedback either # way. They get a message that says "your request has been forwarded to the list owner for approval". They get another message if/when the request is eventually approved. They get nothing if the request is never approved; in that case, currently, the list owner should send them a message telling them why their request was disapproved. # Is there any value in coming up with a 'disapprove' command that # would do something like: # - send mail saying their request is denied (maybe list.denyinfo) # - add their address to a list.denied file in the list dir # - maybe do a check in the list.denied info to prevent future # attempts to subscribe Seems like something of very limited applicability to me. # It also struck me that mailing lists are ripe for abuse. # I was also thinking about the same thing for a 'remove' command that would # do something like: # # - send mail saying they've been removed from the list (list.removeinfo) # - add them to the list.denied file (and/or list.removed) # - maybe do a check in the list.denied info to prevent future # attempts to subscribe Again, it seems like something with limited applicability to me. Like always, though, if somebody does the code according to my guidelines and sends me diffs, I'll think about integrating it into the release. -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 From Majordomo-Users-Owner Sun Aug 15 23:59:13 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA04492; Sun, 15 Aug 93 23:59:13 GMT Received: from localhost by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA04484; Sun, 15 Aug 93 16:58:42 PDT Message-Id: <9308152358.AA04484@mycroft.GreatCircle.COM> To: slade@wrc.xerox.com (Mike Slade) Cc: majordomo-users@GreatCircle.COM Subject: Re: new features in Majordomo In-Reply-To: Your message of Thu, 5 Aug 1993 14:42:59 PDT Date: Sun, 15 Aug 93 16:58:41 -0700 From: Brent Chapman Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk [ I'm _finally_ getting caught up on email dating all the way back to mid-June, so bear with me. -Brent ] # As a new soon-to-install user of Majordomo, I am interested in # some of the future features Brent mentioned in his 1992 LISA VI # article. # # In the version I just retrieved from greatcircle.com I don't # see any reference to email retrieval of files. Does this exist yet # -even in beta form? Various people (most recently, Tom Limoncelli) have posted patches to Majordomo to do various file service tasks. You should be able to find these patches in the Majordomo-Users archive (on FTP.GreatCircle.COM, file pub/archive/majordomo-users.Z). None have yet made it into an official release (mainly because I haven't had time to do any official releases in quite a while). Another possibility is to use the "ftpmail" package. Again, check the Majordomo-Users archive; somebody was posting about it there recently. Before I add anybody's file service modifications to Majordomo, I'm going to take a close look at "ftpmail"; if it looks compatible and complete, then I may very well decide to recommend that route instead of adding more stuff to Majordomo. # Another 'feature' I need is to instead of sending back a file # as a result of an email message, take a special command (and # parameters) from the message, execute a program with parameters and # return the results to the sender in an email message. Doesn't look too # hard to do in Perl, but has anyone done this already? Not very hard, but lots of potential security problems. This isn't something I'll be adding to Majordomo. -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 From Majordomo-Users-Owner Fri Aug 27 02:52:06 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA12062; Fri, 27 Aug 93 09:37:08 GMT Received: from ub-gate.UB.com by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA12053; Fri, 27 Aug 93 02:36:49 PDT Received: from bolis.UUCP by ub-gate.UB.com (4.1/SMI-4.1[UB-1.8]) id AA14365; Fri, 27 Aug 93 02:38:32 PDT Received: by hock.bolis.sf-bay.org (Smail3.1.28.1 #6) id m0oW02m-0002x4C; Fri, 27 Aug 93 02:24 PDT Message-Id: From: Alan Millar Subject: Patch for file retrieval To: majordomo-users@GreatCircle.COM Date: Fri, 27 Aug 1993 02:24:26 -0800 (PDT) Cc: brent@GreatCircle.COM Reply-To: Alan Millar X-Mailer: ELM [version 2.4 PL21] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Length: 6532 Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk Here are my set of patches to the current version 1.46 of Majordomo for file retrieval. I have only implemented 2 commands, "get" and "index". This is based on Peter Haas' patches for an earlier version of Majordomo, although I left out Peter's other commands. If you don't add anything to majordomo.cf, it will assume that in your $listdir you have subdirectories for each list with the name .archive, although you can change this in majordomo.cf. Optionally, get and index requests can be forwarded to ftpmail. The ftpmail address could even be on a different machine if you like. I changed my aliases to archive the list into the file directory for easy archive retrieval. Instead of archiving to /usr/local/mail/archives/listname, instead I archive to /usr/local/mail/lists/listname.archive/log so the users will see a file named "log" when they do an index for the list. By the way, I like the Bitnet log naming with the year and month (log9307, log9308, etc). Has anyone come up with a simple solution for use with Majordomo to do this already? Thanks. - Alan ---- ,,,, Alan Millar amillar@bolis.SF-Bay.org __oo \ System Administrator =___/ MOSTLY harmless??!! *** majordomo.old Mon Aug 23 20:43:52 1993 --- majordomo Fri Aug 27 00:45:10 1993 *************** *** 115,120 **** --- 115,122 ---- elsif ($cmd eq "lists") { &do_lists(@parts); } elsif ($cmd eq "list") { &do_lists(@parts); } elsif ($cmd eq "help") { &do_help(@parts); } + elsif ($cmd eq "get") { &do_get(@parts); } + elsif ($cmd eq "index") { &do_index(@parts); } else { &squawk("Command '$cmd' not recognized."); $count--; # if we get to here, it wasn't really a command *************** *** 499,504 **** --- 501,611 ---- &log("lists"); } + # Subroutines do_get and do_index handle files for the requestor. + # You need to specify a directory in majordomo.cf such as: + # $filedir = "/usr/local/mail/files"; + # $filedir_suffix = ""; + # or + # $filedir = "$listdir"; + # $filedir_suffix = ".archive"; + # + # If you want FTPMail to do the file handling, also put in: + # $ftpmail_location = "$whereami" + # $ftpmail_address = "ftpmail@$whereami"; + # or + # $ftpmail_address = "ftpmail@decwrl.dec.com"; + # as appropriate. + # If you want majordomo to do the basic file handling, don't + # set the ftpmail options. Set the index command using: + # $index_command = "/bin/ls -lRL"; + + sub do_get { + # Make sure we've got the arguments we need + (local($list) = shift) || &squawk("get: which list?"); + (local($filename) = shift) || &squawk("get: which file?"); + # Check that the list is OK + local($clean_list) = &valid_list($listdir, $list); + if ($clean_list ne "") { + # The list is OK, so check the file name + if ($filename ne "" && $filename !~ /^[.\$\/]/) { + # see if file handling is done by ftpmail + if ($ftpmail_address ne "") { + # File handling is done by ftpmail + if ($ftpmail_location eq "") {$ftpmail_location = $whereami; }; + &sendmail(FTPMAILMSG, $ftpmail_address, "get $filename", $reply_to); + print FTPMAILMSG "open $ftpmail_location\n"; + print FTPMAILMSG "cd $filedir/$clean_list$filedir_suffix\n"; + print FTPMAILMSG "get $filename\n"; + close (FTPMAILMSG); + print REPLY "'get' request forwarded to $ftpmail_address\n"; + } else { + # file handling is done locally. + if ($filedir eq "") {$filedir = $listdir; $filedir_suffix = ".archive"; }; + if (-d "$filedir/$clean_list$filedir_suffix") { + if (&lopen(GETFILE, " ", "$filedir/$clean_list$filedir_suffix/$filename")) { + # Set up the sendmail process to send the file + &sendmail(GETFILEMSG, $reply_to, "File: $clean_list $filename"); + while () { + print GETFILEMSG $_; + } + # close (and thereby send) the file + close(GETFILEMSG); + + &lclose(GETFILE); + print REPLY "File $clean_list $filename is being sent.\n"; + } else { + print REPLY "#### File '$filename' does not exist for $clean_list\n"; + #print REPLY "#### '$filedir/$clean_list$filedir_suffix'\n"; + } + } else { # if valid directory + print REPLY "#### No files exist for $clean_list\n"; + } # if valid directory + } + } else { + &squawk("get: invalid filename: '$filename'."); + } + } else { + &squawk("get: unknown list '$list'."); + } + &log("get $clean_list $filename"); + } + + sub do_index { + # Make sure we've got the arguments we need + (local($list) = shift) || &squawk("info: which list?"); + # Check that the list is OK + local($clean_list) = &valid_list($listdir, $list); + if ($clean_list ne "") { + # The list is OK; see if file handling is done by ftpmail + if ($ftpmail_address ne "") { + # File handling is done by ftpmail + if ($ftpmail_location eq "") {$ftpmail_location = $whereami; }; + &sendmail(FTPMAILMSG, $ftpmail_address, "index $clean_list", $reply_to); + print FTPMAILMSG "open $ftpmail_location\n"; + print FTPMAILMSG "cd $filedir/$clean_list$filedir_suffix\n"; + print FTPMAILMSG "dir\n"; + close (FTPMAILMSG); + print REPLY "'index' request forwarded to $ftpmail_address\n"; + } else { + if ($filedir eq "") {$filedir = $listdir; $filedir_suffix = ".archive"; }; + if( -d "$filedir/$clean_list$filedir_suffix" ) { + chdir "$filedir/$clean_list$filedir_suffix" || &squawk("index: directory not readable"); + if ($index_command eq "") {$index_command = "ls -lRL"; }; + open(INDEX,"$index_command|") || &squawk("index: ls command failed"); + while () { + print REPLY $_; + } + close INDEX; + } else { + print REPLY "#### No files available for $clean_list.\n"; + } + } + } else { + &squawk("index: unknown list '$list'."); + } + &log("index $list"); + } + sub do_help { print REPLY <<"EOM"; This is Brent Chapman's "Majordomo" mailing list manager, $majordomo_version. *************** *** 510,515 **** --- 617,628 ---- unsubscribe [
] Unsubscribe yourself (or
if specified) from the named . + + get + Get a file related to . + + index + Return an index of files you can "get" for . which [
] Find out which lists you (or
if specified) are on. From Majordomo-Users-Owner Mon Aug 30 07:46:23 1993 Return-Path: Received: by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA23150; Mon, 30 Aug 93 07:46:23 GMT Received: from localhost by mycroft.GreatCircle.COM (4.1/SMI-4.1/Brent-921015) id AA23128; Mon, 30 Aug 93 00:46:01 PDT Message-Id: <9308300746.AA23128@mycroft.GreatCircle.COM> To: majordomo-announce@GreatCircle.COM, majordomo-users@GreatCircle.COM Subject: New version (release 1.56) of Majordomo available Date: Mon, 30 Aug 93 00:46:00 -0700 From: Brent Chapman Sender: Majordomo-Users-Owner@GreatCircle.COM Precedence: bulk There's a new version of Majordomo (release 1.56) available. The major changes since the last released version (release 1.54) are the inclusion of basic "get" and "index" file access commands and some extensions to "resend" to allow it to support moderated lists and/or accept incoming messages only from list members. I've included a more detailed list of changes below. I'm planning some further enhancements to go along with this (for instance, extensions to "approve" to approve postings for moderated lists as well as approving "subscribe" and "unsubscribe" requests, and the inclusion of a file "put" command), but I wanted to get it out as-is because I don't know when I'll have time to make the next set of enhancements. As always, it's available for anonymous FTP from FTP.GreatCircle.COM, file pub/majordomo. Also as always, the documentation still sucks. The "README" and "sample.cf" files get a little better each time, but I'm planning to completely redo the documentation using the original paper from the LISA conference as a starting point. The good news is that it appears that I've got a client who's willing to fund the time for the documentation improvements, so it might even get done within the next month or two! -Brent -- Brent Chapman Great Circle Associates Brent@GreatCircle.COM 1057 West Dana Street +1 415 962 0841 Mountain View, CA 94041 Changes since release 1.54 ========================== Added "--" as the first line of responses generated by Majordomo. This keeps bounces of Majordomo-generated messages from being reprocessed as input if some broken mailer bounces them back to Majordomo instead of Majordomo-Owner. Added check to ensure that an address really is subscribed to a list before attempting to process an "unsubscribe" request for that address. This should stop the generation of "approve unsubscribe" requests for addresses that aren't really on the list anyway. Added comments to "sample.cf" file to document all variables set there. Added "get" and "index" commands to access files related to a list. Courtesy of Alan Millar and Paul Haas . Added "-I" (restrict incoming messages to list members) and "-r" (add a "Reply-To:" field) flags to "resend"; see "resend.README" for details. Courtesy of Jon Luini . Renamed "sendmail" subroutine in "resend" to "resend_sendmail", to avoid conflict with "sendmail" subroutine in "majordomo.pl" file. This should put an end to the "Malformed command links" warnings from "resend". Added "-a" (set an "approval" password) and "-A" (require approval of all messages; i.e., make this a moderated mailing list) flags to "resend"; see "resend.README" for details. Added a comment to "README" about running setuid to a sendmail "trusted" user. Added "W_MAJORDOMO_CF" environment variable support to "Makefile" and "wrapper.c", so that this can be hard-coded into "wrapper", rather than inheireted from the environment of "wrapper" (which is a security problem). Changed "request-answer" by expanding recording to include info about the "unsubscribe" command. Changes since release 1.46 ========================== Updated README file. Removed MH dependencies from "approve"; it now works on stdin or file names passed as arguments. Changed "approve" from using multiple ~/.passwd/* files to using a single file ~/.majordomo. See the comments at the start of "approve" for more info. Changed "bounce" from using multiple ~/.passwd/* files to using a single file ~/.majordomo. See the comments at the start of "bounce" for more info. Changes in 1.46 =============== NOTE WELL: existance of a ".private" file used to mean the same thing as existance of a ".closed" file. ".private" now means something different (see below). If you've got lists that are currently ".private", you should make them ".closed" before you install this version of Majordomo. Filename changes (mostly to accomodate 14-character limits): bounce-reminder bounce-remind majordomo.cf.sample sample.cf request-recording request-answer mailstuff.pl majordomo.pl Code reorganization; moved must support functions to "majordomo.pl". Fixed log locking bug; log now locked before each write. Fixed truncation bug caused by indiscriminate "chop"; now only chops trailing newlines. Both "subscribe" and "unsubscribe" now check to see if a requesting address looks like a real name rather than an email address (i.e., if the user issued a LISTSERV-style "subscribe " command, rather than a Majordomo-style "subscribe []" command). If it doesn't look like an email address, it squawks to the user and punts the request. Majordomo now slightly more liberal in accepting list names; it will now take "", "list@site", and "" as synonyms for "list". Majordomo now recognizes any line beginning with a "-" as equivalent to an "end" command, so it won't process automatically-added signatures any more. All requests to a given list can now be automatically approved by creating a file "$listdir/.auto". The list owner still gets the standard "SUBSCRIBE" and "UNSUBSCRIBE" advisories. Responses to "info" requests now include a "last updated " line at the end, telling when the ".info" file was last updated. If you want the date printed and labelled in a particular timezone (GMT, say), you need to set that timezone in your TZ environment variable; something like this in your majordomo.cf file works well: $ENV{"TZ"} = "GMT"; Which mailer to use, and what arguments to pass it, can now be configured in the .cf file. You have to use a mailer that will accept the header along with the text of the message (such as sendmail). To set your own mailer, set the "$mailer" variable in the .cf file to the string to use to invoke the mailer. The default, if none is specified, is: "/usr/lib/sendmail -f\$sender \$to" You can use "\$sender", "\$to", "\$from", and/or "\$subject" in your command. Make sure you use the "\", so that these variables will be expanded later, rather than when the .cf file is read. The "which" command now does a case-insensitive substring match, rather than an address match. Any address which matches the argument to "which" is included in the output to "which". I.e., "which brent" will now match "brent", "Brent@GreatCircle.COM", "Chapman@GreatCircle.COM (Brent Chapman)", etc. You can now tell Majordomo, on a per-list basis, to strip comments from addresses before writing them to the list file by creating a file "$listdir/.strip". For example, in both "Brent@GreatCircle.COM (Brent Chapman)" and "Brent Chapman ", "Brent Chapman" is a comment, and the address can be simplified to "brent@greatcircle.com". You can now tell Majordomo, on a per-list basis, that a list is "private" by creating a file "$listdir/.private". If such a file exists, then only members of the list can access the list with "who" and "which" commands. $Header: /mycroft/brent/majordomo/RCS/Changes,v 1.3 1993/08/30 07:37:04 brent Exp $