Hi all,

to stop backscattering I wrote a tcp_table server which checks quota 
availability for incoming messages.
I read <http://www.postfix.org/tcp_table.5.html> over and over again, but still 
I am getting messages like

Jul  8 17:46:24 s15277780 postfix/smtpd[3325]: warning: read TCP map reply from 
localhost:1337: unexpected EOF (Success)
Jul  8 17:46:25 s15277780 postfix/smtpd[3325]: warning: tcp:localhost:1337: 
table lookup problem


in the logfile, when the server returns a 400 or 500 reply. For a 200-reply it 
works ok and the mail is delivered.

For a 400-reply, my server generates the following (from my logfile):

The encoded reply is [400 User%20over%20quota
]


The server sends everything between [ and ] . I think that should be ok. Or 
isn't it? 


When I try a 

postmap -vv -q "benny" tcp:localhost:1337

(benny is over quota)

the output ends with:

postmap: loaded dict_tcp_open = 7f50d057bd20
postmap: dict_open: calling tcp open routine
postmap: dict_open: tcp:localhost:1337
postmap: dict_tcp_lookup: key benny
postmap: trying... [127.0.0.1]
postmap: dict_tcp_lookup: send: get benny
postmap: dict_tcp_lookup: recv: 400 User%20over%20quota
postmap: dict_tcp_lookup: soft error: 400 User%20over%20quota

For a user having available space, it looks like:

postmap: loaded dict_tcp_open = 7f30f5c76d20
postmap: dict_open: calling tcp open routine
postmap: dict_open: tcp:localhost:1337
postmap: dict_tcp_lookup: key laus
postmap: trying... [127.0.0.1]
postmap: dict_tcp_lookup: send: get laus
postmap: dict_tcp_lookup: recv: 200 OK
postmap: dict_tcp_lookup: found: OK
OK



Can anybody tell me, what is wrong?

And what does postfix return the the delivering client in my current case? a 
500 ? 

Regards,
 Philipp

Reply via email to