Forrest Aldrich wrote:
>
>The problem was an obscure typo in mm_cfg.py. Missing single quotes,
>basically. It's "obscure" because it wasn't very obvious... and I
>looked over everything with a fine-toothed comb, including our proxy and
>httpd setup!
>
>It seems to me that Mailman could probably provide better debugging
>output in this scenario. I don't know Python, but at the point where
>the mm_cfg.py file is parsed, any syntactical errors could be reported
>then. ?
The real issue here seems to be that the import from mm_cfg done in the
driver script is inadequately protected. The driver script
print_traceback definition contains
try:
from Mailman.mm_cfg import VERSION
except ImportError:
VERSION = '<undetermined>'
This is fine if there is an ImportError exception, but since mm_cfg.py
is edited by users, it is possible (likely) that there will be a
SyntaxError error exception here, and something more meaningful than
the "Mailman experienced a very low level failure and could not even
generate a useful traceback for you." message could be reported.
--
Mark Sapiro <msapiro(a)value.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
> On Friday, July 01, 2005 02:25:28 PM -0400 Barry Warsaw
<barry at python.org> wrote:
>
>> On Fri, 2005-07-01 at 13:30, Andrew D. Clark wrote:
>>
>>> I consistently get shunted messages with errors like so in
>>> logs/errors:
>>
>> Andrew, what version of Mailman? If not 2.1.6, please try to upgrade.
>>
>> -Barry
>>
>
>It's 2.1.6 currently.
>
I have the same consistent message now with my -i18n development list
when running bin/arch (2.1.6/python-2.4.1):
[snip]
Updating HTML for article 3099
Updating HTML for article 3100
Pickling archive state into
/var/mailman/archives/private/xfce-i18n/pipermail.pck
Traceback (most recent call last):
File "bin/arch", line 200, in ?
main()
File "bin/arch", line 188, in main
archiver.processUnixMailbox(fp, start, end)
File "/var/mailman/Mailman/Archiver/pipermail.py", line 573, in
processUnixMailbox
self.add_article(a)
File "/var/mailman/Mailman/Archiver/pipermail.py", line 625, in
add_article
article.parentID = parentID = self.get_parent_info(arch, article)
File "/var/mailman/Mailman/Archiver/pipermail.py", line 657, in
get_parent_info
article.subject)
File "/var/mailman/Mailman/Archiver/HyperDatabase.py", line 311, in
getOldestArticle
self.__openIndices(archive)
File "/var/mailman/Mailman/Archiver/HyperDatabase.py", line 251, in
__openIndices
t = DumbBTree(os.path.join(arcdir, archive + '-' + i))
File "/var/mailman/Mailman/Archiver/HyperDatabase.py", line 65, in
__init__
self.load()
File "/var/mailman/Mailman/Archiver/HyperDatabase.py", line 179, in load
self.__sort(dirty=1)
File "/var/mailman/Mailman/Archiver/HyperDatabase.py", line 73, in __sort
self.sorted.sort()
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 0:
ordinal not in range(128)
This is the second unicode error I found. The other one (in senddigests)
can be fixed by adding a unicodedecodeerror exception as I described in
the patch I submitted
(http://sourceforge.net/tracker/index.php?func=detail&aid=1246003&group_id=1…)
Please take a good look ;^)
sofar
Ok, I think I managed to screw myself.. Long time ago, I updated to the
cvs snapshot, and forgot to set tags, so I got 2.2a0. I finally had
time to try to straighten the mess out and "upgrade" to 2.1.6 (which I
pulled with tag Release_2_1-maint, so it's post tarball). Bouncer.py
keeps blowing chunks knocking out a variety of functions. An example
from disabled:
/usr/local/bin/python -S /home/mailman/cron/disabled
Traceback (most recent call last):
File "/home/mailman/cron/disabled", line 220, in ?
main()
File "/home/mailman/cron/disabled", line 204, in main
mlist.sendNextNotification(member)
File "/home/mailman/Mailman/Bouncer.py", line 270, in sendNextNotification
msg['Subject'] = 'confirm ' + info.cookie
TypeError: cannot concatenate 'str' and 'NoneType' objects
I'm guessing something in one of the list structures isn't defined right
now? Is there perchance a simple fix with withlist I could make? Update,
sadly, doesn't do it, even though I forced it.
-Ron
In case it got missed, and for anyone who is interested in integrating
and testing what's currently available, I've posted my XML-RPC patch
to SourceForge:
http://sourceforge.net/tracker/index.php?func=detail&aid=1244799&group_id=1…
I forsee only a pair of changes: First of all many more exceptions
should be caught by the handler and real error messages returned
through the XML interface. I'll be filling these in over the next few
days/weeks.
And second, I am going to fix list_lists so that it does not return
private lists.
I'll keep the patch at the above site up to date.
Another thing on the TODO list for after the patch is incorporated:
Create an interface to "get" a specific list setting (like config_list
-o)
--
Joseph Tate
Personal e-mail: jtate AT dragonstrider DOT com
Web: http://www.dragonstrider.com
--On 20 July 2005 14:57:26 -0400 Barry Warsaw <barry(a)python.org> wrote:
> On Wed, 2005-07-20 at 12:16, Ian Eiloart wrote:
>
>> Am I right in thinking this means that I need to downgrade my python
>> version to make this work?
>
> No, but apparently does mean that you'll have to rebuild the codec
> extensions that come with Mailman. I /think/ if you run Mailman's
> config.status and then run make install again (against Python 2.4.1 of
> course) you should be golden.
>
> Let us know if that works and I'll update the release notes.
>
> -Barry
>
OK. I'm having a go at this. I'm not sure how that's supposed to work,
though.
I've built Mailman 2.1.6 with Python 2.4.1, and it didn't work when
installed with Python 2.4.1, and run along side Python 2.4.1
I've built Mailman 2.1.6 with Python 2.2.3, and it works fine. Doesn't
matter whether I have Python 2.2.3 or 2.4.1.
I'm trying again - but why would config.status do anything?
Well, blimey. Everything seems hunky-dory now. Thanks, Barry!
--
Ian Eiloart
Servers Team
Sussex University ITS
Hi All,
We are trying to use our authenticated SMTP server headers to ensure
people cannot spoof email addresses in mailman.
We want to insert a script which when inserted into the mailman.aliases
file will check for authentication and insert a header, then use maiman
to check for this header and send/discard.
How in python do i parse a whole email into an email.Message() object?
I can seem to do it in pieces but not as a whoile email.
Cheers
--
Jeffrey Borkent
Systems Specialist
Information Technology Services
University of Adelaide
Level 7, 10 Pultney Street
Adelaide. 5005
Ph: 8303 3000
jeffrey.borkent(a)adelaide.edu.au
---------------------------------
CRICOS Provider Number 00123M
-----------------------------------------------------------
This email message is intended only for the addressee(s)
and contains information that may be confidential and/or
copyright. If you are not the intended recipient please
notify the sender by reply email and immediately delete
this email. Use, disclosure or reproduction of this email
by anyone other than the intended recipient(s) is strictly
prohibited. No representation is made that this email or
any attachments are free of viruses. Virus scanning is
recommended and is the responsibility of the recipient.
--On 21 July 2005 05:32:43 +0900 Tokio Kikuchi <tkikuchi(a)is.kochi-u.ac.jp>
wrote:
> Barry Warsaw wrote:
>
>> On Wed, 2005-07-20 at 12:16, Ian Eiloart wrote:
>>
>>
>>> Am I right in thinking this means that I need to downgrade my python
>>> version to make this work?
>>
>>
>> No, but apparently does mean that you'll have to rebuild the codec
>> extensions that come with Mailman. I /think/ if you run Mailman's
>> config.status and then run make install again (against Python 2.4.1 of
>> course) you should be golden.
>
> Or, you may have to clear the previously installed codec modules by
>% rm -rf <prefix>/pythonlib/{japanese,korean}
> then run make install again.
Hmm, is that because the build process looks for existing codecs in
<prefix>?
I can't take down Mailman while I build the new version - it takes too
long, and Mailman is too important for our business. And, I don't work
nights!
Similarly, I can't mess with the current installation in order to make the
new one build. I have to make a new build, test it, then deploy it. If
deployment takes a couple of minutes to take down the service, move some
links, then bring it back up, that's OK.
Actually, that raises an issue. When I install Python, it kindly installs
in eg /local/lib/python2.4 - then it moves a link to enable the new
installation.
It would be very nice if Mailman would do the same. Taking down my list
server while building the new one isn't practical. Especially when I can't
be sure the new one will work. I found I have to:
build (configure, make, make install) with <prefix> =
/local/mailman-2.1.6.
test the web pages (fixing apache config to find the cgi)
configure with <prefix> = /local/mailman
hack the Makefile to install in /local/mailman-2.1.6
make, make install
link archive, log, queue directories
take down mailman
link /local/mailman
put mailman back up
Now, this process is kind of workable, but has these drawbacks:
1. it's more complex than it should be
2. I never get to test what I finally install - it has to be rebuilt
3. It takes much longer than it should.
>>
>> Let us know if that works and I'll update the release notes.
Ah, well that'll have to wait, I'm afraid. I've downgraded Python to 2.2.3,
and reinstalled Mailman. Seems to work just fine. We don't use Python for
much else, so I'm not desperate to update it.
>> -Barry
--
Ian Eiloart
Servers Team
Sussex University ITS
I've created a patch to Mailman to add XML-RPC based remote procedure
calls to mailman. This is just a first cut to show that it can be
done and to do a few basic operations I need to plug it into a kind of
hosting framework so it can be controlled from a separate web server.
I plan to add functionality to it to fully meet my needs, but I
thought I'd throw it out there so that I can get some feedback. It's
made against a pristine 2.1.6 tarball.
In order to reuse code, I had to refactor quite a few files. Most
notably some of the Cgi interfaces that do real work were tied very
closely to the idea that you want to output HTML. You don't with
XML-RPC, so I split out the work from the formatting and replaced said
formatting with some exception handling. I welcome comments on this
part of the patch. I'd like to know how to make this better.
You can see that I handle authentication in each XML-RPC call that
needs it, so it shouldn't be any less secure than the appropriate Cgi
call.
Finally, I'd like some discussion of licensing. I think that the
xmlrpc.py file itself should be LGPL just so that there is no
ambiguity whatsoever about using XML-RPC calls from a non-GPL
application. However part of me thinks that this is unnecessary
because there is no import required to use XML-RPC, and therefore,
calling these functions would not be considered "linking" in any
technical sense of the word, and therefore would not require making
the calling application GPL. Thoughts?
--
Joseph Tate
Personal e-mail: jtate AT dragonstrider DOT com
Web: http://www.dragonstrider.com
Hi,
I'm a computer engineer that I'm working in a project to export a mbox
file into an RDF extension, in order to give the possibility of
constructing some powerful ideas around it. The possibilities (search,
stats, etc) are enormous.
I'm developement it in python, and I would like to work in a line that
soon me of the possibility of integrating it easily with mailman
(¿pipermail?). I think that it's and interesting feature.
Then I would talk with someone about some design questions. Who are the
developers of pipermail?
Un saludo
PD: sorry if my english is so bad, I'm working to to improve it.
--
__ ___ _ _
\ \ / (_) |_(_)___ _ _ Sergio Fdez
\ \/\/ /| | / / / -_) '_| GNU/LiNUX User: #298803
\_/\_/ |_|_\_\_\___|_| Web: http://www.wikier.tk/
The FAQ at http://www.list.org/faq.html and mirrors contains
<quote>
Q. Can I put the user's address in the footer that Mailman adds to
each message?
A. Yes, in Mailman 2.1. The site admin needs to enable personalization
by setting the following variables in the mm_cfg.py file:
VERP_PASSWORD_REMINDERS = 1 VERP_PERSONALIZED_DELIVERIES = 1
VERP_DELIVERY_INTERVAL = 1 VERP_CONFIRMATIONS = 1
Once this is done, list admins can enable personalization for regular
delivery members (digest deliveries can't be personalized currently).
A personalized list can include the user's address in the footer.
</quote>
This should say
<quote>
Q. Can I put the user's address in the footer that Mailman adds to
each message?
A. Yes, in Mailman 2.1. The site admin needs to enable personalization
by setting the following variable in the mm_cfg.py file:
OWNERS_CAN_ENABLE_PERSONALIZATION = Yes
Once this is done, list admins can enable personalization for regular
delivery members (digest deliveries can't be personalized currently).
A personalized list can include the user's address in the footer.
</quote>
--
Mark Sapiro <msapiro(a)value.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan