diff options
author | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2010-07-31 14:23:59 +0800 |
---|---|---|
committer | piaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204> | 2010-07-31 14:23:59 +0800 |
commit | 19dd0c8429199516b0c230829b268f3634b01050 (patch) | |
tree | 85b2ea5dd22b25cbe36f0b12307545f50070f397 | |
parent | 72f887a335100714f89c8b80b0ababc4e1839067 (diff) | |
download | pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.gz pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.bz2 pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.lz pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.xz pttbbs-19dd0c8429199516b0c230829b268f3634b01050.tar.zst pttbbs-19dd0c8429199516b0c230829b268f3634b01050.zip |
* security update: change cross_post hotkey from (x) to (^X)
Ref: #1CKQyyQ8 (SYSOP), some people put hot key sequence which would cause a cross_post.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5092 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r-- | pttbbs/mbbsd/bbs.c | 45 | ||||
-rw-r--r-- | pttbbs/mbbsd/read.c | 10 | ||||
-rw-r--r-- | pttbbs/sample/etc/board.help | 4 |
3 files changed, 34 insertions, 25 deletions
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c index 9fd03a34..22857bfd 100644 --- a/pttbbs/mbbsd/bbs.c +++ b/pttbbs/mbbsd/bbs.c @@ -1720,6 +1720,13 @@ cp_IsHiddenBoard(const boardheader_t *bp) } static int +old_cross_post(int ent, fileheader_t * fhdr, const char *direct) +{ + vmsg("為了避免您誤按,轉錄按鍵已改為 Ctrl-X"); + return PARTUPDATE; +} + +static int cross_post(int ent, fileheader_t * fhdr, const char *direct) { char xboard[20], fname[PATHLEN], xfpath[PATHLEN], xtitle[80]; @@ -1746,6 +1753,26 @@ cross_post(int ent, fileheader_t * fhdr, const char *direct) return FULLUPDATE; } + // XXX TODO 為避免違法使用者大量對申訴板轉文,限定每次發文量。 + if (HasUserPerm(PERM_VIOLATELAW)) + { + static int violatecp = 0; + if (violatecp++ >= MAX_CROSSNUM) + return DONOTHING; + } + + // prompt user what he's going to do now. + move(2, 0); + if (is_BM_cache(currbid)) { + SOLVE_ANSI_CACHE(); + clrtoeol(); + outs("準備進行文章轉錄。板主要置底文章請改按 " + ANSI_COLOR(1;31) "_" ANSI_RESET " (壓住 " + ANSI_COLOR(1;36) "Shift" ANSI_RESET " 再按 " + ANSI_COLOR(1;36) "-" ANSI_RESET + " )\n"); + } + #ifdef USE_AUTOCPLOG // anti-crosspost spammers // @@ -1763,22 +1790,12 @@ cross_post(int ent, fileheader_t * fhdr, const char *direct) } #endif // USE_AUTOCPLOG - // XXX TODO 為避免違法使用者大量對申訴板轉文,限定每次發文量。 - if (HasUserPerm(PERM_VIOLATELAW)) - { - static int violatecp = 0; - if (violatecp++ >= MAX_CROSSNUM) - return DONOTHING; - } - - move(2, 0); - clrtoeol(); - if (postrecord.times > 1) - { + if (postrecord.times > 1) { outs(ANSI_COLOR(1;31) "請注意: 若過量重複轉錄將視為洗板,導致被開罰單停權。\n" ANSI_RESET "若有特別需求請洽各板主,請他們幫你轉文。\n\n"); } + move(1, 0); CompleteBoard("轉錄本文章於看板:", xboard); @@ -3849,7 +3866,7 @@ const onekey_t read_comms[] = { { 0, NULL }, // Ctrl('U') { 0, do_post_vote }, // Ctrl('V') { 0, whereami }, // Ctrl('W') - { 1, push_bottom }, // Ctrl('X') + { 1, cross_post }, // Ctrl('X') { 0, NULL }, // Ctrl('Y') { 0, NULL }, // Ctrl('Z') 26 // 現在給 ZA 用。 { 0, NULL }, { 0, NULL }, { 0, NULL }, { 0, NULL }, { 0, NULL }, @@ -3925,7 +3942,7 @@ const onekey_t read_comms[] = { #endif { 0, NULL }, // 'v' { 1, b_call_in }, // 'w' - { 1, cross_post }, // 'x' + { 1, old_cross_post }, // 'x' { 1, reply_post }, // 'y' { 0, b_man }, // 'z' 122 }; diff --git a/pttbbs/mbbsd/read.c b/pttbbs/mbbsd/read.c index 1454b9ef..20fef447 100644 --- a/pttbbs/mbbsd/read.c +++ b/pttbbs/mbbsd/read.c @@ -795,14 +795,6 @@ i_read_key(const onekey_t * rcmdlist, keeploc_t * locmem, new_top = 10; // default 10 switch (ch) { case Ctrl('Z'): - // notify new usage - // only BM will need this information. - if ((currstat != RMAIL) && (currmode & MODE_BOARD)) - { - move(b_lines-2, 0); clrtobot(); - outs(ANSI_COLOR(1;33) "置底的功\能鍵已改為 _ (shift-) 或 Ctrl-X。\n" - "原 Ctrl-Z 現在是快速切換鍵,可在下列區域中切換 (按下對應按鍵即可):" ANSI_RESET); - } mode = FULLUPDATE; if (ZA_Select()) mode = DOQUIT; @@ -1326,7 +1318,7 @@ i_read(int cmdmode, const char *direct, void (*dotitle) (), " (R)回信 (x)站內轉寄 (y)回群組信 (d/D)刪信 (^P)寄發新信 \t(←/q)離開"); else vs_footer(" 文章選讀 ", - " (y)回應(X)推文(x)轉錄 (=[]<>)相關主題(/?a)搜尋標題/作者 (b)進板畫面"); + " (y)回應(X)推文(^X)轉錄 (=[]<>)相關主題(/?a)找標題/作者 (b)進板畫面"); break; case TITLE_REDRAW: diff --git a/pttbbs/sample/etc/board.help b/pttbbs/sample/etc/board.help index 7b21fc7d..84897f2b 100644 --- a/pttbbs/sample/etc/board.help +++ b/pttbbs/sample/etc/board.help @@ -4,7 +4,7 @@ (k/↑)/(j/↓) 上移/下移一篇文章 (^B/PgUp)(^F/PgDn) 下移/下移一頁 (數字鍵) 跳到指定號碼的文章 (Home)/(End/$) 跳到首篇/末篇文章 (r)(→) 閱讀此篇文章 (=[]<>-+S) 主題式閱讀 - (^P)/(y)/(X) [1m發表/回覆/推薦文章[m (F/U)/(x) 轉寄至信箱/轉錄至其它看板 + (^P)/(y)/(X) [1m發表/回覆/推薦文章[m (F/U)/(^X) 轉寄至信箱/轉錄至其它看板 [36m【 進階命令 】[m (/)(?)/(a)/(Z) 搜尋 關鍵字/作者/推文數 (^H)/(!) 只列主要標題/不列關鍵字 @@ -14,7 +14,7 @@ (d)/(E) 刪文/重編文章 (I) 查詢看板設定(隱藏,推文,..) [36m【 板主命令 】[m - (M/o) 舉行投票/編輯投票名單 (m/c/g/^Z) 保留/選錄精華/文摘/置底 + (M/o) 舉行投票/編輯投票名單 (m/c/g/_) 保留/選錄精華/文摘/置底 (D) 刪除一段範圍的文章 (Y) 取消推薦文章 (T/B) 重編文章標題/重編看板標題 (t/^D) 標記文章/砍除標記的文章 (^G) 舉辦賭盤/停止下注/開獎 (W) 編進板畫面 |