[Mew-dist 12289] Re: Ssh remote_port
Hajimu UMEMOTO ( 梅本 肇 )
ume at example.com
2000年 2月 8日 (火) 00:42:30 JST
梅本@IMASYです。
>>>>> On Mon, 7 Feb 2000 21:07:15 +0900
>>>>> Hidetomo Hosono <h at example.com> said:
h> あぁ、申し訳ありません。たぶん差出人である私は数字で指定していたもので、
h> それでずっと使えていたのだと思います。
なるほど。了解です。
h> ところで、imget を rpop 対応にすると、$ENV{PATH} が taint 扱いになるた
h> め、ssh が起動出来なくなります。私は独自に、以下に添付するような
h> $ENV{PATH} を固定化するパッチをつくって、それをずっと自らが作成する
h> RPM には当てていたのですが、これが正しいのかどうか自信がなく
h> (--enable-rpop を外して再コンパイルが正しい、と言われてしまえばそれまで
h> ですよね ^^; ) 、他の場所では公開してきませんでした。
ssh の在処って大抵 /usr/local/bin ですよね。ころころ変わると思えない
し。そもそも PATH 検索に頼る必要がないと思います。
というわけで、こんな変更はいかがでしょうか? ssh をフルパスで呼ぶよ
うにします。その代わり、configure 時点で --with-ssh=ssh/path で指定し
ます。指定されなければ、ssh を探します。
h> 梅本さんのパッチは Kondara の RPM パッケージには反映させて頂きたいと思
h> います。では。
どうぞ。:-)
-------------- next part --------------
Index: configure.in
===================================================================
RCS file: /usr/home/ume/ncvs/src/im/configure.in,v
retrieving revision 1.10
diff -u -r1.10 configure.in
--- configure.in 1999/10/16 13:25:08 1.10
+++ configure.in 2000/02/07 15:16:23
@@ -26,6 +26,7 @@
AC_SUBST(im_nosync)
AC_SUBST(im_fsync_no)
AC_SUBST(im_hostname)
+AC_SUBST(im_path_ssh)
IM_PATH_PERLV_PROGS(im_path_perl, perl perl5, PERL5_NOT_FOUND)
case "$im_path_perl" in
""|PERL5_NOT_FOUND)
@@ -97,6 +98,14 @@
AC_MSG_RESULT([Not a Solaris; Content-Length: can be ignored])
im_usecl=no ;;
esac
+
+im_path_ssh='yes'
+AC_ARG_WITH(ssh,
+[ --with-ssh=PATH Use PATH as SSH location],
+[im_path_ssh="${withval}"])
+if test "x$im_path_ssh" = 'xyes'; then
+ AC_PATH_PROG(im_path_ssh, ssh, '/usr/local/bin/ssh')
+fi
AC_MSG_CHECKING([domain for mail-address])
im_hostname=`hostname`
Index: IM/Config.pm.in
===================================================================
RCS file: /usr/home/ume/ncvs/src/im/IM/Config.pm.in,v
retrieving revision 1.1.1.17
diff -u -r1.1.1.17 Config.pm.in
--- IM/Config.pm.in 2000/02/07 06:39:51 1.1.1.17
+++ IM/Config.pm.in 2000/02/07 15:25:22
@@ -44,7 +44,7 @@
expand_path usetouchfile touchfile
pop_timeout imap_timeout nntp_timeout dns_timeout
connect_timeout command_timeout rcv_buf_siz
- db_type file_attr);
+ db_type file_attr $SSH_PATH);
##
## Constant
@@ -57,7 +57,7 @@
%WHO_SET
@SELECTORS
$IM_LIBDIR $IM_DB_TYPE $FSYNC_NO
- $prefix $exec_prefix);
+ $prefix $exec_prefix $SSH_PATH);
##
## configurable value by configure
@@ -68,6 +68,7 @@
$IM_LIBDIR = "@libdir@/im";
$IM_DB_TYPE = '@im_db_type@';
$FSYNC_NO = @im_fsync_no@;
+$SSH_PATH = "@im_path_ssh@";
sub file_attr () {
return @im_file_attr@;
Index: IM/Ssh.pm
===================================================================
RCS file: /usr/home/ume/ncvs/src/im/IM/Ssh.pm,v
retrieving revision 1.1.1.4
diff -u -r1.1.1.4 Ssh.pm
--- IM/Ssh.pm 2000/02/07 06:39:53 1.1.1.4
+++ IM/Ssh.pm 2000/02/07 14:24:52
@@ -13,17 +13,13 @@
package IM::Ssh;
require 5.003;
require Exporter;
-use IM::Config qw( connect_timeout command_timeout );
+use IM::Config qw( connect_timeout command_timeout $SSH_PATH );
use IM::Util;
use strict;
use vars qw( @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $SSH $FH @PID );
@ISA = qw( Exporter );
@EXPORT = qw( ssh_proxy );
- at example.com = qw( $SSH );
-# Configuration Variables
-$SSH = 'ssh';
-
# Global Variables
$FH = "SSH00000";
@PID = ();
@@ -75,7 +71,7 @@
close $read;
open( STDOUT, ">&$write" );
open( STDERR, ">&$write" );
- exec( $SSH, '-n', '-x', '-o', 'BatchMode yes',
+ exec( $SSH_PATH, '-n', '-x', '-o', 'BatchMode yes',
"-L$local:$server:$remote", $host,
sprintf( 'echo ssh_proxy_connect ; sleep %s', &command_timeout() ) );
exit 0; # Not reach.
@@ -83,7 +79,7 @@
sleep 5;
redo FORK;
} else {
- im_warn( "Can't fork $SSH.\n" );
+ im_warn( "Can't fork $SSH_PATH.\n" );
}
}
0;
-------------- next part --------------
梅本 肇 @ インターネット互助会横浜 http://www.imasy.org/~ume/
ume at example.com ume at example.com ume at example.com
プログラムは書いた人の意図ではなく書かれた通り動く
Mew-dist メーリングリストの案内