[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[pysieved] Setup Difficulties



Hi All,

I have tried to setup pysieved two different ways, both unsuccessfully. I dug around a bit to see
what I could do about that but fear I am a bit out of my depth as python is not a native language
for me.

The first method I tried was setting up auth and userdb to use mysql. I had to make a small change
to plugins/mysql.py:

--------------------------------------------
Line 45:
< cursor.execute(self.query % params)
> cursor.execute(self.auth_query % params)

Line 57:
< cursor.execute(self.query % params)
> cursor.execute(self.user_query % params)
--------------------------------------------

...just to get it to query the db at all. Once that was done, I began receiving the following error:

--------------------------------------------

Traceback (most recent call last):
  File "/usr/local/lib64/pysieved/managesieve.py", line 150, in handle
    func(*cmd[1:])
  File "/usr/local/lib64/pysieved/managesieve.py", line 237, in do_authenticate
    self.storage = self.new_storage(home)
  File "/usr/local/lib/pysieved/pysieved.py", line 106, in new_storage
    return store.create(self.params)
AttributeError: new instance has no attribute 'create'
Traceback (most recent call last):
  File "/usr/lib64/python2.4/SocketServer.py", line 440, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/pysieved/pysieved.py", line 93, in __init__
    managesieve.RequestHandler.__init__(self, *args)
  File "/usr/local/lib64/pysieved/managesieve.py", line 47, in __init__
    server)
  File "/usr/lib64/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib64/pysieved/managesieve.py", line 150, in handle
    func(*cmd[1:])
  File "/usr/local/lib64/pysieved/managesieve.py", line 237, in do_authenticate
    self.storage = self.new_storage(home)
  File "/usr/local/lib/pysieved/pysieved.py", line 106, in new_storage
    return store.create(self.params)
AttributeError: new instance has no attribute 'create'


--------------------------------------------

I tried to do some reading on this but came up blank, so I decided to try the alternative of
running everything straight through dovecot. Unfortunately, I got a new error for that:

--------------------------------------------

Traceback (most recent call last):
  File "/usr/local/lib64/pysieved/managesieve.py", line 150, in handle
    func(*cmd[1:])
  File "/usr/local/lib64/pysieved/managesieve.py", line 234, in do_authenticate
    if not self.authenticate(user, passwd):
  File "/usr/local/lib/pysieved/pysieved.py", line 98, in authenticate
    return authenticate.auth(self.params)
  File "/usr/local/lib64/pysieved/plugins/dovecot.py", line 199, in auth
    auth_string = ('AUTH\t%d\tPLAIN\tservice=%s\tresp=%s' %
KeyError: 'passwd'
Traceback (most recent call last):
  File "/usr/lib64/python2.4/SocketServer.py", line 440, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.4/SocketServer.py", line 254, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/local/lib/pysieved/pysieved.py", line 93, in __init__
    managesieve.RequestHandler.__init__(self, *args)
  File "/usr/local/lib64/pysieved/managesieve.py", line 47, in __init__
    server)
  File "/usr/lib64/python2.4/SocketServer.py", line 521, in __init__
    self.handle()
  File "/usr/local/lib64/pysieved/managesieve.py", line 150, in handle
    func(*cmd[1:])
  File "/usr/local/lib64/pysieved/managesieve.py", line 234, in do_authenticate
    if not self.authenticate(user, passwd):
  File "/usr/local/lib/pysieved/pysieved.py", line 98, in authenticate
    return authenticate.auth(self.params)
  File "/usr/local/lib64/pysieved/plugins/dovecot.py", line 199, in auth
    auth_string = ('AUTH\t%d\tPLAIN\tservice=%s\tresp=%s' %
KeyError: 'passwd'

--------------------------------------------

I thought I had seen something similar on this list already about that one, but after going back,
was unable to find it.

I have attached both .ini files for your review (first error is from take1.ini, second from
take2.ini). Hoping my problem is a simple one; I'd even be happy to help resolve it myself if
anyone feels like pointing me in the direction of some good python resources.

If anyone is able to help me get up and running, whatever way. That would be greatly appreciated.
Thanks for your time.

Kirk Smith

Attachment: take1.ini
Description: Binary data

Attachment: take2.ini
Description: Binary data