summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-11-27 01:17:57 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2011-11-27 01:17:57 +0800
commita54a3283fa43d1c59438f5f6ba4a27eac27ef397 (patch)
tree19c9e57e2081f1bbb89b3891bcf51d1ab095455f
parent39f34f90c2af1e2a74fb43af899acd68199f38ba (diff)
downloadpttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar.gz
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar.bz2
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar.lz
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar.xz
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.tar.zst
pttbbs-a54a3283fa43d1c59438f5f6ba4a27eac27ef397.zip
add timebomb for .forward transition
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5475 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/mail.c5
-rw-r--r--pttbbs/mbbsd/record.c7
2 files changed, 12 insertions, 0 deletions
diff --git a/pttbbs/mbbsd/mail.c b/pttbbs/mbbsd/mail.c
index e86107a7..bc9eeccb 100644
--- a/pttbbs/mbbsd/mail.c
+++ b/pttbbs/mbbsd/mail.c
@@ -554,6 +554,11 @@ setforward(void) {
if ((fp = fopen(buf, "r"))) {
fscanf(fp, "%" toSTR(sizeof(ip)) "s", ip);
fclose(fp);
+#ifdef UNTRUSTED_FORWARD_TIMEBOME
+ if (dasht(buf) < UNTRUSTED_FORWARD_TIMEBOME)
+ unlink(buf);
+#endif
+
}
chomp(ip);
prints("目前設定自動轉寄為: %s",
diff --git a/pttbbs/mbbsd/record.c b/pttbbs/mbbsd/record.c
index 4e73fe6f..8c36d052 100644
--- a/pttbbs/mbbsd/record.c
+++ b/pttbbs/mbbsd/record.c
@@ -525,6 +525,13 @@ append_record_forward(char *fpath, fileheader_t * record, int size, const char *
fclose(fp);
strip_blank(address, address);
+#ifdef UNTRUSTED_FORWARD_TIMEBOME
+ if (dasht(buf) < UNTRUSTED_FORWARD_TIMEBOME) {
+ unlink(buf);
+ return 0;
+ }
+#endif
+
if (get_num_records(fpath, sizeof(fileheader_t)) > MAX_KEEPMAIL_HARDLIMIT) {
unlink(buf);
// TODO add a mail so that origid knows what happened.