| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
approval - notifications are now sent even for suspected spam. I was
experimenting with avoiding alerting spammers to spam filtering, but
i've come to realize that:
- Not notifying prevents non-spammers from getting any feedback when
they inadvertantly trip a spam sensitivity, and
- It's probably best to blast stuff back at spammers. In the common
case that the return addresses are useless, no harm, and if the
return addrs are good, then the more people using the spam
protection, the more spam the spammer gets in response.
The moral is, forthrightness is the best policy. Even if it does
expose our measures and up the ante in the spam war, security via
obscurity is a poor, and often misguided, approach.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Python 1.5.2 will do it (for debugging)
|
| |
|
|
| |
stderr. (I expect we should do this for all the scripts.)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
uncaught exceptions through to the top level.
Uncommented out the open() definition. I think this is very helpful
during the beta debugging phase. We'll comment this out for 1.0
release (it also won't be necessary in Python 1.5.2, but nobody has
that yet!)
Exception printing has been changed so that the MultiLogger is no
longer necessary. Removes one more potential crash, but also
rationalizes print_exception() and print_environment(). There's
always exactly two places information goes:
1. To a plain text log file. This could be sys.__stderr__ if no
explicit log file is given -- e.g. the Web server's log file.
2. To an HTML sink. This will always be sys.stdout (since we use
the `print' statement), and will generally always be connected
to the input of the Web browser.
Log file printing happens first, just in case (it's better that the
server knows what's happening), but we always try to print both.
`Main' has been rewritten also. We now do not catch any problems with
import sys. If sys can't be imported, then the Python installation is
royally screwed -- even `print' won't work! Better to just let the
catastrophy percolate up to the Web browser. Even so this should
almost never happen.
Poke __stderr__ and __stdout__ into the sys module if they aren't
already there. GvR says this is a 1.5.1 feature, but we can make it
work well enough for older versions of Python, and it's convenient.
Give one final shot at printing the traceback and environment if the
exception percolates all the way up out of run_main(). This time,
just print them to stderr (usually meaning the Web server's error
log). Should this fail too, do whatever we can not to generate an
end-user visible server error.
|
| | |
|
| |
|
|
|
|
|
| |
case anything breaks between the start of this function and the
creation of the real objects, otherwise the calls in the except branch
will fail, kicking us back to a low-level exception. using sys.stderr
isn't great, but it's better than nothing.
|
| |
|
|
| |
module all the time.
|
| | |
|
| |
|
|
| |
- new version of Unlock takes care of that.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QUESTION: The MailList.Unlock() method currently raises two different
AttributeErrors when the list is not currently locked (depending on
whether or not the lock was previously created). This certainly seems
like the wrong exception.
We could make .Unlock() check for the lock and return a better
exception, or we could have it just return if the list is not locked.
I'm inclined towards the latter, but it changes the character of the
list locking interface a wee bit.
I think it ought to be changed, one way or the other. John, what's
your inclination?
Ken
|
| |
|
|
|
| |
module (we should really create a mail driver similar to the CGI
driver).
|
| |
|
|
|
|
|
|
| |
errors. Now all tracebacks get sent to the user as HTML *and* logged
to logs/error, although the format of the output is slightly different
(not HTML in the latter case).
Some rearranging of code, simplification, etc.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
Mailman.Cgi package. Be as paranoid as possible about catching
exceptions and reporting them as HTML (which has saved my butt
numerous times already :-).
See the comments in the file for things that can still cause Server
errors.
|
| | |
|
| |
|
|
| |
constructor actuals when the list doesn't need to be locked.
|
| |
|
|
|
|
|
|
| |
is present, post realizes that it was called by the News->Mail gateway,
and tells the mailing list not to Mail->News gateway anything.
Actually, thinking about it, it is probably better to set a field in
each message object saying "Don't send me to news!". I'll probably
adjust that after I get to test the code.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Also:
Removed all hardcoded absolute paths. Instead, calculate paths using
paths.prefix as the base.
Change ''' TQS to """ so as not to confuse font-lock.
!!!! When calling SendTextToUser(), set the new optional argument
raw=1 so that the text body will not be wrapped/filled. The checkin
that implements wrapping and filling has not yet been made. Note that
it would be nice if just the templated text could be wrapped/filled
and the err_msg left alone, but that's currently too hard to separate.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
Also, calculate path to majordomo.answer.txt file using paths.prefix
as the path base.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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?)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
From janne@avocado.pc.helsinki.fi Thu Apr 23 19:17:15 1998
Date: 16 Apr 1998 02:38:37 +0300
From: Janne Sinkkonen <janne@avocado.pc.helsinki.fi>
To: mailman-developers@python.org
Cc: ilpo@pcuf.fi
Subject: [Mailman-developers] Double Reply-To:, answer_majordomo_mail, archives
I have several minor things:
First, when the "reply to the list" option of a list is set, it seems
that a potential existing Reply-To: is not (always) stripped
off. Instead there will be two Reply-To: headers, one for the list,
one from the original sender. I guess this is a bug?
Second, here's a working answer_majordomo_mail script. The script in
1.0b12 didn't work for me (the patch would be larger than the script
itself, hence I include this here):
#!/usr/local/bin/python
# This is another script that's really just for my use, but
# feel free to use it if you know how...
import sys
f = open('/dev/null', 'w')
sys.stderr = f
sys.path.append('/home/mailman/mailman/modules')
import mm_message, mm_utils
msg = mm_message.IncomingMessage()
text = open('/home/mailman/mailman/misc/majordomo.answer.txt', 'r').read()
mm_utils.SendTextToUser('Your mail to Majordomo...', text, msg.GetSender(),
'mailman-owner')
I would also like to ask about the archives. The README says
'integrated with [...] external pipermail'. :) Besides the links and
authorization service provided, what does this mean in practice?
Should I run piper-hypermail from a crontab or is there something
better around somewhere?
--
Janne
------------------------------------------------------
Mailman-developers maillist - Mailman-developers@python.org
http://www.python.org/mailman/listinfo/mailman-developers
|
| |
|
|
| |
(and crashandburning when that file existed and was unwritable).
|
| | |
|
| | |
|
| |
|
|
| |
__version__ info.
|
| |
|
|
| |
with spam and do not notify the sender that their message is being held.
|
| | |
|
| |
|
|
| |
Refined module doc string a bit.
|
| |
|
|
|
|
|
|
|
|
| |
substituting a file (which, if it's unwritable, crashes mailman) for
stderr.
Send a notice to mailman owner when a list has an email alias, but
does not exist - i.e. email makes it to the wrapper script, etc.
Turn the comment at the top to a module docstring.
|
| |
|
|
| |
the hold is list moderation.
|
| |
|
|
| |
existence of the would silently prevent the post.
|
| | |
|
| |
|