[Mailman-Developers] latest cvs trouble

Barry A. Warsaw bwarsaw@cnri.reston.va.us (Barry A. Warsaw)
Fri, 10 Dec 1999 08:46:28 -0500 (EST)


>>>>> "RK" == Ricardo Kustner <ricardo@miss-janet.com> writes:

    RK> since 1.1/postfix seems to be duplicating some posts a bit too
    RK> often, i tried to install the latest cvs of MM...  first of
    RK> all, there were some pending posts in config.db, but the new
    RK> installation doesn't recognize them (i guess this changed in
    RK> 1.2) so any administrative requests get lost.

This is true.  What I've done is make sure that any lists I convert
have been cleared of admin requests.  This clearly needs to be better
handled in "make update" when 1.2 is released.

    RK> When I tried posting to the list, i got an error: post: File
    RK> "/usr/local/mailman/scripts/post", line 83, in ?  post: main()
    RK> post: File "/usr/local/mailman/scripts/post", line 56, in main
    RK> post: msg = Message.Message(sys.stdin) post: File
    RK> "/usr/local/mailman/Mailman/Message.py", line 49, in __init__
    RK> post: self.rewindbody() post: File
    RK> "/usr/local/mailman/Mailman/pythonlib/rfc822.py", line 104, in
    RK> rewindbody post: self.fp.seek(self.startofbody) post: IOError
    RK> : [Errno 29] Illegal seek

Okay, so sys.stdin isn't seekable everywhere :)  Give the below patch
a try.

-Barry

-------------------- snip snip --------------------
Index: post
===================================================================
RCS file: /projects/cvsroot/mailman/scripts/post,v
retrieving revision 1.25
diff -c -r1.25 post
*** post	1999/11/24 21:11:07	1.25
--- post	1999/12/10 13:44:17
***************
*** 33,38 ****
--- 33,39 ----
  from Mailman import Utils
  from Mailman.Logging.Utils import LogStdErr
  from Mailman.Handlers import HandlerAPI
+ from Mailman.pythonlib import StringIO
  
  LogStdErr("error", "post")
  
***************
*** 53,59 ****
              except:
                  pass
          if msg is None:
!             msg = Message.Message(sys.stdin)
          # go ahead and post the message
          adminaddr = mlist.GetAdminEmail()
          try:
--- 54,61 ----
              except:
                  pass
          if msg is None:
!             s = StringIO(sys.stdin.read())
!             msg = Message.Message(s)
          # go ahead and post the message
          adminaddr = mlist.GetAdminEmail()
          try: