[Mew-dist 05046] Re: imget APOP error

Akihisa Konno minnie at example.com
1998年 6月 11日 (木) 20:08:10 JST


  金野(minnie)@東大船舶(現 環境)です。

From: なかじ <nakaji at example.com>
Subject: [Mew-dist 05041] Re: imget APOP error
Date: Thu, 11 Jun 1998 17:56:19 +0900

> 中治@京大防災研です。言葉足らずで失礼しました。
> 
> 問題点:
> 1. NEWS-OS 4.x には、POSIX な関数群が欠けているので、perl のコンパイル
>    時に POSIX を組み込むのは難しい。しかし、
> 2. IM で、POSIX.pm が必要とされる場合がある。それは、
> 3. APOP 認証のときに、パスワードをエコーバックしないようにするためであ
>    る。

  NEWS-OSの環境がないので使えるかどうか分かりませんが、ダメでもともと
で次のパッチを試してみて下さい。うまくいったらおなぐさみ。

-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  ._ _  * ._  ._  *  _ 	    金野 祥久	 東大・工・船舶海洋工・流体研
  [ | ) | [ ) [ ) | (/,		 minnie at example.com
-=-=-=-=-=-=-=-=-=-=-=-=- 研究テーマが水の泡 =-=-=-=-=-=-=-=-=-=-=-=-=-
-------------- next part --------------
--- IM.in/GetPass.pm.in.orig	Wed Jan 14 14:43:18 1998
+++ IM.in/GetPass.pm.in	Thu Jun 11 19:45:15 1998
@@ -50,13 +50,17 @@
 	# stty is not effective for Mule since it's not
 	# terminal base, sigh.
 	# Anyway, Mew never echos back even if getpass echos back.
-	require POSIX && import POSIX;
-
-	$termios = new POSIX::Termios;
-	$termios->getattr(fileno(STDIN));
-	$c_lflag = $termios->getlflag;
-	$termios->setlflag($c_lflag & ~&POSIX::ECHO);
-	$termios->setattr(fileno(STDIN), &POSIX::TCSANOW);
+        if (eval 'require POSIX') {
+	  import POSIX;
+	  $termios = new POSIX::Termios;
+	  $termios->getattr(fileno(STDIN));
+	  $c_lflag = $termios->getlflag;
+	  $termios->setlflag($c_lflag & ~&POSIX::ECHO);
+	  $termios->setattr(fileno(STDIN), &POSIX::TCSANOW);
+	} elsif (unixp()) {
+	  # non-POSIX-ish UNIX. stty might be available.
+	  system('stty -echo');	# Ignore errors.
+	}
     }
 
     print STDERR $prompt;
@@ -65,8 +69,12 @@
     print STDERR "\n";
 
     unless (win95p()) {
+      if (defined $termios) {
 	$termios->setlflag($c_lflag);
 	$termios->setattr(fileno(STDIN), &POSIX::TCSANOW);
+      } else {
+	system('stty echo');	# Ignore errors.
+      }
     }
 
     return $secret;


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