[Mew-dist 04328] PostPet support #1

Motonori Nakamura motonori at example.com
1998年 4月 1日 (水) 11:18:41 JST


お待たせ致しました。

すでに http://www.mew.org/index-j.html をご覧になった方はご存じだと
思いますが、Mew と IM がポストペットに対応(?)することになりました。
その第一弾として、IM へのパッチをお送りします。

このパッチをあてて --IgnorePostPet を指定すれば、PostPet クライアント君
が受信すべきメールは IM で get せず、PostPet クライアント君のために、
POP server に残しておくようになります。申し訳ありませんが、imget で
POP している場合にしか機能しませんのであらかじめご了承下さい。

それでは、ご賞味下さいませ。

diff -cr ../im-87-/IM.in/Pop.pm.in ./IM.in/Pop.pm.in
*** ../im-87-/IM.in/Pop.pm.in	Wed Jan 14 14:43:22 1998
--- ./IM.in/Pop.pm.in	Mon Mar 30 15:43:17 1998
***************
*** 447,452 ****
--- 447,459 ----
  
      im_info("Getting new messages into $dst....\n");
      for ($i = $last; $i <= $msgs; $i++) {
+ 	if ($main::opt_ignorepostpet) {
+ 	    $head = &pop_head($i);
+ 	    if ($head->{'x-mailer'} =~ /PostPet/i
+ 	     && $head->{'content-type'} =~ /multipart.+kiritorisen/i) {
+ 		next;
+ 	    }
+ 	}
  	if ($main::opt_keep != 0) {
  	    if ($keep_proto eq 'UIDL') {
  		if ($$uidlp[$i] eq '') {
***************
*** 466,472 ****
  		}
  		$$histp{$$uidlp[$i]} = $accesstime;
  	    } elsif ($keep_proto eq 'STATUS' || $keep_proto eq 'MSGID') {
! 		$head = &pop_head($i);
  		my $mid = $head->{'message-id'};
  		next if ($mid eq '');
  		$mid =~ s/.*<(.*)>.*/$1/;
--- 473,479 ----
  		}
  		$$histp{$$uidlp[$i]} = $accesstime;
  	    } elsif ($keep_proto eq 'STATUS' || $keep_proto eq 'MSGID') {
! 		$head = &pop_head($i) unless ($main::opt_ignorepostpet);
  		my $mid = $head->{'message-id'};
  		next if ($mid eq '');
  		$mid =~ s/.*<(.*)>.*/$1/;
diff -cr ../im-87-/dot.im/Config ./dot.im/Config
*** ../im-87-/dot.im/Config	Tue Feb 10 13:45:44 1998
--- ./dot.im/Config	Wed Apr  1 11:03:17 1998
***************
*** 109,117 ****
  #Keep=7		 		# preserve read messages on server
  #ProtoKeep=UIDL			# how to know which message is unread
  				# (UIDL, LAST, STATUS, MSGID)
  
! #ImapAccount=@localhost/AUTH	# account info for IMAP access
! #ImapAccount=user at example.com/AUTH	# account info with user name
  #HttpProxy=proxy-server:8080	# proxy server for HTTP access
  #NoProxy=http://.*my.domain/	# URL regex not to use Proxy server
  #UsePwAgent=yes			# use password agent
--- 109,118 ----
  #Keep=7		 		# preserve read messages on server
  #ProtoKeep=UIDL			# how to know which message is unread
  				# (UIDL, LAST, STATUS, MSGID)
+ #IgnorePostPet=yes		# leave messages for PostPet on mbox (POP only)
  
! #ImapAccount=/AUTH at example.com	# account info for IMAP access
! #ImapAccount=user/AUTH at example.com	# account info with user name
  #HttpProxy=proxy-server:8080	# proxy server for HTTP access
  #NoProxy=http://.*my.domain/	# URL regex not to use Proxy server
  #UsePwAgent=yes			# use password agent
diff -cr ../im-87-/imget.in ./imget.in
*** ../im-87-/imget.in	Mon Jan 19 12:44:19 1998
--- ./imget.in	Mon Mar 30 15:23:42 1998
***************
*** 78,83 ****
--- 78,84 ----
      'protokeep;s;UIDL;'=> "Protocol type to use for keeping messages on POP.\n".
  	"\t\t(UIDL, LAST, STATUS, MSGID)\n" .
  	"\t\tTimed out deletion is not supported with LAST.",
+     'ignorepostpet;b;;'=> 'Do not get messages for PostPet (effective w/ POP)',
      'usecl;b;;Obey_CL' => "Use value of Content-Length header for delimitation".
  	".\n\t\t(effective only if source of messages is local).\n" ,
      'count;i;;'        => 'Number of messages to be gotten in a process (NNTP)',
diff -cr ../im-87-/man/imget2.jis ./man/imget2.jis
*** ../im-87-/man/imget2.jis	Sun Nov 30 15:29:36 1997
--- ./man/imget2.jis	Wed Apr  1 11:05:48 1998
***************
*** 112,115 ****
  	--assoc=<string>一回の起動で複数の取り込み処理を行いたい場合に
  			指定する。区切りには ; を用いる。例:
  			=mail=nntp:fj.mail.system.sendmail;=mail=nntp:fj.mail
! 
--- 112,117 ----
  	--assoc=<string>一回の起動で複数の取り込み処理を行いたい場合に
  			指定する。区切りには ; を用いる。例:
  			=mail=nntp:fj.mail.system.sendmail;=mail=nntp:fj.mail
! 	--ignorepostpet=<sw> PostPet クライアントが受信すべきメールを get せ
! 			ず、サーバ側のメールボックスに残します。POP を利用し
! 			ている場合にのみ意味を持ちます。

---
Faculty of Economics, Kyoto University, Kyoto, 606-8501 JAPAN
Motonori NAKAMURA       E-mail: <motonori at example.com>



Mew-dist メーリングリストの案内