summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pttbbs/UPDATING4
-rw-r--r--pttbbs/include/config.h165
-rw-r--r--pttbbs/mbbsd/bbs.c4
-rw-r--r--pttbbs/sample/pttbbs.conf10
4 files changed, 109 insertions, 74 deletions
diff --git a/pttbbs/UPDATING b/pttbbs/UPDATING
index f3557689..45dcb4d6 100644
--- a/pttbbs/UPDATING
+++ b/pttbbs/UPDATING
@@ -23,6 +23,10 @@ https://opensvn.csie.org/traccgi/pttbbs/changeset/2273
make r4871_uflag
-----------------------------------------------------------------------------
+r5540: [configs]
+注意不少 include/config.h 的選項改名了,同時也提供了較完善的開關設定方法。
+大部份的 LOG 現已集中到 LOG_CONF_*。
+
r5453: [ziphome]
ZipHome 增加了 exclude list (範例在 sample/etc/ziphome.exclude)。
diff --git a/pttbbs/include/config.h b/pttbbs/include/config.h
index 69feefdc..e2e109fd 100644
--- a/pttbbs/include/config.h
+++ b/pttbbs/include/config.h
@@ -36,19 +36,19 @@
// Themes 主題配色
#ifndef TITLE_COLOR
-#define TITLE_COLOR ANSI_COLOR(0;1;37;46) /* 主畫面上方標題列 */
+#define TITLE_COLOR ANSI_COLOR(0;1;37;46) /* 主畫面上方標題列 */
#endif
#ifndef HLP_CATEGORY_COLOR
-#define HLP_CATEGORY_COLOR ANSI_COLOR(0;1;32) /* 說明表格內分類項 */
+#define HLP_CATEGORY_COLOR ANSI_COLOR(0;1;32) /* 說明表格內分類項 */
#endif
#ifndef HLP_DESCRIPTION_COLOR
-#define HLP_DESCRIPTION_COLOR ANSI_COLOR(0) /* 說明表格內說明項 */
+#define HLP_DESCRIPTION_COLOR ANSI_COLOR(0) /* 說明表格內說明項 */
#endif
#ifndef HLP_KEYLIST_COLOR
-#define HLP_KEYLIST_COLOR ANSI_COLOR(0;1;36) /* 說明表格內按鍵項 */
+#define HLP_KEYLIST_COLOR ANSI_COLOR(0;1;36) /* 說明表格內按鍵項 */
#endif
/////////////////////////////////////////////////////////////////////////////
@@ -75,11 +75,11 @@
#endif
#ifndef MAXPATHLEN
-#define MAXPATHLEN (256)
+#define MAXPATHLEN (256)
#endif
#ifndef PATHLEN
-#define PATHLEN (256)
+#define PATHLEN (256)
#endif
#ifndef DEFAULT_FOLDER_CREATE_PERM
@@ -87,7 +87,7 @@
#endif
#ifndef DEFAULT_FILE_CREATE_PERM
-#define DEFAULT_FILE_CREATE_PERM (0644)
+#define DEFAULT_FILE_CREATE_PERM (0644)
#endif
#ifndef SHM_KEY
@@ -95,7 +95,7 @@
#endif
#ifndef PASSWDSEM_KEY
-#define PASSWDSEM_KEY 2010 /* semaphore key */
+#define PASSWDSEM_KEY 2010 /* semaphore key */
#endif
#ifndef SYSLOG_FACILITY
@@ -111,7 +111,7 @@
#endif
#ifndef XCHATD_ADDR
-#define XCHATD_ADDR ":3838"
+#define XCHATD_ADDR ":3838"
#endif
/////////////////////////////////////////////////////////////////////////////
@@ -201,7 +201,7 @@
#endif
#ifndef DEBUGSLEEP_SECONDS
-#define DEBUGSLEEP_SECONDS (3600) /* debug 等待時間 */
+#define DEBUGSLEEP_SECONDS (3600) /* debug 等待時間 */
#endif
#ifndef MAX_BOARD
@@ -209,7 +209,7 @@
#endif
#ifndef HASH_BITS
-#define HASH_BITS 16 /* userid->uid hashing bits */
+#define HASH_BITS (16) /* userid->uid hashing bits */
#endif
#ifndef OVERLOADBLOCKFDS
@@ -233,7 +233,7 @@
#endif
#ifndef MAX_SWAPUSED
-#define MAX_SWAPUSED (0.7) /* SWAP最高使用率 */
+#define MAX_SWAPUSED (0.7) /* SWAP最高使用率 */
#endif
#ifndef HOTBOARDCACHE
@@ -259,76 +259,76 @@
// Site settings 站台功能設定
#ifndef MAX_POST_MONEY /* 發表文章稿費的上限 */
-#define MAX_POST_MONEY (100)
+#define MAX_POST_MONEY (100)
#endif
#ifndef MAX_CHICKEN_MONEY /* 養雞場獲利上限 */
-#define MAX_CHICKEN_MONEY (100)
+#define MAX_CHICKEN_MONEY (100)
#endif
#ifndef MAX_GUEST_LIFE /* 最長未認證使用者保留時間(秒) */
-#define MAX_GUEST_LIFE (3 * 24 * 60 * 60)
+#define MAX_GUEST_LIFE (3 * 24 * 60 * 60)
#endif
#ifndef MAX_EDIT_LINE
-#define MAX_EDIT_LINE 2048 /* 文章最長編輯長度 */
+#define MAX_EDIT_LINE (2048) /* 文章最長編輯長度 */
#endif
-#ifndef MAX_EDIT_LINE_LARGE
-#define MAX_EDIT_LINE_LARGE (32000)
+#ifndef MAX_EDIT_LINE_LARGE // 大檔最長編輯長度
+#define MAX_EDIT_LINE_LARGE (32000)
#endif
#ifndef MAX_LIFE /* 最長使用者保留時間(秒) */
-#define MAX_LIFE (120 * 24 * 60 * 60)
+#define MAX_LIFE (120 * 24 * 60 * 60)
#endif
-#ifndef KEEP_DAYS_REGGED /* 已註冊使用者保留多久 */
-#define KEEP_DAYS_REGGED (120)
+#ifndef KEEP_DAYS_REGGED
+#define KEEP_DAYS_REGGED (120) /* 已註冊使用者保留多久 */
#endif
-#ifndef KEEP_DAYS_UNREGGED /* 未註冊使用者保留多久 */
-#define KEEP_DAYS_UNREGGED (15)
+#ifndef KEEP_DAYS_UNREGGED
+#define KEEP_DAYS_UNREGGED (15) /* 未註冊使用者保留多久 */
#endif
#ifndef MAX_FROM
-#define MAX_FROM (300) /* 最多故鄉數 */
+#define MAX_FROM (300) /* 最多故鄉數 */
#endif
#ifndef THREAD_SEARCH_RANGE
-#define THREAD_SEARCH_RANGE (500)
+#define THREAD_SEARCH_RANGE (500) /* 系列文章搜尋上限 */
#endif
-#ifndef FOREIGN_REG_DAY /* 外籍使用者試用日期上限 */
-#define FOREIGN_REG_DAY 30
+#ifndef FOREIGN_REG_DAY
+#define FOREIGN_REG_DAY (30) /* 外籍使用者試用日期上限 */
#endif
#ifndef FORCE_PROCESS_REGISTER_FORM
-#define FORCE_PROCESS_REGISTER_FORM 0
+#define FORCE_PROCESS_REGISTER_FORM (0)
#endif
#ifndef HBFLexpire
-#define HBFLexpire (432000) /* 5 days */
+#define HBFLexpire (432000) /* 5 days */
#endif
#ifndef MAX_EXKEEPMAIL
-#define MAX_EXKEEPMAIL (1000) /* 最多信箱加大多少封 */
+#define MAX_EXKEEPMAIL (1000) /* 最多信箱加大多少封 */
#endif
#ifndef INNTIMEZONE
-#define INNTIMEZONE "+0000 (UTC)"
+#define INNTIMEZONE "+0000 (UTC)" /* 轉信時 timestamp 的時區 */
#endif
#ifndef ADD_EXMAILBOX
-#define ADD_EXMAILBOX 0 /* 贈送信箱 */
+#define ADD_EXMAILBOX 0 /* 贈送信箱 */
#endif
#ifndef BADPOST_CLEAR_DURATION
-#define BADPOST_CLEAR_DURATION (180) // 消劣文時間限制
+#define BADPOST_CLEAR_DURATION (180) // 消劣文時間限制
#endif
#ifndef BADPOST_MIN_CLEAR_DURATION
-#define BADPOST_MIN_CLEAR_DURATION (3) // 劣文首消時間限制
+#define BADPOST_MIN_CLEAR_DURATION (3) // 劣文首消時間限制
#endif
#ifndef MAX_CROSSNUM
@@ -341,63 +341,63 @@
#endif
#ifndef MAX_ADBANNER_SECTION
-#define MAX_ADBANNER_SECTION (10) /* 最多動態看板類別 */
+#define MAX_ADBANNER_SECTION (10) /* 最多動態看板類別 */
#endif
#ifndef MAX_ADBANNER_HEIGHT
-#define MAX_ADBANNER_HEIGHT (11) /* 最大動態看板內容高度 */
+#define MAX_ADBANNER_HEIGHT (11) /* 最大動態看板內容高度 */
#endif
#ifndef MAX_QUERYLINES
-#define MAX_QUERYLINES (16) /* 顯示 Query/Plan 訊息最大行數 */
+#define MAX_QUERYLINES (16) /* 顯示 Query/Plan 訊息最大行數 */
#endif
#ifndef MAX_LOGIN_INFO
-#define MAX_LOGIN_INFO (128) /* 最多上線通知人數 */
+#define MAX_LOGIN_INFO (128) /* 最多上線通知人數 */
#endif
#ifndef MAX_POST_INFO
-#define MAX_POST_INFO (32) /* 最多新文章通知人數 */
+#define MAX_POST_INFO (32) /* 最多新文章通知人數 */
#endif
#ifndef MAX_NAMELIST
-#define MAX_NAMELIST (128) /* 最多其他特別名單人數 */
+#define MAX_NAMELIST (128) /* 最多其他特別名單人數 */
#endif
#ifndef MAX_NOTE
-#define MAX_NOTE (20) /* 最多保留幾篇留言? */
+#define MAX_NOTE (20) /* 最多保留幾篇留言? */
#endif
#ifndef MAX_SIGLINES
-#define MAX_SIGLINES (6) /* 簽名檔引入最大行數 */
+#define MAX_SIGLINES (6) /* 簽名檔引入最大行數 */
#endif
#ifndef MAX_REVIEW
-#define MAX_REVIEW (7) /* 最多水球回顧 */
+#define MAX_REVIEW (7) /* 最多水球回顧 */
#endif
#ifndef NUMVIEWFILE
-#define NUMVIEWFILE (15) /* 進站畫面最多數 */
+#define NUMVIEWFILE (15) /* 進站畫面最多數 */
#endif
#ifndef LOGINATTEMPTS
-#define LOGINATTEMPTS (3) /* 最大進站失誤次數 */
+#define LOGINATTEMPTS (3) /* 最大進站失誤次數 */
#endif
#ifndef MAX_KEEPMAIL
-#define MAX_KEEPMAIL (200) /* 一般 user 最多保留幾封 MAIL? */
+#define MAX_KEEPMAIL (200) /* 一般 user 最多保留幾封 MAIL? */
#endif
#ifndef MAX_KEEPMAIL_SOFTLIMIT
-#define MAX_KEEPMAIL_SOFTLIMIT (2500) /* 除 admin 外,無法寄給此人 */
+#define MAX_KEEPMAIL_SOFTLIMIT (2500) /* 除 admin 外,無法寄給此人 */
#endif
#ifndef MAX_KEEPMAIL_HARDLIMIT
-#define MAX_KEEPMAIL_HARDLIMIT (20000) /* 信箱數量的上限,超過就不給寄信 */
+#define MAX_KEEPMAIL_HARDLIMIT (20000) /* 信箱數量的上限,超過就不給寄信 */
#endif
#ifndef BADCIDCHARS
-#define BADCIDCHARS " *" /* Chat Room 中禁用於 nick 的字元 */
+#define BADCIDCHARS " *" /* Chat Room 中禁用於 nick 的字元 */
#endif
#ifndef MAX_ROOM
@@ -405,7 +405,7 @@
#endif
#ifndef MAXTAGS
-#define MAXTAGS (255) /* t(tag) 的最大數量 */
+#define MAXTAGS (255) /* t(tag) 的最大數量 */
#endif
#ifndef WRAPMARGIN
@@ -452,23 +452,54 @@
/////////////////////////////////////////////////////////////////////////////
// Default Configurations 預設參數
-#define LOGINASNEW /* 採用上站申請帳號制度 */
-#define NO_WATER_POST /* 防止BlahBlah式灌水 */
-#define USE_BSMTP /* 使用opus的BSMTP 寄收信? */
-#define HAVE_ANONYMOUS /* 提供 Anonymous 板 */
-#define INTERNET_EMAIL /* 支援 InterNet Email 功能(含 Forward) */
-#define HAVE_ORIGIN /* 顯示 author 來自何處 */
-#define WHERE /* 是否有故鄉功能 */
-#define SHOWUID /* 看見使用者 UID */
-#define SHOWBOARD /* 看見使用者看板 */
-#define SHOWPID /* 看見使用者 PID */
-#define DOTIMEOUT
-
-#undef HAVE_INFO /* 顯示程式版本說明 */
-#undef HAVE_LICENSE /* 顯示 GNU 版權畫面 */
-#undef HAVE_REPORT /* 系統追蹤報告 */
-#undef NEWUSER_LIMIT /* 新手上路的三天限制 */
-#undef LOG_BOARD /* 看板是否log */
+// 若想停用下列參數請在 pttbbs.conf 定義 NO_XXX (ex, NO_LOGINASNEW)
+#ifndef NO_LOGINASNEW
+#define LOGINASNEW /* 採用上站申請帳號制度 */
+#endif
+
+#ifndef NO_DOTIMEOUT
+#define DOTIMEOUT /* 處理閒置時間 */
+#endif
+
+#ifndef NO_WHERE
+#define WHERE /* 是否有故鄉功能 */
+#endif
+
+#ifndef NO_INTERNET_EMAIL
+#define INTERNET_EMAIL /* 支援 InterNet Email 功能(含 Forward) */
+#endif
+
+#ifndef NO_SHOWUID
+#define SHOWUID /* 站長可看見使用者 UID */
+#endif
+
+#ifndef NO_SHOWBOARD
+#define SHOWBOARD /* 站長可看見使用者看板 */
+#endif
+
+#ifndef NO_SHOWPID
+#define SHOWPID /* 站長可看見使用者 PID */
+#endif
+
+#ifndef NO_HAVE_ANONYMOUS
+#define HAVE_ANONYMOUS /* 提供 Anonymous 板 */
+#endif
+
+#ifndef NO_HAVE_ORIGIN
+#define HAVE_ORIGIN /* 顯示 author 來自何處 */
+#endif
+
+#ifndef NO_USE_BSMTP
+#define USE_BSMTP /* 使用opus的BSMTP 寄收信? */
+#endif
+
+#ifndef NO_REJECT_FLOOD_POST
+#define REJECT_FLOOD_POST /* 防止BlahBlah式灌水 */
+#endif
+
+// #define HAVE_INFO /* 顯示程式版本說明 */
+// #define HAVE_LICENSE /* 顯示 GNU 版權畫面 */
+// #define HAVE_REPORT /* (轉信)系統追蹤報告 */
#ifdef DOTIMEOUT
# define IDLE_TIMEOUT (43200) /* 一般情況之 timeout (12hr) */
diff --git a/pttbbs/mbbsd/bbs.c b/pttbbs/mbbsd/bbs.c
index 05147ccb..e1905e0c 100644
--- a/pttbbs/mbbsd/bbs.c
+++ b/pttbbs/mbbsd/bbs.c
@@ -4162,7 +4162,7 @@ int check_cooldown(boardheader_t *bp)
vmsgf("對不起,您被設劣文! (限制 %d 分 %d 秒)", diff/60, diff%60);
return 1;
}
-#ifdef NO_WATER_POST
+#ifdef REJECT_FLOOD_POST
else
{
for(i=0; i<4; i++)
@@ -4173,7 +4173,7 @@ int check_cooldown(boardheader_t *bp)
return 1;
}
}
-#endif // NO_WATER_POST
+#endif // REJECT_FLOOD_POST
}
return 0;
}
diff --git a/pttbbs/sample/pttbbs.conf b/pttbbs/sample/pttbbs.conf
index c6776484..5978afd0 100644
--- a/pttbbs/sample/pttbbs.conf
+++ b/pttbbs/sample/pttbbs.conf
@@ -46,13 +46,13 @@
#define BBSUID 9999
#define BBSGID 99
-/* *** 以下為預設板名 *** */
+/* *** 以下為預設板名 (見 include/config.h) *** */
/* 安全紀錄 */
#define BN_SECURITY "Security"
/* 動態看板的家 */
-#define BN_NOTE "Note"
+#define BN_NOTE "Note"
/* 紀錄 */
-#define BN_RECORD "Record"
+#define BN_RECORD "Record"
/* SYSOP 板 */
#define BN_SYSOP "SYSOP"
@@ -270,8 +270,8 @@
/* 若定義, 則不允許註冊 guest */
//#define NO_GUEST_ACCOUNT_REG
-/* 若定義, 則每篇發文會寫到 log/post , 可以給分析或張爸魔一類的程式用 */
-//#define LOGPOST
+/* 若定義為 1, 則每篇發文會寫到 log/post , 可以給分析或張爸魔一類的程式用 */
+#define LOG_CONF_POST (1)
/* 限制一個email能註冊的帳號數量 (要使用請在make的時候加 WITH_EMAILDB) */
#define EMAILDB_LIMIT 5