Hi,

Am 04.12.2013 um 10:50 schrieb Christian Rößner <[email protected]>:

> Hi,
> 
> I use dovecot 2.2.9 on Gentoo Linux and I get lots of these erors in my log 
> file:
> 
> Dec  4 08:53:37 mx dovecot: auth: Error: close failed in file object 
> destructor:
> Dec  4 08:53:37 mx dovecot: auth: Error: IOError: [Errno 9] Bad file 
> descriptor
> 

I found the problem, but do not know, if my solution is okay. It is the 
checkpassword script that I wrote in python:

…
        # Return data to Dovecot
        try:
                fd = os.fdopen(dovecot_out, "w")
        except:
                sl.syslog(sl.LOG_ERR,
                          "Can not write to FD 4")
                sys.exit(1)
        os.write(fd.fileno(),
                 "\tuserdb_uid=%i"
                 "\tuserdb_gid=%i"
                 % (uid, gid))
        #os.close(fd.fileno())

        try:
                os.putenv('USER', username)
                os.putenv('HOME', local_part_dir)
        except:
                sl.syslog(sl.LOG_WARN,
                          "Can not set environment variables“)
…

When it comes to the os.close(fd.fileno()) call dovecot throws an error. So for 
now, I leave the file descriptor open and wait for the script to terminate. I 
thought, I would have to close the descriptor after using it, do I?

-Christian Rößner

--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München

Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Florian Kirstein

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to