ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: Inet-Admins
Inet-Admins mailing list archive (inet-admins@info.east.ru)

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

[inet-admins] =?koi8-r?Q?=E9_!_=D4=C1=CB_!_30_=40_=D2=C1=DA=2E=2E=2E_=28was:_Postmaste?==?koi8-r?Q?r_notify:_User_unknown=29?=



А не поделится ли кто опытом решения таких вот ситуаций?
Есть uucp relay, на котором масса клиентов с uupc/ache. Этот uupc отправляет
письмо с обратным адресом вида system!domain!user. Стандартный sendmail
дописывает "@${uucprelay}", и письмо уходит с таким envelope-from. А потом
возникают двойные отлупы вида:

   ----- The following addresses had permanent fatal errors -----
<jamesua!james.vsmu.vinnica.ua!james@fantom.vsmu.vinnica.ua>

   ----- Transcript of session follows -----
... while talking to mail.vsmu.vinnica.ua.:
>>> RCPT To:<jamesua!james.vsmu.vinnica.ua!james@fantom.vsmu.vinnica.ua>
<<< 550 <jamesua!james.vsmu.vinnica.ua!james@fantom.vsmu.vinnica.ua>... Relaying denied
550 <jamesua!james.vsmu.vinnica.ua!james@fantom.vsmu.vinnica.ua>... User unknown

когда письмо идет по MX uucp-релея на другой хост, на котором sendmail
8.9, естественно, не допускающий релеинг на ${anysystem}.UUCP ;(

Таких отлупов в день до 10 штук, с двух десятков разных мест (пример выше -
просто один из типичных). На своем релее я частично поборол это патчем
такого вида:

=== cut here ===
*** kozlik.cf	Fri May 21 22:46:08 1999
--- 1.cf	Wed Jun  9 17:05:25 1999
***************
*** 1306,1311 ****
--- 1306,1314 ----
  
  # output fake domains as user%fake@relay
  
+ ## S51 here. Netch's hack - convert from uucp when system matches domain
+ R$+!$+<@$-.UUCP.>	$: $>NormalizeUU $1!$2<@$3.UUCP.>
+ 
  # do UUCP heuristics; note that these are shared with UUCP mailers
  R$+ < @ $+ .UUCP. >	$: < $2 ! > $1			convert to UUCP form
  R$+ < @ $* > $*		$@ $1 < @ $2 > $3		not UUCP form
***************
*** 1497,1499 ****
--- 1500,1515 ----
  		S=12/31, R=23/21, M=2000000,
  		T=X-UUCP/X-UUCP/X-Unix,
  		A=/usr/bin/uux - -r -z -a$g $h!rmail ($u)
+ 
+ ## Translate domain!user<@system.UUCP.> to user<@domain>, if domain
+ ## matches the system
+ 
+ #Kreg_1_2 program -o /usr/local/libexec/sm_1_2
+ Kreg_1_2 regex -a@MATCH -m (.*)@\1
+ 
+ SNormalizeUU
+ R $+!$+ < @$-.UUCP. >		$: <$( mailertable $1 $)> $1!$2<@$3.UUCP.>
+ R <> $*				$@ $1
+ R <$-:$+>$+!$+<@$-.UUCP.>	$: <$( reg_1_2 $2@$5 $)> $3!$4<@$5.UUCP.>
+ R <$*@MATCH> $+!$+<@$-.UUCP.>	$@ $3<@$2>
+ R <$*>$*			$@ $2
=== end cut ===

который проверяет соответствие домена в записи system!domain!user системе по
mailertable и, если соответствует - сворачивает запись в user@domain.
Но это хорошо далеко не всегда (мало того, что запись в mailertable на домен
с поддоменами не проверяет, ну это поправимо...
если в пришедшем bang-path более длинный путь, чем три звена, получается
опять же bang-path перед '@', и непонятно, во что его скручивать). Кто-нибудь
решал подобное?


-- --
Valentin Nechayev
netch@lucky.net
II:LDXIII/MCMLXXII.CCC

=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html



 




Copyright © Lexa Software, 1996-2009.