M4 макропакет для фидо. (fido sendmail)
Ключевые слова: fido, sendmail, (найти похожие документы)
_ RU.LINUX (2:5077/15.22) ___________________________________________ RU.LINUX _
From : Ivan Crivoruchko 2:5030/470 07 Dec 99 04:44:46
Subj : M4 макропакет для фидо.
________________________________________________________________________________
From: Ivan Crivoruchko <[email protected]>
A fine day to die, All!
Вот, решил выложить макросы, которые когда-то делал для себя. Может
кому пригодится.
Претензии не принимаю :) Я это писал очень давно, через день после
первой постановки linux'а - был молодой и зеленый (три дня
промудохался). Hо до сих пор благополучно работает.
Построение hub-рутинга и директ не работает. Рудименты игнорировать :-)
Первый файлик положить куда-нибудь, второй -
/usr/lib/sendmail-cf/mailer/fido.m4, третий -
/usr/lib/sendmail-cf/feature/ftn_routing.m4
С третим файликом осторожно - но покорежте ТАБЫ! Они важны и не тоже
самое, что пробел.
Я вставляе в письмо заменил символы табуляции на "<TAB>", вам надо
будет произвести обратную операцию.
Генерить конфиг надо так:
cd /usr/lib/sendmail-cf
m4 m4/cf.m4 <первый-файлик> > /etc/sendmail.cf
==<так будет выглядеть сам конфиг>=============================
divert(-1)
#
# This is the prototype for a configuration that only supports UUCP
# and does not have DNS support at all.
#
# You MUST change the `OSTYPE' macro to specify the operating system
# on which this will run; this will set the location of various
# support files for your operating system environment. You MAY
# create a domain file in ../domain and reference it by adding a
# `DOMAIN' macro after the `OSTYPE' macro. I recommend that you
# first copy this to another file name so that new sendmail releases
# will not trash your changes.
#
VERSIONID(`@(#)cms.spb.su.mc 8.5 (Berkeley) 15/05/97')
define(`UUCP_MAX_SIZE',`4096000')
OSTYPE(linux)
FEATURE(nodns)dnl
FEATURE(nocanonify)dnl
FEATURE(use_cw_file)
FEATURE(ftn_routing)
FEATURE(use_ct_file,/etc/sendmail.ct)
MAILER(local)dnl
MAILER(uucp)dnl
MAILER(fido)dnl
define(`SMART_HOST', `suucp:infopro')
define(`UUCPNODES', |uuname|sort -u)
SITE(infopro)
LOCAL_RULE_3
### Send mail to this domains trought FTN tehnology. #######################
#
FTN_DOMAIN( `fidonet' )
FTN_DOMAIN( `oopsnet' )
FTN_DOMAIN( `4d_net' )
#
############################################################# ftn domains ##
LOCAL_RULE_0
### There is my ftn addresses. #############################################
#
FTN_LOCAL( 2, 5030, 470, fidonet )
FTN_LOCAL( 2, 5030, 154, 1, fidonet )
FTN_LOCAL( 2, 5030, 154, fidonet )
#
FTN_LOCAL( 135, 7000, 6, 1, oopsnet )
#
FTN_LOCAL( 77, 5030, 6, 4d_net )
#
############################################################## my ftn adr ##
### ftn routing table. #####################################################
#
FTN_DIRECT_RELAY(`direct')
FTN_BOSS_RELAY(`boss')
FTN_ROUTE_TO( 2, 5030, 215, fidonet )
FTN_ROUTE_TO( 2, 5030, 154, fidonet )
FTN_ROUTE( `f70 . n5030 . z2 . fidonet' )
FTN_ROUTE( `f364 . n5030 . z2 . fidonet' )
FTN_ROUTE( `f475 . n5030 . z2 . fidonet' )
FTN_ROUTE_TO( 2, 5030, 239, fidonet )
FTN_ROUTE( `f247 . n5030 . z2 . fidonet' )
FTN_ROUTE( `f276 . n5030 . z2 . fidonet' )
FTN_ROUTE_TO( 2, 5030, 251, fidonet )
FTN_ROUTE(`z1 . fidonet')
FTN_ROUTE(`z2 . fidonet')
FTN_ROUTE(`z3 . fidonet')
FTN_ROUTE(`z4 . fidonet')
FTN_ROUTE(`z5 . fidonet')
FTN_ROUTE(`z6 . fidonet')
FTN_ROUTE_TO( 135, 7000, 6, oopsnet )
FTN_ROUTE( `z135 . oopsnet' )
#__FTN_HUB_ROUTING( `/bbs/nodelist/net5030.122', fidonet, 2, 5030 )
#
############################################################### ftn route ##
===<описание мейлера>==========================================
#####################################
### FIDO Mailer specification ###
#####################################
Mfido, P=/usr/lib/ifmail/ifmail, F=msDFMuC, S=11, R=21, A=ifmail -r $h $u
#"-r $h" is required as ifmail requires packet routing address.
===<собственно макропакет>=====================================
define(`AWK',`gawk')
define(`MKHUBR',`/bbs/nodelist/mkrtab.awk')
define(`FTN_DOMAIN',
`R$+ < @ $+ . $1 . org > `$'*<TAB>`$'@ `$'1 < @ `$'2 . $1 . org . > `$'3
R$+ < @ $+ . $1 > `$'*<TAB>`$'@ `$'1 < @ `$'2 . $1 . org . > `$'3')
# DO NOT WORKS.
define(`FTN_FORWARD',
`# Forward $2:$3/$4@$5 --> $2.$3/$1@$5
R`$'* <@`$'* f$4.n$3.z$2.$5.org> `$'*<TAB>`$'1 <@`$'2 f$1.n$3.z$2.$5.org> `$'3'
)
define(`FTN_LOCAL_5d',
`R`$'* < @ p$4 . f$3 . n$2 . z$1 . $5 . org . > `$'*<TAB>$`#local' $: `$'1
R`$'* < @ p$4 . f$3 . n$2 . z$1 . $5 . > `$'*<TAB>$`#local' $: `$'1'
)
define(`FTN_LOCAL_4d',
`R`$'* < @ f$3.n$2.z$1.$4.org. > `$'*<TAB>$`#local' $: `$'1
R`$'* < @ f$3.n$2.z$1.$4. > `$'*<TAB>$`#local' $: `$'1
R`$'* < @ `$'+.f$3.n$2.z$1.$4.org. > `$'*<TAB>$`#fido' `$'@ `$'2.f$3.n$2.z$1.$4
$: `$'1 < @ `$'2.f$3.n$2.z$1.$4 > `$'3'
)
define(`FTN_LOCAL',
`ifelse($#,5,
`FTN_LOCAL_5d( $1, $2, $3, $4, $5 )',
`FTN_LOCAL_4d( $1, $2, $3, $4 )
FTN_LOCAL_5d( $1, $2, $3, `0', $4 )'
)')
define(`FTN_DIRECT_RELAY',
`R`$'* < @ $1 . `$'* . org . > `$'*<TAB>$`#fido' `$'@ `$'2 < @ `$'2 . org >
`$'3')
define(`FTN_BOSS_RELAY',
`R`$'* < @ $1 . `$'+ . `$'* . org . > `$'*<TAB>$`#fido' `$'@ `$'3 < @ `$'3 . org
> `$'4')
define(`FTN_ROUTE_TO',
`define(`_ftn_rz',`$1')'
`define(`_ftn_rn',`$2')'
`define(`_ftn_rf',`$3')'
`define(`_ftn_rd',`$4')'
`FTN_ROUTE( `f$3 . n$2 . z$1 . $4' )')
#define(`FTN_ROUTE', ` $1:$2/$3@$4 --> _ftn_rz:_ftn_rn/_ftn_rf@_ftn_rd')
define(`FTN_ROUTE',
`R`$'* < @ `$'* $1 . org . > `$'*<TAB>$`#fido' `$'@
`f'_ftn_rf.`n'_ftn_rn.`z'_ftn_rz._ftn_rd $: `$'1 < @ `$'2 $1 > `$'3')
define(`_FTN_R_SET',
`define(`_ftn_hrd',`$1')'
`define(`_ftn_hrz',`$2')'
`define(`_ftn_hrn',`$3')')
define(`_FTN_RTO', `FTN_ROUTE_TO(`$1',`_ftn_hrn',`_ftn_hrz',`_ftn_hrd')')
define(`_FTN_R', `FTN_ROUTE(`f$1 .`n'_ftn_hrn . `z'_ftn_hrz . _ftn_hrd')')
define(`FTN_HUB_ROUTING',
`_FTN_R_SET(`$2',`$3',`$4')'
`esyscmd(AWK -f MKHUBR $1)'')
ic
--- ifmail v.2.10
* Origin: Carharadon Medolodon (2:5030/470@fidonet)
1, Alexey (??), 23:14, 09/03/2005 [ответить]
| +/– |
Вот это я понимаю.. с размахом..
Большое спасибо автору!! | |
|