summaryrefslogtreecommitdiff
path: root/mail/deliver (follow)
Commit message (Collapse)AuthorAgeFilesLines
* All the old delivery scripts contact_transport, deliver, dumb_deliverbwarsaw1999-11-241-158/+0
| | | | | | are being removed as all mail deliver gets migrated to the new pipeline architecture. Eventually some of the bulk mailer functionality may be added back, but not this way.
* Applied patch for PR#69, although num_addrs doesn't appear to be usedbwarsaw1999-07-091-1/+1
| | | | anywhere, which is why we probably never saw this problem before.
* forker(): fixed typo in docstring. Also use Utils.reraise() insteadbwarsaw1999-01-081-2/+4
| | | | of manual re-raising.
* main(): Only the child proces should do an os._exit() - and we put itklm1998-11-211-2/+4
| | | | | | | | within a try/finally to ensure, as best we can, that it happens. This may take care of the problems that greg stein was reporting, where a pipe was failing to properly notice the loss of the parent process - now the parent should exit normally. Not sure, this is the best guess so far (out of a discussion w/scott and barry).
* do_child(): Take parameters via stdin lines, instead of command lineklm1998-07-231-34/+35
| | | | | | | | | | | | | | | | | | | | | | | arguments, to avoid exposing addresses to shell. Protocol: line 1: batchnum line 2: sender line 3...n+2: n recipients line n+3: <empty> - delimiting end of recipients line n+4: message content ContactTransport(): Similarly, pass parameters to contact_transport in the same manner, via contact_transport process stdin. This avoids both security problems (and address like `touch /etc/passwd`, as someone on the developers list warned) and distortion problems (shell metacharacters in addresses). Additionally, instrumented both the main process and the child process with a stderr logger, distinguishing the labels for the two so we can tell them apart in the error logs.
* Cosmetic addition of info about the purpose of the REFRACT and TRIESklm1998-07-021-1/+2
| | | | vars.
* [Other developers - please take a look at these refinements to theklm1998-07-011-58/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | deliver script. Deliver is all important, and i don't want to screw it up. I've tested it a bit, but would like your scrutiny before i put something like it in production!] I implemented a finite loop around all os.fork()s in the script, to retry every 15 seconds, up to five times, when error.EAGAIN (resource temporarily unavailable) is hit. In the process i've encapsulated the script code in functions, including a function "forker()" (not mama_forker() - i showed some restraint:), which takes care of the EAGAIN looping. Here's a cron report on the error the last time mailpasswds was run: Your "cron" job on parrot /usr/local/bin/python /home/mailman/mailman/cron/mailpasswds produced the following output: Here's a sample of the traceback that Traceback (innermost last): File "/home/mailman/mailman/cron/mailpasswds", line 117, in ? main() File "/home/mailman/mailman/cron/mailpasswds", line 114, in main MailAllPasswords(list, users) File "/home/mailman/mailman/cron/mailpasswds", line 81, in MailAllPasswords list.SendTextToUser(subject = subj, File "/home/mailman/mailman/modules/mm_deliver.py", line 105, in SendTextToUser mm_utils.SendTextToUser(subject, text, recipient, sender, File "/home/mailman/mailman/modules/mm_utils.py", line 75, in SendTextToUser DeliverToUser(msg, recipient, add_headers=add_headers) File "/home/mailman/mailman/modules/mm_utils.py", line 89, in DeliverToUser if os.fork(): os.error: (11, 'Resource temporarily unavailable')
* Packagizedbwarsaw1998-06-191-1/+1
|
* Fixed a typo which only is a problem if there is 1 group.viega1998-06-021-3/+3
| | | | | Also, fixed the popen to contact transport to invoke python instead of relying on the file to be executable.
* Modified the deliver scripts to call contact_transport via a popenviega1998-05-301-19/+13
| | | | | instead of an exec, and to pass the message through stdin instead of using temp files, to save on file I/O.
* Fixed this to generate a new temp file for each time it contactsviega1998-05-301-7/+20
| | | | | sendmail. This won't live long, I just have to rewrite the code to use stdin / stdout so it doesn't do all that file IO.
* Modified to use contact_transport instead of a sendmail command.viega1998-05-281-15/+8
|
* 1. Use the standard Python invocation #! line to get the interpreterbwarsaw1998-05-261-4/+3
| | | | | | | | | | | from $PATH 2. Do no direct sys.path munging in this file. Import the `paths' module, which is created during the configure process, and which performs all necessary path munging (and exports some useful variables too). 3. Remove RCS crud
* Fixed a typo in the zipcode.viega1998-05-261-2/+2
|
* Added copyright notices to all source files where I am legally entitled to ↵viega1998-05-251-1/+16
| | | | | | | do so. Added a copy of the GNU GPL. Added information about mailman-users in README, and reworded some text in there (made the credits less verbose... perhaps they should move to a credits file?)
* Resolved elusive bug - addresses containing quotes - eg,klm1998-04-111-1/+2
| | | | | | | gordon_o'hara@vanguard.com - was losing the quote when passed on the command line to sendmail. Fixed by doing a repr() of th recipient, so eg gordon_o\'hara@vanguard.com was being passed - and accepted properly by sendmail.
* Preparing to package a distribution - add a module docstring andmailman1998-04-091-0/+4
| | | | __version__ info.
* Added a modest docstring to GroupByDomain.mailman1998-03-301-0/+1
|
* We have been seeing problems when invoked in a tight loop frommailman1998-03-201-3/+5
| | | | | | | | | senddigest with loss of the digest temp files. To aid debugging, we add an argument indicating the file when an ioerror is encountered in the process (but the IOError is still raised). See my next checkin, of mm_digest, for what seems to be the fix of the underlying problem.
* Whoops! Neglected to notice that deliver is a script, not a binary, so i'mmailman1998-03-081-0/+76
checking it in... (Phew - before shipping a dist that lacked it...)