作者itoc, 信區: itoc
標題[功能] bbslink.c 轉信 server 可登入帳號/密碼
時間04/04/28
作者: itoc (破解韌體才是王道!) 看板: plan
標題: [功能] 轉信 server 可登入
時間: 2004/04/28 Wed 12:44:39 Updated: 2004/10/23
轉信 server 可登入帳號/密碼
: struct.h 加入欄位
typedef struct
{
char name[13]; /* 該站的 short-name */
char host[83]; /* 該站的 host */
int port; /* 該站的 port */
usint xmode; /* 該站的 xmode */
- char blank[20]; /* 保留 */
+ char AuthinfoUser[10];/* 登入帳號 */
+ char AuthinfoPass[10];/* 登入密碼 */
FILE *feedfp; /* bbslink.c 使用 */
} nodelist_t;
: innbbs.c:nl_add()
case '2':
nl.xmode |= INN_USEPOST;
vget(b_lines, 0, "Port:[119] ", ans, 6, DOECHO);
if ((port = atoi(ans)) <= 0)
port = 119;
if (vans("被此站台餵信嗎(Y/N)?[N] ") == 'y')
nl.xmode |= INN_FEEDED;
+ if (vans("此 server 是否需要登入(Y/N)?[N] ") == 'y')
+ {
+ if (!vget(b_lines, 0, "請輸入登入帳號:", nl.AuthinfoUser,
+ sizeof(nl.AuthinfoUser), DOECHO) ||
+ !vget(b_lines, 0, "請輸入登入密碼:", nl.AuthinfoPass,
+ sizeof(nl.AuthinfoPass), DOECHO))
+ return 0;
+ }
break;
: bbslink.c:open_connect()
if (node->xmode & INN_USEPOST)
{
- tcpcommand("MODE READER");
- if (NNRPbuffer[0] != '2') /* 200 201 202 都能取信 */
- {
- bbslog("<bbslink> :Err: 伺服器拒絕連線:%s %d\n", host, port);
- DEBUG(("╰<open_connect> 伺服器拒絕連線\n"));
- return 0;
- }
+ /* Leeym.030706: 需要帳號/密碼的 server */
+ if (tcpcommand("MODE READER") == NNTP_AUTH_NEEDED_VAL)
+ {
+ if (!node->AuthinfoUser[0] || !node->AuthinfoPass[0])
+ {
+ bbslog("<bbslink> :Err: 伺服器拒絕連線:%s %d\n", host, port);
+ DEBUG(("╰<open_connect> 伺服器拒絕連線\n"));
+ return 0;
+ }
+ else
+ {
+ tcpcommand("AUTHINFO USER %s", node->AuthinfoUser);
+ tcpcommand("AUTHINFO PASS %s", node->AuthinfoPass);
+ }
+ }
}
--
□ 本文章由 itoc 從 pc512-2.EE.NCTU.edu.tw 發表