X-Git-Url: http://git.pk910.de/?p=ircu2.10.12-pk.git;a=blobdiff_plain;f=tools%2Fiauth-test;h=78e80ab7f9dce0fa52a1d5c641f87ca8ccf72bb6;hp=7013d1650eedd2b101fdec4e565ba00fa7406529;hb=6ae1a85dcd5322c27a5c17a0a3a8566b5166538c;hpb=3e8391df9fe5246e4c57b3b088287aaad3ee2f88 diff --git a/tools/iauth-test b/tools/iauth-test index 7013d16..78e80ab 100755 --- a/tools/iauth-test +++ b/tools/iauth-test @@ -26,6 +26,8 @@ use FileHandle; # for autoflush method on file handles # SIGRTMIN + 2 -> Set policy options ('O'). # SIGRTMIN + 3 -> Simulate config change ('a', 'A'). # SIGRTMIN + 4 -> Simulate statistics change ('s', 'S'). +# Note that Perl's value for SIGRTMIN may be different than your OS's. +# The easiest check is by running "perl -V:sig_num -V:sig_name". # In the following discussion, sX means message X from the server, and # iX means message X from iauth. The hard part is the ordering of @@ -175,6 +177,7 @@ my %handlers = ( '127.0.2.0' => { C_reply => 'N iauth.assigned.host', H_reply => 'D' }, '127.0.2.1' => { C_reply => \&ip_change }, + '127.0.2.2' => { H_reply => \&host_change_and_done }, # 127.0.3.x: iC/sP functionality. '127.0.3.0' => { C_reply => 'C :Please enter the password.', P_reply => \&passwd_check }, @@ -198,6 +201,16 @@ sub ip_change ($$) { reply 'D', $client; } +# Note to potential debuggers: You will have to change the iauth +# policy before this (or any other H_reply hooks) will have any +# effect. Do this by sending two signals of $SIG{RTMIN+2} to the +# iauth-test process, as noted near the beginning of this script. +sub host_change_and_done ($$) { + my ($client, $extra) = @_; + reply 'N iauth.assigned.host', $client; + reply 'D', $client; +} + sub passwd_check ($$) { my ($client, $extra) = @_; if ($extra eq 'secret') {