Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
215 lines (168 sloc) 7.27 KB
-----------------------------------------------------------------------------
PTT BBS [Current] Updating Log (in Big5 encoding)
-----------------------------------------------------------------------------
這裡是 PTT Current 的重大更新記錄,主要是「檔案格式」或位置的重要改變、
通常是更新程式碼時要注意一起更新的部份。
跟著 Current 一起昇級的朋友們要注意是否有跨過下列的版號,若有請依序手動更新。
會列在這裡的版號,強烈建議先整個關站再更新。
關於該版號的進一步訊息,可用 https://opentrac.csie.org/pttbbs/changeset/
來查詢,如下面列 r2273 的查詢網址就是
https://opensvn.csie.org/traccgi/pttbbs/changeset/2273
註: 昇級時的檔案很多在 upgrade 目錄底下,若是有 *.c 的,多半用
make XXXX 就可以編譯出來,如
make r3968_chicken
make r4035_regnew
make r4194_passwd
make r4826_numlogin
make r4848_watermode
make r4871_uflag
-----------------------------------------------------------------------------
2019-03-14: [shm]
OUTTA_TIMER 已經被移除。現代作業系統 (至少 Linux 和 FreeBSD) 在各硬體平台上
都有支援 vDSO 之類的機制,可以讓 gettimeofday 不用 syscall 進 kernel 就取得
目前的時間。此機制就如同原先 OUTTA_TIMER 的設計,但免卻了我們自己跑 daemon
做同步。
r5939: [shm]
為了減少昇級 BBS 時資料結構不相容的情形,SHM 裡的 "now" 現在變為一直都有
(即使沒開 OUTTA_TIMER 選項)。如果您的 BBS 沒開 OUTTA_TIMER 請記得打開後
重編 + 重跑,或是手動把 now 移掉。
r5885: [expire]
util/expire 格式修改,不再看 days/minp.
為避免誤砍,設定檔也同時改名為 expire2.conf。請自行調整。
r5858: [birthday]
不再要求輸入生日,直接要求輸入是否已滿十八歲,減少儲存的使用者個資。
請跑一下 upgrade/r5858_birth 用已知生日重建是否滿十八歲的資料。
r5748: [typecheck]
Makefile 現在會多執行 mbbsd/testsz,並在其中確保 userec_t 等結構大小正確
(主要是確認 time4_t 與其它自行定義的變數沒有導致data size不合)
如果你已開的站遇到 time4_t 不合(ex, 在 64bit 系統上忘了定義 TIMET64) 請考慮
是要砍站重開(重建所有資料)或是自己手動寫轉換程式。
r5734: [cleanup]
userec_t 裡很多東西以後可能要挪作它用,跑一下 upgrade/r5734 可以把資料清空。
早作早好。
r5663: [fromd/where]
中文故鄉 (pttbbs.conf:WHERE) 改由 FROMD 來提供,移除原 cache + mbbsd 的機制.
好處是: (1) 減少 reload cache 所花時間 (2) 避免 duplicated code.
若想使用故鄉功能,請:
(1) 編輯 pttbs.conf, 加上 #define FROMD
(2) cd ~/pttbbs; make clean; make # mbbsd 跟 common 都要重編
(3) 在開機的 script 加上 ~bbs/daemon/fromd/fromd
若不想重開機,請順手執行一次上面的命令。
(4) bbsctl restart ,連線進去測試看看。
故鄉的定義檔一樣是 etc/domain_name_query.cidr ,格式也一樣。
r5662: [banip]
banip 的 record size 由 unsigned long 改為 in_addr_t.
在 64-bit 環境上使用的人請全部 (common, util, mbbsd) make clean 再 make all.
~bbs/tmp/banip.cache 也要記得砍掉重建。
r5653: [banip]
util/banip.pl 跟 include/banip.h 改由 etc/banip.conf 取代,以後加 banip 不用
再重新編譯程式,只要修改 banip.conf 並重啟 bbs (bbsctl restart) 即可。
另可將 etc/banip.conf 加入 etc/editable 方便編輯。
r5640: [build]
Makeflie 調整,現在會自動偵測系統內有無 ccache 與 clang; 有的話就自動啟用 (
clang 的優先權高於 gcc)。建議使用 clang 3.0 以上的版本。
若不想使用 clang 請加上參數: make -DWITHOUT_CLANG
r5540: [configs]
注意不少 include/config.h 的選項改名了,同時也提供了較完善的開關設定方法。
大部份的 LOG 現已集中到 LOG_CONF_*。
r5453: [ziphome]
ZipHome 增加了 exclude list (範例在 sample/etc/ziphome.exclude)。
r4992: [ccw chat]
此版後更新了交談(talk)與聊天室(chat)的核心,另外稅率也在之前的版本有改動。
交談 (talk) 的 protocol 自此版後有所不同,所以昇級時要重開
r4938: [remove blog]
自此版後我們將移除部落格 (blog) 的相關程式碼。
若有此需要的站請自行維護。
r4886: [dbcs]
加了 repeat detection 的 DBCS 還不錯,所以正式脫離使用 detection 界面的日子
有需要作全站轉換的人請自見拿 r4871 去改
NOTE: 或許未來可以把 DBCSAWARE 的 conditional compile flag 拿掉
r4871: [uflag]
由於兩個 uflag 實在太容易令人寫錯、而且 uflag 的空間還很大,
決定把 uflag/uflag2 整合。
請注意 util/bbsmail 要重 build (因為它會看 (cuser.uflags2 & REJ_OUTTAMAIL))
r4848: [water mode]
決定把 uflag2 的 WATERMODE (2 bit) 移出來放到獨立的變數。
uflag / uflag2 還是放單一 bit 的東西較好。
r4841: [shm size tag]
由於站台設定變動後導致 SHM 大小不同 (eg, MAX_BOARDS) 然後有 utility 沒 build
到的問題再次發生,所以我們開啟了 size check. 請重 build 所有程式並重開 SHM。
r4826: [numlogindays, lastseen]
numlogins 的算法有調整,並且改名為 numlogindays;
lastlogin 也多了一個叫 lastseen (別人 talk->query 到的值)
lastlogin 只要登入就一定會更新,lastseen 則否。
另,這個 r4826 的 upgrade 是 optional 的,不跑也 ok,
只是看你要不要一併調整 numlogin 的值。
r4483: [mbbsd command option]
從這版開始, mbbsd 的 command line 參數改變. 使用 getopt 處理參數.
譬如原本
$ mbbsd 23 3000
改成
$ mbbsd -d -p 23 -p 3000
mbbsd, bbsrf, bbsctl 得一起更新, 並記得 install.
若自己有另外寫 start-up script, 記得修改.
r4306: [SHM/from_alias]
故鄉從此版起有所調整。
原 from_alias 改成 from_ip 方便直接照 IP 排序。 (SHM 大小理應沒有變動)
currutmp->from 改為純顯示用。
為正確排序也避免舊 talk.c 把 from_ip 拿去查 from_alias 的表,
在安裝此 patch 後請記得重編 shmctl 跟 mbbsd 並關站後重新執行 shmctl。
r4194: [PASSWD/STRUCT]
*** PASSWD 調整: 此板把 r3968 的空間拿來放職業與電話了,
請關站並執行 upgrade/r4194_passwd 昇級。
!!! 由此版起,我們把禁止 padding 的宣告加進會寫入 disk 的結構裡。
要注意的是如果你之前已經因為各種原因造成 padding 了,
請自行寫轉換程式或是註解掉 pttstruct.h 內的 PACKSTRUCT
各結構的參考大小都已標上。
mbbsd/testsz.c 現在可以方便你計算與比較各結構大小。
另外請注意如果你是在 64 bit 機器上使用卻又沒 #define TIMET64
很可能就會製造出一堆 padding。
r4151: [REGISTER]
由於 PTT1/PTT2 轉換測試一切正常, 正式改用 Regform v2 的程式碼。
請比照 r4035 確定你已經把 register.new 給轉移好了。
r4132: [REGISTER]
upgrade/r4132_reglog2db.py 可以幫助你把 register.log
轉換成 sqlite3 資料庫。
未來可利用這個資料庫進行認證資料的重建。 (r4194 有較簡易的重建工具)
r4051: [CONF]
所有的 GLOBAL_* 板名定義現全改為 BN_*
請記得更新你的 pttbbs.conf
r4035: [REGISTER]
註冊系統導入 Regform v2, 請用 upgrade/r4035_regnew 轉移已填註冊單。
(Regform2 可由 USE_REGFORM2 開啟)
r3968: [CHICKEN]
把 Chicken 搬出 PASSWD, 並且改用 mmap 同步。
請記得關站後執行 upgrade/r3968_chicken 轉移資料後再重開 BBS。
r3153: [CHESS]
chess framework update
!!!NOTE!!! Chess protocals are NOT backward compatible
RESTART WHOLE system to ensure correctness
r2459: [SHM]
SHM_t 增加版本號碼, 若版本不合請關站重開.
r2374: [SHM]
把 ptt.linux merge 到 trunk
SHM_t 中所有的 pointer 都改成 index 了
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線
r2366:
trunk 與 stable 第一次分枝
r2341: [SHM]
SHM_t update, 為了修某一個 race condition並拿掉幾個沒在用的欄位
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線
r2273: [PASSWDS]
對於 userec_t structure 的一些修改, 以下這些動作得在 bbs 關掉之後進行:
請到 util/ 下 make passwdconverter
然後執行 passwdconverter 會把 BBSHOME/.PASSWDS 轉換之後
產生 BBSHOME/.PASSWDS.trans.tmp
用這個檔蓋掉 .PASSWDS 就好了 :)
r2176: [SHM]
etc/domain_name_query 改為 etc/domain_name_query.cidr
格式為 CIDR format , 您可以直接拿 Ptt/Ptt2 目前所使用的設定檔來用
由於這個更動有改到 SHM 的結構,所以請在關站之後再將新版本上線
r1409: [etc]
expire 程式修正, 原本的用法是 expire [days [maxp [minp]]]
現在透過 getopt() 來做, 變成 expire [-d days] [-M maxp] [-m minp] [board names]
最後面可以指定一群板名, 若不指定的話表示 "全部看板"
請檢查你的 crontab!
[from OpenPTT 1.0.2]
.DIR 有變, .BOARDS 變 .BRD, ...
請見 PTT2 PttSrc 板
You can’t perform that action at this time.