summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-18 02:33:54 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-03-18 02:33:54 +0800
commitb82d7ceb9f36870d711938892eaac40b9e5fb39a (patch)
treea49f835b568e4ddd462cf062ac0c7fe4f92e1b38
parent132630c37bb6d3b75cde5ced6bf0d40db5abe486 (diff)
downloadpttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar.gz
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar.bz2
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar.lz
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar.xz
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.tar.zst
pttbbs-b82d7ceb9f36870d711938892eaac40b9e5fb39a.zip
- check_and_expire: allow preserving accounts for one year (if not requested by others)
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4006 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--mbbsd/register.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/mbbsd/register.c b/mbbsd/register.c
index a2d640e5..e0db7d37 100644
--- a/mbbsd/register.c
+++ b/mbbsd/register.c
@@ -255,7 +255,7 @@ compute_user_value(const userec_t * urec, time4_t clock)
}
int
-check_and_expire_account(int uid, const userec_t * urec)
+check_and_expire_account(int uid, const userec_t * urec, int expireRange)
{
char genbuf[200];
int val;
@@ -264,15 +264,14 @@ check_and_expire_account(int uid, const userec_t * urec)
uid, urec->userid, ctime4(&(urec->lastlogin)) + 4,
urec->numlogins, urec->numposts, val);
- // 2008/03/18: ??? 這邊原來的 code 到底目的為何?
- // 原 code 從 rev1 開始, 一年內 CLEAN+清,
- // 一年以上寫 "DATED", 真是猜不透啊
- // 推測原來的人可能想寫 "一年以上刪,一年內傳回 0"
- // 這是由於找不到帳號時會 for-loop 跑 check_and_expire_account,
- // 其它時候則是 new account 直接跑。
- log_usies("DATED", genbuf);
- log_usies("CLEAN", genbuf);
- kill_user(uid, urec->userid);
+ // 若超過 expireRange 則砍人,
+ // 不然就 return 0
+ if (-val > expireRange)
+ {
+ log_usies("DATED", genbuf);
+ // log_usies("CLEAN", genbuf);
+ kill_user(uid, urec->userid);
+ } else val = 0;
}
return val;
}
@@ -454,7 +453,8 @@ setupnewuser(const userec_t *user)
/* 不曉得為什麼要從 2 開始... Ptt:因為SYSOP在1 */
for (uid = 2; uid <= MAX_USERS; uid++) {
passwd_query(uid, &utmp);
- check_and_expire_account(uid, &utmp);
+ // tolerate for one year.
+ check_and_expire_account(uid, &utmp, 365*12*60);
}
}
}
@@ -552,7 +552,7 @@ new_register(void)
outs("無法接受這個代號,請使用英文字母,並且不要包含空格\n");
else if ((id = getuser(passbuf, &xuser)) &&
// >=: see check_and_expire_account definition
- (minute = check_and_expire_account(id, &xuser)) >= 0)
+ (minute = check_and_expire_account(id, &xuser, 0)) >= 0)
{
if (minute == 999999) // XXX magic number. It should be greater than MAX_USERS at least.
outs("此代號已經有人使用 是不死之身");