namazu-ml(ring)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: plan for Namazu v2.0
knok@xxxxxxxxxxxxx (NOKUBI Takatsugu) wrote:
> 個人的に、以下のようなものが欲しいと思っています。
>
>* XSベースの Namazu.pm
>
> 今のような、雛形HTMLファイルを修正してカスタマイズするというやり方は、
>お手軽で便利なのは確かなのですが、細部まで手が届かないなあ、と思うこと
>が稀にあります。
では、野首さんは committer になってその辺を作ってください。:)
CVS用のアカウント名とパスワードを私の方にメイルで送ってもら
えますか? 私の PGP公開鍵をメイルの末尾に添付しておきます。
あるいは crypt(3) が DES で実装されているライブラリをリンク
した Perl をお使いなら、このメイルの末尾に添付されているスク
リプトを使って $CVSROOT/CVSROOT/passwd 用のエントリを作成し
てそれを送ってもらえれば、その方が助かります。
使い方
% perl cvsadduer
cvs account: foobar # アカウント名を入力
password: # パスワードを入力
Re-enter password: # もう一度
real account (can be omitted): lookup # ここは lookup
foobar:5/tS5Rk4UzvCM:lookup # これが出力
p.s.
開発の話をここでするのはちと気が引けるので
namazu-dev@xxxxxxxxxx を作ってもらおうと思います。
-- Satoru Takabayashi
Type Bits/KeyID Date User ID
pub 1024/AE73B98D 1998/11/21 Satoru Takabayashi <satoru@xxxxxxxxxxxxx>
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.3ia
mQCNAzZWFjgAAAEEAKZ6iztjHAhFBMuiXrYRSXMWLz0K2Qxx9WOiWg9PxbtRe+Nv
KUVfd2eDK1AVuJJGWnXV32XLdWhIHRFjJH7W9k64CC++LI320/2ZhG8QqHzJAhRm
/ADMX7pGFnj0drIaIby6AOE/l0KBY1zhEU744xnzH89QHK3MqAqg7UGuc7mNAAUR
tClTYXRvcnUgVGFrYWJheWFzaGkgPHNhdG9ydUBpc290ZXJuZXQub3JnPokAlQMF
EDZWFjgKoO1BrnO5jQEBBnUEAJfcOk/DziuVyr3dLQPtMSbhxFtF9pKIOnsq8Yon
BYDJBKxonqvEyMiVcDurILZn1nhjhQef/sQqy8pkqdy9Igb3MYvQo6UPmdJ5Elca
BIUdcjcp7taBRtx71Gxwfg8ld7pj2OOSfNyC46n2tnbJvFPVHyigG/HnEiszNmnd
frT4
=YSnG
-----END PGP PUBLIC KEY BLOCK-----
#!/usr/bin/perl -w
#
# usage: cvsadduser >> $CVSROOT/CVSROOT/passwd
#
use strict;
main();
sub main () {
srand(time() ^ ($$ << 15));
print STDERR "cvs account: ";
my $cvs_account = <STDIN>;
chomp $cvs_account;
print STDERR "password: ";
system "stty -echo";
my $passwd = <STDIN>;
system "stty echo";
chomp $passwd;
print STDERR "\n";
print STDERR "Re-enter password: ";
system "stty -echo";
my $tmp_passwd = <STDIN>;
system "stty echo";
chomp $tmp_passwd;
print STDERR "\n";
unless ($passwd eq $tmp_passwd) {
print STDERR "ERROR! They don't match.\n";
exit 1;
}
print STDERR "real account (can be omitted): ";
my $real_account = <STDIN>;
chomp $real_account;
my $salt = draw_salt();
my $encoded_passwd = crypt($passwd, $salt);
print "$cvs_account:$encoded_passwd";
print ":$real_account" unless $real_account eq "";
print "\n";
}
sub draw_salt () {
my $salt_chars =
'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./';
my $idx1 = int(rand() * length($salt_chars));
my $idx2 = int(rand() * length($salt_chars));
my $chr1 = substr($salt_chars, $idx1, 1);
my $chr2 = substr($salt_chars, $idx2, 1);
return ($chr1 . $chr2);
}