
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 파일을 추가

