--- tiarra-20100211/NEWS	2010-02-11 03:24:27.000000000 +0900
+++ tiarra-20100212/NEWS	2010-02-12 03:34:30.000000000 +0900
@@ -1,3 +1,17 @@
+2010-02-12  Topia  <topia@clovery.jp>
+
+	* Log::Channel (thanks klm)
+	  - ログディレクトリの大文字小文字問題に対応するため
+	    lc_channel を追加した。
+	* IrcIO::Server, Channel::Join::Connect (thanks syo68k)
+	  - irc.juggler.jp において多数のチャンネルに join する際に
+	    Excess Flood が生じる問題に対応するため、 interval と
+	    channels を設定可能にした。
+	* Channel::Rejoin
+	  - chanserv で管理されていると検出した場合は無視するようにした。
+	* Network::Freenode
+	  - freenode 用の ChanServ 検出モジュール。
+
 2010-02-11  Topia  <topia@clovery.jp>
 
 	* Channel::Rejoin
--- tiarra-20100211/sample.conf	2010-02-11 03:24:30.000000000 +0900
+++ tiarra-20100212/sample.conf	2010-02-12 03:34:33.000000000 +0900
@@ -175,6 +175,20 @@
   # multi-server-mode 時のデフォルトは 0 、 single-server-mode 時のデフォルトは 1 です。
   #nick-fix-mode: 0
 
+  # Tiarra がチャンネルに join する際の挙動を設定します。
+  # デフォルト設定で Excess Flood になってしまう場合に設定してください。
+  #
+  # irc.juggler.jp (2ch@IRC) にて 25 チャンネル以上 join している場合に
+  # Excess Flood になってしまった事例があるそうです。
+
+  # JOIN コマンドを送信する間隔 (秒)
+  # デフォルトは1秒です。
+  join-interval: 1
+
+  # 一つの JOIN コマンドで指定するチャンネルの数
+  # デフォルトは5チャンネルです。
+  join-channels-per-command: 5
+
   messages {
     # Tiarra が使用する、いくつかのメッセージを指定する。
 
@@ -528,6 +542,11 @@
   #   「#aaaaa@ircnet」、「#bbbbb@ircnet:*.jp」、「#ccccc@ircnet」、「#ddddd@ircnet」の4つのチャンネルに入る。
   #channel: #aaaaa@ircnet,#bbbbb@ircnet:*.jp, #ccccc@ircnet
   #channel: #ddddd@ircnet
+
+  # join 送出の間隔(秒)
+  # この設定は obsolete です。 general/join-interval を利用してください。
+  # 設定されていた場合は general/join-interval に優先されます。
+  #interval: 1
 }
 
 - Channel::Join::Invite {
@@ -708,8 +727,12 @@
   # それ以外(privも含む)のログはothers/%Y.%m.%d.txtに保存される。
   # #(channel) はチャンネル名に展開される。
   # (古いバージョンだと展開されずにそのままディレクトリ名になってしまいます。)
+  # IRCのチャンネル名は大文字小文字が区別されず、サーバからは各送信者が指定した通りの
+  # チャンネル名が送られてきます。そのため、大文字小文字が区別されるファイルシステムでは
+  # 同じチャンネルが別々のディレクトリに作られることになります。
+  # この問題を回避するため、チャンネル名を小文字に統一した #(lc_channel) が利用できます。
   channel: priv priv
-  channel: #(channel) *
+  channel: #(lc_channel) *
   #channel: others *
 
   # ファイル名のエンコーディング.
@@ -737,6 +760,21 @@
   command: privmsg,notice,topic,join,part,quit,kill
 }
 
++ Network::Freenode {
+  # Freenode サポート
+
+  # 現状では ChanServ の検出以外の機能はありません。
+  # drop による状況の変化についてもサポートしていません。
+
+  # Channel::Rejoin では、このモジュールによってチャンネルが
+  # ChanServ の管理下にあると検出した時には Rejoin 動作を
+  # 行わなくなります。
+
+  # 設定はありません。
+  # また、 freenode 以外のネットワークでこのモジュールが
+  # 有効になっていても不都合はないはずです。
+}
+
 + System::Error {
   # サーバーからのERRORメッセージをNOTICEに埋め込む
 
--- tiarra-20100211/all.conf	2010-02-11 03:24:31.000000000 +0900
+++ tiarra-20100212/all.conf	2010-02-12 03:34:33.000000000 +0900
@@ -136,6 +136,20 @@
   # multi-server-mode 時のデフォルトは 0 、 single-server-mode 時のデフォルトは 1 です。
   #nick-fix-mode: 0
 
+  # Tiarra がチャンネルに join する際の挙動を設定します。
+  # デフォルト設定で Excess Flood になってしまう場合に設定してください。
+  #
+  # irc.juggler.jp (2ch@IRC) にて 25 チャンネル以上 join している場合に
+  # Excess Flood になってしまった事例があるそうです。
+
+  # JOIN コマンドを送信する間隔 (秒)
+  # デフォルトは1秒です。
+  join-interval: 1
+
+  # 一つの JOIN コマンドで指定するチャンネルの数
+  # デフォルトは5チャンネルです。
+  join-channels-per-command: 5
+
   messages {
     # Tiarra が使用する、いくつかのメッセージを指定する。
 
@@ -1253,6 +1267,11 @@
   #   「#aaaaa@ircnet」、「#bbbbb@ircnet:*.jp」、「#ccccc@ircnet」、「#ddddd@ircnet」の4つのチャンネルに入る。
   #channel: #aaaaa@ircnet,#bbbbb@ircnet:*.jp, #ccccc@ircnet
   #channel: #ddddd@ircnet
+
+  # join 送出の間隔(秒)
+  # この設定は obsolete です。 general/join-interval を利用してください。
+  # 設定されていた場合は general/join-interval に優先されます。
+  #interval: 1
 }
 
 - Channel::Join::Invite {
@@ -1592,8 +1611,12 @@
   # それ以外(privも含む)のログはothers/%Y.%m.%d.txtに保存される。
   # #(channel) はチャンネル名に展開される。
   # (古いバージョンだと展開されずにそのままディレクトリ名になってしまいます。)
+  # IRCのチャンネル名は大文字小文字が区別されず、サーバからは各送信者が指定した通りの
+  # チャンネル名が送られてきます。そのため、大文字小文字が区別されるファイルシステムでは
+  # 同じチャンネルが別々のディレクトリに作られることになります。
+  # この問題を回避するため、チャンネル名を小文字に統一した #(lc_channel) が利用できます。
   channel: priv priv
-  channel: #(channel) *
+  channel: #(lc_channel) *
   #channel: others *
 
   # ファイル名のエンコーディング.
@@ -1723,6 +1746,21 @@
   command: privmsg,notice,topic,join,part,quit,kill
 }
 
++ Network::Freenode {
+  # Freenode サポート
+
+  # 現状では ChanServ の検出以外の機能はありません。
+  # drop による状況の変化についてもサポートしていません。
+
+  # Channel::Rejoin では、このモジュールによってチャンネルが
+  # ChanServ の管理下にあると検出した時には Rejoin 動作を
+  # 行わなくなります。
+
+  # 設定はありません。
+  # また、 freenode 以外のネットワークでこのモジュールが
+  # 有効になっていても不都合はないはずです。
+}
+
 - Skeleton {
   # Skeleton for tiarra-module.
 
--- tiarra-20100211/ChangeLog.svn	2010-02-11 03:24:41.000000000 +0900
+++ tiarra-20100212/ChangeLog.svn	2010-02-12 03:34:42.000000000 +0900
@@ -1,4 +1,108 @@
 ------------------------------------------------------------------------
+r36726 | topia | 2010-02-12 03:33:27 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/all.conf
+   M /lang/perl/tiarra/trunk/doc/module/Channel.html
+   M /lang/perl/tiarra/trunk/sample.conf
+
+update documentation.
+------------------------------------------------------------------------
+r36725 | topia | 2010-02-12 03:33:02 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Channel/Join/Connect.pm
+
+make it worked with old configuration module.
+------------------------------------------------------------------------
+r36724 | topia | 2010-02-12 03:28:00 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/NEWS
+
+write NEWS to release archive.
+------------------------------------------------------------------------
+r36723 | topia | 2010-02-12 03:26:27 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/doc-src/conf-main.tdoc
+
+add comment about irc.juggler.jp.
+------------------------------------------------------------------------
+r36722 | topia | 2010-02-12 03:25:53 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Channel/Join/Connect.pm
+
+use general configuration entry.
+------------------------------------------------------------------------
+r36721 | topia | 2010-02-12 03:18:25 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/doc-src/conf-main.tdoc
+
+add documentation for general/join-{interval,channels-per-command}.
+------------------------------------------------------------------------
+r36720 | topia | 2010-02-12 03:13:54 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/main/Configuration.pm
+   M /lang/perl/tiarra/trunk/main/IrcIO/Server.pm
+   M /lang/perl/tiarra/trunk/main/RunLoop.pm
+
+add interval config entry for rejoin channels at network reconnected.
+------------------------------------------------------------------------
+r36719 | topia | 2010-02-12 02:24:01 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/all.conf
+   M /lang/perl/tiarra/trunk/doc/module-toc.html
+   M /lang/perl/tiarra/trunk/doc-src/module-group.tdoc
+   M /lang/perl/tiarra/trunk/sample.conf
+
+update documentation.
+------------------------------------------------------------------------
+r36718 | topia | 2010-02-12 02:21:29 +0900 (Fri, 12 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Channel/Rejoin.pm
+   A /lang/perl/tiarra/trunk/module/Network
+   A /lang/perl/tiarra/trunk/module/Network/Freenode.pm
+
+add chanserv-controlled channel handling to Channel::Rejoin, and add Network::Freenode for discover chanserv-controlled channel.
+------------------------------------------------------------------------
+r36709 | topia | 2010-02-11 19:47:42 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/doc/module/Channel.html
+   M /lang/perl/tiarra/trunk/sample.conf
+
+update documentation.
+------------------------------------------------------------------------
+r36708 | syo68k | 2010-02-11 19:23:54 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/all.conf
+
+Channel::Join::Connect::interval追加
+------------------------------------------------------------------------
+r36707 | syo68k | 2010-02-11 19:22:35 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Channel/Join/Connect.pm
+
+intervalの説明について微修正
+------------------------------------------------------------------------
+r36687 | topia | 2010-02-11 05:27:11 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Channel/Join/Connect.pm
+
+add interval configuration entry.
+------------------------------------------------------------------------
+r36686 | topia | 2010-02-11 03:47:59 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/all.conf
+   M /lang/perl/tiarra/trunk/doc/module/Log.html
+   M /lang/perl/tiarra/trunk/module/Log/Channel.pm
+   M /lang/perl/tiarra/trunk/sample.conf
+
+fix documentation.
+------------------------------------------------------------------------
+r36685 | klm | 2010-02-11 03:35:23 +0900 (Thu, 11 Feb 2010) | 1 line
+Changed paths:
+   M /lang/perl/tiarra/trunk/module/Log/Channel.pm
+   M /lang/perl/tiarra/trunk/sample.conf
+
+a new variable lc_channel is available for unifying log directories of Log::Channel in case-sensitive filesystems.
+------------------------------------------------------------------------
 r36684 | topia | 2010-02-11 03:20:57 +0900 (Thu, 11 Feb 2010) | 1 line
 Changed paths:
    M /lang/perl/tiarra/trunk/NEWS
