head	1.1;
access;
symbols;
locks; strict;
comment	@# @;
expand	@b@;


1.1
date	2003.12.18.00.41.00;	author spike;	state Exp;
branches;
next	;


desc
@@


1.1
log
@first commit for KLDP.net
@
text
@
Tue Nov 18 23:12:17 KST 2003
	- module/Config.py를 수정했습니다.

Fri Nov 14 00:55:53 KST 2003
	- 고아 메세지를 처리하도록 도메인 관리자가 정책을 선택할 수 있도록
	  페이지와 루틴을 추가했습니다.
	- 고아메세지를 정기적으로 지워주는 daemon.management.py,
	  module/mangement.py, module/Orphan.py가 추가되었습니다.

Tue Nov 11 05:36:59 KST 2003
	- 메세지 필터링에서 정규표현식 코드, sre.compile을 예외처리로
	  감쌌습니다. 사용자의 잘못된 정규표현식 사용으로 인한
	  예외처리입니다.

Tue Nov 11 05:03:03 KST 2003
	- 등록되지 않은 계정으로 오는 메세지를 unKnown 테이블에 저장하던
	  것을 도메인의 postmaster 계정으로 저장합니다.

Mon Nov 10 04:19:01 KST 2003
	- Send.py의 popen3를 popen2.Popen3로 변경했습니다. 좀더 확실히
	  qmail-inject를 통제합니다.

Mon Oct 27 18:22:27 KST 2003
	- imap server가 과다한 DB connection을 만들어내는 버그를
	  수정했습니다.

Mon Oct 27 05:50:27 KST 2003
	- Imap4 서버를 작성했습니다. 지금은 일단 STATUS 명령만 사용할 수
	  있습니다. 그놈 mailcheck 애플릿에서 메시앙에서 새로운 메세지가
	  왔는지 확인할 수 있습니다.

Sat Oct 25 03:21:56 KST 2003
	- module/FetchMail.py에서 Imap이 이상작동하는 문제와 DB에 메세지를
	  넣을 때 escape string을 거듭하는 문제를 해결했습니다.

Fri Oct 24 02:56:35 KST 2003
	- 메세지 헤더라인이 길게 늘어날 경우, 제대로 파징하지 못하는 문제를
	  수정했습니다.

Thu Oct 23 20:52:24 KST 2003
	- 메세지 첨부파일, 즉 eml 파일이 포함된 메세지일 경우, 제대로
	  메세지가 들어오지 못하는 문제를 수정했습니다.

Mon Oct 20 19:30:43 KST 2003
	- module/message.py의 simple_header_field에 "Cc" field를
	  추가했습니다.

Sun Oct 19 02:16:01 KST 2003
	- 용량 체크 루틴을 새롭게 하고 용량 정책을 적용하도록 수정했습니다.

Sat Oct 18 11:15:24 KST 2003
	- MailFilter.py에서 이메일 주소를 필터링 체크할 때 여러 개의 주소를
	  처리할 수 있도록 수정했습니다.

Fri Oct 17 20:09:08 KST 2003
	- module/message.py의 simple_header_field에 "Delivered-To" field를
	  추가했습니다. 이로 인해서 앞으로 DB의 mail_<id> 테이블의
	  headerSimple column에는 "Delivered-To" 헤더 정보도 저장됩니다.
	  이는 모두 메세지 필터링에서 To 필드 정보로 메세지를 처리하기
	  위함입니다. 이 변화로 module/MailFilter.py의 메세지 처리 루틴도
	  수정했습니다.

Fri Oct 17 02:25:01 KST 2003
	- 메세지 본문도 헤더와 마찬가지로 기본 인코딩 character set으로
	  인코딩하도록 수정했습니다.

Thu Oct 16 02:20:29 KST 2003
	- 첨부파일을 포함한 일부(?) 메세지를 보내면 daemon.queueIncoming.py가
	  갑작스레 죽어버리는 버그를 수정했습니다. 이 문제는 base64로
	  encoding 되지 않은 첨부파일을 강제로 decoding하면서 발생하는
	  문제였습니다.

Sun Oct 12 02:50:46 KST 2003
	- module/MailFilter.py의 __run_block()에서 도메인 이름만으로도
	  메세지를 체크할 수 있도록 루틴을 추가했습니다. 그리고 apply()
	  method의 루틴에서 불필요한 과정을 정리했습니다.

Thu Oct  9 20:56:19 KST 2003
	- 도메인 이름이나 계정 이름이 대문자/혹은 대소문자가 섞여 있을
	  경우, 제대로 메일이 도착하지 못하던 문제를 해결했습니다. 이
	  문제로 인해 메일이 정상적으로 도착하지 못했고, 도메인 별로
	  저장하던 로그가 새 파일로 저장되던 문제가 있었습니다.

Wed Oct  8 22:05:09 KST 2003
	- mail_<id> 테이블에 저장하는 headerSimple column 데이터에 Reply-To
	  필드도 함께 저장하도록 수정했습니다.

Sat Oct  4 13:19:37 KST 2003
	- make_domain.py에서 -s, --status option은 현재 시스템에 등록된
	  도메인 내용을 보여줍니다.

Sat Oct  4 13:18:43 KST 2003
	- make_domain.py에 현재 등록된 도메인 내용을 출력하는 -s, --status
	  option을 추가함에 따라 module/Domain.py에 status() method를
	  추가했습니다.

Thu Oct  2 13:02:16 KST 2003
	- MailFilter.py에서 __check_code_as_string() method의 버그가
	  있었습니다. 필터링 옵션을 int type으로 제대로 처리하지 못하는
	  문제를 수정했습니다.

Thu Oct  2 09:39:54 KST 2003
	- payload header를 mail_<id> 테이블에 저장할 때 payload size를 함께
	  저장하도록 message_db.py와 MailData.py에 루틴을 추가했습니다.
	  앞으로 MailData.py의 save() method는 제대로 저장했을 경우, 파일
	  크기를 return 합니다.

Thu Oct  2 04:29:04 KST 2003
	- 각 데몬들이 의지하던 thread를 포기했습니다. 아직 얼마나 시스템에
	  부하를 주는지, thread를 사용하면 얻는 잇점이 뚜렷하지 않은
	  상황에서 daemon process가 두세개씩 떠 있는 것이 마뜩치 않아서
	  원래 초기 모습으로 되돌아갑니다.

Wed Oct  1 00:24:28 KST 2003
	- module/message.py에서 메세지 헤더를 인코딩하는 루틴에서 문제가
	  있었습니다.(보고:마사) 문제를 수정했습니다. 이 문제로 인해 데몬이
	  중간에 갑자기 죽어버리는 현상이 있었습니다.

Tue Sep 30 13:01:08 KST 2003
	- 데몬을 form()하는 루틴을 module/mySystem.py로 옮겼습니다.

Tue Sep 30 12:59:53 KST 2003
	- Clam virus scanner를 이용한 바이러스 필터링 데몬을 작성했습니다.
	  daemon.scan_virus.py는 daemon, module/Scan.py와
	  module/scan_virus.py가 바이러스 필터링 모듈입니다. 최신
	  바이러스까지 걸러내는군요.

Tue Sep 30 04:05:12 KST 2003
	- 메세지를 DB에 저장할 때 적용되는, 메시앙 관리자에 의해 설정되는
	  global filter rule은 삭제로 지정된 경우에만 삭제되도록
	  수정했습니다. 이전에는 rule에 걸리는 경우, 디렉토리로 저장하도록
	  설정되어 있는 경우에도 모두 지우는 버그가 있었습니다.

Mon Sep 29 07:21:07 KST 2003
	- domain alias, 즉 다중 도메인을 지원합니다. 다중 도메인은 웹에서
	  설정할 수 있지만 다중 도메인으로 설정하려는 도메인이 먼저
	  make_domain.sh로 정식 도메인으로 추가되어야 합니다.

Fri Sep 26 05:53:10 KST 2003
	- make_domain.py에 외부 메일서버로부터 메세지를 가져올 수 있는,
	  remote_server의 개수를 제한할 수 있도록 했습니다. 이를 위해서
	  modules/Domain.py에도 루틴을 추가했습니다. 물론
	  domain_priv와 user_priv table에도 remote_server field가
	  추가됐습니다.

Thu Sep 25 01:37:56 KST 2003
	- Deliver.py에서 중복되거난 불필요한 코드를 모두 제거했습니다.
	- 이메일 어드레스가 xxx@@xxx.xx이 아닌 xxx일 경우 default domain을
	  뒤에 붙이던 코드를 제거했습니다. 큐메일은 xxx로 주소로 들어올
	  경우 자동으로 도메인 이름을 붙여줍니다.

Thu Sep 25 01:16:21 KST 2003
	- Log를 기록하도록 module/Log.py를 작성했습니다.
	: 현재  각 데몬들은 시작시 로그에 시작을 기록합니다.
	: savemail.py는 도착 도메인을 이름으로 하는 로그를 기록합니다.

Mon Sep 22 13:18:58 KST 2003
	- 메세지 필터링에서 삭제(-1)일 경우, 제대로 처리하지 못하는 버그를
	  수정했습니다. (보고:송요)
	  : 이 문제는 module/MailFilter.py에서 필터링코드를 가져올 때
	  디렉토리 번호를 integer type이 아닌 string type으로 강제로 만들기
	  때문에 발생했습니다. (이전 코드의 흔적들...)

Sun Sep 21 08:03:10 KST 2003
	- module/Deliver.py에서 잘못된 메세지(malformed message)는 바로
	  삭제하도록 수정했습니다.

Sat Sep 20 06:24:58 KST 2003
	- module/MailFilter.py message hedaer 에서 From field도 option에
	  따라 처리하도록 수정.

Sat Sep 20 05:22:22 KST 2003
	- config.cfg 파일을 etc/engine.cfg로 옮기고 이 변화에
	  맞추어서 sbin/make_domain.sh, sbin/mesian_engine.sh을 수정했다.
	  : config.cfg 파일의 위치가 변화함에 따라서 이전
	  config.py가 기본적으로 ./config.cfg를 읽던 루틴을 CFG_FILE
	  environment shell variable과 --config-file 옵션으로 주어지는 값
	  등으로 받아들여서 읽도록 수정했습니다. 대신 config.cfg는
	  영구히 삭제.... (아, 변덕스런 개발자! 만들땐 언제고....)

Sat Sep 20 01:23:44 KST 2003
	- config.cfg, config.py 수정.
		: Directory 항목에 Domains, Message, Www-data, Engine, Log를
		기본으로 지정하지 않도록 주석처리했습니다. 대신 설정됐을 때만
		적용되도록 config.py에 체크 루틴을 추가했습니다. Www-data,
		Engine, Log, Domains, Message는 Root 아래가 아닌 다른 곳을
		설정할 때 사용됩니다.

Fri Sep 19 22:18:06 KST 2003
	- MailFilter.py에 정규표현식 지원하도록 루틴 추가.
		: 필터링 옵션이 5일 경우 정규표현식으로 처리.

Tue Sep 18 06:59:10 KST 2003
	- v0.2-rc3 발표

Wed Sep 17 22:37:19 KST 2003
	- config.py, module/Domain.py 수정.
		locals 관련 코드 삭제.

Wed Sep 17 22:20:29 KST 2003
	- module/MailFilter.py 수정.
		: __run_block()이 조건에 맞을 경우 리턴값을 -3에서 -1로 변경,
		-1은 바로 삭제를 의미합니다.

Wed Sep 17 15:53:23 KST 2003
	- v0.2-rc2 발표

Wed Sep 17 15:50:46 KST 2003
	- module/Domain.py morercpthosts 버그 수정.
		: __check_domain_in_list() 추가.

Wed Sep 17 10:16:23 KST 2003
	- v0.2-rc1 발표

Wed Sep 17 14:35:16 KST 2003
	- make_domain.py를 make_domain2.py로 대체
		: make_domain2.py를 없애고 make_domain.py를
		사용하도록 했습니다.
		: make_domain2.py에서 --*size_limit 옵션들을 정수로만
		받아들이도록 고쳤습니다.

Wed Sep 17 04:21:31 KST 2003
	-make_domain2.py 수정.
		: 예외처리 추가.

Wed Sep 17 04:14:58 KST 2003
	- make_domain.py의 새로운 버전인 make_domain2.py를
	  작성했습니다.
	  	: 데이터베이스에 입력하는 루틴들을 정리해서
		module/Domain.py로 뭉쳐넣었습니다.
		: make_domain2.py는 Domain.py를 이용하기 때문에 도메인을 삭제할
		경우, 그 도메인에 소속된 사용자 계정의 데이터까지 모두
		삭제합니다.

		: forum 관련 부분을 완전히 제거했습니다.

Wed Sep 17 03:56:53 KST 2003
	- MailFilter.py와 Deliver.py의 메세지 필터링 루틴을
	  수정했습니다. 하지만 더 많은 테스트가 필요합니다. 더 많은
	  스팸메일을..

Wed Sep 17 03:41:52 KST 2003
	- resource/sql.py
		: mail_filter table의 directory_num 필드 속성을 varchar에서 int
		타입으로 수정. (버그였네요.)

Wed Sep 17 03:40:09 KST 2003
	- savemail.py 수정.
		: 설치와 설정을 간편하게 하기 위해서 save_path 를 삭제하고
		config.py를 import 하도록 수정.

Mon Sep 15 09:42:10 KST 2003
	- patch2 발표
		: MailFilter.py의 버그 수정.

Sun Sep 14 12:03:50 KST 2003
	- patch1 발표
		: make_domain.py 에서 morercpthost를 qmail-newmrh로
		업데이트하도록 추가.
	   몇가지 메세지 수정.

Tue Sep 10 05:36:41 KST 2003
	- v0.1.2 '외로운 외침' 발표

Wed Sep  3 23:21:36 KST 2003
	- v0.1.1 발표

Wed Sep  3 20:20:33 KST 2003
	- v0.1에서 메일 필터링 버그 고침.

Wed Sep  3 21:49:20 KST 2003
	- v0.1 발표

@
