Newsgroup: it.comp.os.linux.sys
Titolo: problema postfix

Ho un problema antipatico: una volta ogni tanto arrivano email prive di 
allegato, mentre i mittenti giurano di averlo messo.
Ora ho un caso ripetibile sotto mano: invio una email da Libero con un 
allegato con nome "xx.exe" (in realt� � un file di testo rinominato).
Ci� che mi arriva � l'email priva della parte finale, e senza allegati 
(..ovviamente: se il sorgente dell'email viene trocanto da qualche parte 
durante il tragitto anche gli allegati vengono rimossi)
La cosa strana � questa:
- disabilitando amavis accade che postfix accodi i messaggi: in tale 
coda il messaggio incriminato � gi� stato troncato!
- solo il messaggio con quel testo esatto produce questo problema; 
togliendo un paio di righe, oppure modificando un po' di testo, oppure 
togliendo gli allegati, allora il messaggio viene processato normalmente
Quando l'email arriva troncata nel sorgente si vede solo (parlo di righe 
strane):
X-Quarantine-ID: <numkrIUfLHB7>
X-Virus-Scanned: Debian amavisd-new at 
frigel.it
X-Amavis-Alert: BAD HEADER SECTION, MIME error: error: part did not end 
with expected boundary
ma il problema � precedente a amavis (e infatti il file in quarantena � 
uguale a quello arrivato, cio� � troncato)
Idee? Dove posso guardare?
Grazie
Alessandro
Postfix 2.5.5-1.1 su debian lenny
Qui sotto il 
master.cf
.
/etc/postfix cat 
master.cf
 |grep -v "^#"|grep -v "^$"
0.0.0.0:smtp inet n   -       -       -        -       smtpd
pickup    fifo  n       -       -       60      1       pickup
cleanup   unix  n       -       -       -       0       cleanup
qmgr      fifo  n       -       -       300     1       qmgr
rewrite   unix  -       -       -       -       -       trivial-rewrite
bounce    unix  -       -       -       -       0       bounce
defer     unix  -       -       -       -       0       bounce
trace     unix  -       -       -       -       0       bounce
verify    unix  -       -       -       -       1       verify
flush     unix  n       -       -       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
smtp      unix  -       -       -       -       -       smtp
relay     unix  -       -       -       -       -       smtp
showq     unix  n       -       -       -       -       showq
error     unix  -       -       -       -       -       error
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
maildrop  unix  -       n       n       -       -       pipe
   flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
   flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail 
($recipient)
ifmail    unix  -       n       n       -       -       pipe
   flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
   flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop 
-f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
   flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store 
${nexthop} ${user} ${extension}
smtp-amavis unix - - n - 2 smtp -o smtp_data_done_timeout=1200 -o 
disable_dns_lookups=yes
127.0.0.1:10025
 inet n - n - - smtpd -o content_filter= -o 
local_recipient_maps= -o relay_recipient_maps= -o 
smtpd_restriction_classes= -o smtpd_client_restrictions= -o 
smtpd_helo_restrictions= -o smtpd_sender_restrictions= -o 
smtpd_recipient_restrictions=permit_mynetworks,reject -o 
mynetworks=
127.0.0.0/8
 -o strict_rfc821_envelopes=yes -o 
smtpd_error_sleep_time=0 -o smtpd_soft_error_limit=1001 -o 
smtpd_hard_error_limit=1000
tlsmgr    unix  -       -       -       1000?   1       tlsmgr
scache    unix  -       -       -       -       1       scache
discard   unix  -       -       -       -       -       discard
retry     unix  -       -       -       -       -       error

 allegato con nome "xx.exe" (in realt� � un file di testo rinominato).
Mi risulta che Libero blocca[va] gli allegati exe direttamente dai suoi
server di uscita, anche se mi sembra di ricordare che cassava tutta la
e-mail, non la troncava, ma posso ricordare male.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net

 Idee? Dove posso guardare?
Su quel che c'� prima di postfix.
-- 
http://bofhskull.wordpress.com/

 e-mail, non la troncava, ma posso ricordare male.
Arrivano , arrivano.. :-) Se postfix li fa arrivare :-(
Ovviamente il "normale processamento" di un eseguibile � finire in 
quarantena, mentre viene spedito un messaggio di "banned content"
Alessandro

 
Mi sembra che ci sia solo getmail.
Il filtro iniziale getmail riceve e inoltra il messaggio correttamente.. 
getmail, poi, non so.
Comunque � un indizio, provo a indagare
Alessandro

>
Trovato il problema! Il "baco", se esiste, dovrebbe essere in getmail, 
vedi sotto.
Inviando una email con testo:
prova
.
(^^ notare il punto finale, solo su una riga) accade che l'email venga 
troncata al punto, e quindi gli eventuali allegati vengono cancellati.
Nel testo delle email incriminate, in effetti, c'era almeno una riga 
lunga intorno ai 76/77 caratteri, terminante con un punto, che arrivava 
"modificata" nel seguente modo:
... inizio riga... bla bla.. fine riga=
.
In pratica viene utilizzato un "=" per andare a capo, e quindi il punto 
risulta solo soletto su una riga.
Ora, la comunicazione smtp tra getmail e postfix viene considerata 
conclusa alla prima riga contenente un punto...
Ora mi chiedo: visto che anche il prelievo della posta in "pop3" prevede 
l'utilizzo del punto come terminatore del messaggio, com'e' che getmail 
riesce a prelevarlo tutto, allegati compresi? Ci sarï¿½ quindi una sorta 
di "escaping"..
Andando di telnet ho visto che in pop3 il singolo punto diventa "..": 
toccherï¿½ quindi a getmail, in smtp, inviare il punto raddoppiato.
Per ora risolvo con un filtro. Mi sposto sulla ml di getmail.
Alessandro