
Revision 1534
-------------------
 : 2021-04-19
 : 

- NEW: content   size, atime, mtime, ctime   ߰ (#33516)
       - stat Լ ̿Ͽ content   size, access, modify, change time    ߰
       - ̿  interface Լ ߰ ó.


Revision 1430
-------------------
 : 2017-12-26
 : 

- BUG: Disk Ϻ  Ȳ content read    (#31633)
       - content read  ȯ size_t (unsigned int)  Ͽ
       -   ߻  ȯ Ȳ  .
       - ̿  ڵ  ó
       - ش Ȳ ߻ ȣ control μ   ϵ ó.
       -  : FileSender.cpp


Revision 1364
-------------------
 : 2016-05-12
 : 

- NEW:  ũ  File Check  ߰ (#27533)
       - ũ   Revision 1358  ߰ MD5 Hash   ̿ܿ
       - Checksum , DNA CHECK Key    ߰.
       - ߰  ũ  JAVA ҽ м   ߰  JAVA  result  ó Ϸ.
       -  : FileHash.h FileHash.cpp SocketControl.h SocketControl.cpp Worker.h Worker.cpp 
       - ߰ : TOTOChecksum.h TOTOChecksum.cpp

- CHG: ũ   Client interface  ߰ (#27533)
       - ũ  ftsd        ߰.
       - : FtsdSocketControl.h FtsdSocketControl.cpp

- CHG: Client interface  Data  Timeout   
       -   ġ ʴ ... Data  ó alive check   timeout ó ̹߻.
       - ̴  ó timeout  ⺻ 15 sec ε.. 5 sec  alive check  Ͽ timeout  ̹߻.
       - ̸ ذ  data body  ó.. timeout  2 sec   ó.
       - : FtsdSocketControl.cpp
        
- CHG:  ڵ    
       -  : LocalIPCache.cpp ProcessStatus.cpp


Revision 1358
-------------------
 : 2016-05-09
 : 

- NEW:  ũ  MD5 Hash  ߰ (#27460)
       - ũ MD5 Hash   JAVA ҽ м   ߰
       - ũ MD5 Hash    CONTROL_FILE_CHECK_TOTO     ߰
       -  : Protocol.h SocketControl.h SocketControl.cpp Worker.h Worker.cpp FileHash.h FileHash.cpp
        
- CHG: FreeBSD 10.3   header ߰
       -  : LocalIPCache.cpp ProcessStatus.cpp


Revision 1235
-------------------
 : 2015-09-14
 : 

- CHG: ֽ BaseSocket   (#24376, #24141)
       - EPIPE  usleep    
       -  : lib/BaseSocket.cpp

- CHG: usleep -> nanosleep  (#24376)
       - multi thread  lock   ߻ .
       - μ ⵿  ñ׳ ó Ͽ... thread   ..  ó.
       -  : Listener.cpp, Worker.cpp

- CHG: Main  (3.5.0)   
       -  3.4.0 -> 3.5.0    ó.


Revision 1207
-------------------
 : 2015-06-17
 : 

- CHG: Content  ġ ش  ̹ ϴ  overwrite   ó   (#22892)
       - ,   overwrite  
       - rc_gcmd     ڵ ǹǷ..   overwrite  ʿ .
       -  Size  ٸ ..  ó
       -  Size   ... overwrite ..    ״ .
       -  Ϸ ó    size üũ  ű ߰
       -    hash, size üũ ϵ ó.
       - : SocketControl.cpp, SocketControl.h


Revision 1192
-------------------
 : 2015-03-27
 : 

- BUG: /stg  , mount  /stg/node0 1  proper ΰ /stg  õǴ   (#21917)
       - mount  1 .
       -   mount   ̰ ū  ϵ  ó
       -  : ProperStorage.cpp


Revision 1123
-------------------
 : 2014-11-17
 : 

- CHG: DNS resolve н Retry  ߰ (#20783)
       -    lib/CBaseSocket ⿡ 
       - getaddrinfo()  DNS resolve а  ߻.
       - ڵ FreeBSD : EAI_NONAME(8), Linux: EAI_AGAIN(-3)
       - ̿ 3ȸ õ  ߰
       - : lib/BaseSocket.cpp


Revision 1114
-------------------
 : 2014-11-03
 : 

- CHG: Directory  chown to nobody  ߰ (ϰ #20663)
       - ftsd      .. Apache  Ұ ߻.
       - ̿ Directoy   nobody ڰ   ֵ chown ó  ߰
       -   cache  .. mkdir -p ɼ ̻ ... ڵ  Ұ
       -    ó cache  ǵ ڵ ߰.

- CHG: Main  
       -  3.3.0 -> 3.4.0    ó.


Revision 0993
-------------------
 : 2014-05-27
 : 

- BUG: ۾ Thead      (ϰ #19102)
       - CFileSender Ŭ Ҹڿ ٸ thread   pthread_cancel ȣ  ߻
       - CFileSender  pthread_t   OS  ʱȭ  Ǻ ó  ߰, 
       -   pthread_cancel()  ⿡    ּ ߰.

- CHG: ProperStorage  α    
       - Ǽ     Ȯο  ʿ Information α 
       - Debug α 
       - α Format 

- CHG: BaseSocket  Connect() Լ SO_LINGER ɼ 
       -  TCP TIME_WAIT ߻ ϱ  Revision 0771  Ǿ...
       - Socket Server  Client  Close ȣ ޹ ϴ 찡 ߻  (rc_statd2 ߽ Ȯε )
       -  l_linger  0 (No Wait) -> 5 sec  ɼ .

- CHG: Worker.cpp α   
       -     α  


Revision 0961
-------------------
 : 2014-03-06
 : 

- BUG: α Write  ý     (ϰ #17905)
       - std::string.append() Լ  ߸ ڰ   core ߻.
       - ̿ Ͽ ü ҽ ˻   ó.
       - : SocketControl.cpp

- CHG: OS   (ϰ #17662, #18017)
       - FreeBSD 10.X   OS  Ÿ  geom, devstat ̿   Mount            
       - FreeBSD 6.2, FreeBSD 10.0, CentOS 5.4  ϵ  Mount   ProperStorage  簳
       - FreeBSD  getmntinfo(), Linux  getmntent_r()    Ϸ.
       - FreeBSD 6.2, FreeBSD 10.0, CentOS 5.4    Ȯ Ϸ.
       - ProperStorage.h ProperStorage.cpp Makefile

- CHG: Worker μ ʱȭ н μ   ߰.
       - Worker μ ʱȭ н...  ⵿ ߻   

- CHG: Mount disable ˻  ߰
       -  Mount ý Mount disable ( /stg/node0.disable) ˻  ߰.

- CHG:  Ž  Size  Mount   Size   Flow ߰.
       -  Ž  size    Mount   size  .
       -  Ұ ..    ߰.

- CHG: Mutex ʱȭ 
       - Linux OS ȣȯ  Mutex ʱȭ  PTHREAD_MUTEX_INITIALIZER -> pthread_mutex_init()   ó.

- CHG: Ÿ
       - FreeBSD 6.2, FreeBSD 10.0, CentOS 5.4 Cross   include .
       - pthread handle ó  Linux ȣȯ  NULL   ó.
       - GCC   warning ߻  Makefile 󿡼 -Wimplicit ɼ 
       - ʿ ̻   ó.

- CHG: Main  
       -  3.2.0 -> 3.3.0    ó.


Revision 0858
-------------------
 : 2013-03-19
 : 

- BUG: thread  pthread_exit() ȣ  ޸ 
       - deatch  thread  pthread_exit() ȣ  ڿ ݳ  ó ʾ ޸  ߻
       - ̿ õ pthread_exit() ڵ   return NULL   ó
       - FileSender.cpp ProperStorage.cpp Worker.cpp  ó Ϸ.
         
- CHG: ʱȭ   ʱȭ
       - FileSender.cpp  CFileSender class   m_threadHandle ʱȭ ó (valgrind  )

- CHG: ftsd/interface/sample  ׽Ʈ ڵ 
       -  ׽Ʈ    ֵ ׽Ʈ ڵ ߰  .


Revision 0837
-------------------
 : 2012-11-15
 : 

- CHG: Revision 832   Logger.h 
       -  ȿ   ߰ ./lib/Logger.h  . ( Revision 832  )
       - ̷  Compile  Warning  ߻ϴ ڵ带   ó.
       - TargetFhsInfo.cpp, Worker.cpp  ó Ϸ.
         
- CHG: μ   ǥý   .
       - ProcessStatus.cpp 󿡼 ȭ鿡 ǥõǴ setproctitle() Լ ȣ  ʿ  


Revision 0811
-------------------
 : 2012-09-04
 : 

- NEW: Ͽ  unlink ó   ó  ߰
       - unlink    ޹޾ óϵ  ߰.
       -    Interface Լ .

- CHG:  Logger ó  
       - ϰ #10138   Logger  (Revision 805)  ó.


Revision 0803
-------------------
 : 2012-08-14
 : 

- NEW: Ͽ  Check ( Size, Hash )   ̽ ߰
       - û Ͽ    Ȯ  Size  , Hash    ߰.
       -    Interface Լ ߰.

- NEW: Ͽ  Unlink   ̽ ߰
       - û Ͽ  unlink ó  ߰
       -    Interface Լ ߰

- CHG:  Main  (3.2.0)   
       -  3.1.0 -> 3.2.0    ó.


Revision 0771
-------------------
 : 2012-05-25
 : 

- NEW:  Write ó lock ó  ߰. ( #8159  )
       -  Ͽ   write ߻  .. write ó lock ȹ  write ϵ  ߰.
       -  file lock  lockf() Լ̸.. lock ȹ н 5 sec   õ.. õ   ۾ з ó.
       - SocketControl.cpp  ReceiveToFile() Լ ó.

- CHG:   TIME_WAIT  ߻ ( #9021 )
       - ftsd     ó  tcp   TIME_WAIT °  ߻ .
       - ̸ ϱ  client socket  SO_LINGER ɼ  ó.
       - lib/BaseSocket.cpp  Connect() Լ 

- CHG: TCP ӽ DNS resolve  ߻    α 
       - getaddrinfo() Լ ̿ DNS resolve а ߻ ..
       - ش   α ó   ó.
       - lib/BaseSocket.cpp  ConversionAddr() Լ 

- CHG: Worker μ core ߻ ñ׳ ó 
       - Worker μ  ߻  м ϵ core ߻ ñ׳ο  ڵԼ ý ⺻  ó.
       -  core ߻ ñ׳ο  ڵ鷯 ó ..  ߻ κп  core dump м  ȵǴ  ذ .
       - Worker.cpp  SetSignalWorker() Լ

- CHG: "Connection already closed" α 
       - Client Socket    Ǵ  ߰ α ڿ ʿϰ  ߻Ͽ..  ó.
       - SocketControl.cpp  GetPacketHeader() Լ.

- CHG: "File already exists" α Level  Warning  .
       - File write ó     ǴϿ.. α óϴ κ ERR  óǾ..ȥ ߻ .
       - ̷  ش ޽ Log Level  Error -> Warning   ó.
       - SocketControl.cpp  ReceiveFile() Լ.


Revision 0668
-------------------
 : 2012-02-07
 : 

- CHG: Logger ó ü    ڵ 
       -  1  Logger Ŭ ( singleton )    ڵ 
       - Log ޽  ˾ƺ  κ  ó.

- CHG: inet_ntoa() Լ Thread-safe   inet_ntop() Լ 
       - LocalIPCache.cpp, Worker.cpp   ڵ  ó

- CHG: Target FHS  Source FHS       ڵ ߰
       - Target FHS  Source FHS   FHS    Content    ߻ 
       - ̸ ϱ  FileSender.cpp::Init() Լ hostname  ó  ߰.

- BUG: Control μ  ߻   
       - Content  Ϸ  Content Size  ˻  
       - Content  Ǿ ۾ а ߻  ̸ Control μ ϴ ڱװ 
       - Control μ  Ǵ  ߻..
       - ̿  Bug  ó
       - FileSender.cpp SendFileToFhs() Լ  flow  ó

- BUG: ߸ protocol    CPU, Memory     ذ
       - ߸  Packet Header  ݺ Ž CPU, Memory    ߻
       - ̸ ϱ  SocketControl.cpp  GetPacketHeader() Լ ȯ پȭϰ...
       -   Flow 󿡼 ǴϿ  Connnection  Close ϵ  Ϸ
       - SocketControl.h SocketControl.cpp Լ  ó

- CHG: ʿ ׽Ʈ  
       - src/get_ip_from_nic.cpp
       - src/tael.cpp
       - src/tael.sh
       - src/propertest.cpp
       - src/test.cpp
       - src/threadtest.cpp

- CHG:   
       -  3.0.1   3.1.0   ó

- CHG: Ÿ Compile  κ
       - Makefile  ʿ   ó
       - Warning ߻  κ  ó


Revision 0553
-------------------
 : 2011-05-24
 : 

- BUG:   FILE_STORAGE_ROOT /stg϶ geom     root  disk full
         ڵ ߰.
       - FILE_STORAGE_ROOT  /stg Ǵ /stg/  ƴѰ ϳ ũ .
       - FILE_STORAGE_ROOT  /stg Ǵ /stg/   geom    .
         -> ʿ /stg/node0  .
         ->   찡 ִٸ   Ѵ.

Revision 0529
-------------------
 : 2011-05-03
 : 

- BUG: lib/BaseSocket.cpp ConversionAddr() Լ 
       - ConversionAddr() Լ gethostbyname() Լ   Thread-Safe  ߻
       - Multi Thread App û  ٸ  ϴ  ߰ߵǾ
       - ̷ Contents ,  κп  ߻  ־  ó.
       -   Thread Safe  getaddrinfo() Լ   ó.


Revision 0515
-------------------
 : 2011-04-07
 : 

- NEW:   üũ  ߰
       -     üũϿ αǴ  ߰.
       -   SocketControl.cpp


Revision 0440
-------------------
 : 2010-12-01
 : 

- CHG: src/FileSender.cpp off_t   
       - CFileSender::CheckFileInfo() Լ off_t Ÿ Ȯ  32, 64Bit 񿡼  __int64_t  ǵ
       -  printf    %jd => intmax_t  ϸ
       - /usr/include/machine/_types.h Ȯ  32, 64Bit 񿡼  __int64_t  ǵ.
       -    %lld  %jd  ó

- CHG: Makefile   
       - 3.0.1.439 => 3.0.1.440


Revision 0439
-------------------
 : 2010-11-30
 : 

- CHG: src/FileSender.cpp off_t   
       - CFileSender::CheckFileInfo() Լ off_t Ÿ Ȯ  32, 64Bit 񿡼  __int64_t  ǵ
       -    %ld  32Bit   %lld  ó
       - ̿  óϸ 32 Bit  , 64 Bit  Compile Warning  ߻.

- CHG: Makefile   
       - 3.0.1.438 => 3.0.1.439


Revision 0438
-------------------
 : 2010-11-30
 : 

- CHG: gcc 4.4.5 Ͻ ߻ Header File include   Header ߰ó
       - lib/Logger.cpp 
       - src/SocketControl.h
       - src/GetConfig.cpp
       - src/LocalIPCache.cpp
       - src/Worker.cpp
       - src/FileSender.cpp
       - src/FileHash.cpp
       - src/Listener.cpp
       - src/SocketControl.cpp
       - src/ProperStorage.cpp

- BUG: lib/Config.h   
       - SetDelimiter Լ ι°  string& value = CONFIG_DEFAULT_VALUE_DELIMITER  
       - string value = CONFIG_DEFAULT_VALUE_DELIMITER   ó 

- CHG: src/LocalIPCache.cpp ߿  ʱȭ ڵ ߰
       - GetIP() Լ struct ifreq  ʱȭ ڵ ߰

- CHG: Ϸ ȭ  if~else  {}  ó ڵ ߰
       - src/Worker.cpp  SigTermWorker() Լ
       - src/Listener.cpp  SigTermListener() Լ

- BUG: src/FileSender.cpp  
       - CFileSender::Execute() Լ 󿡼  ڵ OR  ߸Ǿ ó
       - if( CheckHashValue() == false | m_bThreadStop == true )
       - CFileSender::CheckFileInfo() Լ off_t Ÿ   %llu  %ld  ó.

- CHG: src/Listener.cpp  Daemon   ڵ 
       - MakeDaemon() Լ Daemon   stdin, stdout, stderr Close ó ڵ ߰ (  ⵿ CTRL+C ó   )
       - MakeDaemon() Լ    umask(0) ڵ ߰.

- CHG: Makefile   
       - 3.0.1.379 => 3.0.1.438


Revision 0379
-------------------
 : 2010-10-13
 : 

- CHG: replication û local filesize Ȯ κ  .
        - ȯ κм.

- CHG: Makefile     
        - ǥ    ver 3.0.1  

Revision 0328
-------------------
 : 2010-08-05
 : 

- CHG: ϴ conf ϸ մϴ.
        -  ftsd.conf => fhs.conf  .

- CHG: Ͻ warning  κ .
        - Ͻ if()   ٸ Ÿ 濡  warning .
        - Ͻ  ʴ   warning .

- CHG: Makefile     
        - REVISION  ߰ ϰ Version ǥҶ  Ѵ.

Revision 0319
-------------------
 : 2010-07-23
 : 

- BUG: CBaseSocket::Read() Լ   
       - 156 Line ߸  ڸ 񱳿ڷ ó.

- CHG: Makefile   
       - 3.0.0.264 => 3.0.0.319


Revision 0264
-------------------
 : 2010-06-01
 : 

- CHG: Logger Class  Init() ȣ ΰ Symbolic Link  óڵ ߰
       - Log Path ΰ Directory  ƴ Symbolic Link   ߻
       -  ̷   Error  óǾ Init() Լ ȣ е.
       - ش ڵ带 Symbolic Link Ǵ Directory  쿡  óǵ .

- CHG: Makefile   
       - Makefile   Version   1.0-R0240  瓇  ǥ  ó
       - 3.0.0.264-Ͻú 


Revision 0240
-------------------
 : 2010-05-07
 : 

- NEW: RC        ߰
       - RC    ϱ  Control Daemon    Ž Target Tran ID    ߰
       - ̸  Control Daemon    κ  ( SocketControl Class  )
       - ޹ Tran ID  ӽ ϱ  Worker.cpp 
       -    Target Tran ID   ó  FileSender, TargetFhsInfo Class 


Revision 0229
-------------------
 : 2010-04-13
 : 

- CHG: Process   ͸ Ŭ Lock  
       - ProcessStatus Class  Mutex Lock ڵ  
       - Lock  Dead Lock ߻ ɼ ڵ 


Revision 0222
-------------------
 : 2010-04-09
 : 

- CHG: CBaseSocket  α ó  
       - ʿ Log(Timeout)    ó
       - ش α ߻ 󵵰  ɿ  ĥ ǴϿ ּó.


Revision 0221
-------------------
 : 2010-04-09
 : 

- CHG: Log   
       - Cache ó  α  .


Revision 0220
-------------------
 : 2010-04-09
 : 

- CHG: conf  ϴ CACHE_STORAGE_ROOT     ڵ  ó
       - Cache  δ FILE_STORAGE_ROOT     cache    óϱ 
       -  CACHE_STORAGE_ROOT   ǹ̰  ó.

- CHG: Cache ó û   
       - Cache ó û  conf   ΰ ƴ
       - dav_storage   cache   cache   ǵ ó.

- CHG: Worker Thread  Socket  Ž ó 
       - Client Socket , Timeout   ó  ߰

- CHG: FileSender Thread    ߰
       - File  ó ߰ Ű  ߰.


Revision 0176
-------------------
 : 2010-03-23
 : 

- NEW: SVN ű 
       -  svn://doit.solbox.com/work/trunk/ftsd  ϴ  Ϸ ҽ (Rev 491) SVN  Ĺ .
       - Listen ó  TCP Port  14001  .       
       -      ׽Ʈ Ϸ  Replication  Cache ó  
       -    FreeBSD 5.4, 6.2 󿡼 ׽ƮǾ ٸ OS   ó ڵ带 Ȯؾ .

- NEW: History   Changelog.txt  ߰
       -   ۾  α׸ Ȯϵ Changelog.txt  ߰

