diff -urN tiarra-20031108/ChangeLog tiarra-20031109/ChangeLog --- tiarra-20031108/ChangeLog 2003-11-08 15:13:54.000000000 +0900 +++ tiarra-20031109/ChangeLog 2003-11-09 18:04:52.000000000 +0900 @@ -1,10 +1,34 @@ +2003-11-09 Topia + + * Reload.pm (message_arrived): bugfix/need reload. + + Timer を使って遅延処理することによって、reload command での + 自分自身のリロードを可能にした。 + + * RunLoop.pm (run): bugfix(single-server-mode)/need reboot. + + single-server-mode 時の、クライアントから送られて来た + PRIVMSG/NOTICE のブロードキャストで、 network-suffix 付きの + チャンネルに送信してしまっていた。 + +2003-11-09 phonohawk + + * tiarra (help): + メッセージ中のstdinとstderrの間違いを修正。 + 2003-11-08 Topia - * module/Log/Recent.pm (client_attached): bugfix/need reload. + * make-password: enhancement. + + パスワードの入力に、 Term::ReadLine を使用するようにした。 + + * module/Log/Recent.pm (client_attached): bugfix(single-server-mode)/need reload. + single-server-mode 時に、送信チャンネル名から network-suffix をはずす。 - * main/RunLoop.pm (run): bugfix/need reboot. + * main/RunLoop.pm (run): bugfix(single-server-mode)/need reboot. + single-server-mode 時に、クライアントから送られて来るメッセージに network-suffix を付けるようにした。 @@ -1018,7 +1042,7 @@ * これ以前のログは書いていません。 -# Id: $Id: ChangeLog,v 1.114 2003/11/08 06:12:56 topia Exp $ +# Id: $Id: ChangeLog,v 1.118 2003/11/09 09:04:17 topia Exp $ # Author: $Author: topia $ -# Date: $Date: 2003/11/08 06:12:56 $ -# Revision: $Revision: 1.114 $ +# Date: $Date: 2003/11/09 09:04:17 $ +# Revision: $Revision: 1.118 $ diff -urN tiarra-20031108/NEWS tiarra-20031109/NEWS --- tiarra-20031108/NEWS 2003-11-08 15:13:54.000000000 +0900 +++ tiarra-20031109/NEWS 2003-11-09 18:04:52.000000000 +0900 @@ -1,3 +1,13 @@ +2003-11-09 Topia + + * System::Reload + 自分自身がリロードできないバグの修正。 + kill -HUP pid は出来るので、これを使ってリロードしてください。 + + * single-server-mode の bugfix です。 + single-server-mode を使う予定が無い場合は再起動は不要です。 + single-server-mode を使っている方は、アップデートして再起動して下さい。 + 2003-11-08 Topia * single-server-mode の bugfix です。 diff -urN tiarra-20031108/main/RunLoop.pm tiarra-20031109/main/RunLoop.pm --- tiarra-20031108/main/RunLoop.pm 2003-11-08 15:13:55.000000000 +0900 +++ tiarra-20031109/main/RunLoop.pm 2003-11-09 18:04:54.000000000 +0900 @@ -1,5 +1,5 @@ # ----------------------------------------------------------------------------- -# $Id: RunLoop.pm,v 1.48 2003/11/08 06:12:56 topia Exp $ +# $Id: RunLoop.pm,v 1.49 2003/11/09 08:24:54 topia Exp $ # ----------------------------------------------------------------------------- # このクラスはTiarraのメインループを実装します。 # select()を実行し、サーバーやクライアントとのI/Oを行うのはこのクラスです。 @@ -1001,6 +1001,11 @@ # まだ作ってなかった $new_msg = $msg->clone; $new_msg->prefix($io->fullname); + # シングルサーバーモードなら、ネットワーク名を取り外す。 + if (!$this->{multi_server_mode}) { + Multicast::detach_network_name($new_msg,$this->networks_list); + } + } $client->send_message($new_msg); } diff -urN tiarra-20031108/make-password tiarra-20031109/make-password --- tiarra-20031108/make-password 2003-11-08 15:13:54.000000000 +0900 +++ tiarra-20031109/make-password 2003-11-09 18:04:52.000000000 +0900 @@ -7,14 +7,15 @@ use warnings; use lib (map{ (($0 =~ m%(.*[\\\/])[^\\\/]*$%)[0] || "").$_ } qw(main)); use Crypt; +use Term::ReadLine; $| = 1; # autoflush print "This tool encrypts your raw password for conf file of the Tiarra.\n"; print "\n"; -print "Please enter raw password: "; -(my $raw = <>) =~ s/[\r\n]//g; +my $term = Term::ReadLine->new('tiarra'); +my $raw = $term->readline("Please enter raw password: "); + print "\n"; print Crypt::encrypt($raw)." is your encoded password.\n"; print "Use this for the general/tiarra-password entry.\n"; - diff -urN tiarra-20031108/module/System/Reload.pm tiarra-20031109/module/System/Reload.pm --- tiarra-20031108/module/System/Reload.pm 2003-11-08 15:13:56.000000000 +0900 +++ tiarra-20031109/module/System/Reload.pm 2003-11-09 18:04:57.000000000 +0900 @@ -1,11 +1,12 @@ # ----------------------------------------------------------------------------- -# $Id: Reload.pm,v 1.2 2003/07/26 14:00:37 admin Exp $ +# $Id: Reload.pm,v 1.3 2003/11/09 09:04:18 topia Exp $ # ----------------------------------------------------------------------------- package System::Reload; use strict; use warnings; use base qw(Module); use ReloadTrigger; +use Timer; sub message_arrived { my ($this,$msg,$sender) = @_; @@ -14,18 +15,19 @@ # コマンド名は一致してるか? if ($msg->command eq uc($this->config->command)) { # 必要ならリロードを実行。 - $this->_reload_if_needed; + Timer->new( + After => 0, + Code => sub { + ReloadTrigger->reload_conf_if_updated; + ReloadTrigger->reload_mods_if_updated; + } + )->install; return undef; } } return $msg; } -sub _reload_if_needed { - ReloadTrigger->reload_conf_if_updated; - ReloadTrigger->reload_mods_if_updated; -} - 1; =pod info: confファイルやモジュールの更新をリロードするコマンドを追加する。 @@ -34,6 +36,6 @@ # リロードを実行するコマンド名。省略されるとコマンドを追加しません。 # 例えば"load"を設定すると、"/load"と発言しようとした時にリロードを実行します。 # この時コマンドはTiarraが握り潰すので、IRCプロトコル上で定義された -# コマンド名を設定すべきではありません。 +# コマンド名を設定すべきではありません。 command: load =cut diff -urN tiarra-20031108/tiarra tiarra-20031109/tiarra --- tiarra-20031108/tiarra 2003-11-08 15:13:54.000000000 +0900 +++ tiarra-20031109/tiarra 2003-11-09 18:04:52.000000000 +0900 @@ -5,7 +5,7 @@ # This is free software; you can redistribute it and/or modify it # under the same terms as Perl itself. # ----------------------------------------------------------------------------- -# $Id: tiarra,v 1.26 2003/09/26 12:07:12 topia Exp $ +# $Id: tiarra,v 1.27 2003/11/09 07:32:12 admin Exp $ # ----------------------------------------------------------------------------- require 5.006; use strict; @@ -65,7 +65,7 @@ print " --help print this message\n"; print " --version print version infomation\n"; print " --config= tiarra configuration file; default is 'tiarra.conf'\n"; - print " --quiet don't output any messages to stdout and stdin\n"; + print " --quiet don't output any messages to stdout and stderr\n"; print " --no-fork don't move to background when started in quiet mode\n"; print " --debug show debug infomation\n"; print " -D[=]\n";