作者itoc (League), 信區: plan
標題[功能] 開啟 bbs 的反查 (dns_ident)
時間2004/01/10 Sat 13:58:12 Updated: 2004/01/10
這其實是原本有的功能,只是被我拿掉了
如果想加回來的話,就這樣改
(註: 如果使用者開啟防火牆的話,那麼他在登入時將會變得很慢)
: global.h
+ VAR char rusername[40]; /* real name */
VAR char fromhost[48]; /* from FQDN */
: bbsd.c:main()
tn_addr = sin.sin_addr.s_addr;
- dns_name((char *) &sin.sin_addr, fromhost);
+ dns_ident(0, &sin, fromhost, rusername);
telnet_init();
term_init();
tn_main();
> ───────────────────────────────────── <
多了一個廣域變數 rusername,在 log 的時候可以拿出來用,例如:
: bbsd.c:tn_login()
- sprintf(buf, "%s ip:%08x (%d)", fromhost, tn_addr, currpid);
+ sprintf(buf, "%s@%s ip:%08x (%d)", rusername, fromhost, tn_addr, currpid);
: post.c:log_anonymous()
- sprintf(buf, "%s %-13s(%s)\n%-13s %s %s\n",
- Now(), cuser.userid, fromhost, currboard, fname, ve_title);
+ sprintf(buf, "%s %-13s(%s@%s)\n%-13s %s %s\n",
+ Now(), cuser.userid, rusername, fromhost, currboard, fname, ve_title);
: bbsd.c:login_user()
: 改成這樣以後,acl 的格式就多了
: rusername@fromhost
if (cuser.ufo & UFO_ACL)
{
usr_fpath(fpath, cuser.userid, FN_ACL);
+ str_lower(rusername, rusername);
str_lower(fromhost, fromhost); /* lkchu.981201: 換小寫 */
- if (!acl_has(fpath, "", fromhost))
+ if (!acl_has(fpath, rusername, fromhost))
{ /* Thor.980728: 注意 acl檔, 和 rusername, fromhost 要全部小寫 */
logattempt('-', content);
login_abort("\n您的上站地點不太對勁,請核對 [上站地點設定檔]");
}
}
--
□ 本文章由 itoc 從 itoc.Dorm11.NCTU.edu.tw 發表