[Mew-dist 09584] ダイヤルアップ環境と impwagent

TAKAHASHI Masafumi mta at example.com
1999年 7月 11日 (日) 05:02:14 JST


高橋と申します。

ダイヤルアップ接続環境等、POP サーバと常時接続されていない
環境で impwagent を使っている場合、接続が確立されていない
状態で i (mew-summary-get) をタイプすると、impwagent が
記憶していたパスワードがクリアされてしまいます。POP の
コネクションを張る段階で失敗した場合は、パスワードを
クリアする必要は無いと思うのですが、いかがでしょうか。
o をタイプするつもりが i をタイプしてしまい、度々悲しい
思いをしています。

添付のパッチはテストがてらやっつけで修正した物です。
ご参考まで。

-- 
高橋雅史 (E-mail: mta at example.com)
-------------- next part --------------
diff -cr im-117.orig/IM/Pop.pm im-117/IM/Pop.pm
*** im-117.orig/IM/Pop.pm	Wed Jun 23 11:07:56 1999
--- im-117/IM/Pop.pm	Sun Jul 11 04:22:46 1999
***************
*** 52,57 ****
--- 52,58 ----
  #	return value:
  #		 0: success
  #		-1: failure
+ #		-2: failure (connection)
  #
  sub pop_open ($$$$) {
      my ($proto, $host, $user, $pass) = @_;
***************
*** 66,72 ****
      *POPd = &connect_server(\@host_list, 'pop3', ($proto eq 'RPOP')?1:0);
      unless ($POPd) {
  	im_warn("connection failed.\n");
! 	return -1;
      }
      $resp = &send_command(\*POPd, '', '');
      if ($resp !~ /^\+/) {
--- 67,73 ----
      *POPd = &connect_server(\@host_list, 'pop3', ($proto eq 'RPOP')?1:0);
      unless ($POPd) {
  	im_warn("connection failed.\n");
! 	return -2;
      }
      $resp = &send_command(\*POPd, '', '');
      if ($resp !~ /^\+/) {
***************
*** 559,568 ****
  	    im_warn("POP processing error.\n");
  	}
  	&pop_close();
!     } else {
  	im_err("POP connection was not established.\n");
  	&savepass('pop', $auth, $host, $user, '')
  	    if ($auth ne 'RPOP' && $agtfound && &usepwagent());
      }
      return $msgs;
  }
--- 560,571 ----
  	    im_warn("POP processing error.\n");
  	}
  	&pop_close();
!     } elsif ($rc == -1) {
  	im_err("POP connection was not established.\n");
  	&savepass('pop', $auth, $host, $user, '')
  	    if ($auth ne 'RPOP' && $agtfound && &usepwagent());
+     } else {
+ 	im_err("POP connection was not established.\n");
      }
      return $msgs;
  }


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