看板Maple
标 题[M3] 使用者拒收 Internet 信件 bmtad 的改法
发信站BalaBBS (Thu Dec 13 19:49:12 2001)
转信站Ptt!news.cs.nthu!BalaBBS
挡广告信的暴力方法...
使用者设完要离线後才开始起作用。
===
struct.h 加上 ufo
#define UFO_MOTD BFLAG(9) /* 简化进站画面 */
+ #define UFO_LOCALMAIL BFLAG(10) /* 拒收 Internet 信件 */
###
acct.c
u_setup()
...
/* MOTD */ "简化进站画面",
! /* LOCALMAIL */ "拒收 Internet 信件",
"保留",
"保留",
...
/* Thor.980910: 需注意有PERM_ADMIN除了可用acl, 还顺便也可以用隐身术了:P */
else if (nflag & PERM_CLOAK)
len = 20;
else
! len = 11; /* lkchu.981201: 增加项目要更改 len 大小 */
###
bmtad.c 里面
从 acct.c copy 过来。
int
acct_load(acct, userid)
ACCT *acct;
char *userid;
{
int fd;
usr_fpath((char *) acct, userid, FN_ACCT);
fd = open((char *) acct, O_RDONLY);
if (fd >= 0)
{
read(fd, acct, sizeof(ACCT));
close(fd);
}
return fd;
}
mta_mailer()
...
HashEntry *he, *hx;
time_t uptime;
+ ACCT acct;
...
do
{
+ /* check if the userid enable LOCAL_MAIL */
+ acct_load(&acct, rcpt->userid);
+ if (acct.ufo & UFO_LOCALMAIL){
+ ap->xerro++;
+ /* 退信 */
+ agent_reply(ap, "550 no such user");
+ return -1;
+ }
str = rcpt->userid;
bbs_mail(ap, data, str);
} while (rcpt = rcpt->rnext);
if (dot)
*dot = '.';
}
--
别激动 我只不过是只兔子罢了...........
--
◤
◢█ 【中正资管.芭乐的故乡】 ▁▂▂▃▃▄▅▆▆▆▅▄▃▂▁
▆◢︵︵▎▄▃▂▁▁▁ ▁▂▃▄▅▆▇ IP:140.123.175.11
; ▋ ◥ 你... DN:bala.twbbs.org
◥ 。 ◤◢ 今天芭乐了吗? FR:anime.ee.ccu.edu.tw
◆ Modify: 01/12/13 19:49:12 <anime.ee.ccu.edu.tw>