-----------------------------------------------------------------------------
PTT BBS [Current] Updating Log (in Big5 encoding)
$Id$
-----------------------------------------------------------------------------

o̬O PTT Current jsOADnOuɮ׮榡vΦmnܡB
q`Os{Xɭn`N@_sC

 Current @_@ŪB̭ͭn`NO_LUCAYШ̧ǤʧsC
|Cbo̪AjPĳAsC

Ӫi@BTAi https://opentrac.csie.org/pttbbs/changeset/
ӬdߡApUC r2273 dߺ}NO
https://opensvn.csie.org/traccgi/pttbbs/changeset/2273

: @Ůɪɮ׫ܦhb upgrade ؿUAYO *.c Ahb
    make XXXX NiHsĶXӡAp
    make r3968_chicken
    make r4035_regnew
    make r4194_passwd
    make r4826_numlogin
    make r4848_watermode
    make r4871_uflag

-----------------------------------------------------------------------------
r5885: [expire]
util/expire 榡קAA days/minp.
קK~A]wɤ]PɧW expire2.confCЦۦվC

r5858: [birthday]
AnDJͤAnDJO_wQKAxsϥΪ̭ӸC
ж]@U upgrade/r5858_birth Τwͤ魫جO_QKơC

r5748: [typecheck]
Makefile {b|h mbbsd/testszAæb䤤TO userec_t cjpT
]DnOT{ time4_t P䥦ۦwqܼƨSɭPdata sizeX^
pGAw}J time4_t X(ex, b 64bit tΤWѤFwq TIMET64) ЦҼ{
On寸}(ةҦ)άOۤvʼgഫ{C

r5734: [cleanup]
userec_t ̫ܦhFHin@ΡA]@U upgrade/r5734 iHƲMšC
@nC

r5663: [fromd/where]
Gm (pttbbs.conf:WHERE)  FROMD ӴѡA cache + mbbsd .
nBO: (1)  reload cache Ҫɶ (2) קK duplicated code.

YQϥάGm\A:
 (1) s pttbs.conf, [W #define FROMD
 (2) cd ~/pttbbs; make clean; make   # mbbsd  common ns
 (3) b} script [W ~bbs/daemon/fromd/fromd
     YQ}Aж@WROC
 (4) bbsctl restart AsuihլݬݡC
Gmwqɤ@ˬO etc/domain_name_query.cidr A榡]@ˡC

r5662: [banip]
banip  record size  unsigned long אּ in_addr_t.
b 64-bit ҤWϥΪHХ (common, util, mbbsd) make clean A make all.
~bbs/tmp/banip.cache ]nOo屼ءC

r5653: [banip]
util/banip.pl  include/banip.h  etc/banip.conf NAH[ banip 
AssĶ{Aunק banip.conf í bbs (bbsctl restart) YiC
tiN etc/banip.conf [J etc/editable KsC

r5640: [build]
Makeflie վA{b|۰ʰtΤL ccache P clang; ܴN۰ʱҥ (
clang uv gcc)Cĳϥ clang 3.0 HWC
YQϥ clang Х[WѼ: make -DWITHOUT_CLANG

r5540: [configs]
`N include/config.h ﶵWFAPɤ]ѤF}]wkC
j LOG {w LOG_CONF_*C

r5453: [ziphome]
ZipHome W[F exclude list (dҦb sample/etc/ziphome.exclude)C

r4992: [ccw chat]
sF(talk)Pѫ(chat)֤ߡAt~|v]beʡC
 (talk)  protocol ۦᦳҤPAҥH@Ůɭn}

r4938: [remove blog]
ۦڭ̱N (blog) {XC
YݭnЦۦ@C

r4886: [dbcs]
[F repeat detection  DBCS ٤AҥHϥ detection ɭl
ݭn@ഫHЦۨ r4871 h
NOTE: γ\ӥiH DBCSAWARE  conditional compile flag 

r4871: [uflag]
ѩ uflag bӮeOHgBӥB uflag Ŷ٫ܤjA
Mw uflag/uflag2 XC
Ъ`N util/bbsmail n build (]| (cuser.uflags2 & REJ_OUTTAMAIL))

r4848: [water mode]
Mw uflag2  WATERMODE (2 bit) XөWߪܼơC
uflag / uflag2 ٬O@ bit FnC

r4841: [shm size tag]
ѩ󯸥x]wܰʫɭP SHM jpP (eg, MAX_BOARDS) Mᦳ utility S build
쪺DAo͡AҥHڭ̶}ҤF size check. Э build Ҧ{í} SHMC

r4826: [numlogindays, lastseen]
numlogins kվAåBW numlogindaysF
lastlogin ]hF@ӥs lastseen (OH talk->query 쪺)
lastlogin unnJN@w|sAlastseen h_C
tAo r4826  upgrade O optional A]] ok,
uOݧAnn@ֽվ numlogin ȡC

r4483: [mbbsd command option]
qo}l, mbbsd  command line ѼƧ. ϥ getopt BzѼ.
Ĵp쥻
 $ mbbsd 23 3000
令
 $ mbbsd -d -p 23 -p 3000

mbbsd, bbsrf, bbsctl o@_s, ðOo install.
Yۤvt~g start-up script, Ooק.

r4306: [SHM/from_alias]
Gmq_ҽվC
 from_alias 令 from_ip K IP ƧǡC (SHM jpzSܰ)
currutmp->from אּܥΡC
TƧǤ]קK talk.c  from_ip hd from_alias ,
bw˦ patch аOos shmctl  mbbsd ᭫s shmctlC


r4194: [PASSWD/STRUCT]
*** PASSWD վ: O r3968 Ŷө¾~PqܤFA
    ð upgrade/r4194_passwd @šC

!!! Ѧ_Aڭ̧T padding ŧi[i|gJ disk c̡C
    n`NOpGAewg]Uح]y padding FA
    Цۦgഫ{άOѱ pttstruct.h  PACKSTRUCT
    UcѦҤjpwФWC

    mbbsd/testsz.c {biHKApPUcjpC
    t~Ъ`NpGAOb 64 bit WϥΫoSS #define TIMET64
    ܥiN|syX@ paddingC

r4151: [REGISTER]
ѩ PTT1/PTT2  ഫդ@`A  Regform v2 {XC
Ф r4035 TwAwg register.new ಾnFC

r4132: [REGISTER]
upgrade/r4132_reglog2db.py iHUA register.log
ഫ sqlite3 ƮwC
ӥiQγoӸƮwi{ҸƪءC (r4194 ²ؤu)

r4051: [CONF]
Ҧ GLOBAL_* OWwq{אּ BN_*
аOosA pttbbs.conf

r4035: [REGISTER]
UtξɤJ Regform v2, Х upgrade/r4035_regnew ಾwUC
(Regform2 i USE_REGFORM2 })

r3968: [CHICKEN]
 Chicken hX PASSWD, åB mmap PBC
аOo upgrade/r3968_chicken ಾƫA} BBSC

r3153: [CHESS]
chess framework update
!!!NOTE!!! Chess protocals are NOT backward compatible
RESTART WHOLE system to ensure correctness

r2459: [SHM]
SHM_t W[X, YX}.

r2374: [SHM]
 ptt.linux merge  trunk
SHM_t Ҧ pointer 令 index F
ѩoӧʦ SHM cAҥHЦbANsWu

r2366:
trunk P stable Ĥ@K

r2341: [SHM]
SHM_t update, F׬Y@ race conditionîXӨSbΪ
ѩoӧʦ SHM cAҥHЦbANsWu

r2273: [PASSWDS]
 userec_t structure @ǭק, HUoǰʧ@ob bbs i:
Ш util/ U make passwdconverter
M passwdconverter | BBSHOME/.PASSWDS ഫ
 BBSHOME/.PASSWDS.trans.tmp
γoɻ\ .PASSWDS NnF :)

r2176: [SHM]
etc/domain_name_query אּ etc/domain_name_query.cidr 
榡  CIDR format , ziH Ptt/Ptt2 ثeҨϥΪ]wɨӥ
ѩoӧʦ SHM cAҥHЦbANsWu

r1409: [etc]
expire {ץ, 쥻ΪkO expire [days [maxp [minp]]]
{bzL getopt() Ӱ, ܦ expire [-d days] [-M maxp] [-m minp] [board names]
̫᭱iHw@sOW, Ywܪ "ݪO"
ˬdA crontab!

[from OpenPTT 1.0.2]
.DIR ܡA .BOARDS  .BRD, ...
Ш PTT2 PttSrc O

