| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
message is a digest (the digest header and footer should already be
properly attached).
|
| |
|
|
|
|
|
|
| |
Archiver/Archiver.py, because We want clobber_date to affect what goes
in Pipermail or the external archiver. Be sure to restore the
original date after the archiver gets its hands on the message. If
clobber_date is turned on, set the X-Original-Date: header to the
original Date: field value.
|
| |
|
|
|
|
| |
it'll only affect what gets put in the .mbox file. We also want
clobber_date to affect what goes in Pipermail or the external
archiver. Move the clobber_date logic to Handlers/ToArchive.py.
|
| |
|
|
|
|
|
|
|
| |
it, and in fact our alter-ego owns the file (e.g. the cgi process or
shell account uid if we're mail). The utime() call will fail with an
EPERM which wasn't being caught. Catch it here and return 0 since we
obviously don't own the lock.
TBD: should other calls to __touch() be similarly wrapped?
|
| |
|
|
| |
no-hit.
|
| |
|
|
| |
never make changes to this file, but should edit mm_cfg.py instead.
|
| |
|
|
|
|
| |
in the file is a newline or not by doing a seek(-1, 2) and catching
the IOError that can result if the file is empty. Closes SF bug
#114099 Jitterbug PR#73.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the usability of the web interface, closing SF bug #114126, Jitterbug
PR#148. Specifically,
- There is now a submit button on the details page, and you can use
that page to change options. This should work better now that
details by default don't pop open a new window, however this is a
warning at the bottom of the page about synchronization issues.
- Details pages now include the standard footer too.
- Volatile config variables (e.g. _mass_catchup) have a note saying
that setting the value performs an action, but doesn't change
permanent state.
ChangeOptions(): The above change uncovered what I believe is a bug,
where if the form data is missing a property found on the category's
options, it would be skipped /unless/ the type of the property were
Text, String, or EmailList. I don't understand why that special case
was there, so I changed this logic to always skip the property if it
isn't found in the form data. Otherwise submitting from a details
page could cause some confusing behavior.
GetConfigOptions(): I don't think the caching of mlist.GetConfigInfo()
is worth it. The lookups should be plenty fast.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#114136, Jitterbug PR#159, this changes the password generation scheme
to use more mnemonically friendly syllables. Passwords are composed
of only lower case letters, are lengthened to 6 characters, and should
still be meaningfully hard to crack.
Examples:
doangu
siabdo
poesza
unorbi
ziurag
okasho
ahhuoz
idcaih
efkoex
zubasu
nukiis
igoffa
veehef
ogkuoc
adebab
ovtoci
veixep
amodbo
|
| |
|
|
|
| |
still placed next to the names. This isn't used anywhere, but that's
because it never worked before!
|
| |
|
|
|
|
|
|
|
|
|
| |
about multiline Subject: headings (be sure all continuation lines are
indented the same amount).
filterDigestHeaders() -> filter_headers()
Digest.Present(), filter_headers(): Make sure continuation header
lines don't get their initial whitespace eaten. Closes SF bug #114092
(Jitterbug PR#4).
|
| |
|
|
|
|
|
|
|
| |
Jeremy Hylton. The `Action:' buttons in horizontal placement are
confusing: does the button go with the word before it or after it?
Hard to tell without scanning the whole line.
Unfortunately, vertical placement takes up too much real-estate. This
compromise puts the buttons underneath the words.
|
| |
|
|
|
|
|
|
| |
mode for the user. Although we have to kludge in the `force' flag,
this is much better because it handles placing digest->nondigest users
on the `one_last_digest' list.
Fixes SF bug #114089 / Jitterbug PR# 166.
|
| |
|
|
|
|
| |
combining mlist.one_last_digest and mlist.GetDigestMembers().
Part of the fix for SF bug #114089 / Jitterbug PR# 166.
|
| |
|
|
|
|
|
|
| |
mode from the admin page won't check for digestable/nondigestable
setting on the mailing list. Presumably the admin knows what s/he is
doing.
Fixes SF bug #114089 / Jitterbug PR# 166.
|
| |
|
|
| |
partial socket writes. This should fix bug #101475.
|
| | |
|
| |
|
|
|
|
| |
up in the user link. This would be interpreted as additional path
components, so we need to join the user name components to get the
actual address.
|
| |
|
|
|
|
|
| |
which are legal re: RFC822, but aren't valid for URLs. urllib.quote()
the address part of the URL.
Closes SF bug #113787.
|
| |
|
|
|
|
|
|
|
| |
option. Changing web_page_url to an invalid base url will hose your
list royally, requiring the site administrator to fix the url.
There's no good way to sanity check the value entered, so the best we
can do is have a warning explaning the situation.
Closes SF bug #113739.
|
| |
|
|
|
|
|
|
|
|
|
| |
rest of the error message in black, italics. More readable, and makes
the warning stand out better.
main(): Improve the digestable/nondigestable sanity checks to use the
better error message output format, and to perform the tests after the
options have been changed (otherwise the warnings might not be still
applicable). Also added a warning when a list has disabled digest
deliver and non-digest delivery!
|
| |
|
|
|
|
|
|
|
|
| |
results page. Obviates the need for using the `back' button after
changing your options.
process_form(): Call PrintResults() with the new `user' argument.
Catch MMMustDigestError and print a notification that the digest
option hasn't been set. Parallels what happens for
MMCantDigestError. Closes SF bug #113728.
|
| |
|
|
|
| |
list footer. Makes it much easier to get to the admin pages from the
normal user pages.
|
| |
|
|
| |
-admin to avoid processing by the bounce subsystem.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
certainly what MSN and a few other services use.
|
| |
|
|
|
| |
posted to the list (as opposed to the -admin, -owner, or -request
addrs, or internally generated). Closes SF bug #111574.
|
| |
|
|
| |
supplying a password. Given by Thomas Wouters.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
and unwrap from the try/finally saving the mailing list. We'll assume
the caller always saves the list.
HandleBouncingAddress(): Don't do a msg.rewindbody()/msg.fp.read() to
get the text of the message. When called from qrunner, the file
handle will be closed, and this will cause a fatal error in
SMTPDirect, which in turn causes multiple sends until all offending
email addresses are disabled. The right way to do this now is to use
the msg.body attribute. This closes SF bugs #111843 and #111176.
|
| | |
|
| |
|
|
| |
names.
|
| |
|
|
| |
Closes SF bug #110731.
|
| |
|
|
| |
implementations of hexlify and unhexlify from the binascii module.
|
| | |
|
| |
|
|
|
|
|
| |
IOErrors. E.g. the marshal module doesn't actually check for write()
errors, so we dump the marshal to the string and write it in one fell
swoop using the file object's write() method. Thanks to GvR for
reviewing.
|
| |
|
|
|
| |
calling mlist.CheckValues() after the options have been changed (but
before the values are printed).
|
| |
|
|
| |
slash.
|
| |
|
|
|
| |
has a colon in the first line, prepend a blank line so that
rfc822.Message doesn't get confused about headers vs. body.
|
| |
|
|
|
| |
the call to socket.connect() in __init__() to be compatible with
Python 1.6/2.0.
|
| |
|
|
|
| |
contract with rfc822.Message.__init__() and also breaks news->mail
gatewaying. A different patch will be applied to fix SF bug #109220.
|
| |
|
|
| |
Dan.
|
| | |
|
| |
|
|
|
|
|
|
| |
to SF Bug #110753. Specifically,
FormatListinfoOverview(): Use Utils.ScriptURL() instead of
GetNestingLevel(), and GetScriptURL() instead of
GetRelativeScriptURL().
|
| |
|
|
|
|
| |
to SF Bug #110753. Specifically,
optionslinks() Fix usage of GetOptionsURL() for new interface.
|
| |
|
|
|
|
|
| |
to SF Bug #110753. Specifically,
main(), FormatHTML(): Use GetScriptURL() instead of
GetRelativeScriptURL().
|
| |
|
|
|
|
|
|
| |
to SF Bug #110753. Specifically,
PrintRequests(): Use Utils.ScriptURL() instead of GetNestingLevel(),
and GetScriptURL() instead of GetRelativeScriptURL(). Also fix usage
of GetOptionsURL() for new interface.
|
| |
|
|
|
|
|
|
|
| |
to SF Bug #110753. Specifically,
FormatAdminOverview(), FormatConfiguration(), FormatOptionHelp(),
GetItemGuiDescr(): Use Utils.ScriptURL() instead of GetNestingLevel(),
and GetScriptURL() instead of GetRelativeScriptURL(). Also fix usage
of GetOptionsURL() for new interface.
|
| | |
|