plum-2.33.1.orig/0040755001001300006200000000000006676174333013403 5ustar gotomkobayashiplum-2.33.1.orig/doc/0040755001001300006200000000000006676174333014150 5ustar gotomkobayashiplum-2.33.1.orig/doc/html.reg0100644001001300006200000000012206676174332015602 0ustar gotomkobayashiREGEDIT4 [HKEY_CLASSES_ROOT\.plm] @="htmlfile" "Content Type"="text/html" plum-2.33.1.orig/doc/.mime.types0100644001001300006200000000035706676174332016244 0ustar gotomkobayashi#--Netscape Communications Corporation MIME Information #Do not delete the above line. It is used to identify the file type. # #mime types added by Netscape Helper type=text/html \ desc="Hypertext Markup Language" \ exts="html,htm,plm" plum-2.33.1.orig/doc/plum.reg0100644001001300006200000000030706676174332015620 0ustar gotomkobayashiREGEDIT4 [HKEY_CLASSES_ROOT\.plm] @="plmfile" "Content Type"="text/html" [HKEY_CLASSES_ROOT\plmfile] @="PLUM Ó¼Þ­°Ù" "EditFlags"=hex:00,00,00,00 [HKEY_CLASSES_ROOT\plmfile\Shell] @="" plum-2.33.1.orig/doc/readme.html0100644001001300006200000001745406676174332016302 0ustar gotomkobayashi readme

$B$O$8$a$K(B

$B$3$N%P!<%8%g%s$+$i!"(Bplum$B$N%I%-%e%a%s%H$O(BHTML (Hyper Text Markup Language)$B$G=q$/$3$H$K$7$^$7$?!#(B $B$3$l$O$l$N4D6-$G0[$J$C$?J8;z%3!<%I$G=q$+$J$$$H$$$1$^$;$s!#(B readme.sj$B!"(Breadme.euc$B!"(Breadme.jis$B$N$h$&$KF1$8FbMF$NJ#?t$N(B $B%U%!%$%k$rMQ0U$7$F$b$$$$$N$G$9$,!"(B $B4IM}$9$k$N$bBgJQ$J$N$G$d$a$^$7$?!#(B

HTML$B$J$N$G!"EvA3$J$,$i%V%i%&%6$G8+$k$3$H$K$J$k$H;W$$$^$9$,!"(B $BCf$K$O!"$$$A$$$A%V%i%&%6$J$s$F;H$C$F$i$l$J$$!"$H$$$&?M$bB?$$$H;W$$$^$9!#(B $B$=$N$?$a!"$9$Y$F$N%I%-%e%a%s%H$O(BHTML$B$rD>@\8+$F$b(B $B$J$k$Y$/FI$`$3$H$,$G$-$k$h$&$K=q$$$F$"$j$^$9!#(B $B$?$@$7!"4A;z%3!<%I$O(BJIS$B!"2~9T%3!<%I$O(BLF$B$N$_$H$J$C$F$$$^$9!#(B $B$3$l$,I=<($G$-$J$$>l9g$O(Bsupport$B%G%#%l%/%H%j$N(B cnvcode$B$H$$$&%W%m%0%i%`$r;H$C$FJQ49$7$F2<$5$$!#(B

$B%b%8%e!<%k$N%I%-%e%a%s%H$O$=$l$>$l$N%b%8%e!<%k<+BN$K=q$+$l$F$$$^$9!#(B $B%b%8%e!<%k$N%I%-%e%a%s%H$b(BHTML$B$G!"%b%8%e!<%k<+BN$r%V%i%&%6$GI=<($9$k$H(B $B%b%8%e!<%k$K=q$+$l$?%I%-%e%a%s%H$@$1$,I=<($5$l$k$h$&$K$J$C$F$$$^$9!#(B $B$?$@$7%b%8%e!<%k$N3HD%;R$O!V(B.plm$B!W$J$N$G!"$=$N$^$^$G$O%V%i%&%6$+$i(B HTML$B$HG'<1$5$l$^$;$s!#(B

Windows$B$r;H$C$F$$$k$J$i!"$3$N%G%#%l%/%H%j$K$"$k(Bplum.reg$B$H$$$&%U%!%$%k$+(B html.reg$B$H$$$&%U%!%$%k$r%@%V%k%/%j%C%/$7$F2<$5$$!#(B $B$=$&$9$k$H!V(B.plm$B!W$H$$$&3HD%;R$,(BHTML$B$H$7$FG'<1$5$l$k$h$&$K$J$j$^$9!#(B plum.reg$B$G$O!V(B.plm$B!W$r(BPLUM$B%b%8%e!<%k$H$7$F!"(B html.reg$B$G$O!V(B.plm$B!W$r(BHTML$B%I%-%e%a%s%H$H$7$F4XO"IU$1$^$9!#(B

$B$^$?!"(BUNIX$B$G$O$3$N%G%#%l%/%H%j$K$"$k(B.mime.types$B$H$$$&%U%!%$%k$r(B $B%[!<%`%G%#%l%/%H%j$K%3%T!<(B($B$9$G$K(B.mime.types$B$,B8:_$9$k>l9g$O$=$l$KDI2C(B) $B$7$F2<$5$$!#$3$l$G>/$J$/$H$b(BNetscape Navigator$B$G$O!V(B.plm$B!W$,(BHTML $B$H$7$FG'<1$5$l$k$h$&$K$J$j$^$9!#(B

$B%U%!%$%k(B

plum$B$KIUB0$7$F$$$k%U%!%$%k$N0lMw$G$9!#(B
plum
plum$BK\BN$G$9!#(B
plum-default.conf
plum$B$N%G%U%)%k%H$N@_Dj%U%!%$%k$G$9!#(B
plum-example.conf
$B@_Dj%U%!%$%k$N=q$-J}$NNc$G$9!#(B
plum-dump.conf
$B%7%9%F%`>pJsI=<(MQ$N@_Dj%U%!%$%k$G$9!#(B
doc/
readme.html
$B$3$N%U%!%$%k$G$9!#(B
plum.html
plum$B$K$D$$$F$N2r@b$G$9!#(B
conf.html
$B@_Dj%U%!%$%k$N=q$-J}$J$I$N2r@b$G$9!#(B
module.html
plum$B$N%b%8%e!<%k$N2r@b$G$9!#(B
history.html
plum$B$NMzNr$G$9!#(B
program.html
$B%b%8%e!<%k$N:n$jJ}$J$I$N2r@b$G$9!#(B
varsub.html
$B%b%8%e!<%k$GMxMQ$G$-$kJQ?t$d%5%V%k!<%A%s$N2r@b$G$9!#(B
tutorial.html
$B
plum.reg
Windows$B$G3HD%;R!V(B.plm$B!W$r(BHTML$B$HG'<1$5$;$k%l%8%9%H%j$N@_Dj$G$9!#(B
html.reg
Windows$B$G3HD%;R!V(B.plm$B!W$r(BHTML$B$HG'<1$5$;$k%l%8%9%H%j$N@_Dj$G$9!#(B
.mime.types
Netscape Navigator$B$G!V(B.plm$B!W$r(BHTML$B$HG'<1$5$;$k(BMIME$B$N@_Dj$G$9!#(B
module/
plum$B$N%b%8%e!<%k$,$"$j$^$9!#(B
support/
plum$B$N%G%P%C%0$d%I%-%e%a%s%H:n@.$N$?$a$K:n$C$?%D!<%k$J$I$,$"$j$^$9!#(B

$BG[I[>l=j(B

plum$B$N:G?7%P!<%8%g%s$O0J2<$N$H$3$m$+$iF~
  • ftp://ftp.eds.ecip.nagoya-u.ac.jp/pub/net/irc/pirc/plum/
  • ftp://ftp.madoka.org/pub/plum
  • perl$B$O0J2<$N$H$3$m$+$iF~
  • ftp://ftp.lab.kdd.co.jp/pub/lang/CPAN/
  • ftp://ftp.mei.co.jp/free/Languages/perl/CPAN/
  • ftp://ftp.win.or.jp/pub/lang/CPAN/
  • ftp://ftp.chiba-u.ac.jp/pub/lang/CPAN/
  • ftp://ftp.jaist.ac.jp/pub/lang/perl/CPAN/
  • ftp://ftp.eos.hokudai.ac.jp/pub/CPAN/
  • ftp://ftp.hipecs.hokudai.ac.jp/pub/LANG/perl/CPAN/
  • ftp://ftp.ccs.dendai.ac.jp/pub/lang/perl/CPAN/
  • ftp://ftp.st.ryukoku.ac.jp/pub/lang/perl/CPAN/
  • ftp://ftp.riken.go.jp/pub/lang/perl/CPAN/
  • IRC$B%/%i%$%"%s%H$O0J2<$N$H$3$m$+$iF~Windows 95/98/NT

    Windows CE

    Macintosh

    UNIX

    • irc
    • ircII

    Emacs/Mule

    Tcl/Tk


    $BO"Mm@h(B

    plum$B$N;H$$J}$d@_Dj$,$h$/$o$+$i$J$$!"F0:n$,$*$+$7$$!"(B $B?7$7$$5!G=$d%b%8%e!<%k$rDI2C$7$F$[$7$$!"(B $B$J$I$J$I(Bplum$B$K$D$$$F$N$O(Bplum$B%a!<%j%s%0%j%9%H$G$5$l$kJ}$O!"K\J8$K(B
    # subscribe
    
    $B$H=q$$$?%a!<%k$r0J2<$N%"%I%l%9$XAw$C$F2<$5$$!#(B
    plum-ctl@madoka.org
    $B%a!<%j%s%0%j%9%H$X$NEj9F$O0J2<$N%"%I%l%9$XAw$C$F2<$5$$!#(B
    plum@madoka.org
    plum$B%a!<%j%s%0%j%9%H$K$D$$$F$N plum-admin@madoka.org plum-2.33.1.orig/doc/module.html0100644001001300006200000002061606676174332016324 0ustar gotomkobayashi module

    $B%b%8%e!<%k(B

    plum$B$G$O$[$H$s$I$N5!G=$,%b%8%e!<%k$K$h$C$F$l$N%b%8%e!<%k$r;2>H$7$F2<$5$$!#(B

    $B%b%8%e!<%k0lMw(B

    $B8=:_(Bplum$B$KIUB0$7$F$$$k%b%8%e!<%k$N0lMw$G$9!#(B
    auto/alias.plm
    $B%f!<%6%(%$%j%"%9>pJs$N4IM}(B
    auto/answer.plm
    $BFCDj$NH/8@$KH?1~$7$FBP1~$9$kH/8@$r$9$k(B
    auto/cache.plm
    $BF1$8H/8@$r7+$jJV$5$J$$$h$&$K@)8B$9$k(B
    auto/message.plm
    $B%f!<%64V$G%a%C%;!<%8$NAw
    auto/nako.plm
    Internet Relay Chat Robot nako$B$N%(%_%e%l!<%7%g%s$r9T$&(B
    auto/oper.plm
    $BFCDj$NH/8@$r$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$9$k(B
    auto/package.plm
    $B;XDj$7$??M$K(BDCC$B$G%U%!%$%k$rFO$1$k(B
    auto/random.plm
    $BFCDj$NH/8@$KH?1~$7$F%i%s%@%`$JH/8@$r$9$k(B
    auto/reply.plm
    $BFCDj$NH/8@$KH?1~$7$?%a%C%;!<%8$rH/8@$9$k(B
    auto/response.plm
    $B%a%C%;!<%8$KH?1~$7$FH/8@$r9T$&(B
    auto/yuurii.plm
    pirc bot $B$f!<$j$#$N%W%i%0%$%s$rAH$_9~$`(B
    channel/alias.plm
    $B%A%c%s%M%k%(%$%j%"%9$rJQ49$9$k(B
    channel/filter.plm
    $B%/%i%$%"%s%H$+$i8+$($k%A%c%s%M%k$r@)8B$9$k(B
    channel/join/connect.plm
    $B%5!<%P$K@\B3$7$?$H$-$K;XDj$7$?%A%c%s%M%k$KF~$k(B
    channel/join/invite.plm
    $B>7BT$5$l$?%A%c%s%M%k$KF~$k(B
    channel/join/kick.plm
    $B%A%c%s%M%k$+$i%-%C%/$5$l$F$bF~$jD>$9(B
    channel/mode/oper/get.plm
    $B%A%c%s%M%k%*%Z%l!<%?$rI|5"$9$k(B
    channel/mode/oper/set.plm
    $BFCDj$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$9$k(B
    channel/mode/set.plm
    $B%A%c%s%M%k$r:n@.$7$?$H$-$K%A%c%s%M%k%b!<%I$r@_Dj$9$k(B
    client/kanji.plm
    $B%/%i%$%"%s%H$H$NF~=PNO$G4A;z%3!<%I$rJQ49$9$k(B
    ctcp/clientinfo.plm
    CTCP CLIENTINFO$B$KH?1~$7$F%/%i%$%"%s%H>pJs$rAw$k(B
    ctcp/comment.plm
    CTCP COMMENT$B$KH?1~$7$F%a%C%;!<%8$r
    ctcp/dcc/cancel.plm
    DCC CHAT$B$r%-%c%s%;%k$9$k(B
    ctcp/dcc/client.plm
    CTCP DCC$B$r%/%i%$%"%s%H$KAw$k(B
    ctcp/dcc/forward.plm
    CTCP DCC$B$r;XDj$7$?%f!<%6$KE>Aw$9$k(B
    ctcp/dcc/gate.plm
    CTCP DCC SEND$B$KH?1~$7$FE>Aw$NCf7Q$r9T$&(B
    ctcp/dcc/get.plm
    DCC SEND$B$KH?1~$7$FAw$i$l$F$-$?%U%!%$%k$r
    ctcp/dcc/http.plm
    DCC SEND$B$H(BDCC CHAT$B$r(BHTTP$B$r;H$C$FCf7Q$9$k(B
    ctcp/dcc/nat.plm
    NAT$B$r7PM3$7$F(BDCC$B$rMxMQ$9$k(B
    ctcp/dcc/send.plm
    DCC SEND$B$G%U%!%$%k$rAw?.$9$k(B
    ctcp/echo.plm
    CTCP ECHO$B$KH?1~$7$F
    ctcp/finger.plm
    CTCP FINGER$B$KH?1~$7$F%/%i%$%"%s%H$N>pJs$rAw$k(B
    ctcp/part.plm
    CTCP PART$B$KH?1~$7$F%A%c%s%M%k$rH4$1$k(B
    ctcp/ping.plm
    CTCP PING$B$KH?1~$7$F
    ctcp/time.plm
    CTCP TIME$B$KH?1~$7$F8=:_;~9o$rAw$k(B
    ctcp/userinfo.plm
    CTCP USERINFO$B$KH?1~$7$F%f!<%6>pJs$rAw$k(B
    ctcp/version.plm
    CTCP VERSION$B$KH?1~$7$F%P!<%8%g%s>pJs$rAw$k(B
    log/channel.plm
    $B%a%C%;!<%8$r%A%c%s%M%k$4$H$N%m%0$H$7$FJ]B8$9$k(B
    log/client.plm
    $B%/%i%$%"%s%H$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B
    log/daily.plm
    $B%a%C%;!<%8$r%m%0$KJ]B8$9$k(B
    log/error.plm
    $B%(%i!<$r%m%0$H$7$FJ]B8$9$k(B
    log/mail.plm
    $B%m%0%U%!%$%k$r;XDj$7$?%"%I%l%9$X%a!<%k$GAw?.$9$k(B
    log/recent.plm
    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K:G6a$N%a%C%;!<%8$rAw$k(B
    log/server.plm
    $B%5!<%P$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B
    server/info.plm
    $B%/%i%$%"%s%H$N@\B3;~$K%5!<%P>pJs$rAw$k(B
    server/kanji.plm
    $B%5!<%P$H$NF~=PNO$G4A;z%3!<%I$rJQ49$9$k(B
    server/timeout.plm
    $B0lDj;~4VF~NO$,$J$$%5!<%P$H$N@\B3$r@ZCG$9$k(B
    sys/background.plm
    plum$B$r%P%C%/%0%i%&%s%I$G
    sys/conf/load.plm
    plum.conf$B$rFI$_9~$_D>$9(B
    sys/conf/update.plm
    plum.conf$B$,JQ99$5$l$k$H<+F0E*$KFI$_9~$_D>$9(B
    sys/dump.plm
    plum$B$,FbIt$G;HMQ$9$k>pJs$rI=<($9$k(B
    sys/module/update.plm
    $B%b%8%e!<%k$,JQ99$5$l$k$H<+F0E*$KAH$_9~$_D>$9(B
    sys/multicast.plm
    $BJ#?t$N%5!<%P$rC10l$N%5!<%P$N$h$&$K%(%_%e%l!<%H$9$k(B
    sys/show.plm
    $BG$0U$N(Bperl$B$NJ8$r
    sys/timer.plm
    $B;XDj$5$l$?;~4V$K;XDj$5$l$?%3%^%s%I$r
    sys/web.plm
    Web$B%V%i%&%6$J$I$G(BIRC$B$r9T$&$?$a$N%$%s%?!<%U%'%$%9(B
    user/away/client.plm
    $B%/%i%$%"%s%H$H$N@\B3>uBV$K$h$C$F(BAWAY$B$r@_Dj$9$k(B
    user/away/nick.plm
    $B%K%C%/%M!<%`$rJQ99$9$k$H$=$l$KBP1~$9$k(BAWAY$B$r@_Dj$9$k(B
    user/idle.plm
    WHOIS$B$r
    user/ignore.plm
    $B;XDj$7$?%f!<%6$NH/8@$rL5;k$9$k(B
    user/mode/set.plm
    $B%5!<%P$K@\B3$7$?$H$-$K%f!<%6%b!<%I$r@_Dj$9$k(B
    user/nick/client.plm
    $B%/%i%$%"%s%H$H$N@\B3>uBV$K$h$C$F%K%C%/%M!<%`$rJQ99$9$k(B
    plum-2.33.1.orig/doc/program.html0100644001001300006200000001400606676174332016502 0ustar gotomkobayashi module programming

    $B%b%8%e!<%k(B

    plum$B$N%b%8%e!<%k$O$9$Y$F(Bperl$B$G=q$+$l$F$$$^$9!#(B $BIaDL$N(Bperl$B%9%/%j%W%H$H$O0c$C$F!"(Bplum$B$+$i%b%8%e!<%k$H$7$F(B $B;H$($k$h$&$K$9$k$?$a$N$$$/$D$+$N
    plum$B$N%b%8%e!<%k$O%$%Y%s%H$KBP$9$k=hM}$r9T$&%5%V%k!<%A%s$N=8$^$j$G$9!#(B $B%b%8%e!<%k$K$O!"$I$s$J%$%Y%s%H$,H/@8$7$?$H$-$K$I$s$J=hM}$r9T$&$+$r(B $B%5%V%k!<%A%s$K=q$$$F$*$/$@$1$G!"$"$H$O(Bplum$B$,%$%Y%s%H$NH/@8$K1~$8$F!"(B $B$=$l$i$N%5%V%k!<%A%s$r

    $B%5%V%k!<%A%s(B

    plum$B$O2?$+$N%$%Y%s%H$,H/@8$9$k$H!"(B $B3F%b%8%e!<%k$K$"$kFCDj$NL>A0$N%5%V%k!<%A%s$rA0$O%$%Y%s%H$4$H$K(B1$B$D(B1$B$D7h$^$C$F$*$j!"(B $B%$%Y%s%H$,H/@8$9$k$H!"$=$l$KBP1~$9$kL>A0$N%5%V%k!<%A%s$,$O0J2<$N$h$&$K$J$C$F$$$^$9!#(B
    main_loop ($B%f!<%6(BNO)
    $B%a%$%s%k!<%W$r=hM}$9$k$4$H$K
    module_enable ($B%f!<%6(BNO)
    $B%b%8%e!<%k$N;HMQ$r3+;O$7$?$H$-$K
    module_disable ($B%f!<%6(BNO)
    $B%b%8%e!<%k$N;HMQ$r$d$a$?$H$-$K
    server_open ($B%U%!%$%k(BNO)
    $B%5!<%P$K@\B3$7$?$H$-$K
    server_close ($B%U%!%$%k(BNO)
    $B%5!<%P$H$N@\B3$,JD$8$i$l$?$H$-$K
    client_open ($B%U%!%$%k(BNO)
    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K
    client_close ($B%U%!%$%k(BNO)
    $B%/%i%$%"%s%H$H$N@\B3$,JD$8$i$l$?$H$-$K
    server_read ($B%U%!%$%k(BNO, $B%a%C%;!<%8(B)
    $B%5!<%P$+$iF~NO$,$"$C$?$H$-$K
    server_write ($B%U%!%$%k(BNO, $B%a%C%;!<%8(B)
    $B%5!<%P$K=PNO$9$k$H$-$K
    client_read ($B%U%!%$%k(BNO, $B%a%C%;!<%8(B)
    $B%/%i%$%"%s%H$+$iF~NO$,$"$C$?$H$-$K
    client_write ($B%U%!%$%k(BNO, $B%a%C%;!<%8(B)
    $B%/%i%$%"%s%H$X=PNO$9$k$H$-$K
    ss_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%5!<%P$+$i%3%^%s%I$NF~NO$,$"$C$?$H$-$K
    sp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%5!<%P$X%3%^%s%I$r=PNO$9$k$H$-$K
    cs_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%/%i%$%"%s%H$+$i%3%^%s%I$NF~NO$,$"$C$?$H$-$K
    cp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%/%i%$%"%s%H$X%3%^%s%I$r=PNO$9$k$H$-$K
    cpss_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%5!<%P$+$i(BPRIVMSG$B$G(BCTCP$B$N%3%^%s%I$NF~NO$,$"$C$?$H$-$K
    cpsp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%5!<%P$X(BPRIVMSG$B$G(BCTCP$B$N%3%^%s%I$r=PNO$9$k$H$-$K
    cpcs_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%/%i%$%"%s%H$+$i(BPRIVMSG$B$G(BCTCP$B$N%3%^%s%I$N(B $BF~NO$,$"$C$?$H$-$K
    cpcp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%/%i%$%"%s%H$X(BPRIVMSG$B$G(BCTCP$B$N%3%^%s%I$r=PNO$9$k$H$-$K
    cnss_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%5!<%P$+$i(BNOTICE$B$G(BCTCP$B$N%3%^%s%I$NF~NO$,$"$C$?$H$-$K
    cnsp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%5!<%P$X(BNOTICE$B$G(BCTCP$B$N%3%^%s%I$r=PNO$9$k$H$-$K
    cncs_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%/%i%$%"%s%H$+$i(BNOTICE$B$G(BCTCP$B$N%3%^%s%I$N(B $BF~NO$,$"$C$?$H$-$K
    cncp_$B%3%^%s%I(B ($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B%A%c%s%M%k(B, $B0z?t(B)
    $B%/%i%$%"%s%H$X(BNOTICE$B$G(BCTCP$B$N%3%^%s%I$r=PNO$9$k$H$-$K
    $B$=$l$>$l$N%5%V%k!<%A%s$OCLG$7$^$9!#(B

    $B%Q%C%1!<%8(B

    plum$B$N%b%8%e!<%k$O$=$l$>$l$,(B1$B$D(B1$B$D$N%Q%C%1!<%8$r;}$C$F$$$^$9!#(B $B$=$l$>$l$,FHN)$7$?%Q%C%1!<%8$r;}$D$3$H$K$h$C$F!"(B $BJQ?tL>$J$I$,B>$N%Q%C%1!<%8$H=E$J$C$F$bBg>fIW$J$h$&$K$J$C$F$$$^$9!#(B $B%Q%C%1!<%8L>$O86B'$H$7$F%G%#%l%/%H%jL>$H%U%!%$%kL>$r(B $B!V(B_$B!W$G$D$J$$$@$b$N$G$9!#(B $BNc$($P!"!V(Bdir/module.plm$B!W$N%Q%C%1!<%8L>$O!V(Bdir_module$B!W$K$J$j$^$9!#(B $B%b%8%e!<%k$N%G%#%l%/%H%j$d%U%!%$%kL>$K$O!V(B_$B!W$O;H$o$J$$$h$&$K$7$F2<$5$$!#(B

    $B3F%b%8%e!<%k$O=i4|2=$7$?$H$-$K!"(B $BI,$:$=$l$>$l$N%b%8%e!<%k$N%Q%C%1!<%8L>$rJV$5$J$1$l$P$$$1$^$;$s!#(B $B%Q%C%1!<%8$NL>A0$O!V(B$_$B!W$KF~$l$FJV$7$^$9!#(B $B$^$?!"%b%8%e!<%k$r8+$d$9$/$9$k$?$a!"%0%m!<%P%k$JJQ?t$N=i4|2=$O(B $B!V(B$_$B!W$X$NBeF~$NA0$K9T$&$h$&$K$7$F2<$5$$!#(B plum-2.33.1.orig/doc/conf.html0100644001001300006200000002325706676174332015770 0ustar gotomkobayashi configuration

    $B@_Dj(B

    plum$B$N@_Dj$O(Bplum.conf$B$H$$$&%U%!%$%k$G9T$$$^$9!#(B plum.conf$B$G%b%8%e!<%k$NAH$_9~$_4X$9$k@_Dj$H!"(B $B%b%8%e!<%k$N%W%m%Q%F%#$N@_Dj$r9T$$$^$9!#(B plum.conf$B$OIaDL$N%F%-%9%H$G!"(B1$B9T$K$D$-(B1$B$D$N@_Dj$r=q$-$^$9!#(B $B$I$s$J$KD9$/$J$C$F$b!"I,$:(B1$B9T$K=q$$$F2<$5$$!#(B $B$^$?!V(B#$B!W$G;O$^$k9T$O%3%a%s%H$G$9!#(B

    $Bl9g$O!"$3$N@_Dj%U%!%$%k$r;H$C$F2<$5$$!#(B $B$3$N@_Dj%U%!%$%k$G$O!"(Bpirc$B$H$[$\F1$8F0:n$r$9$k$h$&$K@_Dj$7$F$"$j$^$9!#(B plum-default.conf$B$r;H$C$F(Bplum$B$r perl plum default $B$N$h$&$K/$7$:$DJQ99$7$F$$$/$N$,$$$$$H;W$$$^$9!#(B

    $B%b%8%e!<%k(B

    $B%b%8%e!<%k$NAH$_9~$_$K4X$9$k@_Dj$K$O0J2<$N$b$N$,$"$j$^$9!#(B
    + dir/module.plm
    dir/module.plm$B$H$$$&%b%8%e!<%k$rAH$_9~$_$^$9!#(B
    = dir/module.plm
    dir/module.plm$B$H$$$&%b%8%e!<%k$rFI$_9~$_$^$9!#(B $B%b%8%e!<%k$N=i4|2=$O9T$o$l$^$9$,!"AH$_9~$_$O9T$o$l$^$;$s!#(B
    - dir/module.plm
    $B%b%8%e!<%k$NAH$_9~$_$O9T$$$^$;$s!#(B
    $B%b%8%e!<%k$OA0$K=q$$$F$"$k$b$N$+$i=g$KAH$_9~$^$l$^$9!#(B $B%b%8%e!<%k$rAH$_9~$`=gHV$K$h$C$F!"B?>/F0:n$,JQ$o$k$N$GCm0U$7$F2<$5$$!#(B $BF1$8%b%8%e!<%k$K4X$7$F0[$J$C$?@_Dj$r9T$C$?>l9g$O!"(B $B:G8e$N@_Dj$,M-8z$K$J$j$^$9!#(B

    $B%W%m%Q%F%#(B

    $B%W%m%Q%F%#$N@_Dj$O0J2<$N$h$&$J7A<0$G;XDj$7$^$9!#(B
    dir.module.key: value
    dir/module.plm$B$H$$$&%b%8%e!<%k$N!"(B key$B$H$$$&%W%m%Q%F%#$r(Bvalue$B$H$$$&CM$K$7$^$9!#(B value$B$K$O?t;z$G$bJ8;zNs$G$b$=$N$^$^;XDj$7$^$9!#(B
    $BF1$8%W%m%Q%F%#$rJ#?t@_Dj$G$-$k$b$N$H$G$-$J$$$b$N$,$"$j$^$9!#(B $BJ#?t@_Dj$G$-$J$$%W%m%Q%F%#$rJ#?t@_Dj$7$?>l9g$O!"(B $B:G=i$K@_Dj$7$?$b$N$,M-8z$K$J$j$^$9!#(B

    plum$B$N%W%m%Q%F%#(B

    plum$B<+?H$N%W%m%Q%F%#$K$O0J2<$N$b$N$,$"$j$^$9!#(B $B3F%b%8%e!<%k$G@_Dj$G$-$k%W%m%Q%F%#$O(B $B$=$l$>$l$N%b%8%e!<%k$N%I%-%e%a%s%H$r;2>H$7$F2<$5$$!#(B
    plum.kanji* ({jis|euc|sjis})
    plum.conf$B$,$I$N4A;z%3!<%I$G=q$+$l$F$$$k$+$r;XDj$7$^$9!#(B plum.conf$B$,(BJIS$B$G=q$+$l$F$$$k$J$i!V(Bjis$B!W!"(B EUC$B$G=q$+$l$F$$$k$J$i!V(Beuc$B!W!"(B SJIS$B$G=q$+$l$F$$$k$J$i!V(Bsjis$B!W$r$=$l$>$l;XDj$7$F2<$5$$!#(B $B$^$?!"!V(Bjis$B!W$OJL$N4A;z%3!<%I$HAH$_9g$o$;$k$3$H$,$G$-!"(B $B!V(Bjis,euc$B!W$d!"!V(Bjis,sjis$B!W$H;XDj$9$l$P!"(B $B$I$A$i$N4A;z%3!<%I$G=q$+$l$F$$$F$b@5$7$/G'<1$7$^$9!#(B plum$B$r(BUNIX$B$G
    plum.nick $B%K%C%/%M!<%`(B
    IRC$B$G$N%K%C%/%M!<%`$r;XDj$7$^$9!#(B $B%K%C%/%M!<%`$O(B9$BJ8;z0JFb$G!"%"%k%U%!%Y%C%H!"(B $B?t;z$H0lIt$N5-9f$,;HMQ$G$-$^$9!#4A;z$d%+%?%+%J$O;HMQ$G$-$^$;$s!#(B $B%G%U%)%k%H$G$O%m%0%$%sL>$r;HMQ$7$^$9!#(B
    plum.user $B%f!<%6L>(B
    $B%K%C%/%M!<%`$H$OJL$K!"$r;XDj$7$^$9!#(B $BIaDL$O%m%0%$%sL>$r@_Dj$9$k$h$&$K$7$F2<$5$$!#(B $B%G%U%)%k%H$G$O%m%0%$%sL>$r;HMQ$7$^$9!#(B
    plum.name $B(B
    $B%f!<%6$N$r;XDj$7$^$9!#<+J,$NL>A0$r<+M3$K@_Dj$G$-$^$9!#(B $B%K%C%/%M!<%`$d%f!<%6L>$H$O0c$C$F4A;z$J$I$b;HMQ$G$-$^$9!#(B $BJ8;z?t$N@)8B$O$"$j$^$;$s$,!"(B $BD9$/$F$b(B20$BJ8;zDxEY$K$7$F$*$$$?$[$&$,$$$$$H;W$$$^$9!#(B
    plum.server* $B%5!<%PL>(B[:($B%]!<%HHV9f(B)] [$B%Q%9%o!<%I(B]
    $B@\B3$9$k%5!<%P$r;XDj$7$^$9!#(B $B%5!<%PL>$K$O(BIP$B%"%I%l%9$r;XDj$9$k$3$H$b$G$-$^$9!#(B $B%]!<%HHV9f$rJ#?t;XDj$7$?>l9g$O!"(B $B@\B3$N$?$S$K$=$NCf$N(B1$B$D$,%i%s%@%`$GA*Br$5$l$^$9!#(B
    plum.client* $B%/%i%$%"%s%H%^%9%/(B[:$B%]!<%HHV9f(B] [$B%Q%9%o!<%I(B]
    $B@\B3$r5v2D$9$k%/%i%$%"%s%H$r;XDj$7$^$9!#(B $B%/%i%$%"%s%H%^%9%/$K%^%C%A$9$k%^%7%s$+$i$N@\B3$N$_$r5v2D$7$^$9!#(B $B%/%i%$%"%s%H%^%9%/$K$O!V(B*$B!W$H!V(B?$B!W$N(B 2$B
    plum.directory* $B%G%#%l%/%H%j(B
    $B%b%8%e!<%k$NB8:_$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?%G%#%l%/%H%j$O!"%G%U%)%k%H$G%b%8%e!<%k$rC5$9(B $B%G%#%l%/%H%j$h$j$bM%@h$5$l$^$9!#(B
    $B%W%m%Q%F%#L>$N:G8e$K!V(B*$B!W$,$D$$$F$$$k$b$N$O!"(B $BF1$8%W%m%Q%F%#$rJ#?t;XDj$9$k$3$H$,$G$-$^$9!#(B $B%W%m%Q%F%#L>$K!V(B*$B!W$O4^$^$l$J$$$N$GCm0U$7$F2<$5$$!#(B $B$^$?!"%W%m%Q%F%#$NCM$N8+J}$O0J2<$N$h$&$K$J$C$F$$$^$9!#(B
    value
    value$B$r$=$N$^$^;XDj$7$^$9!#(B
    $BCM(B
    $B!VCM!W$=$N$b$N$G$O$J$/!"AjEv$9$kCM$r;XDj$7$^$9!#(B
    [value]
    value$B$O>JN,$9$k$3$H$,$G$-$^$9!#(B
    {value1|value2|value3}
    $B!V(B|$B!W$G6h@Z$i$l$?$&$A$N$I$l$+(B1$B$D$r;XDj$7$^$9!#(B
    (value)
    value1,value2,value3$B$N$h$&$K!V(B,$B!W$G6h@Z$C$FJ#?t;XDj$G$-$^$9!#(B
    $B$3$l0J30$N5-9f$O!"6uGr$b4^$a$F$=$N$^$^;XDj$7$F2<$5$$!#(B

    $BF|IU!&;~4V$N%U%)!<%^%C%H(B

    $B%b%8%e!<%k$NCf$K$O%W%m%Q%F%#$KF|IU$d;~4V$N%U%)!<%^%C%H$r(B $B;XDj$G$-$k$b$N$,$"$j$^$9!#(B $B$3$l$i$O!V(B%$B!W$H$=$l$KB3$/%"%k%U%!%Y%C%H(B1$BJ8;z$H$$$&7A<0$G;XDj$7!"(B $B$=$l$>$l0J2<$N$h$&$KE83+$5$l$^$9!#(B
    %%
    $B!V(B%$B!W(B
    %Y
    $BG/(B (1970$B!A(B)
    %y
    $BG/$N2<(B2$B7e(B (00$B!A(B99)
    %m
    $B7n(B (01$B!A(B12)
    %b
    $B7n(B (Jan$B!A(BDec)
    %d
    $BF|(B (01$B!A(B31)
    %j
    $BF|(B (001$B!A(B366)
    %w
    $BMKF|(B (0$B!A(B6)
    %a
    $BMKF|(B (Sun$B!A(BSat)
    %H
    $B;~4V(B (00$B!A(B23)
    %p
    $B8aA0!"8a8e(B (AM,PM)
    %I
    $B;~4V(B (01$B!A(B12)
    %k
    $B;~4V(B ( 0$B!A(B23)
    %l
    $B;~4V(B ( 1$B!A(B12)
    %M
    $BJ,(B (00$B!A(B59)
    %S
    $BIC(B (00$B!A(B61)
    %{+|-}$BIC?t(Bo
    $B;~9o$r;XDj$5$l$?IC?t$@$1?J$a$k(B
    %{+|-}$B;~4V(BO
    $B;~9o$r;XDj$5$l$?;~4V$@$1?J$a$k(B

    $BJ8;zNsE83+$N%U%)!<%^%C%H(B

    $B%b%8%e!<%k$N$$$/$D$+$K$OJ8;zNs$N%U%)!<%^%C%H$r;XDj$9$k$3$H$,(B $B$G$-$k$b$N$,$"$j$^$9!#$3$l$i$N%U%)!<%^%C%H$O0J2<$N$h$&$J(B $B7A<0$G;XDj$7$^$9!#(B
    #(name)
    name$B$GI=$5$l$kCM$GCV$-49$($^$9!#CM$,Dj5A$5$l$F$$$J$1$l$P(B $B6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1|name2)
    name1$B$GI=$5$l$kCM$,Dj5A$5$l$F$$$l$P!"$=$NCM$GCV$-49$($^$9!#(B $B$^$?!"(Bname1$B$GI=$5$l$kCM$,Dj5A$5$l$F$*$i$:!"(Bname2$B$GI=$5$l$k(B $BCM$,Dj5A$5$l$F$$$l$P!"$=$NCM$GCV$-49$($^$9!#(B $B$I$A$i$bDj5A$5$l$F$$$J$1$l$P6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name;%s$B$5$s(B)
    name$B$GI=$5$l$kCM$r!V(B%s$B$5$s!W$H$$$&7A<0$GCV$-49$($^$9!#(B $B$3$N7A<0$O(Bprintf$B$GMxMQ$G$-$k$b$N$G$9!#(B name$B$GI=$5$l$kCM$,Dj5A$5$l$F$$$J$1$l$P6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1,name2)
    name1$B$GI=$5$l$kCM$H(Bname2$B$GI=$5$l$kCM$NN>J}$,Dj5A$5$l$F$$$l$P!"(B $B$=$l$i$NCM$rJB$Y$?$b$N$GCV$-49$($^$9!#$I$A$i$+JRJ}$G$b(B $BDj5A$5$l$F$$$J$1$l$P6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1;%s$B$5$^(B|name2;%s$B$5$s(B)
    name1$B$GI=$5$l$kCM$,Dj5A$5$l$F$$$l$P!"$=$NCM$r!V(B%s$B$5$^!W$H$$$&(B $B7A<0$GCV$-49$($^$9!#(Bname1$B$GI=$9$5$l$kCM$,Dj5A$5$l$F$*$i$:!"(B name2$B$GI=$5$l$kCM$,Dj5A$5$l$F$$$l$P!"$=$NCM$r!V(B%s$B$5$s!W$H$$$&(B $B7A<0$GCV$-49$($^$9!#$I$A$i$bDj5A$5$l$F$$$J$1$l$P(B $B6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1,name2|name1|name2)
    name1$B$GI=$5$l$kCM$H(Bname2$B$GI=$5$l$kCM$NN>J}$,Dj5A$5$l$F$$$l$P!"(B $B$=$l$i$NCM$rJB$Y$?$b$N$GCV$-49$($^$9!#$^$?!"(Bname1$B$GI=$5$l$k(B $BCM$+(Bname2$B$GI=$5$l$kCM$N$I$A$i$+$,Dj5A$5$l$F$$$l$P$=$NCM$G(B $BCV$-49$($^$9!#$I$A$i$bDj5A$5$l$F$$$J$1$l$P6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1,name2;%s$B$N(B%s$B$5$s(B)
    name1$B$GI=$5$l$kCM$H(Bname2$B$GI=$5$l$kCM$NN>J}$,Dj5A$5$l$F$$$l$P!"(B $B$=$l$i$NCM$r!V(B%s$B$N(B%s$B$5$s!W$H$$$&7A<0$GCV$-49$($^$9!#(B $B$I$A$i$+JRJ}$G$bDj5A$5$l$F$$$J$1$l$P!"6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name1,name2;%s$B$N(B%s$B$5$s(B|name2;%s$B$5$s(B)
    name1$B$GI=$5$l$kCM$H(Bname2$B$GI=$5$l$kCM$NN>J}$,Dj5A$5$l$F$$$l$P!"(B $B$=$l$i$NCM$r!V(B%s$B$N(B%s$B$5$s!W$H$$$&7A<0$GCV$-49$($^$9!#(B name2$B$GI=$5$l$kCM$@$1$,Dj5A$5$l$F$$$l$P!"$=$NCM$r!V(B%s$B$5$s!W$H$$$&(B $B7A<0$GCV$-49$($^$9!#$=$l0J30$N>l9g$O6uJ8;zNs$GCV$-49$($^$9!#(B
    #(name|;$BL>A0ITL@(B)
    name$B$GI=$5$l$kCM$,Dj5A$5$l$F$$$l$P$=$NCM$GCV$-49$($^$9!#(B $BDj5A$5$l$F$$$J$1$l$P!"!VL>A0ITL@!W$GCV$-49$($i$l$^$9!#(B
    plum-2.33.1.orig/doc/varsub.html0100644001001300006200000003474206676174332016346 0ustar gotomkobayashi variable and subroutine

    $BJQ?t$H%5%V%k!<%A%s(B

    $B%b%8%e!<%k$+$i(Bplum$B$N>pJs$rCN$k$?$a$K!"$$$/$D$+$NJQ?t$r;2>H$9$k$3$H$,$G$-$^$9!#(B $B$^$?!"%b%8%e!<%k$N3+H/$rMF0W$K$9$k$?$a$K!"(B $B$$$/$D$+$N%5%V%k!<%A%s$,MQ0U$5$l$F$$$^$9!#(B $B$3$l$i$NJQ?t$d%5%V%k!<%A%s$OA4$F(Bmain$B%Q%C%1!<%8$K$"$j$^$9!#(B main$B%Q%C%1!<%80J30$K$"$kJQ?t$d%5%V%k!<%A%s$O;HMQ$7$F$O$$$1$^$;$s!#(B

    $B%b%8%e!<%k$+$i;2>H$G$-$kJQ?t(B

    $B%b%8%e!<%k$+$i;2>H$G$-$kJQ?t$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B $BJQ?tL>$N:G8e$K(Blist$B$,IU$$$F$$$k$b$N$O!"%9%+%i$K%Q%C%/$5$l$?%j%9%H$G$9!#(B $B$3$l$i$O$=$l$>$l$NMWAG$r!"4V$K%;%Q%l!<%?$r$O$5$s$G$D$J$2$?$b$N$G$9!#(B $B$^$?%j%9%H$N@hF,$K$b%;%Q%l!<%?$,IU2C$5$l$F$$$^$9!#(B $B$?$@$76u$N%j%9%H$O6uJ8;zNs$HF1$8$G$9!#(B $B%j%9%H$K$O=EJ#$7$?CM$r3JG<$9$k$3$H$O$G$-$^$;$s!#(B

    plum$B$NFbIt$G$O$l3d$jEv$F$i$l$^$9!#(B $B$3$l$i$O$=$l$>$lJL!9$N(BIRC$B%M%C%H%o!<%/$K@\B3$5$l$F$$$k2DG=@-$,$"$k$?$a!"(B $B$=$l$>$l$N%f!<%6(BNO$B$GJQ?t$NCM$bJL!9$K4IM}$7$F$$$^$9!#(B $B$^$?!"%U%!%$%k(BNO$B$O(Bplum$B$,3+$$$?%=%1%C%H$N%U%!%$%k%O%s%I%k$HBP1~$7$F$$$^$9!#(B $B$3$l$O(Bfileno($B%U%!%$%k%O%s%I%k(B)$B$GF@$i$l$kCM$G$9!#(B

    $B%9%+%iJQ?t(B

    $'rin
    $BF~NO%U%!%$%k%O%s%I%k$N%^%9%/$G$9!#(B $B%U%!%$%kHV9f$KBP1~$9$k%S%C%H$r(B1$B$K$7$^$9!#(B
    $'win
    $B=PNO%U%!%$%k%O%s%I%k$N%^%9%/$G$9!#(B $B%U%!%$%kHV9f$KBP1~$9$k%S%C%H$r(B1$B$K$7$^$9!#(B
    $'rout
    $BF~NO$N=`Hw$,$G$-$F$$$k%U%!%$%k%O%s%I%k$N%^%9%/(B $B%U%!%$%kHV9f$KBP1~$9$k%S%C%H$,(B1$B$K$J$j$^$9!#(B
    $'wout
    $B=PNO$N=`Hw$,$G$-$F$$$k%U%!%$%k%O%s%I%k$N%^%9%/(B $B%U%!%$%kHV9f$KBP1~$9$k%S%C%H$,(B1$B$K$J$j$^$9!#(B
    $'serverlist
    $BA4$F$N%5!<%P$N%U%!%$%k(BNO$B$N%j%9%H$G$9!#(B
    $'clientlist
    $BA4$F$N%/%i%$%"%s%H$N%U%!%$%k(BNO$B$N%j%9%H$G$9!#(B
    $'listenlist
    $BA4$F$N@\B3BT$A$N%=%1%C%H$N%U%!%$%k(BNO$B$N%j%9%H$G$9!#(B
    $'kanjilist
    $B4A;z$G$N@55,I=8=$r%5%]!<%H$7$F$$$k4A;z%3!<%I$N%j%9%H$G$9!#(B

    $BG[NsJQ?t(B

    $'username[$B%f!<%6(BNO]
    $B$=$l$>$l$N%f!<%6$N%f!<%6L>$G$9!#%f!<%6L>$O(Bplum$B$Ne$G$N%f!<%6L>$H$O0l@Z4X78$"$j$^$;$s!#(B
    $'filename[$B%f!<%6(BNO]
    $B$=$l$>$l$N%f!<%6$N@_Dj%U%!%$%k$N%U%!%$%kL>$G$9!#(B
    $'modulelist[$B%f!<%6(BNO]
    $B$=$l$>$l$N%f!<%6$,AH$_9~$s$G$$$k%b%8%e!<%k$N%j%9%H$G$9!#(B $B%j%9%H$NMWAG$O%b%8%e!<%k$N%Q%C%1!<%8L>$G$9!#(B
    $'server[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$KBP1~$9$k%5!<%P$N%U%!%$%k(BNO$B$G$9!#(B $B%5!<%P$K@\B3$7$F$$$J$$;~$NCM$OITDj$G$9!#(B
    $'channellist[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$G8=:_F~$C$F$$$k%A%c%s%M%k$N%j%9%H$G$9!#(B
    $'userno[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$,B0$9$k%f!<%6(BNO$B$G$9!#(B $B4pK\E*$K$=$l$>$l$N%U%!%$%k(BNO$B$O$I$l$+$N%f!<%6(BNO$B$KB0$7$F$$$^$9$,!"(B $B=i4|A0$N%/%i%$%"%s%H$N%U%!%$%k(BNO$B$O$I$N%f!<%6(BNO$B$K$bB0$7$^$;$s!#(B
    $'servername[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$KBP1~$9$k%5!<%P$NL>A0$G$9!#(B $B%5!<%PL>$O%5!<%P$,Aw$C$F$/$kL>A0$G!"(B $BI,$:$7$b%^%7%sL>$H0lCW$9$k$H$O8B$j$^$;$s!#(B
    $'socket[$B%U%!%$%k(BNO]
    $B%U%!%$%k(BNO$B$KBP1~$9$k%U%!%$%k%O%s%I%kL>$G$9!#(B
    $'avail[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$K$D$$$F!"=i4|2=$,=*$o$C$F$$$k$+$I$&$+$N(B $BO@M}CM$G$9!#=i4|2=$,=*$o$C$F$$$l$P??(B(1)$B!"$=$&$G$J$1$l$P56(B(0)$B$G$9!#(B $B%U%!%$%k(BNO$B$,%/%i%$%"%s%H$N$b$N$J$i$P!"%/%i%$%"%s%H$+$i@5$7$$(B $B%Q%9%o!<%I$H%K%C%/%M!<%`$H%f!<%6L>$r$rAw$k$H(B1$B$K$J$j$^$9!#(B
    $'nick[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$G$N%K%C%/%M!<%`$G$9!#(B
    $'user[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$G$N%f!<%6L>$G$9!#(B $B$3$N%f!<%6L>$O(B$'username[$B%f!<%6(BNO]$B$NCM$H$OA4$/4X78$J$/!"(B IRC$B>e$G$N%f!<%6L>$G$9!#(B
    $'access[$B%U%!%$%k(BNO]
    $B$=$l$>$l$N%U%!%$%k(BNO$B$N:G8e$KF~NO$N$"$C$?;~4V$G$9!#(B $B$3$N;~4V$O(Btime()$B$GJV$5$l$kCM$HF1$8$b$N$G!"(B $B%/%i%$%"%s%H$d%5!<%P$@$1$G$J$/!"$9$Y$F$N%=%1%C%H(B $B%U%!%$%k%O%s%I%k$KBP$7$F@5$7$$CM$r;}$C$F$$$^$9!#(B

    $B%O%C%7%eJQ?t(B

    $'filename{$B%Q%C%1!<%8L>(B}
    $B%Q%C%1!<%8L>$KBP1~$9$k%b%8%e!<%k$N%U%!%$%kL>$G$9!#(B
    $'dirctory{$B%Q%C%1!<%8L>(B}
    $B%Q%C%1!<%8L>$KBP1~$9$k%b%8%e!<%k$,B8:_$9$k%G%#%l%/%H%j$G$9!#(B
    $'package{$B%U%!%$%kL>(B}
    $B%b%8%e!<%k$N%U%!%$%kL>$KBP1~$9$k%Q%C%1!<%8L>$G$9!#(B
    $'labellist{$B%f!<%6(BNO, $B%Q%C%1!<%8L>(B}
    $B$=$l$>$l$N%Q%C%1!<%8$KBP1~$9$k%i%Y%k$N%j%9%H$G$9!#(B
    $'nameslist{$B%U%!%$%k(BNO, $B%A%c%s%M%kL>(B}
    $B$=$l$>$l$N%A%c%s%M%k$KF~$C$F$$$k%K%C%/%M!<%`$N%j%9%H$G$9!#(B $B%K%C%/%M!<%`$K$O%*%Z%l!<%?$d%b%G%l!<%?$N5-9f$r4^$_$^$9!#(B $B%A%c%s%M%k$K!"!V(Bpupu$B!W!"!V(Bplum$B!W$H$$$&(B2$B?M$N?M$,F~$C$F$*$j!"(B pupu$B$,%A%c%s%M%k%*%Z%l!<%?$N>l9g!"$3$l$O(B $B!V(B@pupu$B!W$H!V(Bplum$B!W$H$$$&MWAG$r4^$`%j%9%H$K$J$j$^$9!#(B
    $'channelmode{$B%U%!%$%k(BNO, $B%A%c%s%M%kL>(B, $B%b!<%I(B}
    $B$=$l$>$l$N%A%c%s%M%k$K@_Dj$5$l$F$$$k%A%c%s%M%k%b!<%I$G$9!#(B $BCM$r;}$D%b!<%I$J$i$=$NCM$,!"$=$l0J30$N%b!<%I$K$D$$$F$O(B $B@_Dj$5$l$F$$$l$P(B1$B$K$J$j$^$9!#(B
    $'topic{$B%U%!%$%k(BNO, $B%A%c%s%M%kL>(B}
    $B$=$l$>$l$N%A%c%s%M%k$K@_Dj$5$l$F$$$k%H%T%C%/$NCM$G$9!#(B

    $B%b%8%e!<%k$+$iMxMQ$G$-$k%5%V%k!<%A%s(B

    $B%b%8%e!<%k$+$iMxMQ$G$-$k%5%V%k!<%A%s$K$O0J2<$N$h$&$J$b$N$,$"$j$^$9!#(B

    $B%7%9%F%`>uBV
    &'property($B%f!<%6(BNO, $B%W%m%Q%F%#L>(B) : $B%W%m%Q%F%#CM(B
    $B@_Dj%U%!%$%k$G@_Dj$5$l$F$$$k%W%m%Q%F%#$NCM$r;2>H$7$^$9!#(B $B%W%m%Q%F%#L>$K$O%Q%C%1!<%8L>$r4^$_$^$;$s!#(B $B$D$^$j!"(Bdir/module.plm$B$G!V(Bkey$B!W$H$$$&%W%m%Q%F%#L>$r;XDj$9$k$H!"(B $B@_Dj%U%!%$%kCf$N!V(Bdir.module.key$B!W$NCM$,F@$i$l$^$9!#(B $B$^$?%5%V%k!<%A%s$r%9%+%i%3%s%F%-%9%H$GI>2A$9$k$H!"(B $B:G=i$K@_Dj$7$?%W%m%Q%F%#$NCM$rF@$i$l$^$9!#(B $BG[Ns%3%s%F%-%9%H$GI>2A$9$k$H!"A4$F$N@_Dj$,F@$i$l$^$9!#(B
    &'load($B%f!<%6L>(B, $B%U%!%$%kL>(B)
    $B%f!<%6L>$KBP1~$9$k@_Dj%U%!%$%k$rFI$_9~$_$^$9!#(B $B$3$N%5%V%k!<%A%s$O$J$k$Y$/;HMQ$7$J$$$G2<$5$$!#(B
    &'import($B%f!<%6(BNO,$B%U%!%$%kL>(B)
    $B;XDj$7$?%b%8%e!<%k$rFI$_9~$_$^$9!#(B $B%b%8%e!<%k$N=i4|2=$O9T$o$l$^$9$,!"AH$_9~$_$O9T$o$l$^$;$s!#(B $B$3$N%5%V%k!<%A%s$O$J$k$Y$/;HMQ$7$J$$$G2<$5$$!#(B

    $BJ8;zNsJQ49(B

    &'prefix($B%W%l%U%#%/%9(B) : ($B%K%C%/%M!<%`(B, $B%f!<%6L>(B, $B%[%9%HL>(B)
    $B%W%l%U%#%/%9$rJ,2r$7$F%K%C%/%M!<%`!"%f!<%6L>!"(B $B%[%9%HL>$NG[Ns$rF@$^$9!#(B
    &'regex($B%o%$%k%I%+!<%I(B) : $B@55,I=8=(B
    $B%o%$%k%I%+!<%I$NJ8;zNs$r@55,I=8=$NJ8;zNs$KJQ49$7$^$9!#(B
    &'expand($B%U%!%$%kL>(B) : $B%U%!%$%kL>(B
    ~$B$G;O$^$k%Q%9$r
    &'timelocal($BIC(B, $BJ,(B, $B;~(B, $BF|(B, $B7n(B, $BG/(B) : $BIC(B
    localtime$B$H5U$NF0:n$r$7$^$9!#(B
    &'date($B%U%)!<%^%C%H(B, $B;~4V(B) : $BJ8;zNs(B
    $B%U%)!<%^%C%H$K=>$C$FF|IU$d;~4V$rE83+$7$^$9!#(B $B0z?t$H$7$F;~4V$r;XDj$9$k$H!"$=$N;~4V$H$7$FE83+$7!"(B $B;XDj$7$J$+$C$?>l9g$O8=:_$N;~4V$H$7$FE83+$7$^$9!#(B
    &'format($B%U%)!<%^%C%H(B, $B%O%C%7%e(B)
    $B%U%)!<%^%C%H$K=>$C$F%O%C%7%e$N%G!<%?$rE83+$7$^$9!#(B
    &'real($B%A%c%s%M%kL>(B) : $B%A%c%s%M%kL>(B
    $B%(%$%j%"%9$N%A%c%s%M%kL>$+$i$rF@$^$9!#(B $B%(%$%j%"%9$O(B%$B$G;O$^$k%A%c%s%M%kL>$G$9!#(B
    &'alias($B%A%c%s%M%kL>(B) : $B%A%c%s%M%kL>(B
    $B$+$i%(%$%j%"%9$N%A%c%s%M%kL>$rF@$^$9!#(B
    &'channel($BJ8;zNs(B) : $BO@M}CM(B
    $BJ8;zNs$,%A%c%s%M%kL>$J$i$,??$r!"$=$&$G$J$1$l$P56$rJV$7$^$9!#(B
    &'parse($B%a%C%;!<%8(B) : ($B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    IRC$B$N%a%C%;!<%8$r2r@O$7$F!"(Bplum$B$NFbIt$G;HMQ$9$kG[Ns$KJQ49$7$^$9!#(B $B$3$N%5%V%k!<%A%s$O$J$k$Y$/;HMQ$7$J$$$G2<$5$$!#(B
    &'build($B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...) : $B%a%C%;!<%8(B
    plum$B$NFbIt$G;HMQ$7$F$$$kG[Ns$r%5!<%P$d%/%i%$%"%s%H$K(B $BAw$k$3$H$,$G$-$k%a%C%;!<%8$KJQ49$7$^$9!#(B $B$3$N%5%V%k!<%A%s$O$J$k$Y$/;HMQ$7$J$$$G2<$5$$!#(B

    $B%j%9%HA`:n(B

    &'list($BMWAG(B1, $BMWAG(B2, ...) : $B%j%9%H(B
    $BG[Ns$+$i%j%9%H$r@8@.$7$^$9!#(B
    &'add($B%j%9%H(B, $BMWAG(B1, $BMWAG(B2, ...) : $B%j%9%H(B
    $B%j%9%H$K;XDj$7$?MWAG$rDI2C$7$^$9!#(B
    &'remove($B%j%9%H(B, $BMWAG(B1, $BMWAG(B2, ...) : $B%j%9%H(B
    $B%j%9%H$+$i;XDj$7$?MWAG$r
    &'change($B%j%9%H(B, $BMWAG(B1, $BMWAG(B2, $BMWAG(B3, $BMWAG(B4, ...) : $B%j%9%H(B
    $B%j%9%H$NMWAG$rJQ99$7$^$9!#(B $BMWAG(B1$B$OMWAG(B2$B$KJQ99$5$l!"MWAG(B3$B$OMWAG(B4$B$KJQ99$5$l$^$9!#(B $BMWAG$N?t$,4q?t$N$H$-$O!":G8e$NMWAG$K$D$$$F$OL5;k$5$l$^$9!#(B
    &'exist($B%j%9%H(B, $BMWAG(B1, $BMWAG(B2, ...) : $BO@M}CM(B
    $B%j%9%H$K;XDj$5$l$?MWAG$,4^$^$l$F$$$k$+$I$&$+$rJV$7$^$9!#(B $BJ#?t$NMWAG$r;XDj$7$?$H$-$O!"(B $B$=$N$&$A$N$I$l$+(B1$B$D$G$b4^$^$l$F$$$l$P??$K$J$j$^$9!#(B
    &'array($B%j%9%H(B) : $BG[Ns(B
    $B%j%9%H$+$iG[Ns$r@8@.$7$^$9!#(B

    $B4A;z%3!<%IJQ49(B

    &'euc_euc(EUC$BJ8;zNs(B) : EUC$BJ8;zNs(B
    EUC$B%3!<%I$NJ8;zNs$r(BEUC$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'euc_jis(EUC$BJ8;zNs(B) : JIS$BJ8;zNs(B
    EUC$B%3!<%I$NJ8;zNs$r(BJIS$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'euc_sjis(EUC$BJ8;zNs(B) : SJIS$BJ8;zNs(B
    EUC$B%3!<%I$NJ8;zNs$r(BSJIS$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'jis_euc(JIS$BJ8;zNs(B) : EUC$BJ8;zNs(B
    JIS$B%3!<%I$NJ8;zNs$r(BEUC$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'jis_jis(JIS$BJ8;zNs(B) : JIS$BJ8;zNs(B
    JIS$B%3!<%I$NJ8;zNs$r(BISO-2022-JP$B$G5,Dj$5$l$F$$$k(B JIS$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'jis_sjis(JIS$BJ8;zNs(B) : SJIS$BJ8;zNs(B
    JIS$B%3!<%I$NJ8;zNs$r(BEUC$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'sjis_euc(SJIS$BJ8;zNs(B) : EUC$BJ8;zNs(B
    SJIS$B%3!<%I$NJ8;zNs$r(BEUC$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'sjis_jis(SJIS$BJ8;zNs(B) : JIS$BJ8;zNs(B
    SJIS$B%3!<%I$NJ8;zNs$r(BJIS$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B
    &'sjis_sjis(SJIS$BJ8;zNs(B) : SJIS$BJ8;zNs(B
    SJIS$B%3!<%I$NJ8;zNs$r(BSJIS$B%3!<%I$NJ8;zNs$KJQ49$7$^$9!#(B

    $B%5!<%PF~=PNO(B

    &'s_print($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%5!<%P$K%a%C%;!<%8$rAw$j$^$9!#(B $B%W%l%U%#%/%9$OI,MW$,$J$1$l$P;XDj$7$J$$$G2<$5$$!#(B
    &'s_flush($B%U%!%$%k(BNO)
    $B%5!<%P$N=PNO%P%C%U%!$K$?$^$C$F$$$k%a%C%;!<%8$rA4$F%5!<%P$KAw$j$^$9!#(B
    &'s_connect($B%f!<%6(BNO)
    $B%5!<%P$X@\B3$7$^$9!#(B
    &'s_close($B%U%!%$%k(BNO)
    $B;XDj$7$?%5!<%P$X$N@\B3$rJD$8$^$9!#(B

    $B%/%i%$%"%s%HF~=PNO(B

    &'c_print($B%U%!%$%k(BNO, $B%W%l%U%#%/%9(B, $B%3%^%s%I(B, $B0z?t(B1, $B0z?t(B2, ...)
    $B%/%i%$%"%s%H$K%a%C%;!<$XAw$j$^$9!#(B
    &'c_flush($B%U%!%$%k(BNO)
    $B%/%i%$%"%s%H$N=PNO%P%C%U%!$K$?$^$C$F$$$k%a%C%;!<%8$r(B $BA4$F%/%i%$%"%s%H$KAw$j$^$9!#(B
    &'c_close($B%U%!%$%k(BNO)
    $B;XDj$7$?%/%i%$%"%s%H$H$N@\B3$rJD$8$^$9!#(B

    $B%M%C%H%o!<%/A`:n(B

    &'connect($B%5!<%PL>(B, $B%]!<%HHV9f(B) : $B%U%!%$%k(BNO
    $B;XDj$7$?%5!<%P$N;XDj$7$?%]!<%H$X@\B3$7$^$9!#(B
    &'listen($B%]!<%HHV9f(B) : $B%U%!%$%k(BNO
    $B;XDj$7$?%]!<%H$G%/%i%$%"%s%H$+$i$N@\B3$r
    &'accept($B%U%!%$%k(BNO) : $B%U%!%$%k(BNO
    $B;XDj$7$?%U%!%$%k(BNO$B$N%]!<%H$K@\B3$7$F$-$?%/%i%$%"%s%H$r@\B3$7$^$9!#(B
    &'close($B%U%!%$%k(BNO)
    $B;XDj$7$?%U%!%$%k(BNO$B$H$N@\B3$rJD$8$^$9!#(B
    &'sockname($B%U%!%$%k(BNO) : ($B%]!<%HHV9f(B, IP$B%"%I%l%9(B, $B%[%9%HL>(B)
    $B;XDj$7$?%U%!%$%k(BNO$B$N%=%1%C%H$N$3$A$iB&$N>pJs$rF@$^$9!#(B $B%]!<%HHV9f!"(BIP$B%"%I%l%9$OId9f$J$7$N@0?t$G$9!#(B IP$B%"%I%l%9$+$i%[%9%HL>$,F@$i$l$J$$>l9g!"%[%9%HL>$O6u$K$J$j$^$9!#(B
    &'peername($B%U%!%$%k(BNO) : ($B%]!<%HHV9f(B, IP$B%"%I%l%9(B, $B%[%9%HL>(B)
    $B;XDj$7$?%U%!%$%k(BNO$B$N%=%1%C%H$NAjpJs$rF@$^$9!#(B $B%]!<%HHV9f!"(BIP$B%"%I%l%9$OId9f$J$7$N@0?t$G$9!#(B IP$B%"%I%l%9$+$i%[%9%HL>$,F@$i$l$J$$>l9g!"%[%9%HL>$O6u$K$J$j$^$9!#(B
    &'user($B%U%!%$%k(BNO) : $B%W%l%U%#%/%9(B
    $B;XDj$7$?%U%!%$%k(BNO$B$G$N%W%l%U%#%/%9$rF@$^$9!#(B
    plum-2.33.1.orig/doc/history.html0100644001001300006200000010463006676174332016537 0ustar gotomkobayashi history

    $B%P!<%8%g%s(B

    plum$B$N%P!<%8%g%s$O(B3$B$D$N?t;z$GI=$5$l$F$$$^$9!#(B $B$3$l$i$N?t;z$O$=$l$>$l!"(Bplum$B$N%P!<%8%g%s!"(B plum$B$N%j%S%8%g%s$H%Q%C%1!<%8$N%j%S%8%g%s$rI=$7$F$$$^$9!#(B $BNc$($P!"!V(B2.1.1$B!W$H$$$&$N$O(B2$BHVL\$K=P$?(Bplum$B$N:G=i$NHG$G!"(B $B:G=i$N%Q%C%1!<%8$H$$$&$3$H$K$J$j$^$9!#(B

    $BJQ99MzNr(B

    2.33.1

    plum
    Perl4$B$G(BCTCP$B$r@5$7$/=hM}$G$-$J$+$C$?%P%0$r=$@5(B
    channel/mode/set.plm
    $B%A%c%s%M%k$K<+J,$,F~$C$F$$$k$+$I$&$+3NG'$9$k$h$&$K$7$?!#(B

    2.32.1

    plum
    'array$B$N5sF0$,$*$+$7$+$C$?$N$r=$@5(B
    module_enable$B!"(Bmodule_diasble$B$N%?%$%_%s%0$rJQ99(B
    'build$B$NF0:n$rJQ99(B
    /exit$B;~$K(Bmodule_disable$B$r 'timelocal$B$,@5$7$/$J$$CM$rJV$9$3$H$,$"$C$?$N$r=$@5(B
    auto/alias.plm
    $B4A;z%3!<%I$r;XDj$7$?$H$-$K$*$+$7$/$J$k$3$H$,$"$C$?$N$r=$@5(B
    auto/cache.plm
    $B?7$?$KDI2C(B
    auto/message.plm
    from.nick.now$B$,
    auto/nako.plm
    nako 1.59 with all patches$BAjEv$KJQ99(B
    auto/package.plm
    from.nick.now$B$,
    ctcp/dcc/gate.plm
    QUIT$B%a%C%;!<%8$N7k2L$rJV$7$F$$$J$+$C$?$N$r=$@5(B
    sys/module/update.plm
    $B6u$N%a%C%;!<%8$rAw$k$3$H$,$"$C$?$N$r=$@5(B
    sys/multicast.plm
    $B%b%8%e!<%k$r30$7$?$H$-$NF0:n$rJQ99(B
    sys/web.plm
    $B0lIt$N%a%C%;!<%8$N=PNO@h$rJQ99(B

    2.31.1

    plum
    'format$B%5%V%k!<%A%s$rDI2C(B
    'channel$B%5%V%k!<%A%s$rDI2C(B
    'timelocal$B%5%V%k!<%A%s$rDI2C(B
    'date$B$N%U%)!<%^%C%H$K%*%U%;%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    $B%/%i%$%"%s%H$+$i$N(BPONG$B$r%5!<%P$KAw$i$J$$$h$&$K$7$?(B
    jis$B$G$N@55,I=8=$N%^%C%A%s%0$r%F%9%H$9$k$N$r$d$a$?(B
    auto/alias.plm
    private$B!"(Binvisible$B!"(Breadonly$B!"(Bscalar$B%W%m%Q%F%#$rDI2C(B
    auto/answer.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    auto/message.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    check$B%W%m%Q%F%#$H(Bexists$B%W%m%Q%F%#$rDI2C(B
    $B%a%C%;!<%8$rAw$k$3$H$,$G$-$J$$$3$H$,$"$C$?$N$r=$@5(B
    format$B%W%m%Q%F%#$rJ#?t9T;XDj$G$-$k$h$&$K$7$?(B
    $B4A;z%3!<%I$r;XDj$7$?$H$-$K%U%!%$%k$,@5$7$/:n@.$5$l$J$+$C$?$N$r=$@5(B
    auto/oper.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    request$B%W%m%Q%F%#$G!V(B*$B!W$H!V(B?$B!W$,;H$($k$h$&$K$7$?(B
    auto/package.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    check$B%W%m%Q%F%#$H(Bexists$B%W%m%Q%F%#$rDI2C(B
    $B%U%!%$%k$rAw$k$3$H$,$G$-$J$$$3$H$,$"$C$?$N$r=$@5(B
    format$B%W%m%Q%F%#$rJ#?t9T;XDj$G$-$k$h$&$K$7$?(B
    $B4A;z%3!<%I$r;XDj$7$?$H$-$K%U%!%$%k$,@5$7$/:n@.$5$l$J$+$C$?$N$r=$@5(B
    auto/random.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    format$B%W%m%Q%F%#$rJ#?t9T;XDj$G$-$k$h$&$K$7$?(B
    request$B%W%m%Q%F%#$G!V(B*$B!W$H!V(B?$B!W$,;H$($k$h$&$K$7$?(B
    auto/reply.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    format$B%W%m%Q%F%#$rJ#?t9T;XDj$G$-$k$h$&$K$7$?(B
    auto/response.plm
    plum$B$N(B'format$B$rMxMQ$9$k$h$&$K$7$?(B
    format$B%W%m%Q%F%#$rJ#?t9T;XDj$G$-$k$h$&$K$7$?(B
    channel/filter.plm
    $B?7$?$KDI2C(B
    channel/join/kick.plm
    JOIN$B;~$K;XDj$7$?%-!<$rJ]B8$9$k$h$&$K$7$?(B
    ctcp/dcc/send.plm
    $B%U%!%$%k$,Aw$l$J$$$3$H$,$"$C$?$N$r=$@5(B
    ctcp/echo.plm
    $B0z?t$,;XDj$5$l$F$$$k$+%A%'%C%/$9$k$h$&$K$7$?(B
    ctcp/part.plm
    $B%A%c%s%M%kL>$,;XDj$5$l$F$$$k$+%A%'%C%/$9$k$h$&$K$7$?(B
    ctcp/ping.plm
    $B0z?t$,;XDj$5$l$F$$$k$+%A%'%C%/$9$k$h$&$K$7$?(B
    log/channel.plm
    offset$B%W%m%Q%F%#$rGQ;_(B
    log/daily.plm
    offset$B%W%m%Q%F%#$rGQ;_(B
    log/mail.plm
    offset$B%W%m%Q%F%#$rGQ;_(B
    sys/timer.plm
    $B%3%^%s%I$K4^$^$l$kF|IU$rE83+$9$k$h$&$K$7$?(B

    2.30.1

    plum
    $B@5$7$/@55,I=8=$,07$($k4A;z%3!<%I$r%A%'%C%/$9$k$h$&$K$7$?(B
    'regex$B$,!V(B[$B!W$H!V(B{$B!W$J$I$rF10l;k$9$k$h$&$K$7$F$$$?$N$r$d$a$?(B
    delete$B$r1i;;;R$H$7$F eval$B$N0z?t$H$7$F%V%m%C%/$rM?$($F$$$?$N$h$d$a$?(B
    getprotobyname$B$rG[Ns%3%s%F%-%9%H$G module_enable$B$H(Bmodule_disable$B$N%$%Y%s%H$rDI2C$7$?(B
    $B%j%9%H$NFbItI=8=$rJQ99$7$?(B
    directory$B%W%m%Q%F%#$rDI2C(B
    $B@_Dj%U%!%$%k$NL>A0$r(B$'filename[]$B$K3JG<$9$k$h$&$K$7$?!#(B
    $B%b%8%e!<%k$N%G%#%l%/%H%j$r(B$'directory{}$B$K3JG<$9$k$h$&$K$7$?(B
    CTCP$B%a%C%;!<%8$NJQ99$,$G$-$J$+$C$?%P%0$r=$@5(B
    auto/response.plm
    $B?7$?$KDI2C(B
    ctcp/dcc/nat.plm
    $B?7$?$KDI2C(B
    auto/answer.plm
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    auto/message.plm
    $B%U%!%$%k$N%U%)!<%^%C%H$rJQ99$7$?(B
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    auto/oper.plm
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    auto/package.plm
    $B%U%!%$%k$N%U%)!<%^%C%H$rJQ99$7$?(B
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    DCC$B$NE>Aw$K<:GT$7$?$H$-$K%U%!%$%k$,>C$($k$3$H$,$"$C$?$N$r=$@5(B
    auto/random.plm
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    auto/reply.plm
    $B%a%C%;!<%8$N%U%)!<%^%C%H$r;XDj$G$-$k$h$&$K$7$?(B
    $B%^%C%A%s%0;~$NBgJ8;z>.J8;z$r6hJL$7$J$$$h$&$K$7$?(B
    channel/join/connect.plm
    $B%-!<$,@_Dj$5$l$F$$$k%A%c%s%M%k$KF~$k$3$H$,$G$-$k$h$&$K$7$?(B
    channel/join/kick.plm
    $B%-!<$,@_Dj$5$l$F$$$k%A%c%s%M%k$KF~$k$3$H$,$G$-$k$h$&$K$7$?(B
    ctcp/dcc/gate.plm
    $BAw?.;~$K@5$7$/Cf7Q$G$-$J$$$3$H$,$"$C$?$N$r=$@5(B
    known$B%W%m%Q%F%#$rDI2C(B
    log/channel.plm
    $B$$$D$G$b%b%8%e!<%k$rMxMQ$r3+;O$G$-$k$h$&$K$7$?(B
    sys/multicast.plm
    $B$$$D$G$b%b%8%e!<%k$rMxMQ$r3+;O$G$-$k$h$&$K$7$?(B
    sys/web.plm
    $B%Q%9%o!<%I$J$7$N@\B3$,$G$-$k$h$&$K$7$?(B
    $B%5!<%P$+$i@ZCG$5$l$?;~$b%]!<%H$rJD$8$J$$$h$&$K$7$?(B
    $B$$$D$G$b%b%8%e!<%k$rMxMQ$r3+;O$G$-$k$h$&$K$7$?(B

    2.29.1

    plum
    $B@ZCG;~$K%A%c%s%M%k%b!<%I$r%/%j%"$7$F$$$J$+$C$?$N$r=$@5(B
    $B@ZCG;~$K%H%T%C%/$r%/%j%"$7$F$$$J$+$C$?$N$r=$@5(B
    $'usermode{$B%U%!%$%k(BNO, $B%b!<%I(B}$B$r:n@.$7$?(B
    $B%A%c%s%M%k%b!<%I(Be$B!"(BI$B!"(BO$B$KBP1~$7$?(B
    $B%5!<%P$N%]!<%HHV9f$rJ#?t;XDj$G$-$k$h$&$K$7$?(B
    auto/answer.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    auto/message.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    $B%a%C%;!<%8$rJ#?tH/8@$G$-$k$h$&$K$7$?(B
    $B%5!<%P$+$i@ZCG$5$l$?$H$-$KDLCN;~9o$r=i4|2=$9$k$h$&$K$7$?(B
    auto/nako.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    $B!V$5$s!W$r!V(B\xA4\xB5\xA4\xF3$B!W$K=q$-$+$($?(B
    auto/oper.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    $B%a%C%;!<%8$rJ#?tH/8@$G$-$k$h$&$K$7$?(B
    auto/package.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    $B4A;z%3!<%I$NJQ49$,@5$7$/9T$($F$$$J$+$C$?$N$r=$@5(B
    $B%a%C%;!<%8$rJ#?tH/8@$G$-$k$h$&$K$7$?(B
    $B%5!<%P$+$i@ZCG$5$l$?$H$-$KDLCN;~9o$r=i4|2=$9$k$h$&$K$7$?(B
    'sockname$B%5%V%k!<%A%s$r;HMQ$9$k$h$&$KJQ99(B
    auto/random.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    auto/reply.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    channel/join/invite.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    channel/join/kick.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    channel/mode/oper/set.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    $B%A%c%s%M%k%b!<%I(Be$B!"(BI$B!"(BO$B$KBP1~$7$?(B
    ctcp/part.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    ctcp/dcc/gate.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    'sockname$B%5%V%k!<%A%s$r;HMQ$9$k$h$&$KJQ99(B
    ctcp/dcc/get.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    ctcp/dcc/http.plm
    $B%(%s%P%0$7$F$$$?$N$r=$@5(B
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    'sockname$B%5%V%k!<%A%s$r;HMQ$9$k$h$&$KJQ99(B
    ctcp/dcc/send.plm
    'sockname$B%5%V%k!<%A%s$r;HMQ$9$k$h$&$KJQ99(B
    log/channel.plm
    offset$B%W%m%Q%F%#$rDI2C(B
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    log/daily.plm
    offset$B%W%m%Q%F%#$rDI2C(B
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    log/mail.plm
    offset$B%W%m%Q%F%#$rDI2C(B
    log/recent.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    sys/multicast.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    sys/web.plm
    $B%5!<%P$K:F@\B3$7$?;~$NF0:n$,$*$+$7$+$C$?$N$r=$@5(B
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B
    RPL_LIST$B$H(BRPL_INVITING$B$N=hM}$,5U$K$J$C$F$$$?$N$r=$@5(B
    kanji$B%W%m%Q%F%#$rDI2C(B
    $B%U%l!<%`$NG[CV$rJQ99$7$?(B
    $B%a%C%;!<%8$NJ]B8$r%5!<%P$4$H$G$O$J$/@_Dj$4$H$K$7$?(B
    user/ignore.plm
    !$B$G;O$^$k%A%c%s%M%kL>$r@5$7$/07$($k$h$&$K$7$?(B

    2.28.2

    auto/message.plm
    $B%(%$%j%"%9$KEPO?$5$l$F$$$J$$$H$-$K%I%a%$%sL>$,=P$k%P%0$r=$@5(B
    auto/package.plm
    $B%(%$%j%"%9$KEPO?$5$l$F$$$J$$$H$-$K%I%a%$%sL>$,=P$k%P%0$r=$@5(B
    auto/random.plm
    $B%(%$%j%"%9$KEPO?$5$l$F$$$J$$$H$-$K%I%a%$%sL>$,=P$k%P%0$r=$@5(B
    sys/web.plm
    POST$B%a%=%C%I$r;HMQ$G$-$k$h$&$K$7$?(B
    $B%5!<%P@ZCG;~$K%]!<%H$rJD$8$F$$$J$+$C$?%P%0$r=$@5(B

    2.28.1

    plum
    'sockname$B$H(B'peername$B$H$$$&%5%V%k!<%A%s$rDI2C$7$?(B
    $SOCKADDR$B$NCM$rJQ99$7$?(B
    auto/message.plm
    $B%K%C%/%M!<%`$,JQ99$5$l$?$H$-$N=hM}$,$*$+$7$+$C$?$N$r=$@5(B
    auto/package.plm
    $B%K%C%/%M!<%`$,JQ99$5$l$?$H$-$N=hM}$,$*$+$7$+$C$?$N$r=$@5(B
    auto/random.plm
    rate$B$N%G%U%)%k%H$r(B100$B$K$7$?(B
    auto/reply.plm
    $B%U%!%$%kCf$N6u9T$OL5;k$9$k$h$&$K$7$?(B
    ctcp/dcc/http.plm
    $B@ZCG;~$K4X78$J$$%3%M%/%7%g%s$^$G@ZCG$7$F$7$^$&$3$H$,$"$C$?$N$r=$@5(B
    ctcp/finger.plm
    $B?7$?$KDI2C(B
    sys/multicast.plm
    ISON/USERHOST/OPER/VERSION$B%3%^%s%I$r;H$($k$h$&$K$7$?(B
    sys/timer.plm
    $BF1$8%?%$%_%s%0$G(B2$B$D0J>e$N=hM}$,9T$($J$+$C$?$N$r=$@5(B
    sys/web.plm
    $B?7$?$KDI2C(B

    2.27.1

    plum
    SO_KEEPALIVE$B$r@_Dj$7$J$$$h$&$K$7$?(B
    $B%/%i%$%"%s%H$N%^%9%/$r(BIP$B%"%I%l%9$G;XDj$G$-$k$h$&$K$7$?(B
    JISX0212$B$KBP1~$7$?(B
    user/idle.plm
    $B?7$?$KDI2C(B
    auto/message.plm
    $BE~CeDLCN$r9T$&%?%$%_%s%0$rJQ99(B
    $B%(%$%j%"%9$N%^%C%A%s%0$,@5$7$/$G$-$F$$$J$+$C$?$N$r=$@5(B
    auto/package.plm
    $BE~CeDLCN$r9T$&%?%$%_%s%0$rJQ99(B
    $B%(%$%j%"%9$N%^%C%A%s%0$,@5$7$/$G$-$F$$$J$+$C$?$N$r=$@5(B
    $B%U%!%$%k$,B8:_$7$?$H$-$K$D$1$k%U%!%$%kL>$,$*$+$7$+$C$?$N$r=$@5(B
    ctcp/dcc/get.plm
    $B%U%!%$%k$,B8:_$7$?$H$-$K$D$1$k%U%!%$%kL>$,$*$+$7$+$C$?$N$r=$@5(B
    channel/mode/set.plm
    $B?7$?$KDI2C(B

    2.26.1

    plum
    $B<+J,<+?H$N%f!<%6>pJs$rJ];}$9$k$h$&$K$7$?(B
    $BF~$C$F$$$J$$%A%c%s%M%k$N(BNAMES$B$OL5;k$9$k$h$&$K$7$?(B
    $B%7%0%J%k%O%s%I%i$N@_DjJ}K!$rJQ99(B
    channel/alias.plm
    INVITE$B0J30$,@5$7$/JQ49$G$-$F$$$J$+$C$?$N$r=$@5(B
    channel/mode/oper/get.plm
    $B%5!<%P4V$N(Bsplit$B;~$K$b%A%c%s%M%k$+$iH4$1$F$7$^$3$H$,$"$C$?$N$r=$@5(B
    ctcp/version.plm
    $B%a%C%;!<%8$N%U%)!<%^%C%H$rJQ99(B
    log/channel.plm
    KICK$B$7$?$H$-$K$*$+$7$/$J$C$F$$$?$N$r=$@5(B
    $BJ#?t$N%A%c%s%M%k$KH/8@$7$?$H$-$N%U%)!<%^%C%H$rJQ99(B
    $B<+J,08$N%a%C%;!<%8$N$_$rJ]B8$9$k$3$H$,$G$-$k$h$&$K$7$?(B
    log/daily.plm
    $BJ#?t$N%A%c%s%M%k$KH/8@$7$?$H$-$N%U%)!<%^%C%H$rJQ99(B
    log/recent.plm
    $BJ#?t$N%A%c%s%M%k$KH/8@$7$?$H$-$N%U%)!<%^%C%H$rJQ99(B
    auto/nako.plm
    nako1.56+a3r1$BAjEv$KJQ99(B
    $B%7%9%F%`@_Dj%U%!%$%k$r$=$N$^$^;HMQ$G$-$k$h$&$KJQ99(B
    auto/package.plm
    DCC$BAw?.$K<:GT$9$k$3$H$,$"$C$?$N$r=$@5(B
    $BF1;~$KF1$8?M$+$i$N $B%?%$%`%"%&%H=hM}$,@5$7$/F0:n$7$F$$$J$+$C$?$N$r=$@5(B
    ctcp/dcc/send.plm
    DCC$BAw?.$K<:GT$9$k$3$H$,$"$C$?$N$r=$@5(B
    $B%?%$%`%"%&%H=hM}$,@5$7$/F0:n$7$F$$$J$+$C$?$N$r=$@5(B
    sys/multicast.plm
    $B0lIt$G%K%C%/%M!<%`$NIT@09g$,5/$3$C$F$$$?$N$r=$@5(B
    $BFCDj$N@_Dj$G$N%K%C%/%M!<%`$rJQ99$G$-$k$h$&$K$7$?(B
    $B%K%C%/%M!<%`JQ99$,@5$7$/%/%i%$%"%s%H$KAw$i$l$F$$$J$+$C$?$N$r=$@5(B

    2.25.1

    plum
    SIGHUP$B$H(BSIGPIPE$B$rL5;k$9$k$h$&$K$7$?(B
    's_flush$B$H(B'c_flush$B$N=hM}$rJQ99(B
    $B;H$o$l$J$/$J$C$?JQ?t$r=i4|2=$9$k$h$&$K$7$?(B
    'date$B$K;~4V$r;XDj$G$-$k$h$&$K$7$?(B
    $B%K%C%/%M!<%`$,;H$o$l$F$$$?$H$-$NF0:n$,$*$+$7$+$C$?$N$r=$@5(B
    log/channel.plm
    $B%b!<%IIU$-$G(BJOIN$B$7$F$-$?>l9g$K@5$7$/F0:n$7$J$+$C$?$N$r=$@5(B
    log/daily.plm
    $B%U%!%$%kL>$NE83+$,$*$+$7$+$C$?$N$r=$@5(B
    log/mail.plm
    RFC$B$K=>$C$F$$$J$+$C$?$H$3$m$,$"$C$?$N$r=$@5(B
    directory$B%W%m%Q%F%#$rDI2C(B
    auto/package.plm
    $B%?%$%`%"%&%H=hM}$rDI2C(B
    $BF1;~$KF1$8?M$+$i$O
    channel/alias.plm
    $BJ#?t$N%A%c%s%M%k$r;XDj$7$?$H$-$K@5$7$/F0:n$7$F$$$J$+$C$?$N$r=$@5(B
    ctcp/dcc/get.plm
    $B%?%$%`%"%&%H=hM}$rDI2C(B
    ctcp/dcc/gate.plm
    $B%?%$%`%"%&%H=hM}$rDI2C(B
    ctcp/dcc/http.plm
    $B%?%$%`%"%&%H=hM}$rDI2C(B
    user/nick/client.plm
    $B$9$Y$F$N%K%C%/%M!<%`$,;H$o$l$F$$$?$H$-$K!"$=$l0J>eJQ99$7$J$$$h$&$K$7$?(B
    ctcp/dcc/send.plm
    $B?7$?$KDI2C(B
    sys/multicast.plm
    $B?7$?$KDI2C(B

    2.24.3

    auto/alias.plm
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/package.plm
    DCC$B%j%/%(%9%H$r%/%i%$%"%s%H$KAw$k$h$&$K$7$?(B
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/message.plm
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/nako.plm
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/random.plm
    $BC/$KBP$9$k%a%C%;!<%8$+$rI=<($9$k$h$&$K$7$?(B
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/reply.plm
    $B0l$D$NH/8@$KJ#?t2sH?1~$9$k$3$H$,$"$C$?$N$rD>$7$?(B
    kanji$B%W%m%Q%F%#$r:o=|(B
    auto/yuurii.plm
    EUC$B$GH/8@$7$?%a%C%;!<%8$r%-%c%C%7%e$7$J$$%P%0$r=$@5(B
    log/channel.plm
    QUIT$B$,5-O?$5$l$F$$$J$+$C$?$N$rD>$7$?(B
    kanji$B%W%m%Q%F%#$r:o=|(B
    log/daily.plm
    kanji$B%W%m%Q%F%#$r:o=|(B
    ctcp/dcc/client.plm
    $B?7$?$KDI2C(B
    log/mail.plm
    $B?7$?$KDI2C(B

    2.24.2

    auto/reply.plm
    $B%U%!%$%k$N%U%)!<%^%C%H$rJQ99$7$?(B

    2.24.1

    plum
    $B4A;zJQ49%k!<%A%s$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/reply.plm
    $B?7$?$KDI2C(B
    auto/oper.plm
    $B%f!<%6%^%9%/$r;XDj$9$k$3$H$,$G$-$k$h$&$K$7$?(B
    auto/random.plm
    $B%U%!%$%k$X$N=q$-9~$_$,$G$-$k$h$&$K$7$?(B
    $BH?1~$9$k3NN($r;XDj$G$-$k$h$&$K$7$?(B

    2.23.2

    ctcp/dcc/http.plm
    $B0lEYAw
    auto/alias.plm
    $B?7$7$/%(%$%j%"%9$r:n@.$7$?$H$-$K%K%C%/%M!<%`$,$*$+$7$/$J$k$N$r=$@5(B

    2.23.1

    plum
    $B4A;zJQ49%k!<%A%s$r>/$79bB.2=(B
    listen$B$7$?$H$-$N;~4V$r5-O?$7$F$$$J$+$C$?$N$rD>$7$?(B
    auto/nako.plm
    JOIN$B$7$?$H$-$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/package.plm
    $B%W%i%$%Y!<%H$GAw$C$?%a%C%;!<%8$K@5$7$/H?1~$7$F$$$J$+$C$?$N$r=$@5(B
    $BJL$N%f!<%6$N$b$N$+$I$&$+$r%A%'%C%/$9$k$h$&$K$7$?(B
    auto/yuurii.plm
    $B%-%c%C%7%e$N%(%_%e%l!<%H$,$*$+$7$+$C$?$N$r=$@5(B
    $B%?%$%^!<$N=hM}$,$*$+$7$+$C$?$N$r=$@5(B
    ctcp/dcc/get.plm
    $B%;%-%e%j%F%#%[!<%k$,$"$C$?$N$G=$@5(B
    $BJL$N%f!<%6$N$b$N$+$I$&$+$r%A%'%C%/$9$k$h$&$K$7$?(B
    ctcp/dcc/gate.plm
    $B%W%m%Q%F%#$r$A$c$s$H8+$F$$$J$+$C$?$N$rD>$7$?(B
    $B%/%i%$%"%s%H$+$iAw$i$l$?(BDCC$B$NCf7Q$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B%^%9%/$r@5$7$/=hM}$7$F$$$J$+$C$?$N$rD>$7$?(B
    ctcp/dcc/http.plm
    $B?7$?$KDI2C(B

    2.22.2

    log/channel.plm
    $B%W%i%$%Y!<%H$GAw$C$?%a%C%;!<%8$,$*$+$7$/$J$C$F$$$?$N$r=$@5(B
    log/daily.plm
    $B%W%i%$%Y!<%H$GAw$C$?%a%C%;!<%8$,$*$+$7$/$J$C$F$$$?$N$r=$@5(B
    channel/mode/get.plm
    $B%5!<%P4V$N(Bsplit$B$G(BQUIT$B$7$?>l9g$K$O2?$b$7$J$$$h$&$K$7$?(B
    channel/mode/set.plm
    $B$9$G$K%*%Z%l!<%?$K$J$C$F$$$J$$$+3NG'$9$k$h$&$K$7$?(B

    2.22.1

    plum
    CTCP$B%a%C%;!<%8$N%A%'%C%/$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B4A;z%3!<%I$NJQ49=hM}$rJQ99(B
    auto/message.plm
    $B%W%i%$%Y!<%H$GAw$C$F$-$?%a%C%;!<%8$K@5$7$/JV;v$r$9$k$h$&$K$7$?(B
    auto/yuurii.plm
    $B%b%8%e!<%k$rF0E*$K%"%C%W%G!<%H$7$F$b@5$7$/F0$/$h$&$K$7$?(B
    log/channel.plm
    $B4X78$J$$%m%0$,J]B8$5$l$F$$$?$N$r=$@5(B
    log/daily.plm
    $B%W%i%$%Y!<%H$J%a%C%;!<%8$N%U%)!<%^%C%H$rJQ99(B

    2.21.2

    auto/package.plm
    DCC$B$r@5$7$/Aw?.$G$-$F$$$J$+$C$?$N$rD>$7$?(B
    ctcp/dcc/get.plm
    $BF10l$N%U%!%$%kL>$,B8:_$7$?$H$-$NJQ995,B'$,$*$+$7$+$C$?$N$rD>$7$?(B

    2.21.1

    plum
    $B%5!<%PL>$r@5$7$/$7$?(B
    $B%/%i%$%"%s%H$N@\B3$rJD$8$?$H$-$KMn$A$k$3$H$,$"$C$?$N$rD>$7$?(B
    auto/message.plm
    $BH/8@@h$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/package.plm
    $BH/8@@h$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B>.$5$J%U%!%$%k$,Aw$l$J$+$C$?$N$rD>$7$?(B
    channel/join/invite.plm
    $B%W%m%Q%F%#$rJQ99(B
    channel/join/kick.plm
    $B%W%m%Q%F%#$rJQ99(B
    channel/mode/oper/set.plm
    $B%W%m%Q%F%#$rJQ99(B
    ctcp/dcc/gate.plm
    $B%W%m%Q%F%#$rJQ99(B
    ctcp/dcc/get.plm
    $B%W%m%Q%F%#$rJQ99(B
    ctcp/part.plm
    $B%W%m%Q%F%#$rJQ99(B
    log/channel.plm
    $B%W%m%Q%F%#$rJQ99(B
    log/daily.plm
    $B%W%m%Q%F%#$rJQ99(B
    log/recent.plm
    $B%W%m%Q%F%#$rJQ99(B
    user/ignore.plm
    $B%W%m%Q%F%#$rJQ99(B

    2.20.3

    auto/yuurii.plm
    jcode'convert$B$r
    ctcp/dcc/get.plm
    $B%/%i%$%"%s%H$KAw$k(BCTCP$B$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B%U%!%$%k$NB8:_3NG'$,$*$+$7$+$C$?$N$rD>$7$?(B
    $BF10l$N%U%!%$%kL>$,B8:_$7$?$H$-$N%U%!%$%kL>$NJQ995,B'$rJQ99$7$?(B
    channel/mode/oper/set.plm
    $B%5!<%P$H@ZCG$7$?$H$-$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/alias.plm
    nick$B!"(Buser$B!"(Bname$B0J30$N9`L\$b;HMQ$G$-$k$h$&$K$7$?(B
    auto/message.plm
    $B%(%$%j%"%9$N;EMMJQ99$K$"$o$;$FJQ99$7$?(B
    server/info.plm
    $B%a%C%;!<%8$,$H$3$m$I$3$mH4$1$k$3$H$,$"$C$?$N$rD>$7$?(B
    auto/package.plm
    $B?7$?$KDI2C(B
    log/channel.plm
    $B6u$N(Bprivmsg$B!"(Bnotice$B$rL5;k$9$k$h$&$K$7$?(B
    log/daily.plm
    $B6u$N(Bprivmsg$B!"(Bnotice$B$rL5;k$9$k$h$&$K$7$?(B
    log/recent.plm
    $B6u$N(Bprivmsg$B!"(Bnotice$B$rL5;k$9$k$h$&$K$7$?(B

    2.20.2

    auto/alias.plm
    plum$B$N%P!<%8%g%s%"%C%W$GF0$+$J$/$J$C$F$$$?$N$rD>$7$?(B
    log/channel.plm
    $B%/%i%$%"%s%H$+$i$N(BNOTICE$B$rL5;k$7$F$$$?$N$rD>$7$?(B
    log/daily.plm
    $B%/%i%$%"%s%H$+$i$N(BNOTICE$B$rL5;k$7$F$$$?$N$rD>$7$?(B
    log/recent.plm
    $B%/%i%$%"%s%H$+$i$N(BNOTICE$B$rL5;k$7$F$$$?$N$rD>$7$?(B
    user/nick/client.plm
    $B%W%m%Q%F%#$rJ#?t9T=q$$$?$H$-$K@5$7$/F0$$$F$$$J$+$C$?$N$rD>$7$?(B
    ctcp/part.plm
    $B$7$?(B

    2.20.1

    plum
    $B%/%i%$%"%s%H$K(BKICK$B$rAw$C$F$$$J$+$C$?$N$rD>$7$?(B
    $B%a%C%;!<%8$NAw$j@h$,4V0c$C$F$$$?$N$rD>$7$?(B
    auto/alias.plm
    $B%/%i%$%"%s%H$N%A%'%C%/$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/message.plm
    $B%a%C%;!<%8$r@5$7$/Aw$C$F$$$J$+$C$?$N$rD>$7$?(B

    2.19.1

    plum
    $B%5!<%P$+$i@ZCG$5$l$?$H$-$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    $'server[$B%f!<%6(BNO]$B$r(B$'server[$B%U%!%$%k(BNO]$B$KJQ99(B
    channel/mode/oper/set.plm
    $B;HMQ$7$F$$$J$$JQ?t$r;2>H$7$F$$$?$N$rD>$7$?(B
    auto/alias.plm
    $B%/%i%$%"%s%H$K%a%C%;!<%8$rAw$i$J$$$3$H$,$"$C$?$N$rD>$7$?(B

    2.18.1

    plum
    $B=PNO7O$N%$%Y%s%H$r5U=g$K=hM}$9$k$h$&$K$7$?(B
    $B%i%Y%k$r;H$C$?;~$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    $'servername[$B%f!<%6(BNO]$B$r(B$'servername[$B%U%!%$%k(BNO]$B$KJQ99(B
    $'channellist[$B%f!<%6(BNO]$B$r(B$'channellist[$B%U%!%$%k(BNO]$B$KJQ99(B
    $'nameslist{$B%f!<%6(BNO, $B%A%c%s%M%k(B}$B$r(B
    $'nameslist{$B%U%!%$%k(BNO, $B%A%c%s%M%k(B}$B$KJQ99(B
    $'topic{$B%f!<%6(BNO, $B%A%c%s%M%k(B}$B$r(B
    $'topic{$B%U%!%$%k(BNO, $B%A%c%s%M%k(B}$B$KJQ99(B
    $'channelmode{$B%f!<%6(BNO, $B%A%c%s%M%k(B, $B%b!<%I(B}$B$r(B
    $'channelmode{$B%U%!%$%k(BNO, $B%A%c%s%M%k(B, $B%b!<%I(B}$B$KJQ99(B
    ctcp$B$N=hM}$r$9$k%5%V%k!<%A%s$K%A%c%s%M%kL>$rEO$9$h$&$KJQ99(B
    's_close($B%f!<%6(BNO)$B$r(B's_close($B%U%!%$%k(BNO)$B$KJQ99(B
    $'nickname$B$rGQ;_(B
    $'NIL$B$rGQ;_(B
    $B%/%i%$%"%s%H$X$N=PNO%P%C%U%!$r85$KLa$7$?(B
    auto/yuurii.plm
    daily$B!"(Bhourly$B$N=hM}$,$*$+$7$+$C$?$N$rD>$7$?(B
    InitList$B$r AddList$B$r DelList$B$r plugin$B$,%*%j%8%J%k$H0c$C$F$$$?$N$rD>$7$?(B
    $B%W%i%0%$%sCf$G$O7Y9p$r=P$5$J$$$h$&$K$7$?(B
    server/info.plm
    $B?7$?$KDI2C(B

    2.17.1

    plum
    CTCP$B%a%C%;!<%8$N$7$?(B
    $B%W%m%Q%F%#$N9TKv$N6uGr$r $B%j%9%H$N%;%Q%l!<%?$rJQ99$7$?(B
    'date$B%5%V%k!<%A%s$r>/$7JQ99$7$?(B
    $B=PNO%P%C%U%!$r%3%^%s%I$4$H$K$o$1$?(B
    $B6u%j%9%H$r6uJ8;zNs$KJQ99(B
    auto/nako.plm
    $B?7$?$KDI2C(B
    auto/yuurii.plm
    plugindir$B$N@_Dj$rDI2C(B
    $B=PNO$9$k%G!<%?$r(Bjis$B$KJQ49$9$k$h$&$K$7$?(B
    auto/alias.plm
    $B%(%$%j%"%9>pJs$r%A%c%s%M%k$KH/8@$7$J$$$h$&$KJQ99(B
    $B%(%$%j%"%9$NFI$_9~$_$r>/$7JQ99(B
    auto/message.plm
    $B08@h$,@5$7$$$+$I$&$+$r3NG'$9$k$h$&$K$7$?!#(B
    $B%(%$%j%"%9$NFI$_9~$_$r>/$7JQ99(B
    auto/answer.plm
    $BJ#?t$N%a%C%;!<%8$rAw$k$3$H$,$G$-$k$h$&$KJQ99(B
    channel/mode/set/oper.plm
    $B%-%e!<$N%A%'%C%/$r>/$7JQ99(B

    2.16.1

    plum
    $B:G8e$KF~NO$N$"$C$?;~4V$rI=$9JQ?t(B$'access[$B%U%!%$%k(BNO]$B$rDI2C(B
    $B%5!<%P$+$i@ZCG$5$l$?$H$-$K(BERROR$B$G$O$J$/(BNOTICE$B$rAw$k$h$&$K$7$?!#(B
    $B%5!<%P$+$i@ZCG$5$l$?$H$-$K%/%i%$%"%s%H$K(BPART$B$rAw$k$h$&$K$7$?!#(B
    server/timeout.plm
    $B?7$?$KDI2C(B
    ctcp/dcc/cancel.plm
    $B?7$?$KDI2C(B
    auto/message.plm
    $B%(%$%j%"%9$NFI$_9~$_$,$*$+$7$+$C$?$N$rD>$7$?(B
    $B%f!<%6$N%^%C%A%s%0=hM}$r>/$7JQ99(B
    $B%a%C%;!<%8%U%!%$%k$N%U%)!<%^%C%H$rJQ99(B
    auto/yuurii.plm
    $BJ#?t$N%f!<%6$GMxMQ$G$-$J$+$C$?$N$rD>$7$?(B
    ctcp/dcc/forward.plm
    $B<+J,$KBP$7$FE>Aw$9$k$3$H$,$"$C$?$N$rD>$7$?(B

    2.15.4

    auto/alias.plm
    $B4A;z%3!<%I$r;XDj$G$-$k$h$&$KJQ99(B
    $B%(%$%j%"%9$NJQ99$,$G$-$k$h$&$K$7$?(B
    auto/message.plm
    $B%(%$%j%"%9$,@5$7$/FI$a$F$$$J$+$C$?$N$rD>$7$?(B
    $B%(%$%j%"%9$N4A;z%3!<%I$r;XDj$G$-$k$h$&$KJQ99(B

    2.15.3

    auto/message.plm
    $B?7$?$KDI2C(B
    auto/alias.plm
    $B?7$?$KDI2C(B

    2.15.2

    auto/yuurii.plm
    CTCP$B%a%C%;!<%8$r@5$7$/07$($k$h$&$K$7$?(B

    2.15.1

    plum
    exit$B$7$?$H$-$K%5!<%P$K%a%C%;!<%8$rAw$C$F$$$J$+$C$?$N$rD>$7$?(B
    auto/yuurii.plm
    $B$f!<$j$#(B1.16$B$KBP1~$9$kJQ99(B
    $use_timer$B$N@_Dj$,$*$+$7$+$C$?$N$rD>$7$?(B
    ctcp/dcc/forward.plm
    $B?7$?$KDI2C(B
    ctcp/part.plm
    $BAw$j
    channel/join/connect.plm
    channel/join/first.plm$B$+$iL>>NJQ99(B
    sys/timer.plm
    sys/cron.plm$B$+$iL>>NJQ99(B

    2.14.1

    plum
    $B%W%m%Q%F%#$NA0$N6uGr$rL5;k$9$k$h$&$K$7$?(B
    $B:F@\B3;~$N%(%i!<%a%C%;!<%8$,$*$+$7$+$C$?$N$rD>$7$?(B
    auto/yuurii.plm
    $chanlist$B$H(B$autojoinchanlist$B$r=i4|2=$9$k$h$&$K$7$?(B
    $from$B$H(B$where$B$r

    2.13.2

    auto/yuurii.plm
    $BB8:_$7$J$$%5%V%k!<%A%s$r8F$s$G$$$?$N$rD>$7$?(B
    $B%?%$%^!<$N%G%U%)%k%HCM$r@_Dj$7$F$$$J$+$C$?$N$rD>$7$?(B

    2.13.1

    plum
    $B%b%8%e!<%k$N%Q%9$rE83+$7$J$$$h$&$K$7$?(B
    sys/module/update.plm
    perl4$B$GF0$$$F$$$J$+$C$?$N$rD>$7$?(B
    ctcp/dcc/gate.plm
    $B$H$j$"$($:F0$/$h$&$K$7$?(B

    2.12.1

    plum
    main_loop$B$,:G=i$K gethostbyaddr$B$NJV$jCM$r$A$c$s$H%A%'%C%/$9$k$h$&$K$7$?(B
    $B5/F0;~$K(Bsrand$B$r $B;H$o$J$/$J$C$?%]!<%H$rJD$8$k$h$&$K$7$?(B
    $B%]!<%HHV9f$N3NG'$r$7$F$$$J$+$C$?$N$rD>$7$?(B
    'date$B%5%V%k!<%A%s$N=hM}$r>/$7JQ99$7$?(B
    auto/random.plm
    $B%[!<%`%G%#%l%/%H%j$rI=$9(B~$B$rE83+$7$F$$$J$+$C$?$N$rD>$7$?(B
    auto/yuurii.plm
    $B%5%V%k!<%A%sL>$r4V0c$($F$$$?$N$rD>$7$?(B
    channel/join/first.plm
    $BH4$1$?%A%c%s%M%k$d%-%C%/$5$l$?%A%c%s%M%k$KF~$i$J$$$h$&$K$7$?(B
    sys/cron.plm
    fork$B$H(Bexec$B$r;H$C$F$$$?$N$r(Bsystem$B$r;H$&$h$&$KJQ99$7$?(B

    2.11.1

    plum
    $B%A%c%s%M%k%b!<%IMQ$NJQ?t(B%'channelmode$B$rDI2C(B
    $B%A%c%s%M%k%-!
    client/eucin.plm
    client/kanji.plm$B$KE}9g(B
    client/eucout.plm
    client/kanji.plm$B$KE}9g(B
    client/jisin.plm
    client/kanji.plm$B$KE}9g(B
    client/jisout.plm
    client/kanji.plm$B$KE}9g(B
    client/sjisin.plm
    client/kanji.plm$B$KE}9g(B
    client/sjisout.plm
    client/kanji.plm$B$KE}9g(B
    server/eucin.plm
    server/kanji.plm$B$KE}9g(B
    server/eucout.plm
    server/kanji.plm$B$KE}9g(B
    server/jisin.plm
    server/kanji.plm$B$KE}9g(B
    server/jisout.plm
    server/kanji.plm$B$KE}9g(B
    server/sjisin.plm
    server/kanji.plm$B$KE}9g(B
    server/sjinout.plm
    server/kanji.plm$B$KE}9g(B
    client/kanji.plm
    $B?7$?$KDI2C(B
    server/kanji.plm
    $B?7$?$KDI2C(B

    2.10.4

    auto/random.plm
    $B%U%!%$%k$rJD$8$F$$$J$+$C$?$N$rD>$7$?(B
    $BJ8;z2=$1$9$k$3$H$,$"$C$?$N$rD>$7$?(B
    $BM>J,$J2~9T$,$D$$$F$$$k$3$H$,$"$k$N$rD>$7$?(B
    perl4$B$GF0$+$J$+$C$?$N$rD>$7$?(B
    channel/mode/oper/set.plm
    $BBT$A;~4V$,$J$$$H$-$K$9$0$K%*%Z%l!<%?$K$9$k$h$&$K$7$?(B
    channel.mode.oper.set.not$B$r8+$F$$$J$+$C$?$N$rD>$7$?(B
    user/ignore.plm
    $B?7$?$KDI2C(B

    2.10.3

    user/mode/set.plm
    plum$B$KJV$9%Q%C%1!<%8L>$,4V0c$C$F$$$?$N$rD>$7$?(B
    auto/random.plm
    $B$7$?(B

    2.10.2

    sys/module/update.plm
    $B$J$s$@$+$*$+$7$+$C$?$_$?$$$J$N$GD>$7$?(B

    2.10.1

    plum
    sjis$B$+$i(Bjis$B$X$N4A;zJQ49$,$*$+$7$+$C$?$N$GD>$7$?(B
    auto/oper.plm
    $BH/8@$9$k@h$,4V0c$C$F$$$?$N$rD>$7$?(B
    $B%/%i%$%"%s%HBP$7$F$bH/8@$9$k$h$&$K$7$?(B

    2.9.1

    plum
    $B%W%m%Q%F%#$,@5$7$/$7$?(B

    2.8.1

    plum
    $B@_Dj%U%!%$%k$N:FFI$_9~$_$KBP1~$7$?(B
    sys/conf/load.plm
    $B$A$c$s$HF0$$$F$$$J$+$C$?$N$rD>$7$?(B
    sys/conf/update.plm
    $B$A$c$s$HF0$$$F$$$J$+$C$?$N$rD>$7$?(B

    2.7.1

    plum
    2.6.1$B$G(BCTCP$B$^$o$j$,%(%s%P%0$7$F$$$?$N$rD>$7$?(B
    auto/yuurii.plm
    perl4$B$GF0$$$F$$$J$+$C$?%P%0$rD>$7$?(B
    $B%W%i%0%$%s$N
    auto/random.plm
    $B;XDj$7$?H/8@$KH?1~$7$F$$$J$+$C$?%P%0$rD>$7$?(B

    2.6.1

    plum
    $BF10l$N%b%8%e!<%k$r0[$J$C$?%W%m%Q%F%#$G
    sys/module/update.plm
    $B$A$c$s$H%"%C%W%G!<%H$G$-$F$$$J$+$C$?$N$rD>$7$?(B
    $B%W%m%Q%F%#$N%i%Y%k$KBP1~(B

    2.5.2

    auto/answer.plm
    $B%W%i%$%Y!<%H$JH/8@$K@5$7$/H?1~$G$-$F$$$J$+$C$?$N$rD>$7$?(B
    auto/random.plm
    $B?7$?$KDI2C(B

    2.5.1

    plum
    parse$B$H(Bbuild$B$r(Bmain$B%Q%C%1!<%8$K0\F0$7$?!#(B
    $B%5!<%P$H@\B3$5$l$F$$$k$+$r3NG'$7$F$$$J$+$C$?ItJ,$rD>$7$?!#(B
    user/away/client.plm
    $B%5!<%P$H$N@\B33NG'$r$9$k$h$&$K$7$?(B
    log/channel.plm
    perl4$B$G@5$7$/F0$+$J$+$C$?$N$rD>$7$?(B
    log/daily.plm
    perl4$B$G@5$7$/F0$+$J$+$C$?$N$rD>$7$?(B
    log/recent.plm
    perl4$B$G@5$7$/F0$+$J$+$C$?$N$rD>$7$?(B

    2.4.1

    plum
    $B%/%i%$%"%s%H$N%[%9%HL>$r@5$7$/$7$?(B
    $B%(%i!<;~$K=PNO$9$k%/%i%$%"%s%HL>$r%5!<%P$HF1$8$h$&$K$7$?(B

    2.3.1

    plum
    $B%=%1%C%H$N%U%!%$%k%O%s%I%k$r(Bmain$B$K$7$?(B
    ctcp/dcc/gate.plm
    $B%=%1%C%H$,$A$c$s$HFI$a$F$$$J$+$C$?$N$rD>$7$?(B
    ctcp/dcc/get.plm
    $B%=%1%C%H$,$A$c$s$HFI$a$F$$$J$+$C$?$N$rD>$7$?(B

    2.2.1

    plum
    $BJD$8$?%=%1%C%H$r8+$K9T$/$N$r$d$a$?(B
    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K%A%c%s%M%k$KF~$i$J$+$C$?$N$rD>$7$?(B
    $B%b%8%e!<%k$N%Q%C%1!<%8L>$r@5$7$/$7$?(B
    $B%5!<%PL>$K@\B3$7$F$$$k%5!<%P$NL>A0$rAw$k$h$&$K$7$?(B
    $B%(%i!<=hM}$r$$$/$D$+JQ99$7$?(B
    $B%/%i%$%"%s%H$NG'>Z$,=*$o$C$F$$$k$+3NG'$9$k$h$&$K$7$?(B
    auto/answer.plm
    $B%/%i%$%"%s%H$NG'>Z$,=*$o$C$F$$$k$+3NG'$9$k$h$&$K$7$?(B
    auto/yuurii.plm
    $B%/%i%$%"%s%H$NG'>Z$,=*$o$C$F$$$k$+3NG'$9$k$h$&$K$7$?(B
    ctcp/version.plm
    irchat.el$B$GLdBj$,5/$3$i$J$$$h$&$K$7$?(B
    sys/conf/update
    $B%/%i%$%"%s%H$K%a%C%;!<%8$rAw$C$F$$$J$+$C$?$N$rD>$7$?(B
    sys/module/update.plm
    $B%/%i%$%"%s%H$K%a%C%;!<%8$rAw$C$F$$$J$+$C$?$N$rD>$7$?(B
    2.1.1$B$KF~$lK:$l$F$$$?$N$GDI2C$7$?(B
    user/away/client
    $B$A$c$s$H(BAWAY$B$r@_Dj$G$-$F$$$J$+$C$?$N$rD>$7$?(B
    plum-2.33.1.orig/doc/tutorial.html0100644001001300006200000001567506676174332016713 0ustar gotomkobayashi tutorial

    $B%A%e!<%H%j%"%k(B

    $B8@MU$G@bL@$9$k$h$j!"
  • $B$I$s$J$3$H$r$9$k%b%8%e!<%k$+$r7h$a$k!#(B
  • $B%b%8%e!<%kL>$H$=$l$r$*$/%G%#%l%/%H%j$r7h$a$k!#(B
  • $B%b%8%e!<%k$G;XDj$9$k%W%m%Q%F%#$r7h$a$k!#(B
  • $B%G%U%)%k%H$NF0:n$J$I$r9M$($F=i4|2=ItJ,$r:n$k!#(B
  • $B $B$=$l$G$O

    $B%b%8%e!<%k$NF0:n(B

    $B$^$:$I$s$JF0:n$r9T$&$+$r9M$($^$9!#(B $B:#2s$O4JC1$JNc$H$7$F!"$"$kFCDj$N8@MU$,H/8@$5$l$?$H$-$K!"(B $B$=$l$KBP1~$9$kH/8@$rJV$9$H$$$&%b%8%e!<%k$K$7$^$9!#(B $B$^$?!"=hM}$r4JC1$K$9$k$?$a$K!"H/8@$O40A4$K0lCW$7$?>l9g$K$N$_(B $BH?1~$9$k$h$&$K$7$^$9!#(B

    $B%b%8%e!<%kL>(B

    $BA0$r9M$($^$9!#(B $B<+F0E*$KJV;v$rJV$9$H$$$&0UL#$G!"!V(Banswer.plm$B!W$H$$$&L>A0$K$7$^$9!#(B $B$3$l$r$I$3$N%G%#%l%/%H%j$K$*$/$+$G$9$,!"(B $B<+F0E*$K=hM}$r9T$&$H$$$&0UL#$G(Bauto$B%G%#%l%/%H%j$K$*$/$3$H$K$7$^$9!#(B $B$3$l$G%b%8%e!<%kL>$O!V(Bauto/answer.plm$B!W$H$$$&$3$H$K$J$j$^$9(B

    $B%W%m%Q%F%#(B

    $B$l$NH/8@$r%W%m%Q%F%#$G@_Dj$G$-$k$h$&$K$7$^$9!#(B $Bl9g!"6uGr$r4^$`H/8@$KH?1~$9$k$3$H$,$G$-$^$;$s$,!"(B $B$=$N$h$&$J$3$H$O$=$l$[$I$J$$$H9M$($FL5;k$7$^$9!#(B

    $B=i4|2=ItJ,(B

    $B$O!V(Bauto_answer$B!W$K$J$j$^$9!#(B $B package auto_answer; $_ = 'auto_answer'; $B$3$l$G=i4|2=ItJ,$O40@.$G$9!#$3$l$@$1$G$O2?$b$7$^$;$s$,!"(B plum$B$K%b%8%e!<%k$H$7$FAH$_9~$`$3$H$b2DG=$G$9!#(B

    $B%5%V%k!<%A%s(B

    $B$=$l$G$O package auto_answer; $_ = 'auto_answer'; sub ss_privmsg { local($serverno, $prefix, $cmd, $chan, $msg) = @_; # $B$^$@:n$C$F$J$$ItJ,(B return ($prefix, $cmd, $chan, $msg); } $B%5%V%k!<%A%s$N0z?t$H$7$FEO$5$l$k$b$N$O!"%5!<%P$N%U%!%$%k(BNO$B!"(B $BH/8@
    $B$O!V(Bauto.answer.reply$B!W$K$7$?$N$G!"(B $B$=$NCM$HH/8@$,Ey$7$$$+$I$&$+$rD4$Y$^$9!#(B $B$^$?!"%W%m%Q%F%#$OJ#?t@_Dj$G$-$k$h$&$K$7$?$N$G!"(B 1$B$D$NH/8@$K$D$$$F$9$Y$F$N%W%m%Q%F%#$H$NHf3S$,I,MW$K$J$j$^$9!#(B
        package auto_answer;
        $_ = 'auto_answer';
    
        sub ss_privmsg {
          local($serverno, $prefix, $cmd, $chan, $msg) = @_;
          local($userno);
          $userno = $'userno[$serverno];
          foreach $reply (&'property($userno, 'reply')) {
            # $B$^$@:n$C$F$J$$ItJ,(B
          }
          return ($prefix, $cmd, $chan, $msg);
        }
    
    &'property$B$O0z?t$H$7$F%f!<%6(BNO$B$,I,MW$J$N$G!"(B$'userno[]$B$H$$$&G[NsJQ?t$G(B $B$3$NH/8@$,$I$N%f!<%6$KB0$9$k$b$N$+$rD4$Y$F$$$^$9!#(B $B$^$?!"%5%V%k!<%A%sFb$G;HMQ$9$kJQ?t$OI,$:(Blocal$B$r:n$C$F!"(B $BB>$N%5%V%k!<%A%s$+$i8+$($J$$$h$&$K$7$F2<$5$$!#(B

    $B%W%m%Q%F%#$O6uGr$G6h@Z$C$F!"H/8@$H$=$l$KBP$9$kJV;v$r=q$/$h$&$K$7$^$7$?!#(B $B$=$3$G!"$=$l$>$l$N%W%m%Q%F%#$r6uGr$G6h@Z$C$F!"(B $BH/8@$H0lCW$9$k$+$I$&$+$rHf3S$7$^$9!#(B
        package auto_answer;
        $_ = 'auto_answer';
    
        sub ss_privmsg {
          local($serverno, $prefix, $cmd, $chan, $msg) = @_;
          local($userno, $str, $answer);
          $userno = $'userno[$serverno];
          foreach $reply (&'property($userno, 'reply')) {
            ($str, $answer) = split(/\s+/, $reply, 2);
            if ($msg eq $str) {
              # $B$^$@:n$C$F$J$$ItJ,(B
            }
          }
          return ($prefix, $cmd, $chan, $msg);
        }
    


    $B$3$3$^$GMh$l$P$"$H>/$7$G$9!#$"$H$OBP1~$9$kJV;v$r$9$k$@$1$G$9!#(B $BJV;v$OH/8@$N$"$C$?%A%c%s%M%k$K$9$l$P$$$$$N$G$9$,!"(B $B>/$7LdBj$,$"$C$F!"<+J,$"$F$N%W%i%$%Y!<%H$JH/8@$N>l9g$O!"(B $chan$B$K$O%A%c%s%M%kL>$NJQ$o$j$K<+J,$N%K%C%/%M!<%`$,F~$C$F$$$^$9!#(B $B$=$3$G!"H/8@$,%A%c%s%M%k$KBP$7$F$N$b$N$J$N$+!"(B $B<+J,$KBP$9$k$b$N$J$N$+$r6hJL$9$kI,MW$,$"$j$^$9!#(B $B%A%c%s%M%kL>$OF,$KI,$:!V(B#$B!W!"!V(B&$B!W!"!V(B+$B!W!"!V(B-$B!W$N$I$l$+$,$D$/$N$G!"(B $B$=$&$G$J$$$b$N$OL5;k$7$^$9!#(B
        package auto_answer;
        $_ = 'auto_answer';
    
        sub ss_privmsg {
          local($serverno, $prefix, $cmd, $chan, $msg) = @_;
          local($userno, $str, $answer);
          $userno = $'userno[$serverno];
          if ($chan =~ /^[\#\&\+\-]/) {
            foreach $reply (&'property($userno, 'reply')) {
              ($str, $answer) = split(/\s+/, $reply, 2);
              if ($msg eq $str) {
                &'s_print($serverno, '', 'PRIVMSG', $chan, $answer);
                last;
              }
            }
          }
          return ($prefix, $cmd, $chan, $msg);
        }
    
    $BJV;v$O%5!<%P$KBP$7$F9T$o$J$1$l$P$J$j$^$;$s!#(B $B$3$N>l9g$OH/8@$,$5$l$?%5!<%P$,$o$+$C$F$$$k$N$G!"(B $BJV;v$b$=$N%5!<%P$KBP$7$F9T$$$^$9!#(B

    $B$3$l$G$H$j$"$($:40@.$G$9!#$3$N%b%8%e!<%k$r;HMQ$9$k$?$a$K$O(B plum.conf$B$K0J2<$N$h$&$K@_Dj$7$^$9!#(B
    + auto/answer.plm
    auto.answer.reply: $B$3$s$K$A$O(B $B$3$s$K$A$O!A!y(B
    
    $B$3$l$GC/$+$,!V$3$s$K$A$O!W$HH/8@$9$k$H!"!V$3$s$K$A$O!A!y!W$HJV;v$r$7$^$9!#(B

    auto/answer.plm$B$H$$$&%U%!%$%k$O$9$G$KB8:_$7$F$$$^$9$,!"(B $B$3$N%b%8%e!<%k$O/5!G=$,A}$($F$$$^$9$,!"(B $B$"$kDxEY$o$+$C$F$7$^$($P%b%8%e!<%k$N2~B$$b4JC1$G$9!#(B plum-2.33.1.orig/doc/plum.html0100644001001300006200000002431406676174332016013 0ustar gotomkobayashi plum

    $B$O$8$a$K(B

    plum$B$O(BIRC(internet relay chat)$BMQ$NCf7Q(B/$B%/%i%$%"%s%H%W%m%0%i%`$G$9!#(B IRC$B%5!<%Q$H(BIRC$B%/%i%$%"%s%H$N@\B3$rCf7Q$7$F$$$m$$$m$J5!G=$rDs6!$7$^$9!#(B $BF1$8$h$&$J%W%m%0%i%`$K(Bpirc$B$J$I$,$"$j$^$9$,!"(B plum$B$K$O0J2<$N$h$&$JFCD'$,$"$j$^$9!#(B
    $B3HD%$,4JC1(B
    plum$B$NDs6!$9$k5!G=$N$[$H$s$I$O%b%8%e!<%k$G
    $B%G%P%C%0$,4JC1(B
    plum$B$OE0Dl$7$?%b%8%e!<%k2=$r9T$C$F$$$k$N$G!"(B $B%P%0$N860x$K$J$C$F$$$k%b%8%e!<%k$r4JC1$KFCDj$9$k$3$H$,$G$-$^$9!#(B $B$^$?!"(Bplum$B$O$N4V0c$$$J$I$r4JC1$KH/8+$9$k$3$H$,$G$-$^$9!#(B
    $B$$$m$$$m$J(BOS$B$GF0$/(B
    plum$B$O(Bperl$B$G=q$+$l$F$$$^$9$,!"(B $BFCDj$N4D6-$K0MB8$9$k=hM}$O$[$H$s$I9T$C$F$$$J$$$?$a!"(B perl$B$5$($"$l$P%O!<%I%&%'%"$d(BOS$B$rLd$o$:!"$I$s$J4D6-$G$bF0:n$7$^$9!#(B
    $BJ#?t$N%5!<%P$K@\B3$G$-$k(B
    plum$B$OF1;~$KJ#?t$N%5!<%P$K@\B3$G$-$k$h$&$K@_7W$5$l$F$$$^$9!#(B $B$=$N$?$a!"J#?t$N(BIRC$B%M%C%H%o!<%/$rF1;~$KMxMQ$7$?$j!"(B 1$B$D$N(Bplum$B$G%a%C%;!<%8$J$I$K<+F0$GH?1~$9$k%m%\%C%H$r(B $BJ#?t>oCs$5$;$k$3$H$,$G$-$^$9!#(B

    plum$B$NF0:n(B

    plum$B$O(BIRC$B%5!<%P$H(BIRC$B%/%i%$%"%s%H$H$N4V$GE>Aw$rCf7Q$7$^$9!#(B $B$D$^$j!"K\Mh$OD>@\@\B3$9$k$O$:$N(BIRC$B%5!<%P$H(BIRC$B%/%i%$%"%s%H$r(B $B@\B3$7$J$$$h$&$K$7!"(BIRC$B%5!<%P$H(Bplum$B!"(Bplum$B$H(BIRC$B%/%i%$%"%s%H$r@\B3$7$^$9!#(B $B$3$l$K$h$j(Bplum$B$O(BIRC$B%5!<%P$H(BIRC$B%/%i%$%"%s%H$+$iAw$i$l$F$/$k(B $B%a%C%;!<%8$rA4$F
    plum$B$r;H$&>l9g$H;H$o$J$$>l9g$G$O0J2<$N$h$&$J0c$$$,$"$j$^$9!#(B $B$^$:!"(Bplum$B$r;H$o$J$$>l9g$O(BIRC$B%/%i%$%"%s%H$+$i(BIRC$B%5!<%P$XD>@\@\B3$7$^$9!#(B $B$3$N$H$-(BIRC$B%/%i%$%"%s%H$H(BIRC$B%5!<%P$,$*8_$$$K@\B3$5$l$F$$$^$9!#(B
        IRC$B%/%i%$%"%s%H(B --- IRC$B%5!<%P(B
    
    plum$B$r;H$&$H!"(Bplum$B$,(BIRC$B%/%i%$%"%s%H$H(BIRC$B%5!<%P$NCf7Q$r9T$$$^$9!#(B $B$3$N$H$-(BIRC$B%/%i%$%"%s%H$H(Bplum$B!"(Bplum$B$H(BIRC$B%5!<%P$O@\B3$5$l$F$$$^$9$,!"(B IRC$B%/%i%$%"%s%H$H(BIRC$B%5!<%P$O@\B3$5$l$F$$$^$;$s!#(B
        IRC$B%/%i%$%"%s%H(B --- plum --- IRC$B%5!<%P(B
    
    $B$3$l$@$1$G$O@\@\B3$5$l$F$$$J$$$@$1$G$9!#(B $B$=$3$G(Bplum$B$O(BIRC$B%/%i%$%"%s%H$KBP$7$F$O(BIRC$B%5!<%P$N$U$j$r$7!"(B IRC$B%5!<%P$KBP$7$F$O(BIRC$B%/%i%$%"%s%H$N$U$j$r$7$^$9!#(B
                           +---- plum ----+
        IRC$B%/%i%$%"%s%H(B --- IRC$B%5!<%P(B
                            IRC$B%/%i%$%"%s%H(B --- IRC$B%5!<%P(B
    
    $B$3$l$K$h$j!"(Bplum$B$K(BIRC$B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$G$b(B IRC$B%5!<%P$+$i$O(BIRC$B%/%i%$%"%s%H$,$"$k$h$&$K8+$(!"(B plum$B$K(BIRC$B%5!<%P$,@\B3$5$l$F$$$J$$$H$-$G$b!"(B IRC$B%/%i%$%"%s%H$+$i$O$=$3$K(BIRC$B%5!<%P$,$"$k$h$&$K8+$($^$9!#(B $B$=$N$?$a!"(BIRC$B%/%i%$%"%s%H$r=*N;$7$F$7$^$C$F$b!"(B IRC$B%5!<%P$+$i$O$^$@(BIRC$B%/%i%$%"%s%H$,@\B3$5$l$F$$$k$h$&$K8+$($^$9!#(B IRC$B$K>oCs$7$F$$$k?M$NB?$/$O!"$3$N$h$&$JJ}K!$G(BIRC$B%5!<%P$K@\B3$7$F$$$^$9!#(B

    $BI,MW$J$b$N(B

    plum$B$rMxMQ$9$k$?$a$K$O0J2<$N$b$N$,I,MW$G$9!#(B
    perl
    plum$B$O(Bperl$B$G=q$+$l$F$$$k$N$G!"(B $Be$N$b$N$J$i$I$l$G$b$+$^$$$^$;$s$,!"(B $B%M%C%H%o!<%/$N5!G=$r;HMQ$7$F$$$k$?$a!"(B $B$J$k$Y$/%P!<%8%g%s(B5.003$B0J>e$N$b$N$r$*$9$9$a$7$^$9!#(B $B$^$?!"(BMS-DOS$BMQ$J$I$N(Bperl$B$G$O%M%C%H%o!<%/$N5!G=$,(B $B
    $B%M%C%H%o!<%/(B
    IRC$B$O%M%C%H%o!<%/$rMxMQ$7$?%5!<%S%9$J$N$G!"(B IRC$B$N%2!<%H%&%'%$$G$"$k(Bplum$B$b%M%C%H%o!<%/$rMxMQ$7$F$$$^$9!#(B $B$=$N$?$a!"%M%C%H%o!<%/$,MxMQ$G$-$J$$4D6-$G$O(B plum$B$rMxMQ$9$k$3$H$O$G$-$^$;$s!#(B
    IRC$B%/%i%$%"%s%H(B
    plum$B$OC1$J$k%2!<%H%&%'%$$K$9$.$J$$$N$G!"(B plum$B$rMxMQ$9$k$?$a$K$O(BIRC$B$N%/%i%$%"%s%H%W%m%0%i%`$,I,MW$G$9!#(B IRC$B%/%i%$%"%s%H$O$I$s$J$b$N$G$b$+$^$$$^$;$s$,!"(B RFC1459$B$N(BIRC$B%W%m%H%3%k$K=`5r$7$?$b$N$r;HMQ$7$F2<$5$$!#(B $B$^$?!"(BIRC$B%/%i%$%"%s%H$OF|K\8l$KBP1~$7$F$$$k$b$N$,$h$$$G$9$,!"(B plum$B$K$O4A;z%3!<%I$rJQ49$9$k5!G=$,$"$k$N$G!"(B $BF|K\8l$KBP1~$7$F$$$J$$$b$N$G$bMxMQ$G$-$k$b$N$,$"$j$^$9!#(B

    $B plum$B$r perl plum $B$C$F%b%8%e!<%k$NAH$_9~$_$r9T$$$^$9!#(B $B$3$N$H$-!"(Bplum.conf$B$,8+$D$+$i$J$1$l$P2?$b$;$:$K=*N;$7$^$9!#(B

    $B$^$?!"J#?t$N@_Dj%U%!%$%k$rF1;~$KFI$_9~$s$GJ#?t$N%5!<%P$K@\B3$7$?$j!"(B $BJ#?t$N%f!<%6$r>oCs$5$;$k$3$H$b$G$-$^$9!#(B $B$3$N>l9g$O0J2<$N$h$&$KF~NO$7$^$9!#(B
        perl plum user1 user2
    
    $B$3$N$H$-!"(Bplum.conf$B!"(Bplum-user1.conf$B!"(Bplum-user2.conf$B$N(B 3$B$D$N@_Dj%U%!%$%k$rFI$_9~$_$^$9!#(B $B;XDj$7$?@_Dj%U%!%$%k$N$I$l$+$,8+$D$+$i$J$/$F$bL5;k$7$Fl9g$O2?$b$;$:$K=*N;$7$^$9!#(B

    $B%/%i%$%"%s%H$N@_Dj(B

    plum$B$r
  • $B$^$:!"(BIRC$B%5!<%P$NL>A0$r(Bplum$B$rA0$K$7$^$9!#(B plum$B$rA0$,$D$$$F$$$J$$>l9g!"(B $B$b$7$/$OL>A0$,$o$+$i$J$$>l9g$O!"L>A0$N$+$o$j$K(BIP$B%"%I%l%9$r;XDj$7$^$9!#(B
  • $B
  • $B:G8e$K!"(BIRC$B%5!<%P$K@\B3$9$k%Q%9%o!<%I$r@_Dj$7$^$9!#(B $BK\J*$N(BIRC$B%5!<%P$OIaDL%Q%9%o!<%I$rMW5a$7$^$;$s$,!"(B plum$B$G$OIaDL%Q%9%o!<%I$r@_Dj$7$FB>$N?M$K>! $B$3$l$G(BIRC$B%/%i%$%"%s%H$+$i(Bplum$B$K@\B3$G$-$k$O$:$G$9!#(B $B@\B3$G$-$J$$>l9g$O@_Dj$,4V0c$C$F$$$J$$$+$r$h$/3NG'$7$F2<$5$$!#(B $B$^$?0J2<$N%H%i%V%k%7%e!<%F%#%s%0$b;29M$K$7$F2<$5$$!#(B

    $B%H%i%V%k%7%e!<%F%#%s%0(B

    $B
    plum.conf$B$,$J$$(B
    plum.conf$B$O%+%l%s%H%G%#%l%/%H%j$K$"$k$b$N$r;HMQ$7$^$9!#(B $B%+%l%s%H%G%#%l%/%H%j$K(Bplum.conf$B$,$"$k$3$H$r3NG'$7$F2<$5$$!#(B
    $B%5!<%P$K@\B3$7$J$$(B
    $B%U%!%$%"%&%)!<%k$,$"$k(B
    plum$B$O%5!<%P$H$N4V$K%U%!%$%"%&%)!<%k$,$"$k$H!"(B $B%5!<%P$K@\B3$9$k$3$H$,$G$-$^$;$s!#(B $B%U%!%$%"%&%)!<%k$N1F6A$r
    $B%5!<%P$N@\B3$,$$$C$Q$$$K$J$C$F$$$k(B
    $B%5!<%P$K@\B3$G$-$k?M?t$,$$$C$Q$$$K$J$k$H!"(B $B$=$l0J>e@\B3$9$k$3$H$,$G$-$J$/$J$j$^$9!#(B plum.conf$B$KJL$N%5!<%P$N@_Dj$rDI2C$7$F2<$5$$!#(B
    $B%M%C%H%o!<%/5wN%$,1s$$(B
    $B%M%C%H%o!<%/E*$J5wN%$,1s$+$C$?$j!"(B $B2s@~B.EY$,CY$$$H@\B3$9$k$^$G$KHs>o$K(B $B;~4V$,$+$+$k$3$H$,$"$j$^$9!#(B
    $B%/%i%$%"%s%H$+$i@\B3$G$-$J$$(B
    $B%U%!%$%"%&%)!<%k$,$"$k(B
    plum$B$H%/%i%$%"%s%H$H$N4V$K%U%!%$%"%&%)!<%k$,$"$k$H!"(B $B%/%i%$%"%s%H$+$i@\B3$9$k$3$H$,$G$-$^$;$s!#(B $B%U%!%$%"%&%)!<%k$N1F6A$r
    $B%M%C%H%o!<%/5wN%$,1s$$(B
    $B%M%C%H%o!<%/E*$J5wN%$,1s$+$C$?$j!"(B $B2s@~B.EY$,CY$$$H@\B3$9$k$^$G$KHs>o$K(B $B;~4V$,$+$+$k$3$H$,$"$j$^$9!#(B
    $B%/%i%$%"%s%H$+$i@\B3$7$F$b$9$0$K@Z$i$l$F$7$^$&(B
    plum.conf$B$K@_Dj$7$?%/%i%$%"%s%H%^%9%/$K0z$C$+$+$C$F$$$k(B
    IRC$B%/%i%$%"%s%H$r
    $BJL$N%f!<%6$,F1$8%]!<%H$r$9$G$K;HMQ$7$F$$$k(B
    plum.client$B$N%]!<%H$NHV9f$rJQ99$7$F$_$F2<$5$$!#(B
    $B%Q%9%o!<%I$,4V0c$C$F$$$k(B
    $B%Q%9%o!<%I$O@5$7$/F~NO$7$F2<$5$$!#(B
    $B$=$NB>(B
    $BITL@(B
    $B$I$s$J>uBV$J$N$+$r$J$k$Y$/>\$7$/65$($F2<$5$$!#(B $B$=$N;~$K$G$-$l$P(Bsys/dump.plm$B$N=PNO$9$k(B $B%7%9%F%`>pJs$r0l=o$K65$($F2<$5$$!#(B
    plum-2.33.1.orig/module/0040755001001300006200000000000006676174332014667 5ustar gotomkobayashiplum-2.33.1.orig/module/client/0040755001001300006200000000000006676174333016146 5ustar gotomkobayashiplum-2.33.1.orig/module/client/kanji.plm0100644001001300006200000000446006676174332017754 0ustar gotomkobayashi client/kanji.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    client/kanji.plm - $B%/%i%$%"%s%H$H$NF~=PNO$G4A;z%3!<%I$rJQ49$9$k(B

    $B@bL@(B

    $B%/%i%$%"%s%H$+$i(Bjis$B0J30$GF~NO$5$l$?4A;z%3!<%I$r(Bjis$B$KJQ49$7$^$9!#(B $B$^$?%/%i%$%"%s%H$KBP$7$F=PNO$9$k4A;z%3!<%I$r;XDj$7$?$b$N$K$7$^$9!#(B

    $B%W%m%Q%F%#(B

    client.kanji.input* ({jis|euc|sjis})
    $B%/%i%$%"%s%H$+$i$NF~NO$,;XDj$7$?4A;z%3!<%I$N$b$N$G$"$l$P!"(B $B$=$l$r(Bjis$B$KJQ49$7$^$9!#(Beuc$B$H(Bsjis$B$OF1;~$K;XDj$G$-$^$;$s!#(B
    client.kanji.output {jis|euc|sjis}
    $B%/%i%$%"%s%H$K=PNO$9$k4A;z%3!<%I$r;XDj$7$?$b$N$K$7$^$9!#(B

    $B@_DjNc(B

    + client/kanji.plm
    client.kanji.input: euc
    
    $B%/%i%$%"%s%H$+$i$NF~NO$,(Beuc$B$@$C$?$H$-$K!"$=$l$r(Bjis$B$KJQ49$7$^$9!#(B
    + client/kanji.plm
    client.kanji.input: sjis,jis
    client.kanji.output: sjis
    
    $B%/%i%$%"%s%H$+$i$NF~NO$,(Bsjis$B$@$C$?$H$-$K!"$=$l$r(Bjis$B$KJQ49$7$^$9!#(B $B$^$?%/%i%$%"%s%H$KBP$9$k=PNO$r(Bsjis$B$K$7$^$9!#(B plum-2.33.1.orig/module/server/0040755001001300006200000000000006676174333016176 5ustar gotomkobayashiplum-2.33.1.orig/module/server/timeout.plm0100644001001300006200000000261206676174332020373 0ustar gotomkobayashi server/timeout.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    server/timeout.plm - $B0lDj;~4VF~NO$,$J$$%5!<%P$H$N@\B3$r@ZCG$9$k(B

    $B@bL@(B

    $B0lDj;~4V$N4V!"%5!<%P$+$i$NF~NO$,A4$/$J$+$C$?>l9g!"(B $B$=$N%5!<%P$H$N@\B3$r@ZCG$7$^$9!#(B

    $B%W%m%Q%F%#(B

    server.timeout.limit $B%?%$%`%"%&%H;~4V(B
    $B%5!<%P$+$i$NF~NO$,$3$3$G;XDj$5$l$?;~4V0J>e$J$+$C$?>l9g$O!"(B $B%5!<%P$H$N@\B3$r@ZCG$7$^$9!#%G%U%)%k%H$G$O(B30$BJ,$K$J$C$F$$$^$9!#(B

    $B@_DjNc(B

    + server/timeout.plm
    server.timeout.limit: 1200
    
    20$BJ,0J>e%5!<%P$+$i$NF~NO$,$J$+$C$?>l9g!"%5!<%P$H$N@\B3$r@ZCG$7$^$9!#(B plum-2.33.1.orig/module/server/info.plm0100644001001300006200000001121406676174332017636 0ustar gotomkobayashi server/info.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    server/info.plm - $B%/%i%$%"%s%H$N@\B3;~$K%5!<%P>pJs$rAw$k(B

    $B@bL@(B

    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K!"8=:_@\B3$7$F$$$k%5!<%P$N>pJs$rAw$j$^$9!#(B $B$3$l$i$N>pJs$O(Bplum$B$,%5!<%P$K@\B3$7$?;~$d!"(B $B%f!<%6$,L@<(E*$K?7$7$$>pJs$rLd$$9g$o$;$?$H$-$K99?7$5$l$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + server/info.plm
    
    plum-2.33.1.orig/module/server/kanji.plm0100644001001300006200000000417106676174332020003 0ustar gotomkobayashi server/kanji.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    server/kanji.plm - $B%5!<%P$H$NF~=PNO$G4A;z%3!<%I$rJQ49$9$k(B

    $B@bL@(B

    $B%5!<%P$+$i(BJIS$B0J30$GF~NO$5$l$?4A;z%3!<%I$r(BJIS$B$KJQ49$7$^$9!#(B $B$^$?%5!<%P$KBP$7$F=PNO$9$k4A;z%3!<%I$r;XDj$7$?$b$N$K$7$^$9!#(B

    $B%W%m%Q%F%#(B

    server.kanji.input* ({jis|euc|sjis})
    $B%5!<%P$+$i$NF~NO$,;XDj$7$?4A;z%3!<%I$N$b$N$G$"$l$P!"(B $B$=$l$r(Bjis$B$KJQ49$7$^$9!#(Beuc$B$H(Bsjis$B$OF1;~$K;XDj$G$-$^$;$s!#(B
    server.kanji.output {jis|euc|sjis}
    $B%5!<%P$K=PNO$9$k4A;z%3!<%I$r;XDj$7$?$b$N$K$7$^$9!#(B

    $B@_DjNc(B

    + server/kanji.plm
    server.kanji.input: sjis,jis
    server.kanji.output: sjis
    
    $B%5!<%P$+$i$NF~NO$,(Bsjis$B$@$C$?$H$-$K!"$=$l$r(Bjis$B$KJQ49$7$^$9!#(B $B$^$?%5!<%P$KBP$9$k=PNO$r(Bsjis$B$K$7$^$9!#(B plum-2.33.1.orig/module/auto/0040755001001300006200000000000006676174333015640 5ustar gotomkobayashiplum-2.33.1.orig/module/auto/nako.plm0100644001001300006200000005726406676174332017314 0ustar gotomkobayashi auto/nako.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/nako.plm - Internet Relay Chat Robot nako$B$N%(%_%e%l!<%7%g%s$r9T$&(B

    $B@bL@(B

    Internet Relay Chat Robot nako$B$N%(%_%e%l!<%7%g%s$r9T$$$^$9!#(B nako$B$G;HMQ$7$F$$$k@_Dj%U%!%$%k$r$=$N$^$^MxMQ$9$k$3$H$,$G$-$^$9!#(B $B>\$7$/$O(Bnako$B$N%I%-%e%a%s%H$r;2>H$7$F2<$5$$!#(B

    $B%W%m%Q%F%#(B

    auto.nako.sysfile $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%7%9%F%`$N@_Dj%U%!%$%k$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O!V(B.nako.sys$B!W$K$J$C$F$$$^$9!#(B
    auto.nako.msgfile $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%a%C%;!<%8%G!<%?$N@_Dj%U%!%$%k$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O!V(B.nako.msg$B!W$K$J$C$F$$$^$9!#(B

    $B@_DjNc(B

    + auto/nako.plm
    auto.nako.sysfile: .nako.sys;euc,jis
    auto.nako.msgfile: .nako.msg;euc,jis
    
    $B%7%9%F%`@_Dj$N%U%!%$%k$H%a%C%;!<%8%G!<%?@_Dj$N%U%!%$%k$K$=$l$>$l(B $B!V(B.nako.sys$B!W$H!V(B.nako.msg$B!W$r;HMQ$7$^$9!#(B $B$3$l$i$N%U%!%$%k$O$$$:$l$b4A;z%3!<%I$,(Beuc$B$b$7$/$O(Bjis$B$GJ]B8$5$l$F$$$k(B $BI,MW$,$"$j$^$9!#(B plum-2.33.1.orig/module/auto/reply.plm0100644001001300006200000003013206676174332017500 0ustar gotomkobayashi auto/reply.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/reply.plm - $BFCDj$NH/8@$KH?1~$7$?%a%C%;!<%8$rH/8@$9$k(B

    $B@bL@(B

    $BFCDj$NH/8@$KH?1~$7$F!"$=$l$KBP$9$k%a%C%;!<%8$rH/8@$7$^$9!#(B $B0l$D$NH/8@$KBP$7$FJ#?t$N%a%C%;!<%8$r;XDj$9$k$3$H$,$G$-!"(B $B$=$NCf$+$i%i%s%@%`$G$I$l$+0l$D$N%a%C%;!<%8$rH/8@$7$^$9!#(B $B%a%C%;!<%8$O%U%!%$%k$G;XDj$7!"%U%!%$%k$N%U%)!<%^%C%H$O(B $B0J2<$N$h$&$K$J$C$F$$$^$9!#(B
    $B$3$s$P$s$o(B : $B$3$s$P$s$o!A!y(B $B$3$s$P$s!&$o$s!A(B
    $B$4$O$s(B* : $B$"$?$7$b9T$/!A(B
    *$B$W$i$`(B* : $B$h$s$@$!(B? $B$O!<$$!y(B
    
    $BH?1~$O0l9T$K0l$D5-=R$7!"H?1~$9$kH/8@$H$=$l$KBP$9$k%a%C%;!<%8$O(B $B!V(B:$B!W$H$=$NA08e$K(B1$B$D0J>e$N6uGr$r$D$1$F6h@Z$C$F;XDj$7$^$9!#(B $B$^$?!"H/8@$H%a%C%;!<%8$N$=$l$>$l$O(B1$B$D0J>e$N6uGr$G6h@Z$j$^$9!#(B $BH?1~$9$kH/8@$K$O%o%$%k%I%+!<%I$H$7$F!V(B*$B!W$,;XDj$G$-$^$9!#(B

    $B%W%m%Q%F%#(B

    auto.reply.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $BH?1~$9$k%a%C%;!<%8$rJ]B8$9$k%U%!%$%kL>$r;XDj$7$^$9!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$^$9!#(B $B4A;z%3!<%I$rJ#?t;XDj$7$?>l9g$O!":G=i$K;XDj$7$?4A;z%3!<%I$G(B $BJ]B8$5$l!">JN,$7$?>l9g$O!V(Bjis$B!W$r;XDj$7$?$3$H$HF1$8$G$9!#(B $B$^$?!"!V(Beuc$B!W$H!V(Bsjis$B!W$rF1;~$K;XDj$9$k$3$H$O$G$-$^$;$s!#(B
    auto.random.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%(%$%j%"%9$r;2>H$9$k%U%!%$%k$r;XDj$7$^$9!#(B $B$3$N%U%!%$%k$O(Bauto/alias.plm$B$G;H$&$b$N$HF1$8$b$N$G$9!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$F$$$kI,MW$,$"$j$^$9!#(B
    auto.reply.format* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$rH/8@$9$k:]$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B $B%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K;XDj$9$k$3$H$G%(%$%j%"%9Cf$N(B $BBP1~$9$kCM$GCV$-49$($^$9!#$^$?(B#(message)$B$G%a%C%;!<%8$NFbMF$K!"(B #(nick.now)$B$G8=:_$N%K%C%/%M!<%`$K!"(B#(channel)$B$G%A%c%s%M%kL>$K(B $B$=$l$>$lCV$-49$($^$9!#(B
    auto.reply.rate $B3NN((B
    $BH/8@$KH?1~$9$k3NN($r;XDj$7$^$9!#(B0$B$r;XDj$9$k$HA4$/H?1~$;$:!"(B 100$B$r;XDj$9$k$HA4$F$NH/8@$KH?1~$7$^$9!#(B
    auto.reply.add* $BJ8;zNs(B
    $BH?1~$9$k%a%C%;!<%8$rDI2C$9$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $BJ8;zNs$K$OH?1~$9$kH/8@$H$=$l$KBP$9$k%a%C%;!<%8$r(B $B6uGr$G6h@Z$C$F;XDj$7$^$9!#(B
    auto.reply.remove* $BJ8;zNs(B
    $BH?1~$9$k%a%C%;!<%8$r:o=|$9$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $BJ8;zNs$K$OH?1~$9$kH/8@$H$=$l$KBP$9$k%a%C%;!<%8$r(B $B6uGr$G6h@Z$C$F;XDj$7$^$9!#(B
    auto.reply.change* $BJ8;zNs(B
    $BH?1~$9$k%a%C%;!<%8$rJQ99$9$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $BJ8;zNs$K$OH?1~$9$kH/8@$H$=$l$KBP$9$k%a%C%;!<%8$r(B $B6uGr$G6h@Z$C$F;XDj$7$^$9!#(B

    $B@_DjNc(B

    + auto/reply.plm
    auto.reply.file: reply.txt;jis
    auto.reply.format: #(name): #(message)
    auto.reply.rate: 100
    auto.reply.add: $B%a%C%;!<%8DI2C(B
    auto.reply.remove: $B%a%C%;!<%8:o=|(B
    auto.reply.change: $B%a%C%;!<%8JQ99(B
    
    $B!V(Breply.txt$B!W$K=q$+$l$?FbMF$K4p$E$$$F!"H/8@$KH?1~$7$F$=$l$KBP$9$k(B $B%a%C%;!<%8$rH/8@$7$^$9!#(Breply.txt$B$O(Bjis$B$G=q$+$l$F$$$kI,MW$,$"$j$^$9!#(B $B$^$?!"!V%a%C%;!<%8DI2C(B $B$3$s$K$A$O(B $B$3$s$K$A$O!A!y!W$N$h$&$KH/8@$9$l$P!"(B $B?7$?$JH?1~$rDI2C$9$k$3$H$,$G$-$^$9!#(B $BF1MM$K!"!V%a%C%;!<%8:o=|(B $B$3$s$K$A$O(B $B$3$s$K$A$O!A!y!W$d!"(B $B!V%a%C%;!<%8JQ99(B $B$3$s$K$A$O(B $B$3$s$K$A!&$o$s!A!W$N$h$&$KH/8@$9$k$3$H$G!"(B $BH?1~$r:o=|$7$?$jJQ99$9$k$3$H$,$G$-$^$9!#(B plum-2.33.1.orig/module/auto/oper.plm0100644001001300006200000002617406676174332017325 0ustar gotomkobayashi auto/oper.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/oper.plm - $BFCDj$NH/8@$r$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$9$k(B

    $B@bL@(B

    $BFCDj$NJ8;zNs$rH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B2?$i$+$NM}M3$G%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$G$-$J$$>l9g$O!"(B $B$=$l$>$l$NM}M3$K1~$8$?J8;zNs$rH/8@$7$^$9!#(B

    $B%W%m%Q%F%#(B

    auto.oper.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%f!<%6$N%(%$%j%"%9$r;2>H$9$k$?$a$N%U%!%$%k$r;XDj$7$^$9!#(B $B$3$3$G;XDj$9$k%U%!%$%k$O(Bauto/alias.plm$B$G;H$&$b$N$H(B $BF1$87A<0$N$b$N$G$9!#(B
    auto.oper.request* $BJ8;zNs(B
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$9$kJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$rH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
    auto.oper.mask* {+|-}$B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$,!"$3$3$G;XDj$7$?%^%9%/$K(B $B%^%C%A$7$J$+$C$?>l9g$O!"(Bauto.oper.deny$B$G;XDj$7$?J8;zNs$rH/8@$7!"(B $B%A%c%s%M%k%*%Z%l!<%?$K$O$7$^$;$s!#(B
    auto.oper.message* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$r$lCV49$5$l$^$9!#(B
    auto.oper.deny* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$,(Bauto.oper.mask$B$G;XDj$7$?$b$N$K(B $B%^%C%A$7$J$+$C$?>l9g!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B #(nick)$B$N$h$&$K=q$/$3$H$G!"%(%$%j%"%9Cf$NBP1~$9$kCM$G(B $BCV$-49$($^$9!#(B
    auto.oper.oper* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$7$??M$,$9$G$K%A%c%s%M%k%*%Z%l!<%?$@$C$?(B $B>l9g!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B #(nick)$B$N$h$&$K=q$/$3$H$G!"%(%$%j%"%9Cf$NBP1~$9$kCM$G(B $BCV$-49$($^$9!#(B
    auto.oper.notoper* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$rMW5a$5$l$?$H$-$K!"(B $B<+J,$,%A%c%s%M%k%*%Z%l!<%?$G$J$$$?$a$K$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K(B $B$G$-$J$$>l9g!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B #(nick)$B$N$h$&$K=q$/$3$H$G!"%(%$%j%"%9Cf$NBP1~$9$kCM$G(B $BCV$-49$($^$9!#(B
    auto.oper.private* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,%A%c%s%M%k$KBP$7$F$G$O$J$/!"(B $B<+J,$KBP$7$F$5$l$?>l9g!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B #(nick)$B$N$h$&$K=q$/$3$H$G!"%(%$%j%"%9Cf$NBP1~$9$kCM$G(B $BCV$-49$($^$9!#(B
    auto.oper.out* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,%A%c%s%M%k$N30$+$iH/8@$5$l$?>l9g!"(B $B$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B #(nick)$B$N$h$&$K=q$/$3$H$G!"%(%$%j%"%9Cf$NBP1~$9$kCM$G(B $BCV$-49$($^$9!#(B

    $B@_DjNc(B

    + auto/oper.plm
    auto.oper.alias: alias.txt;euc
    auto.oper.request: $B$W$i$`$J$k$H(B
    auto.oper.mask: +*!*@*
    auto.oper.message: $B$O!A$$!y(B
    auto.oper.deny: $B$J$k$H$O$"$2$i$l$^$;$s$o!#(B
    auto.oper.oper: #(name|nick.now)$B$5$s$O$b$&$J$k$H;}$C$F$^$9$h!#(B
    auto.oper.notoper: $B$4$a$s$J$5$$!#$J$k$H;}$C$F$J$$$s$G$9!#(B
    auto.oper.private: $B$J$k$H$,$[$7$$%A%c%s%M%k$G8@$C$F$/$@$5$$$M!#(B
    auto.oper.out: $B$($C!"$I$3$K$$$k$s$G$9$+(B?
    
    $B!V$W$i$`$J$k$H!W$HH/8@$7$??M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B$9$Y$F$N%f!<%6$r%A%c%s%M%k%*%Z%l!<%?$K$9$k$3$H$r5v2D$7$F$$$k$N$G!"(B $BC/$,$I$N%A%c%s%M%k$GMW5a$7$F$-$F$b!"$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B2?$i$+$NM}M3$G%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$H$-$O!"(B $B$=$l$>$l$NM}M3$K1~$8$?%a%C%;!<%8$rH/8@$7$^$9!#(B
    + auto/oper.plm
    auto.oper.request: $B$J$k$H(B
    auto.oper.request: $B$J$k$H$/$l(B
    auto.oper.request: $B$J$k$H$/$@$5$$(B
    auto.oper.request: $B$J$k$H$A$g$&$@$$(B
    auto.oper.mask: -*!*@*.com
    auto.oper.mask: +*!*@* #$B$^$I$+(B:*.jp
    auto.oper.mask: +*!*@*.jp
    
    $B%A%c%s%M%k%*%Z%l!<%?$NMW5a$,(B4$B$N%A%c%s%M%k$G$O!V(B*!*@*.jp$B!W$K%^%C%A$9$k?M$@$1$r(B $B%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B2?$i$+$NM}M3$G%A%c%s%M%k%*%Z%l!<%?$K$G$-$J$$$H$7$F$b2?$bH/8@$7$^$;$s!#(B plum-2.33.1.orig/module/auto/yuurii.plm0100644001001300006200000003504706676174332017705 0ustar gotomkobayashi auto/yuurii.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/yuurii.plm - pirc bot $B$f!<$j$#$N%W%i%0%$%s$rAH$_9~$`(B

    $B@bL@(B

    pirc bot $B$f!<$j$#$N%(%_%e%l!<%7%g%s$r9T$$!"(B $B$f!<$j$#MQ$N%W%i%0%$%s$r\$7$/$O(Bpirc bot $B$f!<$j$#$N%I%-%e%a%s%H$r;2>H$7$F2<$5$$!#(B

    $B%W%m%Q%F%#(B

    auto.yuurii.cache $B%-%c%C%7%e%5%$%:(B
    $BF1$8%a%C%;!<%8$r2?EY$bH/8@$7$J$$$h$&$K!"(B $B$3$3$G;XDj$7$?Bg$-$5$N%-%c%C%7%e$r:n$j$^$9!#(B $BH/8@$7$h$&$H$7$F$$$k%a%C%;!<%8$,%-%c%C%7%e$NCf$K$"$C$?>l9g$O(B $B$=$N%a%C%;!<%8$rH/8@$7$^$;$s!#(B $B$f!<$j$#$N(BCACHE$B$N@_Dj$HF1$8$G$9!#(B
    auto.yuurii.pluginrc $B%U%!%$%kL>(B
    $B%W%i%0%$%s$N@_Dj%U%!%$%k$r;XDj$7$^$9!#(B $B$f!<$j$#$N(BPLUGINRC$B$N@_Dj$HF1$8$G$9!#(B $B$f!<$j$#$G;HMQ$7$F$$$?!V(B.pluginrc$B!W$,$=$N$^$^MxMQ$G$-$^$9!#(B
    auto.yuurii.plugindir* $B%G%#%l%/%H%jL>(B
    $B%W%i%0%$%s$N$*$$$F$"$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B$f!<$j$#$N(BPLUGINDIR$B$N@_Dj$HF1$8$G$9!#(B
    auto.yuurii.down $B%j%V!<%H4V3V(B
    $B%a%b%j$NBgNL>CHq$rKI$0$?$a$K!"(B $B$3$3$G;XDj$5$l$?;~4V$,7P2a$9$k$H:F5/F0$r9T$$$^$9!#(B $B$f!<$j$#$N(BDOWN$B$N@_Dj$HF1$8$G$9!#(B $B$?$@$78=:_$O:F5/F0$N5!G=$O$J$$$N$G!"$3$N%W%m%Q%F%#$O;HMQ$7$F$$$^$;$s!#(B
    auto.yuurii.downmes $B%a%C%;!<%8(B
    $B:F5/F0$r9T$&$H$-$K!"$3$3$G;XDj$7$?%a%C%;!<%8$G(BIRC$B$r=*N;$7$^$9!#(B $B$f!<$j$#$N(BDOWNMES$B$N@_Dj$HF1$8$G$9!#(B $B$?$@$78=:_$O:F5/F0$N5!G=$O$J$$$N$G!"(B $B$3$N%W%m%Q%F%#$O;HMQ$7$F$$$^$;$s!#(B
    auto.yuurii.timer $B%+%&%s%H(B
    1$BIC4V$K(B1$B2s%+%&%s%H$9$k%A%c%s%M%k%?%$%^$N=i4|CM$G$9!#(B $B$f!<$j$#$N(BTIMER$B$N@_Dj$HF1$8$G$9!#(B $B%?%$%^$NCM$,(B0$B$h$jBg$-$1$l$P!"(B1$BIC$K(B1$B$:$D8:>/$7!"(B 0$B$h$j>/$5$1$l$P!"(B1$BIC$K(B1$B$:$DA}2C$7$^$9!#(B
    auto.yuurii.usetimer $B%?%$%^4V3V(B
    $B;XDj$7$?IC?t$K(B1$B2s$N3d9g$G%W%i%0%$%s$r
    auto.yuurii.mode $B%U%!%$%k%b!<%I(B
    $B%W%i%0%$%s$NCf$G:n@.$9$k%U%!%$%k$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B $B$f!<$j$#$G$N%G%U%)%k%H$O(B600$B$G$9!#(B
    auto.yuurii.header $B$X%C%@(B
    $B%G%P%C%0$N=PNO$K$D$1$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B $BJ8;zNsCf$K(B%$B$G;O$^$kJ8;zNs$,4^$^$l$F$$$k$H!"(B $BBP1~$9$k$b$N$K$*$-$+$o$j$^$9!#(B $B$f!<$j$#$G$N%G%U%)%k%H$O(B%H:%M:%S$B$G$9!#(B
    auto.yuurii.debug $B%U%!%$%kL>(B
    $B%W%i%0%$%s$NCf$G%G%P%C%0%k!<%A%s$r

    $B@_DjNc(B

    + auto/yuurii.plm
    auto.yuurii.cache: 50
    auto.yuurii.pluginrc: .pluginrc
    auto.yuurii.down: 48
    auto.yuurii.downmes: auto down
    auto.yuurii.timer: 2000
    auto.yuurii.usetimer: 0
    auto.yuurii.mode: 600
    auto.yuurii.header: %H:%M:%S
    auto.yuurii.debug: log%m%d
    
    $B$f!<$j$#$N%G%U%)%k%H$HF1$8@_Dj$G$9!#(B $B$?$@$7:F5/F0$O$7$J$$$N$G!V(Bauto.yuurii.down$B!W$H(B $B!V(Bauto.yuurii.downmes$B!W$N@_Dj$OL58z$G$9!#(B
    + auto/yuurii.plm
    auto.yuurii.cache: 0
    auto.yuurii.pluginrc: yuurii.conf
    auto.yuurii.usetimer: 1
    
    $B%-%c%C%7%e$r;H$o$J$$$h$&$K$7$F!"(B1$BIC4V$K(B1$B2s%W%i%0%$%s$r plum-2.33.1.orig/module/auto/random.plm0100644001001300006200000002327106676174332017633 0ustar gotomkobayashi auto/random.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/random.plm - $BFCDj$NH/8@$KH?1~$7$F%i%s%@%`$JH/8@$r$9$k(B

    $B@bL@(B

    $BFCDj$N%a%C%;!<%8$,H/8@$5$l$k$H!";XDj$5$l$?%a%C%;!<%8$NCf$+$i(B $B$I$l$+(B1$B$D$r%i%s%@%`$KA*Br$7$FH/8@$7$^$9!#(B

    $B%W%m%Q%F%#(B

    auto.random.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%i%s%@%`$KH/8@$9$k%a%C%;!<%8$N=q$+$l$?%U%!%$%k$r;XDj$7$^$9!#(B $B%U%!%$%k$NCf$G$O(B1$B9T$K(B1$B$D$N%a%C%;!<%8$r=q$$$F2<$5$$!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$^$9!#(B $B4A;z%3!<%I$rJ#?t;XDj$7$?>l9g$O!":G=i$K;XDj$7$?4A;z%3!<%I$G(B $BJ]B8$5$l!">JN,$7$?>l9g$O!V(Bjis$B!W$r;XDj$7$?$3$H$HF1$8$G$9!#(B $B$^$?!"!V(Beuc$B!W$H!V(Bsjis$B!W$rF1;~$K;XDj$9$k$3$H$O$G$-$^$;$s!#(B
    auto.random.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%(%$%j%"%9$r;2>H$9$k%U%!%$%k$r;XDj$7$^$9!#(B $B$3$N%U%!%$%k$,;XDj$5$l$F$$$k$H!"C/$KBP$9$kH/8@$+$r(B $B%K%C%/%M!<%`$G$O$J$/!"BP1~$9$kL>A0$GH/8@$7$^$9!#(B
    auto.random.request* $BJ8;zNs(B
    $BH?1~$9$kH/8@$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?%a%C%;!<%8$N$I$l$+(B1$B$D$H0lCW$7$?>l9g$K(B $B%i%s%@%`$KA*Br$5$l$?%a%C%;!<%8$rH/8@$7$^$9!#(B
    auto.random.format* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$rH/8@$9$k:]$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B $B%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K;XDj$9$k$3$H$G%(%$%j%"%9Cf$N(B $BBP1~$9$kCM$GCV$-49$($^$9!#$^$?(B#(message)$B$G%a%C%;!<%8$NFbMF$K!"(B #(nick.now)$B$G8=:_$N%K%C%/%M!<%`$K!"(B#(channel)$B$G%A%c%s%M%kL>$K(B $B$=$l$>$lCV$-49$($^$9!#(B
    auto.random.rate $B3NN((B
    $BH/8@$KH?1~$9$k3NN($r;XDj$7$^$9!#(B0$B$r;XDj$9$k$HA4$/H?1~$;$:!"(B 100$B$r;XDj$9$k$HA4$F$NH/8@$KH?1~$9$k$h$&$K$J$j$^$9!#(B $B%G%U%)%k%H$G$O(B100$B$K$J$C$F$$$^$9!#(B
    auto.random.add* $BJ8;zNs(B
    $B%a%C%;!<%8$rDI2C$9$kJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$rH/8@$9$k$H!"?7$7$$%a%C%;!<%8$rDI2C$7$^$9!#(B
    auto.random.remove* $BJ8;zNs(B
    $B%a%C%;!<%8$r:o=|$9$kJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$rH/8@$9$k$H!"0lCW$9$k%a%C%;!<%8$r:o=|$7$^$9!#(B

    $B@_DjNc(B

    + auto/random.plm
    auto.random.request: $B:#F|$N1?@*$O(B?
    auto.random.request: $B$&$i$J$$(B
    auto.random.file: random.txt;jis
    auto.random.format: #(name|nick|nick.now)$B$5$s$N1?@*$O!V(B#(message)$B!W$@$h$C(B
    auto.random.rate: 100
    auto.random.add: $B$&$i$J$$DI2C(B
    auto.random.remove: $B$&$i$J$$:o=|(B
    
    $B!V:#F|$N1?@*$O(B?$B!W$+!V$&$i$J$$!W$N$I$A$i$+$NH/8@$,$"$C$?$H$-$K!"(B $B!V(Brandom.txt$B!W$NCf$K=q$+$l$?%a%C%;!<%8$NCf$N$I$l$+(B1$B$D$rH/8@$7$^$9!#(B random.txt$B$O(Bjis$B$G=q$+$l$F$$$J$$$H$$$1$^$;$s!#(B $B$^$?!"!V$&$i$J$$DI2C(B $BBg5H$G$9!y!W$J$I$N$h$&$KH/8@$9$k$3$H$G!"(B $B?7$7$$%a%C%;!<%8$rDI2C$9$k$3$H$,$G$-$^$9!#(B plum-2.33.1.orig/module/auto/alias.plm0100644001001300006200000004034106676174332017441 0ustar gotomkobayashi auto/alias.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/alias.plm - $B%f!<%6%(%$%j%"%9>pJs$N4IM}(B

    $B@bL@(B

    $B%f!<%6L>$N%(%$%j%"%9$NDI2C!":o=|!"3NG'$r9T$$$^$9!#(B $B%(%$%j%"%9$NDI2C!":o=|$O<+J,$N>pJs$KBP$7$F$7$+9T$&$3$H$O$G$-$^$;$s!#(B $B%(%$%j%"%9$O4pK\E*$K(Bnick$B!"(Bname$B!"(Buser$B$N(B3$B$D$N%U%#!<%k%I$+$i$J$C$F$*$j!"(B $B$=$l$>$l%K%C%/%M!<%`!"L>A0!"%f!<%6%^%9%/$rI=$7$^$9!#(B $B
    $B$^$?!"%(%$%j%"%9%U%!%$%k$NCf$G$O!"%G!<%?$O%f!<%6$4$H$K(B nick$B!"(Bname$B!"(Buser$B$N=gHV$GJ]B8$5$l$F$$$^$9!#(B $B$=$l$>$l$N%G!<%?$OJ#?t;XDj$9$k$3$H$,$G$-!"(Bnick$B$O!V(B,$B!W$G!"(B name$B$O6uGr$G!"(Buser$B$O(B1$B9T$K(B1$B$D$:$D$=$l$>$l6h@Z$j$^$9!#(B $B nick: plum,plum_j,plum-j name: $B$W$i$`(B $B$W$i$`$A$c$s(B user: *!plum@*.plum.org user: plum*!*plum@*.plum.com nick: plum_ name: $B$W$i$`(B($B56(B) user: *!*plum@*.plum.org

    $B%W%m%Q%F%#(B

    auto.alias.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%(%$%j%"%9$rJ]B8$9$k%U%!%$%kL>$r;XDj$7$^$9!#(B $B%U%!%$%kL>$N8e$K4A;z%3!<%I$r;XDj$9$k$3$H$,$G$-$^$9!#(B $B4A;z%3!<%I$rJ#?t;XDj$7$?>l9g$O:G=i$K;XDj$7$?4A;z%3!<%I$GJ]B8$5$l!"(B $B>JN,$7$?>l9g$O!V(Bjis$B!W$r;XDj$7$?$3$H$HF1$8$K$J$j$^$9!#(B $B$^$?!V(Beuc$B!W$H!V(Bsjis$B!W$rF1;~$K;XDj$9$k$3$H$O$G$-$^$;$s!#(B
    auto.alias.readonly* ($B%?%$%W(B)
    $BJQ99$9$k$3$H$N$G$-$J$$%?%$%W$r;XDj$7$^$9!#(B
    auto.alias.invisible* ($B%?%$%W(B)
    $B8+$k$3$H$N$G$-$J$$%?%$%W$r;XDj$7$^$9!#(B
    auto.alias.private* ($B%?%$%W(B)
    $BK\?M$K$7$+8+$k$3$H$N$G$-$J$$%?%$%W$r;XDj$7$^$9!#(B
    auto.alias.scalar* ($B%?%$%W(B)
    $BCM$r0l$D$7$+@_Dj$9$k$3$H$,$G$-$J$$%?%$%W$r;XDj$7$^$9!#(B
    auto.alias.get* $BJ8;zNs(B
    $B%(%$%j%"%9$r3NG'$9$k$?$a$N%a%C%;!<%8$G$9!#(B $B$3$N%a%C%;!<%8$HF1$8J8;zNs$rH/8@$r$9$k$H!"(B $B<+J,$K@_Dj$5$l$F$$$k%(%$%j%"%9$r3NG'$9$k$3$H$,$G$-$^$9!#(B $B$^$?!"0z?t$H$7$F%(%$%j%"%9$N%?%$%W$H%G!<%?$r;XDj$9$k$H!"(B $B$=$l$K%^%C%A$9$k?M$N%(%$%j%"%9$r3NG'$G$-$^$9!#(B
    auto.alias.add* $BJ8;zNs(B
    $B%(%$%j%"%9$rDI2C$9$k$?$a$N%a%C%;!<%8$G$9!#(B $B$3$N%a%C%;!<%8$K0z?t$H$7$F%(%$%j%"%9$N%?%$%W$H%G!<%?$r;XDj$9$k$H!"(B $B<+J,$N%(%$%j%"%9$K;XDj$7$?%G!<%?$rDI2C$7$^$9!#(B
    auto.alias.remove* $BJ8;zNs(B
    $B%(%$%j%"%9$r:o=|$9$k$?$a$N%a%C%;!<%8$G$9!#(B $B$3$N%a%C%;!<%8$K0z?t$H$7$F%(%$%j%"%9$N%?%$%W$H%G!<%?$r;XDj$9$k$H!"(B $B<+J,$N%(%$%j%"%9$N$&$A$G;XDj$7$?%G!<%?$r:o=|$7$^$9!#(B nick$B$KBP$9$k%G!<%?$r:o=|$9$k$H!"%(%$%j%"%9$=$N$b$N$,:o=|$5$l$^$9!#(B
    auto.alias.change* $BJ8;zNs(B
    $B%(%$%j%"%9$rJQ99$9$k$?$a$N%a%C%;!<%8$G$9!#(B $B$3$N%a%C%;!<%8$K0z?t$H$7$F%(%$%j%"%9$N%?%$%W!"8E$$%G!<%?!"(B $B?7$7$$%G!<%?$r;XDj$9$k$H!"<+J,$N%(%$%j%"%9$N$&$A$G(B $B;XDj$7$?%?%$%W$N8E$$%G!<%?$r?7$7$$%G!<%?$KJQ99$7$^$9!#(B $B?7$7$$%G!<%?$,$9$G$KB8:_$9$k$+$I$&$+$O3NG'$7$F$$$J$$$N$G!"(B $BF1$8%G!<%?$,(B2$B$D$G$-$J$$$h$&$K$7$F$/$@$5$$!#(B

    $B@_DjNc(B

    + auto/alias.plm
    auto.alias.file: alias.txt;jis,euc
    auto.alias.get: $B%(%$%j%"%9(B
    auto.alias.add: $B%(%$%j%"%9DI2C(B
    auto.alias.remove: $B%(%$%j%"%9:o=|(B
    auto.alias.change: $B%(%$%j%"%9JQ99(B
    
    $B!V%(%$%j%"%9!W$H$$$&H/8@$,$"$k$H!"H/8@$7$??M$N%(%$%j%"%9$rH/8@$7$^$9!#(B $B%(%$%j%"%9$O!V(Balias.txt$B!W$H$$$&%U%!%$%k$+$iFI$_9~$_$^$9!#(B alias.txt$B$O4A;z%3!<%I$,!V(Bjis$B!W$+!V(Beuc$B!W$G=q$+$l$F$$$kI,MW$,$"$j$^$9$,!"(B IRC$B>e$+$i%(%$%j%"%9$NJQ99$r9T$C$?>l9g$O(Bjis$B$GJ]B8$5$l$^$9!#(B $B$^$?!"!V%(%$%j%"%9(B name $B$W$i$`!W$N$h$&$KH/8@$9$k$H!"(B $B%?%$%W$,!V(Bname$B!W$G!"%G!<%?$,!V$W$i$`!W$H$$$&?M$N%(%$%j%"%9$rJV$7$^$9!#(B

    $B%(%$%j%"%9$rDI2C$9$k$?$a$K$O!"(B $B!V%(%$%j%"%9DI2C(B user *!*plum@*.plum.gr.jp$B!W$N$h$&$KH/8@$7$^$9!#(B $B$3$N>l9g$G$O%?%$%W$,!V(Buser$B!W$G!"%G!<%?$,!V(B*!*plum@*.plum.gr.jp$B!W(B $B$H$$$&%(%$%j%"%9$r!"H/8@$7$??M$N%(%$%j%"%9$KDI2C$7$^$9!#(B

    $B%(%$%j%"%9$r:o=|$9$k$?$a$K$O!"(B $B!V%(%$%j%"%9:o=|(B name $B$W$i$`$A$c$s!W$N$h$&$KH/8@$7$^$9!#(B $B$3$N>l9g$G$O%?%$%W$,!V(Bname$B!W$G!"%G!<%?$,!V$W$i$`$A$c$s!W$H$$$&%(%$%j%"%9$,!"(B $BH/8@$7$??M$N%(%$%j%"%9$KB8:_$9$l$P!"$=$l$r:o=|$7$^$9!#(B $B;XDj$7$?%G!<%?$,H/8@$7$??M$N%(%$%j%"%9$KB8:_$7$J$$>l9g$OL5;k$5$l$^$9!#(B $B$^$?!"%?%$%W$,!V(Bnick$B!W$N%G!<%?$r$9$Y$F:o=|$7$?>l9g$O!"(B $B$=$N?M$N%(%$%j%"%9$OA4$F:o=|$5$l$^$9!#(B

    $B%(%$%j%"%9$rJQ99$9$k$?$a$K$O!"(B $B!V%(%$%j%"%9JQ99(B name $B$W$i$`(B($B56(B) $B$W$i$`(B($B2>(B)$B!W$N$h$&$KH/8@$7$^$9!#(B $B$3$N>l9g$G$O%?%$%W$,!V(Bname$B!W$G!"%G!<%?$,!V$W$i$`(B($B56(B)$B!W$H$$$&%(%$%j%"%9$,!"(B $BH/8@$7$??M$N%(%$%j%"%9$KB8:_$9$l$P!"$=$l$r!V$W$i$`(B($B2>(B)$B!W$KJQ99$7$^$9!#(B $B;XDj$7$?%G!<%?$,H/8@$7$??M$N%(%$%j%"%9$KB8:_$7$J$$>l9g$OL5;k$5$l$^$9!#(B plum-2.33.1.orig/module/auto/message.plm0100644001001300006200000004613706676174332020005 0ustar gotomkobayashi auto/message.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/message.plm - $B%f!<%64V$G%a%C%;!<%8$NAw

    $B@bL@(B

    $B%f!<%64V$GAj8_$K%a%C%;!<%8$N$d$j$H$j$,$G$-$k$h$&$K$7$^$9!#(B $B%a%C%;!<%8$rAw$k$?$a$NH/8@$,$"$k$H!"$=$NAw$j@h$H%a%C%;!<%8$NFbMF$r(B $B%U%!%$%k$KJ]B8$7$^$9!#%f!<%6$,%A%c%s%M%k$KF~$C$F$-$?$j!"%K%C%/%M!<%`$r(B $BJQ99$7$?$H$-$J$I$K!"$=$N%f!<%608$N%a%C%;!<%8$,$J$$$+$I$&$+3NG'$7!"(B $B%a%C%;!<%8$,$"$l$P!"%a%C%;!<%8$,$"$k$3$H$rEA$($^$9!#(B $B%a%C%;!<%8$NAw$j@h$O4pK\E*$K%K%C%/%M!<%`$G;XDj$9$kI,MW$,$"$j$^$9$,!"(B $B%(%$%j%"%9$r;2>H$9$k$3$H$G4A;z$r4^$s$@L>A0$r;H$&$3$H$b$G$-$^$9!#(B $B%a%C%;!<%8$r

    $B%W%m%Q%F%#(B

    auto.message.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%a%C%;!<%8$r3JG<$9$k%U%!%$%k$r;XDj$7$^$9!#$3$N%U%!%$%k$OIaDL$N(B $B%F%-%9%H%U%!%$%k$G!"0l9T$K$D$-0l$D$N%a%C%;!<%8$,J]B8$5$l$^$9!#(B $B4A;z%3!<%I$O%G%U%)%k%H$G$O(Bjis$B$GJ]B8$5$l$^$9$,!"$=$l0J30$N(B $B4A;z%3!<%I$GJ]B8$7$?$$>l9g$O!"%U%!%$%kL>$N8e$K%;%_%3%m%s$G(B $B6h@Z$C$F4A;z%3!<%I$r;XDj$7$^$9!#(B
    auto.message.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%(%$%j%"%9$r;2>H$9$k%U%!%$%k$r;XDj$7$^$9!#(B $BE,@Z$K%(%$%j%"%9$r@_Dj$7$F$*$/$3$H$G!"Aw$j@h$K%K%C%/%M!<%`$@$1(B $B$G$O$J$/!"G$0U$NL>A0$r;XDj$9$k$3$H$,$G$-$^$9!#(B $B$^$?!"Aw$j85$NL>A0$b%K%C%/%M!<%`$G$O$J$/!"%(%$%j%"%9$H$7$F(B $BDj5A$5$l$F$$$kL>A0$r;H$$$^$9!#(B $B$3$N%U%!%$%k$O(Bauto/alias.plm$B$G07$($k%U%!%$%k$HF1$87A<0$G$9!#(B $B%U%!%$%k$N4A;z%3!<%I$,(Bjis$B0J30$N>l9g$O!"$=$N4A;z%3!<%I$r(B $B;XDj$9$kI,MW$,$"$j$^$9!#(B
    auto.message.get* $BJ8;zNs(B
    $B%a%C%;!<%8$r
    auto.message.send* $BJ8;zNs(B
    $B%a%C%;!<%8$rAw$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$KB3$1$FAw$j@h$N%K%C%/%M!<%`$+L>A0$H(B $B%a%C%;!<%8$NFbMF$r6uGr$G6h@Z$C$FH/8@$9$k$3$H$K$h$j!"(B $B$=$N%a%C%;!<%8$r%U%!%$%k$KJ]B8$7$^$9!#(B
    auto.message.check* $BJ8;zNs(B
    $B%a%C%;!<%8$,FO$$$F$$$k$+$I$&$+3NG'$9$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$HF1$8J8;zNs$,H/8@$5$l$k$H!"(B $B$=$N?M$KBP$7$FAw$i$l$?%a%C%;!<%8$,$"$k$+$I$&$+3NG'$7!"(B $B$=$N7k2L$rH/8@$7$^$9!#(B
    auto.message.date $BJ8;zNs(B
    auto.message.format$B$G;XDj$9$k$3$H$N$G$-$kCM$N$&$A!"(B #(date)$B$GCV49$5$l$kF|IU$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O!V(B%m/%d %H:%M$B!W$H$J$C$F$$$^$9!#(B
    auto.message.format* $B%U%)!<%^%C%H(B
    $BAw$j@h$K%a%C%;!<%8$rAw$k$H$-$K!"$I$N$h$&$J7A<0$GH/8@$9$k$+$r(B $B;XDj$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K=q$/$3$H$G!"(B $B%a%C%;!<%8$rpJs$H$7$F$O!"(B #(date)$B$G%a%C%;!<%8$rAw$C$?F|IU$H;~9o$r!"(B#(message)$B$G(B $B%a%C%;!<%8$NFbMF$r$=$l$>$lCV$-49$($^$9!#(B $B$^$?!"3g8LFb$r!V(B|$B!W$G6h@Z$C$FJ#?t;XDj$7$?>l9g!"(B $B:G=i$KDj5A$5$l$F$$$kCM$GCV$-49$($^$9!#(B
    auto.message.accept* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$r@5$7$/A0$r!"(B #(to.nick)$B$N$h$&$K!V(Bto.$B!W$rIU$1$k$3$H$G!"%a%C%;!<%8$NAw$j@h$N(B $B%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B
    auto.message.unknown* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$rAw$kAjA0$KCV$-49$($^$9!#(B
    auto.message.receive* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k$KF~$C$F$-$?;~$d!"%K%C%/%M!<%`$rJQ99$7$?;~$K!"(B $B$=$N?M$KBP$9$k%a%C%;!<%8$,FO$$$F$$$l$P!"$3$3$G;XDj$7$?$b$N$r(B $BH/8@$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K;XDj$9$k$3$H$G!"(B $B%a%C%;!<%8$NAw$j85$N%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B $B$^$?!"(B#(number)$B$GFO$$$F$$$k%a%C%;!<%8$N?t$KCV$-49$($^$9!#(B
    auto.message.nothing* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$r
    auto.message.exists* $B%U%)!<%^%C%H(B
    $B%a%C%;!<%8$,FO$$$F$$$k$+$I$&$+3NG'$7$?$H$-$K!"(B $BFO$$$F$$$k%a%C%;!<%8$,$"$l$P!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B

    $B@_DjNc(B

    + auto/message.plm
    auto.message.file: message.txt;jis
    auto.message.alias: alias.txt;jis,euc
    auto.message.get: $BEA8@65$($F(B
    auto.message.send: $BEA8@(B
    auto.message.check: $BEA8@$"$k(B?
    auto.message.format: #(from.name|from.nick.now)$B$5$s$+$i!"!V(B#(message)$B!W(B
    auto.message.accept: #(to)$B$5$s$X$NEA8@$r3P$($^$7$?(B
    auto.message.unknown: #(to)$B$5$s$H$$$&$N$OC/$G$9$+(B?
    auto.message.receive: #(number)$B8D$NEA8@$,FO$$$F$$$^$9!#!VEA8@65$($F!W$G$*EA$($7$^$9!#(B
    auto.message.nothing: #(name|nick.now)$B$5$s$X$NEA8@$O$"$j$^$;$s(B
    auto.message.exists: #(name|nick.now): #(number)$B8D$NEA8@$,$"$j$^$9!#(B
    
    $B!VEA8@(B pupu_j $B$[$($[$(!W$N$h$&$KH/8@$9$k$H!"(B $B!V(Bpupu_j$B!W$H$$$&%K%C%/%M!<%`$N?M$K!V$[$($[$(!W$H$$$&%a%C%;!<%8$rEA$($^$9!#(B $B$^$?!V(Balias.txt$B!W$K;XDj$5$l$F$$$kL>A0$r;H$C$F!"(B $B!VEA8@(B $B$W$W(B $B$[$($[$(!W$N$h$&$K$7$F%a%C%;!<%8$rEA$($k$3$H$b$G$-$^$9!#(B

    $B%a%C%;!<%8$,FO$$$F$$$k$H$-$K!"%A%c%s%M%k$KF~$C$?$j!"(B $B%K%C%/%M!<%`$rJQ99$9$k$H!"!VEA8@$,FO$$$F$$$^$9!#!VEA8@65$($F!W$G8+$i$l$^$9!W(B $B$H8@$C$FCN$i$;$^$9!#%a%C%;!<%8$,FO$$$F$$$k$H$-$K!"(B $B!VEA8@65$($F!W$HH/8@$9$k$H!"FO$$$F$$$k%a%C%;!<%8$rJ9$/$3$H$,$G$-$^$9!#(B plum-2.33.1.orig/module/auto/package.plm0100644001001300006200000007023606676174332017751 0ustar gotomkobayashi auto/package.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/package.plm - $B;XDj$7$??M$K(BDCC$B$G%U%!%$%k$rFO$1$k(B

    $B@bL@(B

    $B;XDj$7$??M$K%a%C%;!<%8$r$D$1$F(BDCC$B$G%U%!%$%k$rFO$1$^$9!#(B DCC$B$G%U%!%$%k$NAw?.MW5a$r=P$7$?$"$H!"(B $BAw$j@h$r;XDj$9$k$3$H$G%U%!%$%k$rAw?.$9$k$3$H$,$G$-$^$9!#(B $B%U%!%$%k$,FO$$$F$$$k$+$I$&$+$N3NG'$O%f!<%6$,%A%c%s%M%k$KF~$C$F$-$?$H$-$H!"(B $B%K%C%/%M!<%`$rJQ99$7$?$H$-$K9T$$$^$9!#(B $B$=$N$?$a!"F1$8%A%c%s%M%k$KF~$i$J$$%f!<%6$KBP$7$F$O(B $B%U%!%$%k$rAw$k$3$H$O$G$-$^$;$s!#(B

    $B%W%m%Q%F%#(B

    auto.package.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $BpJs$r3JG<$9$k%U%!%$%k$r;XDj$7$^$9!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$^$9!#(B $B4A;z%3!<%I$rJ#?t;XDj$7$?>l9g$O!":G=i$K;XDj$7$?4A;z%3!<%I$G(B $BJ]B8$5$l!">JN,$7$?>l9g$O!V(Bjis$B!W$r;XDj$7$?$3$H$HF1$8$G$9!#(B $B$^$?!"!V(Beuc$B!W$H!V(Bsjis$B!W$rF1;~$K;XDj$9$k$3$H$O$G$-$^$;$s!#(B
    auto.package.directory $B%G%#%l%/%H%jL>(B
    $BC$5$l$^$9!#(B
    auto.package.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%(%$%j%"%9$r;2>H$9$k%U%!%$%kL>$r;XDj$7$^$9!#(B $B$3$N%U%!%$%k$O(Bauto/alias.plm$B$G;HMQ$9$k$b$N$HF1$8$b$N$G$9!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$F$$$kI,MW$,$"$j$^$9!#(B
    auto.package.get* $BJ8;zNs(B
    $B%U%!%$%k$r
    auto.package.send* $BJ8;zNs(B
    $B%U%!%$%k$rAw$k$?$a$NJ8;zNs$G$9!#(BDCC$B$NAw?.BT$A$N>uBV$G(B $B$3$3$G;XDj$7$?J8;zNs$H!"$=$l$KB3$/Aw$j@h$H%a%C%;!<%8$rH/8@$9$k$H!"(B $B;XDj$7$?Aw$j@h$K%U%!%$%k$rAw?.$7$^$9!#(B
    auto.package.check* $BJ8;zNs(B
    $B%U%!%$%k$,FO$$$F$$$k$+$I$&$+3NG'$9$k$?$a$NJ8;zNs$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?J8;zNs$HF1$8J8;zNs$,H/8@$5$l$k$H!"(B $B$=$N?M$KBP$7$FAw$i$l$?%U%!%$%k$,$"$k$+$I$&$+3NG'$7!"(B $B$=$N7k2L$rH/8@$7$^$9!#(B
    auto.package.date $BJ8;zNs(B
    auto.package.format$B$G;XDj$9$k$3$H$N$G$-$kCM$N$&$A!"(B #(date)$B$GCV49$5$l$kF|IU$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O!V(B%m/%d %H:%M$B!W$H$J$C$F$$$^$9!#(B
    auto.package.format* $B%U%)!<%^%C%H(B
    $BAw$j@h$K%U%!%$%k$rAw$k$H$-$K!"$I$N$h$&$J7A<0$GH/8@$9$k$+$r(B $B;XDj$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K=q$/$3$H$G!"(B $B%U%!%$%k$rpJs$H$7$F$O!"(B #(date)$B$G%U%!%$%k$rAw$C$?F|IU$H;~9o$r!"(B#(message)$B$G(B $B%U%!%$%k$NFbMF$r$=$l$>$lCV$-49$($^$9!#(B $B$^$?!"3g8LFb$r!V(B|$B!W$G6h@Z$C$FJ#?t;XDj$7$?>l9g!"(B $B:G=i$KDj5A$5$l$F$$$kCM$GCV$-49$($^$9!#(B
    auto.package.accept* $B%U%)!<%^%C%H(B
    $B%U%!%$%k$r@5$7$/A0$r!"(B #(to.nick)$B$N$h$&$K!V(Bto.$B!W$rIU$1$k$3$H$G!"%U%!%$%k$NAw$j@h$N(B $B%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B
    auto.package.receive* $B%U%)!<%^%C%H(B
    $B%A%c%s%M%k$KF~$C$F$-$?;~$d!"%K%C%/%M!<%`$rJQ99$7$?;~$K!"(B $B$=$N?M$KBP$9$k%a%C%;!<%8$,FO$$$F$$$l$P!"$3$3$G;XDj$7$?$b$N$r(B $BH/8@$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K;XDj$9$k$3$H$G!"(B $B%U%!%$%k$NAw$j85$N%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B $B$^$?!"(B#(number)$B$GFO$$$F$$$k%U%!%$%k?t$KCV$-49$($^$9!#(B
    auto.package.norequest* $B%U%)!<%^%C%H(B
    DCC$B$NAw?.MW5a$r=P$5$:$K%U%!%$%k$rAw$m$&$H$7$?>l9g$K(B $B$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B $B%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K;XDj$9$k$3$H$G!"(B $B%U%!%$%k$NAw$j85$N%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B
    auto.package.unknown* $B%U%)!<%^%C%H(B
    $B%U%!%$%k$rAw$kAjA0$KCV$-49$($^$9!#(B
    auto.package.nothing* $B%U%)!<%^%C%H(B
    $B%U%!%$%k$r
    auto.package.exists* $B%U%)!<%^%C%H(B
    $B%U%!%$%k$,FO$$$F$$$k$+$I$&$+3NG'$7$?$H$-$K!"(B $BFO$$$F$$$k%U%!%$%k$,$"$l$P!"$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#(B
    auto.package.geterror* $B%U%)!<%^%C%H(B
    $B%f!<%6$,%U%!%$%k$rl9g!"(B $B$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K(B $B;XDj$9$k$3$H$G!"%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B $B$^$?!"(B#(file)$B$GE>AwCf$N%U%!%$%kL>$KCV$-49$($^$9!#(B
    auto.package.senderror* $B%U%)!<%^%C%H(B
    $B%f!<%6$,%U%!%$%k$rAw?.$7$F$$$k$H$-$K%(%i!<$,H/@8$7$?>l9g!"(B $B$3$3$G;XDj$7$?$b$N$rH/8@$7$^$9!#%U%)!<%^%C%H$K(B#(nick)$B$N$h$&$K(B $B;XDj$9$k$3$H$G!"%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#(B $B$^$?!"(B#(file)$B$GE>AwCf$N%U%!%$%kL>$KCV$-49$($^$9!#(B

    $B@_DjNc(B

    + auto.package.plm
    auto.package.file: package.txt;jis
    auto.package.directory: DCC
    auto.package.alias: alias.txt;jis,euc
    auto.package.get: $B>.JqAw$C$F(B
    auto.package.send: $B>.Jq(B
    auto.package.format: #(from.name|from.nick.now)$B$5$s$+$i!V(B#(message)$B!W(B(#(date))
    auto.package.date: %m$B7n(B%d$BF|(B%H$B;~(B%M$BJ,(B
    auto.package.accept: $B>.Jq$r.Jq$,FO$$$F$$$^$9!#!V>.JqAw$C$F!W$G$*FO$1$7$^$9!#(B
    auto.package.norequest: #(name|nick.now): DCC$BMW5a$,$"$j$^$;$s(B
    auto.package.unknown: #(to)$B$5$s$H$$$&$N$OC/$G$9$+(B?
    auto.package.nothing: #(name|nick)$B$5$s08$N>.Jq$OFO$$$F$$$^$;$s(B
    auto.package.geterror: #(nick.now): #(file)$B$NAw?.$K<:GT$7$^$7$?(B
    auto.package.senderror: #(nick.now): #(file)$B$N
    
    DCC$B$G%U%!%$%k$NAw?.MW5a$r=P$7$?$"$H!"!V>.Jq(B pupu $B$[$2$[$2!W(B
    $B$N$h$&$KH/8@$9$k$H!"!V$[$2$[$2!W$H$$$&%a%C%;!<%8$H$H$b$K(B
    DCC$B$GAw?.$7$?%U%!%$%k$r(Bpupu$B$H$$$&%K%C%/%M!<%`$N?M$KAw$j$^$9!#(B
    $B$^$?!V(Balias.txt$B!W$NCf$KE,Ev$J>pJs$r;XDj$9$k$3$H$K$h$C$F!"(B
    $B!V>.Jq(B $B$W$W(B $B$[$2$[$2!W$N$h$&$J;H$$J}$b$G$-$^$9!#(B
    $B$^$?!"$3$N$H$-Aw$i$l$?%U%!%$%k$O(BDCC$B$H$$$&%G%#%l%/%H%j$NCf$KJ]B8$5$l$^$9!#(B
    
    

    $B%U%!%$%k$,FO$$$F$$$k$H$-$K%A%c%s%M%k$KF~$C$?$j!"%K%C%/%M!<%`$rJQ99$9$k$H!"(B $B!V>.Jq$,FO$$$F$$$^$9!#!V>.JqAw$C$F!W$G$*FO$1$7$^$9!W$H8@$C$FCN$i$;$^$9!#(B $B$3$N$H$-!V>.JqAw$C$F!W$HH/8@$9$k$H!"Aw$jA0$H%a%C%;!<%8$rH/8@$7$F!"(B DCC$B$G%U%!%$%k$rAw$C$F$-$^$9!#(B plum-2.33.1.orig/module/auto/response.plm0100644001001300006200000002037106676174332020207 0ustar gotomkobayashi auto/response.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/response.plm - $B%a%C%;!<%8$KH?1~$7$FH/8@$r9T$&(B

    $B@bL@(B

    $B%f!<%6$NH/8@$KH?1~$7$F!"$=$l$KBP$9$kH/8@$r9T$$$^$9!#(B $BH?1~$H$=$NH/8@$O%U%!%$%k$K0J2<$N$h$&$J%U%)!<%^%C%H$G5-=R$7$^$9!#(B
    pattern: ^$B$3$s$K$A(B($B$O(B|$B$o(B)$B!A(B?$
    rate: 100
    response: $B$3$s$K$A$O!A(B
    response: #(name|nick|nick.now)$B$5$s!"$$$i$C$7$c!A$$(B
    
    pattern: ($B$M$k(B|$B$*$d$9$_(B)
    rate: 50
    response: #(name|nick|nick.now)$B$5$s!"$*$d$9$_$J$5$$(B
    response: #(nick.now): $B$@$a!y(B
    response: $B$($C!"$b$&?2$A$c$&$s$G$9$+!A(B?(;-;)
    
    $B$=$l$>$l$N%Q%?!<%s$O@55,I=8=$G!"BgJ8;z>.J8;z$O6hJL$7$^$9!#(B $B$^$?!"(Brate$B$KB3$/(Bresponse$B$NO"B3$7$?9T$N$&$A$+$i0l9T$rA*Br$7$F!"(B rate$B%Q!<%;%s%H$N3NN($GH/8@$r9T$$$^$9!#(B

    $B%W%m%Q%F%#(B

    auto.response.file $B%U%!%$%kL>(B[;({euc|jis|sjis})]
    $BH?1~$9$kH/8@$H!"$=$l$KBP$9$kH/8@$r5-=R$9$k%U%!%$%k$G$9!#(B $B%U%!%$%k$N4A;z%3!<%I$,(Bjis$B0J30$N>l9g$O4A;z%3!<%I$r(B $B;XDj$9$kI,MW$,$"$j$^$9!#(B
    auto.response.alias $B%U%!%$%kL>(B[;({euc|jis|sjis})]
    $B%(%$%j%"%9$r;2>H$9$k%U%!%$%k$r;XDj$7$^$9!#(B $B$3$N%U%!%$%k$NFbMF$K=>$C$F!"%a%C%;!<%8Cf$N%U%)!<%^%C%H$H!"(B auto.response.format$B$rE83+$7$^$9!#(B
    auto.response.format* $B%U%)!<%^%C%H(B
    $BH/8@;~$N%U%)!<%^%C%H$r;XDj$7$^$9!#$9$Y$F$NH/8@$KBP$7$F!"(B $B$3$N%U%)!<%^%C%H$GH/8@$r9T$$$^$9!#(B#(nick)$B$N$h$&$K=q$/$3$H$G!"(B $B%(%$%j%"%9$NBP1~$9$kCM$GCV$-49$($^$9!#%(%$%j%"%90J30$NCM$G$O!"(B #(nick.now)$B$G%K%C%/%M!<%`!"(B#(channel)$B$G%A%c%s%M%k!"(B#(message)$B$G(B $BH/8@$7$h$&$H$7$F$$$k%a%C%;!<%8$KCV$-49$($^$9!#(B $B%G%U%)%k%H$G$O!V(B#(message)$B!W$G$9!#(B

    $B@_DjNc(B

    + auto/response.plm
    auto.response.file: response.txt;euc
    auto.response.alias: alias.txt
    
    $BH?1~$r5-=R$9$k%U%!%$%k$H$7$F!V(Bresponse.txt$B!W$r!"(B $B%(%$%j%"%9$r;2>H$9$k%U%!%$%k$H$7$F!V(Balias.txt$B!W$r;HMQ$7$^$9!#(B $B!V(Bresponse.txt$B!W$O4A;z%3!<%I$r!V(Beuc$B!W$G5-=R$7$^$9!#(B $B$^$?!V(Balias.txt$B!W$O4A;z%3!<%I$r!V(Bjis$B!W$G5-=R$7$^$9!#(B plum-2.33.1.orig/module/auto/answer.plm0100644001001300006200000001533506676174332017654 0ustar gotomkobayashi auto/answer.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/answer.plm - $BFCDj$NH/8@$KH?1~$7$FBP1~$9$kH/8@$r$9$k(B

    $B@bL@(B

    $BFCDj$NJ8;zNs$,H/8@$5$l$k$H!"$=$l$KBP1~$9$kJ8;zNs$rH/8@$7$^$9!#(B $B$9$Y$F$NH/8@$KH?1~$9$k$?$a!"F1$8H/8@$r2?EY$b7+$jJV$92DG=@-$,(B $B$"$k$N$GCm0U$7$F2<$5$$!#(B

    $B%W%m%Q%F%#(B

    auto.answer.alias $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%f!<%6L>$N%(%$%j%"%9$rDj5A$9$k%U%!%$%k$r;XDj$7$^$9!#(B $B$3$N%U%!%$%k$O(Bauto/alias.plm$B$G;H$&$b$N$HF1$8$b$N$G$9!#(B $B%U%!%$%k$O;XDj$7$?4A;z%3!<%I$GJ]B8$5$l$F$$$kI,MW$,$"$j$^$9!#(B
    auto.answer.reply* $BJ8;zNs(B $B%U%)!<%^%C%H(B
    $BH?1~$9$kH/8@$H!"$=$l$KBP$9$kJV;v$r;XDj$7$^$9!#H?1~$9$kH/8@$K$O(B $B6uGr$r4^$a$k$3$H$O$G$-$^$;$s!#JV;v$K(B#(nick)$B$N$h$&$K=q$/$3$H$G!"(B $B%(%$%j%"%9$NBP1~$9$k%G!<%?$GCV$-49$($k$3$H$,$G$-$^$9!#(B $B$^$?!"%(%$%j%"%90J30$K$b(B#(nick.now)$B$G8=:_$N%K%C%/%M!<%`$K!"(B #(channel)$B$GH/8@$N$"$C$?%A%c%s%M%kL>$KCV49$7$^$9!#(B $B$^$?!"3g8LFb$r!V(B|$B!W$G6h@Z$C$FJ#?t;XDj$7$?>l9g!"(B $B:G=i$KDj5A$5$l$F$$$kCM$GCV$-49$($^$9!#(B

    $B@_DjNc(B

    + auto/answer.plm
    auto.answer.alias: alias.txt
    auto.answer.reply: $B$3$s$K$A$O(B $B$3$s$K$A$O!A!y(B
    auto.answer.reply: $B$3$s$P$s$O(B #(name|nick|nick.now)$B$5$s!"$3$s$P$s$O!A!y(B
    
    $B!V$3$s$K$A$O!W$H$$$&H/8@$,$"$C$?$H$-$K!V$3$s$K$A$O!A!y!W$HH/8@$7$^$9!#(B $B$^$?!"!V$3$s$P$s$O!W$H$$$&H/8@$,$"$C$?$H$-$K!"(B $BH/8@$7$??M$N%(%$%j%"%9$r!V(Balias.txt$B!W$+$i;2>H$7$F!"(B $BNc$($P!V$W$i$`$5$s!"$3$s$P$s$o!A!y!W$N$h$&$KH/8@$7$^$9!#(B
    + auto/answer.plm
    auto.answer.reply: $B$X$k$W(B $BEA8@5!G=$H>.Jq5!G=$N%X%k%W$G$9(B
    auto.answer.reply: $B$X$k$W(B $B$G$s$4$s(B nick message : nick$B08$K%a%C%;!<%8$rFO$1$^$9(B
    auto.answer.reply: $B$X$k$W(B $B$3$E$D$_(B nick message : nick$B08$K%U%!%$%k$rFO$1$^$9(B
    auto.answer.reply: $B$3$E$D$_$X$k$W(B DCC$B$rAw$C$F$+$i08@h$r65$($F2<$5$$$M(B
    
    $B!V$X$k$W!W$HH/8@$9$k$H!"(B3$B9T$K$o$?$k%X%k%W%a%C%;!<%8$rH/8@$7$^$9!#(B $B$^$?!"!V$3$E$D$_$X$k$W!W$HH/8@$9$k$H!"(B $B!V(BDCC$B$r@h$KAw$C$F$+$i08@h$r65$($F2<$5$$$M!W$HH/8@$7$^$9!#(B plum-2.33.1.orig/module/auto/cache.plm0100644001001300006200000000667106676174332017423 0ustar gotomkobayashi auto/cache.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    auto/cache.plm - $BF1$8H/8@$r7+$jJV$5$J$$$h$&$K@)8B$9$k(B

    $B@bL@(B

    $B2a5n$KH/8@$7$?J8;zNs$rJ]B8$7$F$*$-!"$=$NCf$KH/8@$7$h$&$H$7$F$$$k(B $BJ8;zNs$,$"$l$P!"$=$l$rH/8@$7$J$$$h$&$K$7$^$9!#(B

    $B%W%m%Q%F%#(B

    auto.cache.size $B%-%c%C%7%e$NBg$-$5(B
    $BJ]B8$7$F$*$/H/8@?t$N?t$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O(B10$B$K$J$C$F$$$^$9!#(B
    auto.cache.expire $B%-%c%C%7%e$NM-8z4|8B(B
    $B%-%c%C%7%e$,M-8z$J;~4V$r;XDj$7$^$9!#(B $B$3$3$G;XDj$7$?IC?t$,7P2a$7$?%-%c%C%7%e$O<+F0E*$K%/%j%"$5$l$^$9!#(B 0$B$r;XDj$9$k$H!"%/%j%"$O9T$o$l$^$;$s!#(B $B%G%U%)%k%H$G$O(B600$B$K$J$C$F$$$^$9!#(B
    auto.cache.clear* $B%-%c%C%7%e$r%/%j%"$9$kH/8@(B
    $B$3$3$G;XDj$7$?J8;zNs$rH/8@$9$k$H!"%-%c%C%7%e$r%/%j%"$7$^$9!#(B

    $B@_DjNc(B

    + auto/cache.plm
    auto.cache.size: 5
    auto.cache.expire: 300
    auto.cache.clear: $B$W$i$`$7$g$-$+(B
    
    $B2a5n$NH/8@$r(B5$B$D$^$GJ]B8$7$F$*$-!"$=$l$HF1$8H/8@$r$7$J$$$h$&$K$7$^$9!#(B $B!V$W$i$`$7$g$-$+!W$HH/8@$9$k$H!"$=$N%A%c%s%M%k$N%-%c%C%7%e$r%/%j%"$7$^$9!#(B $B$^$?!"(B300$BIC$,7P2a$7$?%-%c%C%7%e$b<+F0E*$K%/%j%"$5$l$^$9!#(B plum-2.33.1.orig/module/sys/0040755001001300006200000000000006676174333015506 5ustar gotomkobayashiplum-2.33.1.orig/module/sys/web.plm0100644001001300006200000012464706676174332017007 0ustar gotomkobayashi sys/web.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/web.plm - Web$B%V%i%&%6$J$I$G(BIRC$B$r9T$&$?$a$N%$%s%?!<%U%'%$%9(B

    $B@bL@(B

    HTTP$B%W%m%H%3%k$rMxMQ$9$k$3$H$G!"(BWeb$B%V%i%&%6$J$I$+$i(BIRC$B$r9T$$$^$9!#(B $B%U%l!<%`$rMQ$$$FI=<($rJ,3d$7$F$$$k$N$G!"%U%l!<%`$KBP1~$7$?(B Web$B%V%i%&%6$,I,MW$G$9!#(B

    $B%W%m%Q%F%#(B

    sys.web.method {post|get}
    $B%U%)!<%`$N%G!<%?$rAw?.$9$k$H$-$K;HMQ$9$k%a%=%C%I$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O(Bget$B$K$J$C$F$$$^$9!#(B
    sys.web.client* $B%[%9%H%^%9%/(B:$B%]!<%HHV9f(B $B%f!<%6L>(B:$B%Q%9%o!<%I(B
    HTTP$B%W%m%H%3%k$K$h$C$FDL?.$r9T$&%]!<%H!"(B $B@\B32DG=$J%/%i%$%"%s%H$N%^%9%/$H!"MxMQ2DG=$J%f!<%6$r;XDj$7$^$9!#(B
    sys.web.header $B$X%C%@(B
    $B%m%0$N;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
    sys.web.line $B9T?t(B
    $B%a%C%;!<%8$N%m%0$r;D$99T?t$r;XDj$7$^$9!#%G%U%)%k%H$G$O(B50$B9T$G$9!#(B
    sys.web.kanji* ({euc|jis|sjis})
    $B%U%)!<%`$+$iF~NO$5$l$?J8;zNs$N4A;z%3!<%I$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O(Bjis,sjis$B$G$9!#(B

    $B@_DjNc(B

    + sys/web.plm
    sys.web.method: get
    sys.web.client: *.jp:8080 userid:passwd
    sys.web.header: %H:%M
    sys.web.line: 50
    sys.web.kanji: jis,sjis
    
    $B%]!<%HHV9f(B8080$B$G(BHTTP$B%W%m%H%3%k$r;HMQ$7$?DL?.$r9T$$$^$9!#(B $B%f!<%6(BID$B$H$7$F!V(Buserid$B!W!"%Q%9%o!<%I$H$7$F!V(Bpasswd$B!W$r(B $B;XDj$9$k$3$H$G@\B3$9$k$3$H$,$G$-$^$9!#(B $B$?$@$7@\B32DG=$J$N$O@\B385$N%[%9%H$,!V(B*.jp$B!W$K%^%C%A$9$k>l9g$@$1$G$9!#(B plum-2.33.1.orig/module/sys/background.plm0100644001001300006200000000154406676174332020337 0ustar gotomkobayashi sys/background.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/background.plm - plum$B$r%P%C%/%0%i%&%s%I$G

    $B@bL@(B

    plum$B$r%P%C%/%0%i%&%s%I$G

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    = sys/background.plm
    
    plum-2.33.1.orig/module/sys/dump.plm0100644001001300006200000000356306676174332017170 0ustar gotomkobayashi sys/dump.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/dump.plm - plum$B$,FbIt$G;HMQ$9$k>pJs$rI=<($9$k(B

    $B@bL@(B

    plum$B$,FbIt$G;HMQ$9$k3FpJs$J$I$rI=<($7$^$9!#(B $B$3$N%b%8%e!<%k$rAH$_9~$`$H!"(Bplum$B<+?H$N

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    = sys/dump.plm
    
    plum-2.33.1.orig/module/sys/module/0040755001001300006200000000000006676174333016773 5ustar gotomkobayashiplum-2.33.1.orig/module/sys/module/update.plm0100644001001300006200000000415306676174332020766 0ustar gotomkobayashi sys/module/update.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/module/update.plm - $B%b%8%e!<%k$,JQ99$5$l$k$H<+F0E*$KAH$_9~$_D>$9(B

    $B@bL@(B

    $B0lDj;~4V$4$H$KAH$_9~$s$@%b%8%e!<%k$,JQ99$5$l$F$$$J$$$+$r%A%'%C%/$7!"(B $BJQ99$5$l$F$$$l$P$=$l$rAH$_9~$_D>$7$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + sys/module/update.plm
    
    plum-2.33.1.orig/module/sys/show.plm0100644001001300006200000000215006676174332017172 0ustar gotomkobayashi sys/show.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/show.plm - $BG$0U$N(Bperl$B$NJ8$r

    $B@bL@(B

    show$B$H$$$&%3%^%s%I$rDI2C$7$^$9!#(B show$B%3%^%s%I$N0z?t$O(B1$B$D$G!"G$0U$N(Bperl$B$NJ8$r;XDj$7$^$9!#(B $B$3$NJ8$O(Bplum$B$K$h$C$F

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + sys/show.plm
    
    plum-2.33.1.orig/module/sys/conf/0040755001001300006200000000000006676174333016433 5ustar gotomkobayashiplum-2.33.1.orig/module/sys/conf/load.plm0100644001001300006200000000212006676174332020053 0ustar gotomkobayashi sys/conf/load.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/conf/load.plm - plum.conf$B$rFI$_9~$_D>$9(B

    $B@bL@(B

    load$B$H$$$&%3%^%s%I$rDI2C$7$^$9!#(Bload$B%3%^%s%I$K$O0z?t$O$"$j$^$;$s!#(B $B$3$N%3%^%s%I$r

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + sys/conf/load.plm
    
    plum-2.33.1.orig/module/sys/conf/update.plm0100644001001300006200000000255606676174332020433 0ustar gotomkobayashi sys/conf/update.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/conf/update.plm - plum.conf$B$,JQ99$5$l$k$H<+F0E*$KFI$_9~$_D>$9(B

    $B@bL@(B

    $B0lDj;~4V$4$H$K(Bplum.conf$B$,JQ99$5$l$F$$$J$$$+$r%A%'%C%/$7!"(B $BJQ99$5$l$F$$$l$P$=$l$rFI$_9~$s$G%b%8%e!<%k$H%W%m%Q%F%#$N:F@_Dj$r9T$$$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + sys/conf/update.plm
    
    plum-2.33.1.orig/module/sys/timer.plm0100644001001300006200000000516206676174332017340 0ustar gotomkobayashi sys/timer.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/timer.plm - $B;XDj$5$l$?;~4V$K;XDj$5$l$?%3%^%s%I$r

    $B@bL@(B

    $B;XDj$5$l$?;~4V$K$J$k$H;XDj$5$l$?%3%^%s%I$r

    $B%W%m%Q%F%#(B

    sys.timer.exec* $BF|IU(B $B;~4V(B $B%3%^%s%I(B
    $B%3%^%s%I$r$l6uGr$G6h@Z$j$^$9!#(B $BF|IU$O(B1970/01/01$B!";~4V$O(B00:00:00$B$N%U%)!<%^%C%H$G!"(B $B$=$l$>$l%o%$%k%I%+!<%I$H$7$F(B*$B$H(B?$B$,;XDj$G$-$^$9!#(B $B%3%^%s%I$K$O(Bperl$B$NJ8$G$O$J$/!"(B $B

    $B@_DjNc(B

    + sys/timer.plm
    sys.timer.exec: */01/01 *:*:* echo 'A happy new year' | mail hasegawa
    
    $BKhG/(B1$B7n(B1$BF|$K$J$k$H!"!V(Becho 'A happy new year' | mail hasegawa$B!W(B $B$H$$$&%3%^%s%I$r + sys/timer.plm sys.timer.exec: */*/* 00:*:* logmail
    $BKhF|(B0$B;~$K$J$k$H!"!V(Blogmail$B!W$H$$$&%3%^%s%I$r + sys/timer.plm sys.timer.exec: */*/* *:*:* echo start plum $B5/F0;~$K0l2s$@$1!V(Becho start plum$B!W$H$$$&%3%^%s%I$r plum-2.33.1.orig/module/sys/multicast.plm0100644001001300006200000011107106676174332020222 0ustar gotomkobayashi sys/multicast.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    sys/multicast.plm - $BJ#?t$N%5!<%P$rC10l$N%5!<%P$N$h$&$K%(%_%e%l!<%H$9$k(B

    $B@bL@(B

    $BJ#?t$N@_Dj%U%!%$%k$r;H$C$F%5!<%P$K@\B3$7!"$=$l$>$l$N@_Dj$N%5!<%P$r(B $BJL$N@_Dj$N%/%i%$%"%s%H$+$i%"%/%;%9$G$-$k$h$&$K$7$^$9!#(B $B$3$N%b%8%e!<%k$rF~$l$k$H!"$9$Y$F$N%A%c%s%M%kL>$O!V%A%c%s%M%kL>(B@$B@_DjL>!W(B $B$H$$$&L>A0$KJQ49$5$l$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + sys/multicast.plm
    
    plum-2.33.1.orig/module/ctcp/0040755001001300006200000000000006676174333015621 5ustar gotomkobayashiplum-2.33.1.orig/module/ctcp/clientinfo.plm0100644001001300006200000000244606676174332020467 0ustar gotomkobayashi ctcp/clientinfo.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/clientinfo.plm - CTCP CLIENTINFO$B$KH?1~$7$F%/%i%$%"%s%H>pJs$rAw$k(B

    $B@bL@(B

    CTCP CLIENTINFO$B$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$F%/%i%$%"%s%H>pJs$rAw$jJV$7$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/clientinfo.plm
    
    plum-2.33.1.orig/module/ctcp/comment.plm0100644001001300006200000000160106676174332017767 0ustar gotomkobayashi ctcp/comment.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/comment.plm - CTCP COMMENT$B$KH?1~$7$F%a%C%;!<%8$r

    $B@bL@(B

    CTCP COMMENT$B$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$F%3%a%s%H$r

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/comment.plm
    
    plum-2.33.1.orig/module/ctcp/echo.plm0100644001001300006200000000221006676174332017240 0ustar gotomkobayashi ctcp/echo.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/echo.plm - CTCP ECHO$B$KH?1~$7$F

    $B@bL@(B

    CTCP ECHO$B$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$F

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/echo.plm
    
    plum-2.33.1.orig/module/ctcp/part.plm0100644001001300006200000000467206676174332017306 0ustar gotomkobayashi ctcp/part.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/part.plm - CTCP PART$B$KH?1~$7$F%A%c%s%M%k$rH4$1$k(B

    $B@bL@(B

    CTCP PART$B$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$F;XDj$5$l$?%A%c%s%M%k$rH4$1$^$9!#(B

    $B%W%m%Q%F%#(B

    ctcp.part.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    CTCP PART$B$,Aw$i$l$F$-$?$H$-!"Aw$j

    $B@_DjNc(B

    + ctcp/part.plm
    ctcp.part.mask: *!*@* #$B$^$I$+(B
    
    $B!V(B#$B$^$I$+!W$rH4$1$k$h$&$K(BCTCP PART$B$,Aw$i$l$F$-$?>l9g!"(B $B!V(B#$B$^$I$+!W$+$iH4$1$^$9!#(B
    + ctcp/part.plm
    ctcp.part.mask: *!*@*.jp
    
    CTCP PART$B$,Aw$i$l$F$-$?$H$-!"$=$l$rAw$C$??M$,!V(B*!*@*.jp$B!W$K%^%C%A$7$?$i!"(B $B$=$N%A%c%s%M%k$rH4$1$^$9!#(B plum-2.33.1.orig/module/ctcp/ping.plm0100644001001300006200000000221006676174332017257 0ustar gotomkobayashi ctcp/ping.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/ping.plm - CTCP PING$B$KH?1~$7$F

    $B@bL@(B

    CTCP PING$B$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$F

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/ping.plm
    
    plum-2.33.1.orig/module/ctcp/time.plm0100644001001300006200000000200306676174332017260 0ustar gotomkobayashi ctcp/time.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/time.plm - CTCP TIME$B$KH?1~$7$F8=:_;~9o$rAw$k(B

    $B@bL@(B

    CTCP TIME$B$,Aw$i$l$F$-$?$H$-!"$=$l$KH?1~$7$F8=:_;~9o$rAw$j$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/time.plm
    
    plum-2.33.1.orig/module/ctcp/userinfo.plm0100644001001300006200000000257506676174332020172 0ustar gotomkobayashi ctcp/userinfo.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/userinfo.plm - CTCP USERINFO$B$KH?1~$7$F%f!<%6>pJs$rAw$k(B

    $B@bL@(B

    CTCP USERINFO$B$,Aw$i$l$F$-$?$H$-!"$=$l$KH?1~$7$F%f!<%6>pJs$rAw$j$^$9!#(B

    $B%W%m%Q%F%#(B

    ctcp.userinfo.info $B%f!<%6>pJs(B
    $B%f!<%6>pJs$r@_Dj$7$^$9!#(B $BJ8;z?t$d;HMQ$G$-$kJ8;z$N@)8B$O$"$j$^$;$s!#(B

    $B@_DjNc(B

    + ctcp/userinfo.plm
    ctcp.userinfo.info: $B$J$$$7$g(B
    
    CTCP USERINFO$B$,Aw$i$l$F$-$?$H$-$K!"!V$J$$$7$g!W$H$$$&%f!<%6>pJs$rAw$j$^$9!#(B plum-2.33.1.orig/module/ctcp/version.plm0100644001001300006200000000247506676174332020024 0ustar gotomkobayashi ctcp/version.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/version.plm - CTCP VERSION$B$KH?1~$7$F%P!<%8%g%s>pJs$rAw$k(B

    $B@bL@(B

    CTCP VERSION$B$,Aw$i$l$F$-$?$H$-!"$=$l$KH?1~$7$F%P!<%8%g%s>pJs$rAw$j$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/version.plm
    
    plum-2.33.1.orig/module/ctcp/dcc/0040755001001300006200000000000006676174333016352 5ustar gotomkobayashiplum-2.33.1.orig/module/ctcp/dcc/http.plm0100644001001300006200000002433606676174332020047 0ustar gotomkobayashi ctcp/dcc/http.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/http.plm - DCC SEND$B$H(BDCC CHAT$B$r(BHTTP$B$r;H$C$FCf7Q$9$k(B

    $B@bL@(B

    DCC SEND$B$H(BDCC CHAT$B$N%j%/%(%9%H$,Aw$i$l$F$-$?$H$-$K!"(B HTTP$B$N(BProxy$B$rDL$7$F@\B3$rCf7Q$7$^$9!#(B $BAw$i$l$?%U%!%$%k$r(BDCC$B$H(BHTTP$B$rJQ49$9$k%2!<%H%&%'%$$rMQ$$$F(B HTTP$B$KJQ49$7!"$=$l$r$5$i$K(BDCC$B$KJQ49$7$F%/%i%$%"%s%H$KAw$j$^$9!#(B

    $B%W%m%Q%F%#(B

    ctcp.dcc.http.proxy $B%[%9%HL>(B:$B%]!<%HHV9f(B
    HTTP$B$N(BProxy$B$r;XDj$7$^$9!#(B
    ctcp.dcc.http.gateway $B%[%9%HL>(B:$B%]!<%HHV9f(B
    HTTP$B$H(BDCC$B$rJQ49$9$k%2!<%H%&%'%$$r;XDj$7$^$9!#(B
    ctcp.dcc.http.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%U%!%$%k$rAw?.$7$F$-$??M$,!"$3$3$G;XDj$5$l$?$b$N$K%^%C%A$7$?$i(B $BE>Aw$NCf7Q$r9T$$$^$9!#(B

    $B@_DjNc(B

    + ctcp/dcc/http.plm
    ctcp.dcc.http.proxy: proxy:10080
    ctcp.dcc.http.gateway: caviar.agusa.nuie.nagoya-u.ac.jp:18080
    ctcp.dcc.http.mask: *!*@*
    
    HTTP$B$N(BProxy$B$H$7$F!V(Bproxy:10080$B!W$r;H$$!"(BDCC-HTTP$BJQ49$N(B $B%2!<%H%&%'%$$H$7$F!V(Bcaviar.agusa.nuie.nagoya-u.ac.jp:18080$B!W$r;HMQ$7$^$9!#(B $BC/$+$iAw?.$5$l$?$b$N$G$"$C$F$b!"E>Aw$NCf7Q$r9T$$$^$9!#(B plum-2.33.1.orig/module/ctcp/dcc/get.plm0100644001001300006200000001472506676174332017650 0ustar gotomkobayashi ctcp/dcc.get.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/get.plm - DCC SEND$B$KH?1~$7$FAw$i$l$F$-$?%U%!%$%k$r

    $B@bL@(B

    DCC SEND$B%j%/%(%9%H$,Aw$i$l$F$-$?$H$-!"(B $B$=$l$KH?1~$7$FAw$i$l$F$-$?%U%!%$%k$r<+F0E*$K

    $B%W%m%Q%F%#(B

    ctcp.dcc.get.directory $B%G%#%l%/%H%j(B
    $B
    ctcp.dcc.get.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%U%!%$%k$rAw?.$7$F$-$??M$,$3$3$G;XDj$5$l$?$b$N$K%^%C%A$7$?$i!"(B $BAw$i$l$F$-$?%U%!%$%k$r
    ctcp.dcc.get.mode $B%U%!%$%k%b!<%I(B
    $B%U%!%$%k$r

    $B@_DjNc(B

    + ctcp/dcc/get.plm
    ctcp.dcc.get.mask: *!*@*
    
    DCC SEND$B$G%U%!%$%k$,Aw?.$5$l$F$-$?$H$-!"(B $B$=$l$,C/$+$iAw$i$l$F$-$?$+$K$+$+$o$i$:!"$=$N%U%!%$%k$r + ctcp/dcc/get.plm ctcp.dcc.get.directory: dcc ctcp.dcc.get.mask: *!*@*.jp DCC SEND$B$G%U%!%$%k$,Aw?.$5$l$F$-$?$H$-!"(B $BAw?.$7$F$-$??M$,!V(B*!*@*.jp$B!W$K%^%C%A$7$?$i!"$=$N%U%!%$%k$rA0$N%G%#%l%/%H%j$,B8:_$7$J$$>l9g$d!"(B $B=q$-9~$_$,$G$-$J$$>l9g$O%U%!%$%k$O plum-2.33.1.orig/module/ctcp/dcc/send.plm0100644001001300006200000001163506676174332020017 0ustar gotomkobayashi ctcp/dcc/send.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/send.plm - DCC SEND$B$G%U%!%$%k$rAw?.$9$k(B

    $B@bL@(B

    $B$3$N%b%8%e!<%k$rF~$l$k$H!"(BSEND$B$H$$$&%3%^%s%I$,;H$($k$h$&$K$J$j!"(B $B$3$N%3%^%s%I$r;H$C$F(BDCC$B$G%U%!%$%k$rAw?.$9$k$3$H$,$G$-$k$h$&$K$J$j$^$9!#(B SEND$B%3%^%s%I$N%Q%i%a!<%?$O%K%C%/%M!<%`$H%U%!%$%kL>$G!"(B $B0J2<$N$h$&$K;HMQ$7$^$9!#(B
    /SEND nick filename
    

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/dcc/send.plm
    
    plum-2.33.1.orig/module/ctcp/dcc/gate.plm0100644001001300006200000002770006676174332020006 0ustar gotomkobayashi ctcp/dcc.gate.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/gate.plm - CTCP DCC SEND$B$KH?1~$7$FE>Aw$NCf7Q$r9T$&(B

    $B@bL@(B

    CTCP DCC SNED$B$,Aw$i$l$F$-$?$H$-!"(B $BAw$j85$H%/%i%$%"%s%H$N4V$N%U%!%$%k$NAw

    $B%W%m%Q%F%#(B

    ctcp.dcc.gate.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%U%!%$%k$rAw?.$7$F$-$??M$,$3$3$G;XDj$5$l$?$b$N$K%^%C%A$7$?$i!"(B $B%U%!%$%k$NE>Aw$rCf7Q$7$^$9!#(B
    ctcp.dcc.gate.known $B%f!<%6>pJs(B ($B%K%C%/%M!<%`(B)
    DCC$B$rAw$kAjpJs$,$o$+$i$J$$$?$a$K!"E>Aw$r(B $BCf7Q$7$F$$$$$+$I$&$+H=CG$G$-$J$$$H$-!"$3$3$G;XDj%f!<%6>pJs$r(B $B;2>H$7$FH=CG$7$^$9!#$3$3$G$bH=CG$G$-$J$+$C$?>l9g$OBe$o$j$K<+J,$N(B $B%f!<%6>pJs$r;2>H$7$^$9!#(B

    $B@_DjNc(B

    + ctcp/dcc/gate.plm
    ctcp.dcc.gate.mask: -*!*@*.nagoya-u.ac.jp
    ctcp.dcc.gate.mask: *!*@*
    ctcp.dcc.gate.known: plum!plum@agusa.nuie.nagoya-u.ac.jp plum,plum_d
    ctcp.dcc.gate.known: unknown!unknown@unknown.jp
    
    $B%U%!%$%k$rAw$C$F$-$??M!"$b$7$/$OAw$m$&$H$7$??M$,(B $B!V(B*!*@*.nagoya-u.ac.jp$B!W$K%^%C%A$7$J$1$l$P!"E>Aw$NCf7Q$r9T$$$^$9!#(B $B$^$?!"%U%!%$%k$rAw$m$&$H$7$??M$N%f!<%6>pJs$,$o$+$i$J$$$H$-!"(B $B$=$N?M$N%K%C%/%M!<%`$,!V(Bplum$B!W$+!V(Bplum_d$B!W$J$i$P!"%f!<%6>pJs$H$7$F!"(B $B!V(Bplum!plum@agusa.nuie.nagoya-u.ac.jp$B!W$r;HMQ$7$^$9!#(B $B$=$l0J30$N%K%C%/%M!<%`$N?M$KBP$7$F$O!V(Bunknown!unknown@unknown.jp$B!W$r(B $B;HMQ$7$^$9!#(B plum-2.33.1.orig/module/ctcp/dcc/forward.plm0100644001001300006200000000454306676174332020532 0ustar gotomkobayashi ctcp/dcc/forward.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/forward.plm - CTCP DCC$B$r;XDj$7$?%f!<%6$KE>Aw$9$k(B

    $B@bL@(B

    CTCP DCC$B$,Aw$i$l$F$-$?$H$-!"$=$l$r;XDj$7$?%f!<%6$KE>Aw$7$^$9!#(B $B$?$@$7E>Aw$9$k$H$-$KAw$jAw$5$l$?(BCTCP DCC$B$r(B $B%-%c%s%;%k$9$k$3$H$O$G$-$^$;$s!#(B

    $B%W%m%Q%F%#(B

    ctcp.dcc.forward.nick* ($B%K%C%/%M!<%`(B)
    CTCP DCC$B$rE>Aw$9$k%K%C%/%M!<%`!#A0$+$i=gHV$K8+$F$$$-!"(B $BF1$8%A%c%s%M%k$K;XDj$7$?%K%C%/%M!<%`$N%f!<%6$,$$$l$P!"(B $B$=$N%f!<%6$KE>Aw$7$^$9!#;XDj$7$?%K%C%/%M!<%`$N%f!<%6$,(B $B$$$J$1$l$PE>Aw$O9T$$$^$;$s!#(B

    $B@_DjNc(B

    + ctcp/dcc/forward.plm
    ctcp.dcc.forward.nick: pupu_j,pupu_d
    ctcp.dcc.forward.nick: pupu_ppp
    
    CTCP DCC$B$,Aw$i$l$F$-$?$H$-$K!"(Bpupu_j$B!"(Bpupu_d$B!"(Bpupu_ppp$B$N(B $B$I$l$+$N%K%C%/%M!<%`$N%f!<%6$,$$$l$P!"$=$N%f!<%6$K(BCTCP DCC$B$rE>Aw$7$^$9!#(B plum-2.33.1.orig/module/ctcp/dcc/cancel.plm0100644001001300006200000000256006676174332020310 0ustar gotomkobayashi ctcp/dcc/cancel.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/cancel.plm - DCC CHAT$B$r%-%c%s%;%k$9$k(B

    $B@bL@(B

    DCC CHAT$B$N%j%/%(%9%H$,$-$?$H$-$K!"$=$l$r%-%c%s%;%k$7$^$9!#(B DCC CHAT$B0J30$N(BDCC$B$K$D$$$F$O2?$b$7$^$;$s!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/dcc/cancel.plm
    
    plum-2.33.1.orig/module/ctcp/dcc/client.plm0100644001001300006200000000267406676174332020347 0ustar gotomkobayashi ctcp_dcc_client $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/client.plm - CTCP DCC$B$r%/%i%$%"%s%H$KAw$k(B

    $B@bL@(B

    CTCP DCC$B%3%^%s%I$,Aw$i$l$F$-$?$H$-$K!"(Bplum$B$K%/%i%$%"%s%H$,@\B3$5$l$F$$$l$P(B $B@\%/%i%$%"%s%H$KAw$j$^$9!#(B CTCP DCC$B$r=hM}$9$k$h$&$J%b%8%e!<%k$rAH$_9~$s$G$$$k>l9g$G$b!"(B $B$3$N%b%8%e!<%k$rAH$_9~$s$G$*$1$P!"%/%i%$%"%s%H$,@\B3$5$l$F$$$k$H$-$O(B $B$=$l$i$N%b%8%e!<%k$K=hM}$r$5$;$J$$$h$&$K$9$k$3$H$,$G$-$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/dcc/client.plm
    
    plum-2.33.1.orig/module/ctcp/dcc/nat.plm0100644001001300006200000000751406676174332017651 0ustar gotomkobayashi ctcp/dcc/nat.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/dcc/nat.plm - NAT$B$r7PM3$7$F(BDCC$B$rMxMQ$9$k(B

    $B@bL@(B

    NAT$B$r;HMQ$7$F$$$k>l9g$K!"(BNAT$B$NFbB&$+$i(BDCC$B$NAw?.$,9T$($k$h$&$K$7$^$9!#(B $B%W%i%$%Y!<%H$J(BIP$B%"%I%l%9$H%0%m!<%P%k$J(BIP$B%"%I%l%9$NBP1~$,$"$i$+$8$a(B $B$o$+$C$F$$$k>l9g$O(Bplum$B$r$I$3$Gl9g$O!"(Bplum$B$r(BNAT$B$N$9$030B&$G@\%5!<%P$K@\B3$9$kI,MW$,$"$j$^$9!#(B $B$3$N%b%8%e!<%k$G(BDCC$B$,Aw?.$G$-$k$h$&$K$J$k$N$O(BNAT$B$N>l9g$@$1$G!"(B IP masquerade$B$N>l9g$O$3$N%b%8%e!<%k$r;H$C$F$b(BDCC$B$OAw?.$G$-$^$;$s!#(B

    $B%W%m%Q%F%#(B

    ctcp.dcc.nat.mapping* $B%W%i%$%Y!<%H(BIP $B%0%m!<%P%k(BIP
    $B$=$l$>$l$N%^%7%s$KBP1~$9$k(BIP$B%"%I%l%9$N%^%C%T%s%0$r;XDj$7$^$9!#(B $B%W%i%$%Y!<%H(BIP$B$+$iAw$i$l$F$-$?(BDCC$B$r%0%m!<%P%k(BIP$B$KJQ49$7$F(B $BAw?.@h$NAj
    ctcp.dcc.nat.private* $B@hF,%"%I%l%9(B $B=*N;%"%I%l%9(B
    $B%W%i%$%Y!<%H$J(BIP$B%"%I%l%9$NHO0O$r;XDj$7$^$9!#(B $BAw$m$&$H$9$k(BDCC$B$,$3$NHO0OFb$N$b$N$+$i$G$"$l$P!"(B IP$B%"%I%l%9$rJQ49$7$^$9!#(B

    $B@_DjNc(B

    + ctcp/dcc/nat.plm
    ctcp.dcc.nat.mapping: 192.168.1.1 133.6.108.1
    ctcp.dcc.nat.mapping: 192.168.1.2 133.6.108.2
    
    $B!V(B192.168.1.1$B!W$+$iAw$i$l$F$-$?(BDCC$B$r!V(B133.6.108.1$B!W$+$iAw$C$?$h$&$K(B $B8+$;$+$1$FAw?.@h$NAj + ctcp/dcc/nat.plm ctcp.dcc.nat.private: 192.168.0.0 192.168.255.255 $B!V(B192.168.0.0$B!W$+$i!V(B192.168.255.255$B!W$N4V$+$iAw$i$l$F$-$?(BDCC$B$r(B $B%0%m!<%P%k$J(BIP$B%"%I%l%9$KJQ49$7$FAw?.@h$NAj plum-2.33.1.orig/module/ctcp/finger.plm0100644001001300006200000000263706676174332017611 0ustar gotomkobayashi ctcp/finger.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    ctcp/finger.plm - CTCP FINGER$B$KH?1~$7$F%/%i%$%"%s%H$N>pJs$rAw$k(B

    $B@bL@(B

    CTCP FINGER$B$,Aw$i$l$F$-$?$H$-!"(B $B@\B3$5$l$F$$$k%/%i%$%"%s%H$N>pJs$rAw$jJV$7$^$9!#(B $B%/%i%$%"%s%H$N>pJs$O%K%C%/%M!<%`!"@\B3;~$N%f!<%6L>$H(B $B@\B385$N%[%9%HL>$G$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + ctcp/finger.plm
    
    plum-2.33.1.orig/module/log/0040755001001300006200000000000006676174333015451 5ustar gotomkobayashiplum-2.33.1.orig/module/log/mail.plm0100644001001300006200000001345206676174332017106 0ustar gotomkobayashi log/mail.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/mail.plm - $B%m%0%U%!%$%k$r;XDj$7$?%"%I%l%9$X%a!<%k$GAw?.$9$k(B

    $B@bL@(B

    $B%m%0%U%!%$%k$r;XDj$7$?%"%I%l%9$X%a!<%k$GAw?.$7$^$9!#(B

    $B%W%m%Q%F%#(B

    log.mail.from $B%"%I%l%9(B
    $BAw?.85$H$7$F;HMQ$9$k%"%I%l%9$r;XDj$7$^$9!#(B $B%a!<%k$NAw?.$,%(%i!<$K$J$C$?$H$-$O!"$3$3$G;XDj$7$?%"%I%l%9$X(B $B%(%i!<$N%a!<%k$,Aw$i$l$^$9!#(B
    log.mail.smtpserver $B%[%9%HL>(B[:$B%]!<%HHV9f(B]
    $B;HMQ$9$k(BSMTP$B%5!<%P$r;XDj$7$^$9!#(B $B%5!<%P$K@\B3$G$-$J$$$H$-$dAw?.$K<:GT$7$?$H$-$O2?$b$7$^$;$s!#(B
    log.mail.directory $B%G%#%l%/%H%jL>(B
    $B%m%0%U%!%$%k$NB8:_$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B%G%#%l%/%H%j$O(Bplum$B$r
    log.mail.file* $B%U%!%$%kL>(B[;({jis|euc|sjis})] ($B%"%I%l%9(B)
    $BAw?.$9$k%U%!%$%k$H$=$l$rAw$k%"%I%l%9$r;XDj$7$^$9!#(B $B%U%!%$%kL>$K(B%$B$G;O$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l!"(B $B$=$NL>A0$,JQ$o$k$?$S$K%a!<%k$G%U%!%$%k$rAw?.$7$^$9!#(B

    $B@_DjNc(B

    + log/mail.plm
    log.mail.from: plum@plum.or.jp
    log.mail.smtpserver: mail.plum.or.jp:25
    log.mail.file: log%m%d hogehoge@plum.gr.jp
    log.mail.file: plum%m;euc hoehoe@plum.gr.jp,hogehoge@plum.or.jp
    
    $B!V(Bplum@plum.or.jp$B!W$rAw?.85$H$7$F!"%m%0$r%a!<%k$GAw?.$7$^$9!#(B $B$3$N$H$-!"(BSMTP$B%5!<%P$H$7$F!V(Bmail.plum.or.jp$B!W$N%]!<%H!V(B25$B!W$r;HMQ$7$^$9!#(B $BAw?.$9$k%U%!%$%k$O(B2$B$D$G!"!V(Bhogehoge@plum.gr.jp$B!W08$K!V(Blog%m%d$B!W$r(B $B!V(Bhoehoe@plum.gr.jp$B!W$H!V(Bhogehoge@plum.or.jp$B!W08$K!V(Bplum%m$B!W$rAw?.$7$^$9!#(B log%m%d$B$H(Bplum%m$B$O$=$l$>$lF|IU$,E83+$5$l!"%U%!%$%k$NF|IU$,JQ$o$C$?$H$-$K(B $B%a!<%k$GAw?.$7$^$9!#$=$N$?$a!"(Blog%m%d$B$O(B1$BF|(B1$B2s!"(Bplum%m$B$O(B1$B7n$K(B1$B2sAw?.$5$l$^$9!#(B plum-2.33.1.orig/module/log/channel.plm0100644001001300006200000003117406676174332017575 0ustar gotomkobayashi log/channel.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/channel.plm - $B%a%C%;!<%8$r%A%c%s%M%k$4$H$N%m%0$H$7$FJ]B8$9$k(B

    $B@bL@(B

    $B%A%c%s%M%k$4$H$K%U%!%$%k$r;XDj$7$F%m%0$rJ]B8$7$^$9!#(B

    $B%W%m%Q%F%#(B

    log.channel.directory $B%G%#%l%/%H%j(B
    $B%m%0$r:n@.$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B%G%#%l%/%H%j$O(Bplum$B$r
    log.channel.file* $B%U%!%$%kL>(B[;({jis|euc|sjis})] [($B%A%c%s%M%k(B)]
    $B%m%0$N%U%!%$%kL>$HJ]B8$9$k%A%c%s%M%k$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$HBP1~$9$kF|IU$KJQ49$5$l$^$9!#(B $B$^$?%A%c%s%M%kL>$NJQ$o$j$K(B*$B$r;XDj$9$k$3$H$G<+J,08$N(B $B%a%C%;!<%8$r%m%0$KJ]B8$9$k$3$H$,$G$-$^$9!#(B $BF1$8%A%c%s%M%k$,J#?t$N%U%!%$%k$K;XDj$5$l$F$$$?$H$-$O!"(B $B:G=i$K=q$$$?%U%!%$%k$K$@$1J]B8$7!"%A%c%s%M%kL>$r>JN,$9$k$H!"(B $B;D$j$N$9$Y$F$N%m%0$,$=$N%U%!%$%k$KJ]B8$5$l$^$9!#(B
    log.channel.header $B$X%C%@(B
    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$HBP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
    log.channel.mode $B%U%!%$%k%b!<%I(B
    $B%m%0$N%U%!%$%k%b!<%I$r$3$3$G;XDj$7$?CM$K$7$^$9!#(B
    log.channel.command ({invite|join|kick|mode|nick|notice|part|privmsg|quit|topic})
    $BJ]B8$9$k%a%C%;!<%8$N

    $B@_DjNc(B

    + log/channel.plm
    log.channel.directory: log
    log.channel.file: log%-8O%m%d;sjis #$B$^$I$+(B,#$B$^$I$+(B:*.jp
    
    $B!V(B#$B$^$I$+!W$H!V(B#$B$^$I$+(B:*.jp$B!W$N%m%0$r!V(Blog/log%m%d$B!W$KJ]B8$7$^$9!#(B $B$=$l0J30$N%A%c%s%M%k$N%m%0$OJ]B8$7$^$;$s!#(B $B$3$N$H$-$N4A;z%3!<%I$O(Bsjis$B$G$9!#(B $B$^$?!"%m%0$N%U%!%$%kL>$OKhF|(B8$B;~$K$=$NF|$NF|IU$N$b$N$KJQ$o$j$^$9!#(B
    + log/channel.plm
    log.channel.file: madoka/%m%d #$B$^$I$+(B,*
    log.channel.file: log%m%d
    log.channel.command: privmsg,notice,topic
    
    $B!V(B#$B$^$I$+!W$N%m%0$H<+J,08$N%a%C%;!<%8$r!V(Bmadoka/log%m%d$B!W$KJ]B8$7!"(B $B$=$l0J30$N%m%0$r!V(Blog%m%d$B!W$KJ]B8$7$^$9!#(B $B!V(B%m$B!W$H!V(B%d$B!W$O$=$l$>$l8=:_$N7n$HF|$KJQ49$5$l$^$9!#(B $B$^$?!"!V(Bprivmsg$B!W!"!V(Bnotice$B!W!"!V(Btopic$B!W0J30$N%m%0$OJ]B8$7$^$;$s!#(B plum-2.33.1.orig/module/log/client.plm0100644001001300006200000000614606676174332017444 0ustar gotomkobayashi log/client.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/client.plm - $B%/%i%$%"%s%H$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B

    $B@bL@(B

    $B%/%i%$%"%s%H$+$iF~NO$r$9$Y$F%m%0$KJ]B8$7$^$9!#(B

    $B%W%m%Q%F%#(B

    log.client.directory $B%G%#%l%/%H%j(B
    $B%m%0$rJ]B8$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O%+%l%s%H%G%#%l%/%H%j$KJ]B8$7$^$9!#(B
    log.client.file $B%U%!%$%kL>(B
    $B%m%0$N%U%!%$%kL>$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l$^$9!#(B $B%G%U%)%k%H$G$O!V(Blogclient$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B
    log.client.header $B$X%C%@(B
    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
    log.client.mode $B%U%!%$%k%b!<%I(B
    $B%m%0$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B

    $B@_DjNc(B

    + log/client.plm
    log.client.file: client%m%d
    
    $B%/%i%$%"%s%H$+$i$NF~NO$r!V(Bclient%m%d$B!W$KJ]B8$7$^$9!#(B $B!V(B%m$B!W$H!V(B%d$B!W$O$=$l$>$l8=:_$N7n$HF|$KJQ49$5$l$^$9!#(B plum-2.33.1.orig/module/log/daily.plm0100644001001300006200000002307006676174332017263 0ustar gotomkobayashi log/daily.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/daily.plm - $B%a%C%;!<%8$r%m%0$KJ]B8$9$k(B

    $B@bL@(B

    $B%m%0$r;XDj$7$?%U%!%$%k$KJ]B8$7$^$9!#(B

    $B%W%m%Q%F%#(B

    log.daily.directory $B%G%#%l%/%H%j(B
    $B%m%0$r:n@.$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B%G%#%l%/%H%j$O(Bplum$B$r
    log.daily.file $B%U%!%$%kL>(B[;({jis|euc|sjis})]
    $B%m%0$rJ]B8$9$k%U%!%$%k$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$HBP1~$9$kF|IU$KJQ49$5$l$^$9!#(B $B%G%U%)%k%H$G$O!V(Blog%m%d$B!W$G$9!#(B $B%U%!%$%kL>$N8e$KJ]B8$9$k4A;z%3!<%I$r;XDj$9$k$3$H$,$G$-$^$9!#(B $B4A;z%3!<%I$rJ#?t;XDj$7$?>l9g$O:G=i$K;XDj$7$?4A;z%3!<%I$GJ]B8$5$l!"(B $B>JN,$7$?>l9g$O!V(Bjis$B!W$r;XDj$7$?$3$H$HF1$8$K$J$j$^$9!#(B $B$^$?!V(Beuc$B!W$H!V(Bsjis$B!W$rF1;~$K;XDj$9$k$3$H$O$G$-$^$;$s!#(B
    log.daily.header $B$X%C%@(B
    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$HBP1~$9$k;~4V$KJQ49$5$l$^$9!#(B $B%G%U%)%k%H$G$O!V(B%H:%M$B!W$G$9!#(B
    log.daily.mode $B%U%!%$%k%b!<%I(B
    $B%m%0$N%U%!%$%k%b!<%I$r$3$3$G;XDj$7$?CM$K$7$^$9!#(B
    log.daily.command ({invite|join|kick|mode|nick|notice|part|privmsg|quit|topic})
    $BJ]B8$9$k%a%C%;!<%8$N

    $B@_DjNc(B

    + log/daily.plm
    log.daily.file: log/log%y%m%d;euc
    
    $B%m%0$r!V(Blog/log%y%m%d$B!W$KJ]B8$7$^$9!#$^$?!"%m%0$N4A;z%3!<%I$r(Beuc$B$K$7$^$9!#(B $B!V(B%y$B!W!"!V(B%m$B!W!"!V(B%d$B!W$O$=$l$>$l8=:_$NG/!"7n!"F|$KJQ49$5$l$^$9!#(B
    + log/daily.plm
    log.daily.file: log%+1O%m%d
    log.daily.command: privmsg,topic,join,part,kick,nick
    
    $BJ]B8$9$k%m%0$r!V(Bprivmsg$B!W!"!V(Btopic$B!W!"!V(Bjoin$B!W!"!V(Bpart$B!W!"!V(Bkick$B!W!"(B $B!V(Bnick$B!W$N(B6$B$l8=:_$NG/!"7n!"F|$KJQ49$5$l$^$9!#(B $B%m%0%U%!%$%k$N%U%!%$%kL>$OKhF|(B23$B;~$KMbF|$NF|IU$N$b$N$KJQ$o$j$^$9!#(B plum-2.33.1.orig/module/log/error.plm0100644001001300006200000000173306676174332017314 0ustar gotomkobayashi log/error.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/error.plm - $B%(%i!<$r%m%0$H$7$FJ]B8$9$k(B

    $B@bL@(B

    $BI8=`=PNO$H%(%i!<=PNO$r!V(Blogerror$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + log/error.plm
    
    plum-2.33.1.orig/module/log/recent.plm0100644001001300006200000001710706676174332017445 0ustar gotomkobayashi log/recent.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/recent.plm - $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K:G6a$N%a%C%;!<%8$rAw$k(B

    $B@bL@(B

    $B:G6a$N%a%C%;!<%8$r;XDj$7$??t$@$1J]B8$7$F$*$-!"(B $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K!"$=$l$rAw$j$^$9!#(B

    $B%W%m%Q%F%#(B

    log.recent.header $B$X%C%@(B
    $B%m%0$N;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
    log.recent.line $B9T?t(B
    $B%m%0$r;D$99T?t$r;XDj$7$^$9!#%G%U%)%k%H$G$O(B50$B9T$G$9!#(B
    log.recent.command ({invite|join|kick|mode|nick|notice|part|privmsg|quit|topic})
    $BJ]B8$9$k%a%C%;!<%8$N

    $B@_DjNc(B

    log.recent.header: %H%M%S
    log.recent.command: notice,privmsg,topic
    
    $B$X%C%@$r!V(B%H%M%S$B!W$K$7!"%m%0$N$l8=:_$N;~!"J,!"IC$KJQ49$5$l$^$9!#(B plum-2.33.1.orig/module/log/server.plm0100644001001300006200000000615206676174332017471 0ustar gotomkobayashi log/server.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    log/server.plm - $B%5!<%P$+$i$NF~NO$r%m%0$H$7$FJ]B8$9$k(B

    $B@bL@(B

    $B%5!<%P$+$i$NF~NO$r$9$Y$F%m%0$KJ]B8$7$^$9!#(B

    $B%W%m%Q%F%#(B

    log.server.directory $B%G%#%l%/%H%j(B
    $B%m%0$rJ]B8$9$k%G%#%l%/%H%j$r;XDj$7$^$9!#(B $B%G%U%)%k%H$G$O%+%l%s%H%G%#%l%/%H%j$KJ]B8$7$^$9!#(B
    log.server.file $B%U%!%$%kL>(B
    $B%m%0$N%U%!%$%kL>$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$kF|IU$KJQ49$5$l$^$9!#(B $B%G%U%)%k%H$G$O!V(Blogserver$B!W$H$$$&%U%!%$%k$KJ]B8$7$^$9!#(B
    log.server.header $B$X%C%@(B
    $B%m%0$K=PNO$9$k;~9o$N%U%)!<%^%C%H$r;XDj$7$^$9!#(B %$B$G$O$8$^$kJ8;z$,$"$k$H!"BP1~$9$k;~4V$KJQ49$5$l$^$9!#(B
    log.server.mode $B%U%!%$%k%b!<%I(B
    $B%m%0$N%U%!%$%k%b!<%I$r;XDj$7$^$9!#(B

    $B@_DjNc(B

    + log/server.plm
    log.server.file: server%Y%m%d
    
    $B%5!<%P$+$i$NF~NO$r!V(Bserver%m%d$B!W$KJ]B8$7$^$9!#(B $B!V(B%Y$B!W!"!V(B%m$B!W!"!V(B%d$B!W$O$=$l$>$l8=:_$NG/!"7n!"F|$KJQ49$5$l$^$9!#(B plum-2.33.1.orig/module/channel/0040755001001300006200000000000006676174333016300 5ustar gotomkobayashiplum-2.33.1.orig/module/channel/join/0040755001001300006200000000000006676174333017237 5ustar gotomkobayashiplum-2.33.1.orig/module/channel/join/kick.plm0100644001001300006200000000565506676174332020701 0ustar gotomkobayashi channel/join/kick.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/join/kick.plm - $B%A%c%s%M%k$+$i%-%C%/$5$l$F$bF~$jD>$9(B

    $B@bL@(B

    $B%A%c%s%M%k$+$i%-%C%/$5$l$?$H$-$K!":F$S$=$N%A%c%s%M%k$KF~$j$^$9!#(B

    $B%W%m%Q%F%#(B

    channel.join.kick.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%-%C%/$7$??M$,$3$3$G;XDj$7$?$b$N$K%^%C%A$7$?$i!"(B $B%-%C%/$5$l$?%A%c%s%M%k$K:F$SF~$j$^$9!#(B

    $B@_DjNc(B

    + channel/join/kick.plm
    channel.join.kick.mask: -*!*@* #$B$^$I$+(B:*.jp
    channel.join.kick.mask: *!*@*
    
    $B!V(B#$B$^$I$+(B:*.jp$B!W$+$i%-%C%/$5$l$?$H$-$O2?$b$7$^$;$s$,!"(B $B$=$l0J30$N%A%c%s%M%k$+$i%-%C%/$5$l$?$H$-$O$=$N%A%c%s%M%k$K(B $B:F$SF~$j$^$9!#(B plum-2.33.1.orig/module/channel/join/invite.plm0100644001001300006200000000553006676174332021246 0ustar gotomkobayashi channel/join/invite.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/join/invite.plm - $B>7BT$5$l$?%A%c%s%M%k$KF~$k(B

    $B@bL@(B

    $B%A%c%s%M%k$K>7BT$5$l$?$H$-$K!"$=$N%A%c%s%M%k$KF~$j$^$9!#(B

    $B%W%m%Q%F%#(B

    channel.join.invite.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B>7BT$7$??M!"$*$h$S%A%c%s%M%k$,$3$3$G;XDj$5$l$?(B $B$b$N$K%^%C%A$7$?>l9g!"$=$N%A%c%s%M%k$KF~$j$^$9!#(B

    $B@_DjNc(B

    + channel/join/invite.plm
    channel.join.invite.mask: *!*@* #$B$^$I$+(B:*.jp
    channel.join.invite.mask: *!*@* #$B$W$i$`(B
    
    $B>7BT$5$l$?%A%c%s%M%k$,!V(B#$B$^$I$+(B:*.jp$B!W$+!V(B#$B$W$i$`!W$@$C$?>l9g$K!"(B $B$=$N%A%c%s%M%k$KF~$j$^$9!#(B
    + channel/join/invite.plm
    channel.join.invite.mask: pupu_j!*@*.jp
    channel.join.invite.mask: pupu_d!*@*.jp %$B$^$I$+(B
    
    $B$^$?!">7BT$7$??M$,!V(Bpupu_j!*@*.jp$B!W$K%^%C%A$7$?>l9g!"(B $B$=$N%A%c%s%M%k$KF~$j$^$9!#$^$?>7BT$5$l$??M$,!V(Bpupu_d!*@**.jp$B!W(B $B$K%^%C%A$7!"%A%c%s%M%k$,!V(B%$B$^$I$+!W$@$C$?>l9g!"!V(B%$B$^$I$+!W$K(B $BF~$j$^$9!#(B
    + channel/join/invite.plm
    channel.join.invite.mask: -*!*@* #$B$W$i$`(B
    channel.join.invite.mask: *!*@*
    
    $B>7BT$5$l$?%A%c%s%M%k$,!V(B#$B$W$i$`!W$@$C$?>l9g$O!"(B $B!V(B#$B$W$i$`!W$K$OF~$j$^$;$s!#$=$l0J30$N%A%c%s%M%k$@$C$?>l9g$O!"(B $B$=$N%A%c%s%M%k$KF~$j$^$9!#(B plum-2.33.1.orig/module/channel/join/connect.plm0100644001001300006200000001071206676174332021377 0ustar gotomkobayashi channel/join/connect.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/join/connect.plm - $B%5!<%P$K@\B3$7$?$H$-$K;XDj$7$?%A%c%s%M%k$KF~$k(B

    $B@bL@(B

    $B%5!<%P$K@\B3$7$?$H$-$K!";XDj$7$?%A%c%s%M%k$KF~$j$^$9!#(B $B%5!<%P$H$N@\B3$,@Z$l$F:F$S@\B3$7D>$7$?$H$-$O!"(B $B;XDj$7$?%A%c%s%M%k$H$O4X78$J$/!"(B $B@\B3$,@Z$l$kA0$KF~$C$F$$$?%A%c%s%M%k$KF~$j$^$9!#(B

    $B%W%m%Q%F%#(B

    channel.join.connect.channel* ($B%A%c%s%M%k(B) ($B%-!<(B)
    $B%5!<%P$K@\B3$7$?$H$-$KF~$k%A%c%s%M%k$r;XDj$7$^$9!#(B $B%A%c%s%M%k$N%-!<$,;XDj$5$l$F$$$k$H$-$O!"$=$N%-!<$r;H$$$^$9!#(B

    $B@_DjNc(B

    + channel/join/connect.plm
    channel.join.connect.channel: #$B$^$I$+(B mdk
    
    $B%5!<%P$K@\B3$7$?$H$-$K!"!V(B#$B$^$I$+!W$K!V(Bmdk$B!W$H$$$&%-!<$GF~$j$^$9!#(B
    + channel/join/connect.plm
    channel.join.connect.channel: #$B$^$I$+(B:*.jp,#$B$W$i$`(B:*.jp
    channel.join.connect.channel: #$B$W$i$`(B
    
    $B%5!<%P$K@\B3$7$?$H$-$K!"!V(B#$B$^$I$+(B:*.jp$B!W!"!V(B#$B$W$i$`(B:*.jp$B!W!"(B $B!V(B#$B$W$i$`!W$N(B3$B$D$N%A%c%s%M%k$KF~$j$^$9!#(B plum-2.33.1.orig/module/channel/mode/0040755001001300006200000000000006676174333017224 5ustar gotomkobayashiplum-2.33.1.orig/module/channel/mode/set.plm0100644001001300006200000000376006676174332020533 0ustar gotomkobayashi channel/mode/set.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/mode/set.plm - $B%A%c%s%M%k$r:n@.$7$?$H$-$K%A%c%s%M%k%b!<%I$r@_Dj$9$k(B

    $B@bL@(B

    $B<+J,$,%A%c%s%M%k$KF~$k0JA0$K$O%A%c%s%M%k$,B8:_$;$:!"(B $B<+J,$,%A%c%s%M%k$KF~$k$3$H$K$h$C$F%A%c%s%M%k$r:n@.$7$?$H$-!"(B $B$=$N%A%c%s%M%k$N%A%c%s%M%k%b!<%I$r@_Dj$7$^$9!#(B

    $B%W%m%Q%F%#(B

    channel.mode.set.mode* ($B%A%c%s%M%kL>(B) $B%b!<%I(B
    $B%A%c%s%M%k$H$=$N%A%c%s%M%k$K@_Dj$9$k%A%c%s%M%k%b!<%I$r;XDj$7$^$9!#(B

    $B@_DjNc(B

    + channel/mode/set.plm
    channel.mode.set.mode: #$B$W$i$`(B +nt
    channel.mode.set.mode: #plum:*.jp,#plum +pmk plum
    
    $B%A%c%s%M%k!V(B#$B$W$i$`!W$r:n@.$7$?$H$-$K!"%A%c%s%M%k%b!<%I$H$7$F(B $B!V(B+nt$B!W$r@_Dj$7$^$9!#(B $B$^$?!V(B#plum:*.jp$B!W$b$7$/$O!V(B#plum$B!W$r:n@.$7$?$H$-$O!"(B $B%A%c%s%M%k%b!<%I$H$7$F!V(B+pmk plum$B!W$r@_Dj$7$^$9!#(B plum-2.33.1.orig/module/channel/mode/oper/0040755001001300006200000000000006676174333020171 5ustar gotomkobayashiplum-2.33.1.orig/module/channel/mode/oper/set.plm0100644001001300006200000001562606676174332021504 0ustar gotomkobayashi channel/mode/oper/set.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/mode/oper/set.plm - $BFCDj$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$9$k(B

    $B@bL@(B

    $B%A%c%s%M%k$KF~$C$F$-$??M$,;XDj$5$l$??M$J$i!"(B $B$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B

    $B%W%m%Q%F%#(B

    channel.mode.oper.set.delay $BBT$A;~4V(B
    $B%A%c%s%M%k%*%Z%l!<%?$K$9$k$^$G$NBT$A;~4V$G$9!#(B $BC/$+$,%A%c%s%M%k$KF~$C$F$/$k$H!"(B $B$3$3$G;XDj$5$l$?$N?t$@$1FbIt$G%+%&%s%H$7!"(B $B$=$N8e$G$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B $B%G%U%)%k%H$G$O(B20$B$H$J$C$F$$$^$9!#(B
    channel.mode.oper.set.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $B%A%c%s%M%k$KF~$C$F$-$??M$,$3$3$G;XDj$7$?$b$N$K%^%C%A$7$?$i!"(B $B$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B

    $B@_DjNc(B

    + channel/mode/oper/set.plm
    channel.mode.oper.set.mask: +pupu_j!*@*
    channel.mode.oper.set.mask: +pupu_d!*@*
    
    $B%A%c%s%M%k$KF~$C$F$-$??M$,!V(Bpupu_j!*@*$B!W$+!V(Bpupu_d!*@*$B!W$K(B $B%^%C%A$7$?>l9g!"$=$N?M$r%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B
    + channel/mode/oper/set.plm
    channel.mode.oper.set.delay: 0
    channel.mode.oper.set.mask: -*!*@*.com
    channel.mode.oper.set.mask: +*!*@* %$B$^$I$+(B,#$B$W$i$`(B
    
    $B!V(B%$B$^$I$+!W$+!V(B#$B$W$i$`!W$KF~$C$F$-$??M$,!V(B*!*@*.com$B!W$K%^%C%A$7$J$1$l$P!"(B $B$=$N?M$r$9$0$K%A%c%s%M%k%*%Z%l!<%?$K$7$^$9!#(B plum-2.33.1.orig/module/channel/mode/oper/get.plm0100644001001300006200000000457706676174332021473 0ustar gotomkobayashi channel/mode/oper/get.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/mode/oper/get.plm - $B%A%c%s%M%k%*%Z%l!<%?$rI|5"$9$k(B

    $B@bL@(B

    $B%A%c%s%M%k$K<+J,$7$+$$$J$$$K$b$+$+$o$i$:!"(B $B<+J,$,%A%c%s%M%k%*%Z%l!<%?$G$O$J$$>l9g!"(B $B0lEY%A%c%s%M%k$rH4$1$F:F$SF~$jD>$9$3$H$K$h$C$F!"(B $B%A%c%s%M%k%*%Z%l!<%?$K$J$j$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + channel/mode/oper/get.plm
    
    plum-2.33.1.orig/module/channel/alias.plm0100644001001300006200000000407306676174332020103 0ustar gotomkobayashi channel/alias.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/alias.plm - $B%A%c%s%M%k%(%$%j%"%9$rJQ49$9$k(B

    $B@bL@(B

    IRC$B$N%3%^%s%I$rAw$k$H$-$K!"%A%c%s%M%k%(%$%j%"%9$r;H$($k$h$&$K$7$^$9!#(B $B%A%c%s%M%kL>$N;XDj$,!V(B%$B%A%c%s%M%kL>!W$H$$$&7A<0$@$C$?>l9g$K!"(B $B$=$l$r!V(B#$B%A%c%s%M%kL>(B:*.jp$B!W$H$$$&7A<0$KJQ49$7$FAw$j$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + channel/alias.plm
    
    plum-2.33.1.orig/module/channel/filter.plm0100644001001300006200000001511306676174332020274 0ustar gotomkobayashi channel/filter.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    channel/filter.plm - $B%/%i%$%"%s%H$+$i8+$($k%A%c%s%M%k$r@)8B$9$k(B

    $B@bL@(B

    $B%/%i%$%"%s%H$r@\B3$7$?$H$-$K!"

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + channel/filter.plm
    
    plum-2.33.1.orig/module/user/0040755001001300006200000000000006676174333015646 5ustar gotomkobayashiplum-2.33.1.orig/module/user/away/0040755001001300006200000000000006676174333016607 5ustar gotomkobayashiplum-2.33.1.orig/module/user/away/client.plm0100644001001300006200000000450306676174332020575 0ustar gotomkobayashi user/away/client.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/away/client.plm - $B%/%i%$%"%s%H$H$N@\B3>uBV$K$h$C$F(BAWAY$B$r@_Dj$9$k(B

    $B@bL@(B

    plum$B$K%/%i%$%"%s%H$,@\B3$5$l$F$$$k$+$I$&$+$K$h$C$F!"(B AWAY$B$r@_Dj$7$?$jC$7$?$j$7$^$9!#(B plum$B$K%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$O(BAWAY$B$r@_Dj$7!"(B $B%/%i%$%"%s%H$,@\B3$5$l$k$H(BAWAY$B$rC$7$^$9!#(B

    $B%W%m%Q%F%#(B

    user.away.client.set $B%a%C%;!<%8(B
    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$K!"(B $B$3$3$G;XDj$7$?(BAMAY$B$r@_Dj$7$^$9!#(B

    $B@_DjNc(B

    + user/away/client.plm
    user.away.client.set: $B$$$^$;$s(B
    
    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$K!"!V$$$^$;$s!W$H$$$&(BAWAY$B$r@_Dj$7$^$9!#(B $B%/%i%$%"%s%H$,@\B3$5$l$k$H!"$3$N(BAWAY$B$OC$5$l$^$9!#(B plum-2.33.1.orig/module/user/away/nick.plm0100644001001300006200000000446106676174332020246 0ustar gotomkobayashi user/away/nick.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/away/nick.plm - $B%K%C%/%M!<%`$rJQ99$9$k$H$=$l$KBP1~$9$k(BAWAY$B$r@_Dj$9$k(B

    $B@bL@(B

    $B%K%C%/%M!<%`$rJQ99$7$?$H$-$K!"$=$N%K%C%/%M!<%`$KBP1~$9$k(BAWAY$B$,(B $B;XDj$5$l$F$$$l$P!"$=$N(BAWAY$B$r@_Dj$7$^$9!#(B $B$=$&$G$J$1$l$P(BAWAY$B$rC$7$^$9!#(B

    $B%W%m%Q%F%#(B

    user.away.nick.set* ($B%K%C%/%M!<%`(B) $B%a%C%;!<%8(B
    $B%K%C%/%M!<%`$HBP1~$9$k(BAWAY$B$r;XDj$7$^$9!#(B $B%K%C%/%M!<%`$rJQ99$7$?$H$-$K!"(B $B$=$N%K%C%/%M!<%`$,$3$3$G;XDj$5$l$?$b$N$J$i!"(B $BBP1~$9$k(BAWAY$B$r@_Dj$7$^$9!#(B $B%K%C%/%M!<%`$,;XDj$5$l$F$$$J$1$l$P(BAWAY$B$rC$7$^$9!#(B

    $B@_DjNc(B

    + user/away/nick.plm
    user.away.nick.set: pupu_Zzz $B$M$F$^$9(B
    user.away.nick.set: pupu_work,pupu_job $B;E;vCf$G$9(B
    
    $B%K%C%/%M!<%`$r!V(Bpupu_Zzz$B!W$KJQ99$9$k$H!"(B $B!V$M$F$^$9!W$H$$$&(BAWAY$B$r@_Dj$7$^$9!#(B $B$^$?%K%C%/%M!<%`$r!V(Bpupu_work$B!W$+!V(Bpupu_job$B!W$KJQ99$9$k$H!"(B $B!V;E;vCf$G$9!W$H$$$&(BAWAY$B$r@_Dj$7$^$9!#(B $B$=$l0J30$N%K%C%/%M!<%`$KJQ99$7$?>l9g$O(BAWAY$B$rC$7$^$9!#(B plum-2.33.1.orig/module/user/mode/0040755001001300006200000000000006676174333016572 5ustar gotomkobayashiplum-2.33.1.orig/module/user/mode/set.plm0100644001001300006200000000226506676174332020100 0ustar gotomkobayashi user/mode/set.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/mode/set.plm - $B%5!<%P$K@\B3$7$?$H$-$K%f!<%6%b!<%I$r@_Dj$9$k(B

    $B@bL@(B

    $B%5!<%P$K@\B3$7$?$H$-$K!";XDj$5$l$?%f!<%6%b!<%I$r@_Dj$7$^$9!#(B

    $B%W%m%Q%F%#(B

    user.mode.set.mode $B%b!<%I(B
    $B@_Dj$9$k%f!<%6%b!<%I$r;XDj$7$^$9!#(B

    $B@_DjNc(B

    + usr/mode/set.plm
    user.mode.set.mode: +i
    
    $B%5!<%P$H@\B3$7$?$H$-$K!"%f!<%6%b!<%I$H$7$F!V(B+i$B!W$r@_Dj$7$^$9!#(B plum-2.33.1.orig/module/user/nick/0040755001001300006200000000000006676174333016572 5ustar gotomkobayashiplum-2.33.1.orig/module/user/nick/client.plm0100644001001300006200000000753506676174332020570 0ustar gotomkobayashi user/nick/client.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/nick/client.plm - $B%/%i%$%"%s%H$H$N@\B3>uBV$K$h$C$F%K%C%/%M!<%`$rJQ99$9$k(B

    $B@bL@(B

    plum$B$K%/%i%$%"%s%H$,@\B3$5$l$F$$$k$+$I$&$+$K$h$C$F!"(B $B%K%C%/%M!<%`$rJQ99$7$^$9!#(B

    $B%W%m%Q%F%#(B

    user.nick.client.stay* ($B%K%C%/%M!<%`(B)
    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$k$H$-$N%K%C%/%M!<%`$r;XDj$7$^$9!#(B $B;XDj$7$?%K%C%/%M!<%`$,$9$G$K;H$o$l$F$$$F!"(B $B$=$N%K%C%/%M!<%`$KJQ99$G$-$J$$$H$-$O!"(B $B:G=i$K;XDj$7$?$b$N$+$i=gHV$KJQ99$7$^$9!#(B
    user.nick.client.away* ($B%K%C%/%M!<%`(B)
    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$N%K%C%/%M!<%`$r;XDj$7$^$9!#(B $B;XDj$7$?%K%C%/%M!<%`$,$9$G$K;H$o$l$F$$$F!"(B $B$=$N%K%C%/%M!<%`$KJQ99$G$-$J$$$H$-$O!"(B $B:G=i$K;XDj$7$?$b$N$+$i=gHV$KJQ99$7$^$9!#(B

    $B@_DjNc(B

    + user/nick/client.plm
    user.nick.client.stay: pupu_j
    user.nick.client.away: pupu_d,pupu_Zzz
    
    $B%/%i%$%"%s%H$,@\B3$5$l$F$$$k$H$-$N%K%C%/%M!<%`$r!V(Bpupu_j$B!W$K!"(B $B%/%i%$%"%s%H$,@\B3$5$l$F$$$J$$$H$-$N%K%C%/%M!<%`$r!V(Bpupu_d$B!W$K$7$^$9!#(B $B!V(Bpupu_d$B!W$H$$$&%K%C%/%M!<%`$N?M$,$9$G$KB8:_$9$k$H$-$O!"(B $B!V(Bpupu_Zzz$B!W$H$$$&%K%C%/%M!<%`$r;H$$$^$9!#(B plum-2.33.1.orig/module/user/ignore.plm0100644001001300006200000000606006676174332017641 0ustar gotomkobayashi user/ignore.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/ignore.plm - $B;XDj$7$?%f!<%6$NH/8@$rL5;k$9$k(B

    $B@bL@(B

    $B;XDj$7$?%f!<%6$NH/8@$r%/%i%$%"%s%H$KAw$i$J$$$h$&$K$7$^$9!#(B

    $B%W%m%Q%F%#(B

    user.ignore.mask* $B%f!<%6%^%9%/(B [($B%A%c%s%M%kL>(B)]
    $BH/8@$7$??M$,$3$3$G;XDj$7$?$b$N$K%^%C%A$7$?>l9g!"(B $B$=$N?M$NH/8@$rL5;k$7!"%/%i%$%"%s%H$KAw$i$J$$$h$&$K$7$^$9!#(B
    user.ignore.command* ({privmsg|notice})
    $BL5;k$9$k%a%C%;!<%8$NJ}$rL5;k$7$^$9!#(B

    $B@_DjNc(B

    + user/ignore.plm
    user.ignore.mask: -*!*@*.jp
    user.ignore.mask: *!*@*
    
    $B!V(B*!*@*.jp$B!W$K%^%C%A$7$J$$?M$NH/8@$r$9$Y$FL5;k$7$^$9!#(B
    + user/ignore.plm
    user.ignore.mask: dummy!*@*
    user.ignore.command: privmsg
    
    $B!V(Bdummy$B!W$H$$$&%K%C%/%M!<%`$N%f!<%6$N!"(BPRIVMSG$B$G$NH/8@$rL5;k$7$^$9!#(B plum-2.33.1.orig/module/user/idle.plm0100644001001300006200000000167706676174332017304 0ustar gotomkobayashi user/idle.plm $B%*%s%i%$%s%I%-%e%a%s%H(B

    $BL>A0(B

    user/idle.plm - WHOIS$B$r

    $B@bL@(B

    WHOIS$B%3%^%s%I$G%f!<%6$N>pJs$r8+$k$H$-$K!"$=$N%f!<%6$N(BIDLE$B;~4V$,(B $BI,$:I=<($5$l$k$h$&$K$7$^$9!#(B

    $B%W%m%Q%F%#(B


    $B@_DjNc(B

    + user/idle.plm
    
    plum-2.33.1.orig/plum0100755001001300006200000017162206676174332014313 0ustar gotomkobayashi#!/bin/perl -w # $Id: plum,v 2.140 1999/03/15 14:04:30 hasegawa Exp $ # copyright (c)1997-1999 Yoshinori Hasegawa package plum; $NAME = 'plum'; $VERSION = '2.33'; $NIL = $;; $NOTRAILING = &'list('004', '215', '221', '324', '341', '367', 'mode'); $ALIAS = '*.jp'; $TIMEOUT = 120; $READSIZE = 1024; $IRCPORT = 6667; $SOCKADDR = 'S n N x8'; $PROTO = (getprotobyname('tcp'))[2]; if ($] < 5) { foreach $inc (@INC) { if (-r "$inc/sys/socket.ph") { eval 'require "sys/socket.ph"'; $SOCKET = "$inc/sys/socket.ph" unless $@; last; } if (-r "$inc/socket.ph") { eval 'require "socket.ph"'; $SOCKET = "$inc/socket.ph" unless $@; last; } } } else { eval 'use Socket'; $SOCKET = 'Socket.pm' unless $@; } $SOCKET = '' unless $SOCKET; $AF_INET = eval '&AF_INET' || 2; $PF_INET = eval '&PF_INET' || 2; $SOCK_STREAM = eval '&SOCK_STREAM' || 1; $SOMAXCONN = eval '&SOMAXCONN' || 16; $INADDR_ANY = eval '&INADDR_ANY' || "\0\0\0\0"; $SOL_SOCKET = eval '&SOL_SOCKET'; $SO_REUSEADDR = eval '&SO_REUSEADDR'; $KANJI = &'add($KANJI, 'euc') if "\241\241\242\242" !~ /\241\242/; $KANJI = &'add($KANJI, 'sjis') if "\201\201\202\202" !~ /\201\202/; $SIG{'HUP'} = 'IGNORE' if &'exist(&'list(keys(%SIG)), 'HUP'); $SIG{'PIPE'} = 'IGNORE' if &'exist(&'list(keys(%SIG)), 'PIPE'); if ($0 =~ /^(.*)[\\\/][^\\\/]*$/) { unshift(@INC, "$1/module"); } else { unshift(@INC, './module'); } select((select(STDOUT), $| = 1)[0]); select((select(STDERR), $| = 1)[0]); $'rin = ''; $'win = ''; $'rout = ''; $'wout = ''; $'kanjilist = $KANJI; $'kanjilist = '' unless $'kanjilist; $handle = 0; srand(); &'load('', "$NAME.conf") if -r "$NAME.conf"; foreach $user (@ARGV) { &'load($user, "$NAME-$user.conf") if -r "$NAME-$user.conf"; } exit unless @'username; print $NAME, ' ', $VERSION, "\n"; &main; sub main { local($access, $i, $time, $nfound, $timeleft); $access = ''; for (;;) { for ($i = 0; $i < @'username; $i++) { &open_event($i, 'main_loop', $i); } foreach $cno (&'array($'clientlist)) { &c_read($cno) if vec($'rout, $cno, 1); &c_write($cno) if vec($'wout, $cno, 1); } foreach $sno (&'array($'serverlist)) { &s_read($sno) if vec($'rout, $sno, 1); &s_write($sno) if vec($'wout, $sno, 1); } foreach $lno (&'array($'listenlist)) { &c_accept($lno) if vec($'rout, $lno, 1); } $time = time(); for ($i = 0; $i < length($access) * 8; $i++) { $'access[$i] = $time if vec($access, $i, 1); } ($nfound, $timeleft) = select($'rout = $'rin, $'wout = $'win, undef, $TIMEOUT); $access = $'rout; } } sub c_read { local($clientno) = @_; local($next, $rest, $tmp); $tmp = ''; if (sysread($'socket[$clientno], $tmp, $READSIZE)) { $rbuf[$clientno] .= $tmp; while ((($next, $rest) = split(/[\r\n]+/, $rbuf[$clientno], 2)) == 2) { $rbuf[$clientno] = $rest; next unless $next; if ($'avail[$clientno]) { $next = &read_event($'userno[$clientno], 'client_read', $clientno, $next); next unless $next; } &c_scan($clientno, $next); } } else { &'c_close($clientno); } } sub c_scan { local($clientno, $line) = @_; local($prefix, $cmd, @params, $sub); ($prefix, $cmd, @params) = &'parse($line); if ($'avail[$clientno]) { ($prefix, $cmd, @params) = &scan_event($'userno[$clientno], "cs_\L$cmd\E", $clientno, $prefix, $cmd, @params); return unless $cmd; return unless $'server[$clientno]; &'s_print($'server[$clientno], $prefix, $cmd, @params); } else { $sub = "cn_\L$cmd\E"; &$sub($clientno, $prefix, $cmd, @params) if defined(&$sub); } } sub 'c_print { local($clientno, $prefix, $cmd, @params) = @_; if ($'avail[$clientno]) { ($prefix, $cmd, @params) = &print_event($'userno[$clientno], "cp_\L$cmd\E", $clientno, $prefix, $cmd, @params); return unless $cmd; } $wbuf{$clientno} = '' unless defined($wbuf{$clientno}); $wbuf{$clientno} .= &'build($prefix, $cmd, @params) . $NIL; vec($'win, $clientno, 1) = 1; } sub c_write { local($clientno) = @_; local($socket, $next, $rest); $socket = $'socket[$clientno]; while ($wbuf{$clientno}) { ($next, $rest) = split(/$NIL/, $wbuf{$clientno}, 2); $wbuf{$clientno} = $rest || ''; next unless $next; if ($'avail[$clientno]) { $next = &write_event($'userno[$clientno], 'client_write', $clientno, $next); next unless $next; } print $socket $next, "\r\n" if fileno($socket); } vec($'win, $clientno, 1) = 0; } sub 'c_flush { local($clientno) = @_; while (vec($'win, $clientno, 1)) { &c_write($clientno); } } sub s_read { local($serverno) = @_; local($next, $rest, $tmp); $tmp = ''; if (sysread($'socket[$serverno], $tmp, $READSIZE)) { $rbuf[$serverno] .= $tmp; while ((($next, $rest) = split(/[\r\n]+/, $rbuf[$serverno], 2)) == 2) { $rbuf[$serverno] = $rest; next unless $next; if ($'avail[$serverno]) { $next = &read_event($'userno[$serverno], 'server_read', $serverno, $next); next unless $next; } &s_scan($serverno, $next); } } else { &'s_close($serverno); } } sub s_scan { local($serverno, $line) = @_; local($prefix, $cmd, @params, $sub); ($prefix, $cmd, @params) = &'parse($line); if ($'avail[$serverno]) { ($prefix, $cmd, @params) = &scan_event($'userno[$serverno], "ss_\L$cmd\E", $serverno, $prefix, $cmd, @params); return unless $cmd; foreach $cno (&'array($'clientlist)) { next unless $'avail[$cno]; next unless $'server[$cno] == $serverno; &'c_print($cno, $prefix, $cmd, @params); } } else { $sub = "sn_\L$cmd\E"; &$sub($serverno, $prefix, $cmd, @params) if defined(&$sub); } } sub 's_print { local($serverno, $prefix, $cmd, @params) = @_; local($key); if ($'avail[$serverno]) { ($prefix, $cmd, @params) = &print_event($'userno[$serverno], "sp_\L$cmd\E", $serverno, $prefix, $cmd, @params); return unless $cmd; } $key = "$serverno$;\L$cmd\E"; $wbuf{$key} = '' unless defined($wbuf{$key}); $wbuf{$key} .= &'build($prefix, $cmd, @params) . $NIL; $sequence[$serverno] = &'add($sequence[$serverno], "\L$cmd\E"); vec($'win, $serverno, 1) = 1; } sub s_write { local($serverno) = @_; local($socket, $next, $rest, $time, @array, $cmd); $socket = $'socket[$serverno]; $time = time(); $timer[$serverno] = $time if ($timer[$serverno] || 0) < $time; @array = &'array($sequence[$serverno]); while (@array) { if ($timer[$serverno] > $time + 10) { $sequence[$serverno] = &'list(@array); return; } else { $cmd = shift(@array); ($next, $rest) = split(/$NIL/, $wbuf{$serverno, $cmd}, 2); $wbuf{$serverno, $cmd} = $rest || ''; push(@array, $cmd) if $rest; next unless $next; if ($'avail[$serverno]) { $next = &write_event($'userno[$serverno], 'server_write', $serverno, $next); next unless $next; } print $socket $next, "\r\n" if fileno($socket); $timer[$serverno] += 2; } } $sequence[$serverno] = ''; vec($'win, $serverno, 1) = 0; } sub 's_flush { local($serverno) = @_; while (vec($'win, $serverno, 1)) { &s_write($serverno); } } sub 'parse { local($line) = @_; local($arg, $rest, @params); @params = (); $line =~ s/^\s*//; if ($line =~ /^\:(.*)$/) { ($arg, $rest) = (split(/\s+/, $1, 2), ''); } else { ($arg, $rest) = ('', $line); } while ($line) { push(@params, $arg); if ($rest =~ /^\:(.*)$/) { push(@params, $1); last; } $line = $rest; ($arg, $rest) = (split(/\s+/, $line, 2), ''); } return @params; } sub 'build { local($prefix, $cmd, @params) = @_; local($trailing); return '' unless $cmd; if (@params) { $trailing = pop(@params) || ''; if (&'exist($NOTRAILING, "\L$cmd\E")) { push(@params, $trailing . ' '); } else { push(@params, ':' . $trailing); } } else { @params = (); } unshift(@params, $cmd); unshift(@params, ':' . $prefix) if $prefix; return join(' ', @params); } sub 'user { local($no) = @_; local($userno, $host); $userno = $'userno[$no]; if (defined($userno) && $address[$userno]) { return "$'nick[$no]\!$address[$userno]"; } elsif ($no && $'socket[$no] && fileno($'socket[$no])) { $host = (&'peername($no))[2] || join('.', unpack('C4', pack('N', (&'peername($no))[1]))); } else { $host = 'unknown'; } return "$'nick[$no]!$'user[$no]\@$host"; } sub 'prefix { local($prefix) = @_; local($idx, $rest, $nick, $user, $host); if (wantarray) { if (($idx = index($prefix, '@')) != -1) { $host = substr($prefix, $idx + 1); $rest = substr($prefix, 0, $idx); } else { $host = ''; $rest = $prefix; } if (($idx = index($rest, '!')) != -1) { $nick = substr($rest, 0, $idx); $user = substr($rest, $idx + 1); } else { $nick = $rest; $user = ''; } return ($nick, $user, $host); } else { if (($idx = index($prefix, '!')) != -1) { return substr($prefix, 0, $idx); } else { return $prefix; } } } sub 'regex { local($mask) = @_; $mask =~ s/(\W)/\\$1/g; $mask =~ s/\\\?/\./g; $mask =~ s/\\\*/\.\*/g; return "\^$mask\$"; } sub 'load { local($user, $file) = @_; local($userno, $newlist, $no, $var, $line, $name, $arg, @key, $label, $sub, $oldlist); @'username = () unless @'username; open(FILE, $file) || return; if (!&'exist(&'list(@'username), $user)) { push(@'username, $user); } for ($userno = 0; $userno < @'username; $userno++) { last if $user eq $'username[$userno]; } foreach $key (keys(%property)) { ($no, $var) = split(/$;/, $key, 2); next unless $no == $userno; delete $property{$key}; } $'filename[$userno] = $file; $newlist = &'list('plum'); while (defined($line = )) { $line =~ s/^\s+//; next if $line =~ /^[\#\;]/; $line =~ tr/\r\n//d; next unless $line; $line =~ s/\s+$//; if ($line =~ /^\+\s*(\S+)\s+(\S+)/) { $name = $1; $label = $2; &'import($userno, $name); $newlist = &'add($newlist, $'package{$name}); $'labellist{$userno, $'package{$name}} = &'list(split(/\,/, $label)); } elsif ($line =~ /^\+\s*(\S+)/) { $name = $1; &'import($userno, $name); $newlist = &'add($newlist, $'package{$name}); $'labellist{$userno, $'package{$name}} = ''; } elsif ($line =~ /^\-\s*(\S+)/) { $name = $1; if ($'package{$name}) { $newlist = &'remove($newlist, $'package{$name}); $'labellist{$userno, $'package{$name}} = ''; } } elsif ($line =~ /^\=\s*(\S+)/) { $name = $1; &'import($userno, $name); if (&'exist($'modulelist[$userno], $'package{$name})) { $newlist = &'add($newlist, $'package{$name}); } } elsif ((($var, $arg) = split(/\s*\:\s*/, $line, 2)) == 2) { $arg = &kanji_jis($userno, $arg); @key = split(/\./, $var); $property{$userno, @key} = &'add($property{$userno, @key}, $arg); } } close(FILE); foreach $module (&'array($newlist)) { if (!&'exist($'modulelist[$userno], $module)) { $sub = $module . '\'module_enable'; &$sub($userno) if defined(&$sub); } } $oldlist = $'modulelist[$userno]; $'modulelist[$userno] = $newlist; foreach $module (&'array($oldlist)) { if (!&'exist($'modulelist[$userno], $module)) { $sub = $module . '\'module_disable'; &$sub($userno) if defined(&$sub); } } } sub kanji_jis { local($userno, $line) = @_; local($code); $code = ''; foreach $kanji (&'property($userno, 'kanji')) { $code = &'add($code, split(/\,/, "\L$kanji\E")); } foreach $code (&'array($code)) { if ($code eq 'euc') { $line = &'euc_jis($line); } elsif ($code eq 'jis') { $line = &'jis_jis($line); } elsif ($code eq 'sjis') { $line = &'sjis_jis($line); } } return $line; } sub 'import { local($userno, $name) = @_; local($file, $pkg); foreach $dir (&'property($userno, 'directory'), @INC) { $file = &'expand("$dir/$name"); next unless -f $file; $_ = $'package{$name} || 'plum'; require $file; $pkg = $_; $'package{$name} = $pkg; $'directory{$pkg} = $dir; $'filename{$pkg} = $name; return; } $file = &'expand($name); $_ = $'package{$name} || 'plum'; require $file; $pkg = $_; $'package{$name} = $pkg; $'directory{$pkg} = ''; $'filename{$pkg} = $name; } sub 'property { local($userno, $name) = @_; local(@pkg, $list); @pkg = split(/\_/, (caller())[0]); if ($label) { $list = $property{$userno, @pkg, $label, $name} || $property{$userno, @pkg, $name}; } else { $list = $property{$userno, @pkg, $name}; } if (defined($list)) { if (wantarray) { return &'array($list); } else { return (&'array($list))[0]; } } else { if (wantarray) { return (); } else { return undef; } } } sub 'expand { local($name) = @_; local($user, $rest, $home); if ($name =~ /^\~([^\/]*)\/(.*)$/) { ($user, $rest) = ($1, $2); if ($user) { $home = eval '(getpwnam($user))[7]' || '.'; } else { $home = $ENV{'HOME'} || eval '(getpwuid($<))[7]' || '.'; } return "$home/$rest"; } else { return $name; } } sub 'timelocal { local(@local) = @_; local($now, @base, $year, $day, $time); $now = time(); @base = localtime($now); $day = ($local[5] - $base[5]) * 365; $year = $local[5] + 1900; $day += int($year / 4) - int($year / 100) + int($year / 400) + &days($local[3], $local[4], $local[5]); $year = $base[5] + 1900; $day -= int($year / 4) - int($year / 100) + int($year / 400) + &days($base[3], $base[4], $base[5]); $time = $now + $day * 86400 + ($local[2] - $base[2]) * 3600 + ($local[1] - $base[1]) * 60 + $local[0] - $base[0]; return $time; } sub days { local(@time) = @_; local($day, $year); $day = (0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334)[$time[1]]; $day += $time[0] - 1; $year = $time[2] + 1900; if ($time[1] < 2 && $year % 4 == 0 && ($year % 100 != 0 || $year % 400 == 0)) { $day -= 1; } return $day; } sub 'date { local($format, $time) = @_; local(@time, $char, $str, $i, $number); $time = time() unless $time; @time = localtime($time); $str = ''; for ($i = 0; $i < length($format); $i++) { $char = substr($format, $i, 1); if ($char eq '%') { $i++; if ($i < length($format)) { $char = substr($format, $i, 1); if ($char eq '+' || $char eq '-') { $i++; $number = $char; while ($i < length($format)) { $char = substr($format, $i, 1); last if index('0123456789.', $char) == -1; $number .= $char; $i++; } } else { $number = 0; } if ($char eq '%') { $str .= $char; } elsif ($char eq 'a') { $str .= ('Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat')[$time[6]]; } elsif ($char eq 'b') { $str .= ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')[$time[4]]; } elsif ($char eq 'd') { $str .= sprintf('%02d', $time[3]); } elsif ($char eq 'H') { $str .= sprintf('%02d', $time[2]); } elsif ($char eq 'I') { $str .= sprintf('%02d', $time[2] % 12 + 1); } elsif ($char eq 'j') { $str .= sprintf('%3d', $time[7]); } elsif ($char eq 'k') { $str .= sprintf('%2d', $time[2]); } elsif ($char eq 'l') { $str .= sprintf('%2d', $time[2] % 12 + 1); } elsif ($char eq 'M') { $str .= sprintf('%02d', $time[1]); } elsif ($char eq 'm') { $str .= sprintf('%02d', $time[4] + 1); } elsif ($char eq 'O') { @time = localtime($time + $number * 3600); } elsif ($char eq 'o') { @time = localtime($time + $number); } elsif ($char eq 'p') { if ($time[2] < 12) { $str .= 'AM'; } else { $str .= 'PM'; } } elsif ($char eq 'S') { $str .= sprintf('%02d', $time[0]); } elsif ($char eq 'w') { $str .= sprintf('%d', $time[6]); } elsif ($char eq 'Y') { $str .= sprintf('%d', $time[5] + 1900); } elsif ($char eq 'y') { $str .= sprintf('%02d', $time[5] % 100); } } else { $str .= $char; } } else { $str .= $char; } } return $str; } sub 'format { local($text, %data) = @_; local($ret, $idx, $end, $ret, $str); $ret = ''; while (($idx = index($text, '#(')) != -1) { $end = index($text, ')', $idx + 2); last if $end == -1; $ret .= substr($text, 0, $idx); foreach $item (split(/\|/, substr($text, $idx + 2, $end - $idx - 2))) { $str = &replace($item, %data); next unless defined($str); $ret .= $str; last; } $text = substr($text, $end + 1); } $ret .= $text; return $ret; } sub replace { local($item, %data) = @_; local($list, $text, @data); ($list, $text) = split(/\;/, $item, 2); if ($list) { foreach $key (split(/\,/, $list)) { if (!defined($data{$key})) { return undef; } push(@data, $data{$key}); } if ($text) { return sprintf($text, @data); } else { return join('', @data); } } else { return $text; } } sub 'real { local($name) = @_; if ($name =~ /^\%(.*)$/) { return "\#$1\:$ALIAS"; } else { return $name; } } sub 'alias { local($name) = @_; if ($name =~ /^\#(.*)\:(.*)$/ && "\L$2\E" eq "\L$ALIAS\E") { return '%' . $1; } else { return $name; } } sub 'channel { local($name) = @_; if ($name && $name =~ /^[\#\&\+\!]/) { return 1; } else { return 0; } } sub 'add { local($list, @items) = @_; $list = '' unless $list; foreach $item (@items) { next if &'exist($list, $item); $list .= $NIL . $item; } return $list; } sub 'remove { local($list, @items) = @_; local($idx); $list = '' unless $list; $list .= $NIL; foreach $item (@items) { $idx = index("\L$list\E", "$NIL\L$item\E$NIL"); next if $idx == -1; substr($list, $idx, length("$NIL$item$NIL")) = $NIL; } return substr($list, 0, length($list) - 1); } sub 'change { local($list, @items) = @_; local($old, $new, $idx); return '' unless $list; $list .= $NIL; while (@items > 1) { $old = shift(@items); $new = shift(@items); $idx = index("\L$list\E", "$NIL\L$old\E$NIL"); next if $idx == -1; substr($list, $idx, length("$NIL$old$NIL")) = "$NIL$new$NIL"; } return substr($list, 0, length($list) - 1); } sub 'exist { local($list, @items) = @_; return 0 unless $list; $list .= $NIL; foreach $item (@items) { return 1 if index("\L$list\E", "$NIL\L$item\E$NIL") != -1; } return 0; } sub 'list { local(@array) = @_; return join($NIL, '', @array); } sub 'array { local($list) = @_; return () unless $list; $list = substr($list, 1); return split(/$NIL/, $list, -1); } sub 'euc_euc { local($euc) = @_; return $euc; } sub 'euc_jis { local($euc) = @_; local($jis, $kanji, $c, $n, $i); $kanji = 0; $jis = ''; $euc = &'euc_euc($euc); for ($i = 0; $i < length($euc); $i++) { $c = substr($euc, $i, 1); $n = ord($c); if ($n >= 0241) { if ($kanji != 1) { $jis .= "\e\$B"; $kanji = 1; } $jis .= pack('C', $n & 0177); $i++; $jis .= pack('C', ord(substr($euc, $i, 1)) & 0177); } elsif ($n == 0216) { if ($kanji != 2) { $jis .= "\e(I"; $kanji = 2; } $i++; $jis .= pack('C', ord(substr($euc, $i, 1)) & 0177); } elsif ($n == 0217) { if ($kanji != 3) { $jis .= "\e\$(D"; $kanji = 3; } $i++; $jis .= pack('C', ord(substr($euc, $i, 1)) & 0177); $i++; $jis .= pack('C', ord(substr($euc, $i, 1)) & 0177); } else { if ($kanji) { $jis .= "\e\(B"; $kanji = 0; } $jis .= $c; } } $jis .= "\e\(B" if $kanji; return $jis; } sub 'euc_sjis { local($euc) = @_; local($sjis, $c, $n1, $n2, $i); $sjis = ''; $euc = &'euc_euc($euc); for ($i = 0; $i < length($euc); $i++) { $c = substr($euc, $i, 1); $n1 = ord($c); if ($n1 >= 0241) { $i++; $n2 = ord(substr($euc, $i, 1)); if (($n1 & 01) == 0) { $n2 -= 03; } else { $n2 -= 0141; } $n2++ if $n2 >= 0177; $n1 = ((($n1 - 0241) >> 1) + 0241) ^ 040; $sjis .= pack('CC', $n1, $n2); } elsif ($n1 == 0216) { $i++; $sjis .= substr($euc, $i, 1); } elsif ($n1 == 0217) { $i += 2; $sjis .= "\201\254"; } else { $sjis .= $c; } } return $sjis; } sub 'jis_euc { local($jis) = @_; local($euc, $kanji, $i); $kanji = 0; $euc = ''; $jis = &'jis_jis($jis); for ($i = 0; $i < length($jis); $i++) { if (substr($jis, $i, 3) eq "\e\(B") { $kanji = 0; $i += 2; next; } elsif (substr($jis, $i, 3) eq "\e\$B") { $kanji = 1; $i += 2; next; } elsif (substr($jis, $i, 3) eq "\e\(I") { $kanji = 2; $i += 2; next; } elsif (substr($jis, $i, 4) eq "\e\$(D") { $kanji = 3; $i += 3; next; } if ($kanji == 0) { $euc .= substr($jis, $i, 1); } elsif ($kanji == 1) { $euc .= pack('C', ord(substr($jis, $i, 1)) | 0200); $i++; $euc .= pack('C', ord(substr($jis, $i, 1)) | 0200); } elsif ($kanji == 2) { $euc .= "\216" . pack('C', ord(substr($jis, $i, 1)) | 0200); } elsif ($kanji == 3) { $euc .= "\217" . pack('C', ord(substr($jis, $i, 1)) | 0200); $i++; $euc .= pack('C', ord(substr($jis, $i, 1)) | 0200); } } return $euc; } sub 'jis_jis { local($jis) = @_; local($ret, $kanji, $last, $seq, $c, $i); $kanji = 0; $last = 0; $ret = ''; for ($i = 0; $i < length($jis); $i++) { $c = substr($jis, $i, 1); $seq = substr($jis, $i, 3); if ($seq eq "\e\$\@" || $seq eq "\e\$B") { $ret .= "\e\$B"; $kanji = 1; $i += 2; next; } elsif ($seq eq "\e(J" || $seq eq "\e(B") { $ret .= "\e(B"; $kanji = 0; $i += 2; next; } elsif ($seq eq "\e(I") { $ret .= "\e(I"; $kanji = 2; $i += 2; next; } elsif ($c eq "\cN") { if ($kanji != 2) { $last = $kanji; $ret .= "\e(I"; $kanji = 2; } next; } elsif ($c eq "\cO") { if ($kanji != 2) { if ($last) { $ret .= "\e\$B"; } else { $ret .= "\e(B"; } $kanji = $last; } next; } elsif (substr($jis, $i, 6) eq "\e&\@\e\$B") { $ret .= "\e\$B"; $kanji = 1; $i += 5; next; } elsif (substr($jis, $i, 4) eq "\e\$(D") { $ret .= "\e\$(D"; $kanji = 3; $i += 3; next; } if ($kanji == 0) { $ret .= $c; } elsif ($kanji == 1) { $ret .= substr($jis, $i, 2); $i++; } elsif ($kanji == 2) { $ret .= $c; } elsif ($kanji == 3) { $ret .= substr($jis, $i, 2); $i++; } } $ret .= "\e(B" if $kanji; return $ret; } sub 'jis_sjis { local($jis) = @_; local($sjis, $kanji, $n1, $n2, $i); $kanji = 0; $sjis = ''; $jis = &'jis_jis($jis); for ($i = 0; $i < length($jis); $i++) { if (substr($jis, $i, 3) eq "\e\(B") { $kanji = 0; $i += 2; next; } elsif (substr($jis, $i, 3) eq "\e\$B") { $kanji = 1; $i += 2; next; } elsif (substr($jis, $i, 3) eq "\e\(I") { $kanji = 2; $i += 2; next; } elsif (substr($jis, $i, 4) eq "\e\$(D") { $kanji = 3; $i += 3; next; } if ($kanji == 0) { $sjis .= substr($jis, $i, 1); } elsif ($kanji == 1) { $n1 = ord(substr($jis, $i, 1)); $i++; $n2 = ord(substr($jis, $i, 1)); if (($n1 & 01) == 0) { $n2 += 0175; } else { $n2 += 037; } $n2++ if $n2 >= 0177; $n1 = ((($n1 - 041) >> 1) + 0241) ^ 040; $sjis .= pack('CC', $n1, $n2); } elsif ($kanji == 2) { $sjis .= pack('C', ord(substr($jis, $i, 1)) | 0200); } elsif ($kanji == 3) { $i++; $sjis .= "\201\254"; } } return $sjis; } sub 'sjis_euc { local($sjis) = @_; local($euc, $c, $n1, $n2, $i); $euc = ''; $sjis = &'sjis_sjis($sjis); for ($i = 0; $i < length($sjis); $i++) { $c = substr($sjis, $i, 1); $n1 = ord($c); if ($n1 >= 0240 && $n1 <= 0337) { $euc .= "\216$c"; } elsif ($n1 >= 0201) { $i++; $n2 = ord(substr($sjis, $i, 1)); $n2-- if $n2 > 0177; if ($n2 >= 0236) { $n1 = ((($n1 ^ 040) - 0241) << 1) + 0242; $n2 += 03; } else { $n1 = ((($n1 ^ 040) - 0241) << 1) + 0241; $n2 += 0141; } $euc .= pack('CC', $n1, $n2); } else { $euc .= $c; } } return $euc; } sub 'sjis_jis { local($sjis) = @_; local($jis, $kanji, $c, $n1, $n2, $i); $kanji = 0; $jis = ''; $sjis = &'sjis_sjis($sjis); for ($i = 0; $i < length($sjis); $i++) { $c = substr($sjis, $i, 1); $n1 = ord($c); if ($n1 >= 0240 && $n1 <= 0337) { if ($kanji != 2) { $jis .= "\e(I"; $kanji = 2; } $jis .= pack('C', $n1 & 0177); } elsif ($n1 >= 0201) { if ($kanji != 1) { $jis .= "\e\$B"; $kanji = 1; } $i++; $n2 = ord(substr($sjis, $i, 1)); $n2-- if $n2 > 0177; if ($n2 >= 0236) { $n1 = ((($n1 ^ 040) - 0241) << 1) + 042; $n2 -= 0175; } else { $n1 = ((($n1 ^ 040) - 0241) << 1) + 041; $n2 -= 037; } $jis .= pack('CC', $n1, $n2); } else { if ($kanji) { $jis .= "\e\(B"; $kanji = 0; } $jis .= $c; } } $jis .= "\e\(B" if $kanji; return $jis; } sub 'sjis_sjis { local($sjis) = @_; return $sjis; } sub 'connect { local($host, $port) = @_; local($serverno, $socket, $ip, @addr, $name); if ($host =~ /^\d+$/) { $ip = $host; } elsif ($host =~ /^[\d\.]+$/) { @addr = split(/\./, $host); $ip = unpack('N', pack('C4', @addr, 0, 0, 0)); } else { $ip = unpack('N', (gethostbyname($host))[4] || "\0\0\0\0"); } return 0 unless $ip; $socket = '\'S' . ++$handle; socket($socket, $PF_INET, $SOCK_STREAM, $PROTO) || return 0; $name = pack($SOCKADDR, $AF_INET, $port, $ip); connect($socket, $name) || return 0; binmode($socket); $serverno = fileno($socket); vec($'rin, $serverno, 1) = 1; $'socket[$serverno] = $socket; select((select($socket), $| = 1)[0]); $'access[$serverno] = time(); return $serverno; } sub 'listen { local($port, $count) = @_; local($listenno, $socket, $name); $socket = '\'L' . ++$handle; socket($socket, $PF_INET, $SOCK_STREAM, $PROTO) || return 0; if (defined($SOL_SOCKET) && defined($SO_REUSEADDR)) { setsockopt($socket, $SOL_SOCKET, $SO_REUSEADDR, pack('l', 1)); } $name = pack($SOCKADDR, $AF_INET, $port, unpack('N', $INADDR_ANY)); bind($socket, $name) || return 0; listen($socket, $count || $SOMAXCONN) || return 0; $listenno = fileno($socket); vec($'rin, $listenno, 1) = 1; $'socket[$listenno] = $socket; select((select($socket), $| = 1)[0]); $'access[$listenno] = time(); return $listenno; } sub 'accept { local($listenno) = @_; local($clientno, $socket); $socket = '\'C' . ++$handle; accept($socket, $'socket[$listenno]) || return 0; binmode($socket); $clientno = fileno($socket); vec($'rin, $clientno, 1) = 1; $'socket[$clientno] = $socket; select((select($socket), $| = 1)[0]); $'access[$clientno] = time(); return $clientno; } sub 'close { local($no) = @_; close($'socket[$no]); vec($'rin, $no, 1) = 0; } sub 'sockname { local($no) = @_; local($port, $ip, $host); ($port, $ip) = (unpack($SOCKADDR, getsockname($'socket[$no])))[1, 2]; $host = (gethostbyaddr(pack('N', $ip), $AF_INET))[0]; return ($port, $ip, $host); } sub 'peername { local($no) = @_; local($port, $ip, $host); ($port, $ip) = (unpack($SOCKADDR, getpeername($'socket[$no])))[1, 2]; $host = (gethostbyaddr(pack('N', $ip), $AF_INET))[0]; return ($port, $ip, $host); } sub 's_connect { local($userno) = @_; local($server, $host, $name, $list, $pass, $serverno, @port); foreach $server (&'property($userno, 'server')) { next if &'exist($errorlist[$userno], $server); ($host, $pass) = (split(/\s+/, $server), ''); ($name, $list) = split(/\:/, $host); @port = split(/\,/, $list || ''); $serverno = &'connect($name, $port[rand(@port)] || $IRCPORT); next unless $serverno; $'serverlist = &'add($'serverlist, $serverno); $'avail[$serverno] = 0; $'userno[$serverno] = $userno; $pass[$serverno] = $pass; $serverhost[$serverno] = $server; $rbuf[$serverno] = ''; &s_init($serverno); last; } $errorlist[$userno] = '' unless $host; } sub 's_close { local($serverno) = @_; local($userno, $no, $cmd); $userno = $'userno[$serverno]; $rbuf[$serverno] = ''; $sequence[$serverno] = ''; foreach $key (keys(%wbuf)) { ($no, $cmd) = split(/$;/, $key, 2); next unless $no == $serverno; delete $wbuf{$key}; } $serverhost[$serverno] = ''; &'close($serverno); $'serverlist = &'remove($'serverlist, $serverno); if ($'avail[$serverno]) { $'avail[$serverno] = 0; &close_event($userno, 'server_close', $serverno); } } sub c_listen { local($userno) = @_; local($listenno, $name, $port, $i, $uselist); foreach $port (&get_port($userno)) { $port = $IRCPORT unless $port; next if &'exist($portlist, $port); $listenno = &'listen($port, $SOMAXCONN); next unless $listenno; $'listenlist = &'add($'listenlist, $listenno); $portlist = &'add($portlist, $port); } for ($i = 0; $i < @'username; $i++) { foreach $port (&get_port($i)) { $uselist = &'add($uselist, $port || $IRCPORT); } } foreach $lno (&'array($'listenlist)) { $port = (&'sockname($lno))[0]; next if &'exist($uselist, $port); &'close($lno); $'listenlist = &'remove($'listenlist, $lno); $portlist = &'remove($portlist, $port); } } sub c_accept { local($listenno) = @_; local($clientno, $port, $ip, $name, $host, $pass, $regex, $i); $clientno = &'accept($listenno); return unless $clientno; $port = (&'sockname($clientno))[0]; $ip = join('.', unpack('C4', pack('N', (&'peername($clientno))[1]))); $name = (&'peername($clientno))[2]; for ($i = 0; $i < @'username; $i++) { foreach $client (&'property($i, 'client')) { ($host, $pass) = (split(/\s+/, $client), ''); next unless $port == ((split(/\:/, $host))[1] || $IRCPORT); $regex = &'regex((split(/\:/, $host))[0]); next unless ($ip =~ /$regex/i || $name =~ /$regex/i); $'clientlist = &'add($'clientlist, $clientno); $'avail[$clientno] = 0; $'nick[$clientno] = ''; $'user[$clientno] = ''; $rbuf[$clientno] = ''; $pass[$clientno] = ''; return; } } &'close($clientno); } sub get_port { local($userno) = @_; local($host, $pass, $mask, $port, $list); $list = ''; foreach $client (&'property($userno, 'client')) { ($host, $pass) = split(/\s+/, $client, 2); ($mask, $port) = split(/\:/, $host); $list = &'add($list, $port); } return &'array($list); } sub 'c_close { local($clientno) = @_; $rbuf[$clientno] = ''; $sequence[$clientno] = ''; delete $wbuf{$clientno}; &'close($clientno); $'clientlist = &'remove($'clientlist, $clientno); if ($'avail[$clientno]) { $'avail[$clientno] = 0; &close_event($'userno[$clientno], 'client_close', $clientno); } } sub s_init { local($serverno) = @_; local($userno, $nick, $user, $name); $userno = $'userno[$serverno]; &'s_print($serverno, '', 'PASS', $pass[$serverno]) if $pass[$serverno]; $nick = $nickname[$userno] || &'property($userno, 'nick') || getlogin() || eval '(getpwuid($<))[0]' || "$NAME-user"; &'s_print($serverno, '', 'NICK', (split(/\,/, $nick))[0]); $user = &'property($userno, 'user') || getlogin() || eval '(getpwuid($<))[0]' || "$NAME-user"; $name = &'property($userno, 'name'); $name = eval '((split(/\,/, (getpwuid($<))[6]))[0])' || $user unless defined($name); &'s_print($serverno, '', 'USER', $user, '*', '*', $name); $'user[$serverno] = $user; } sub c_init { local($clientno) = @_; local($port, $ip, $name, $host, $pass, $regex, $i); $port = (&'sockname($clientno))[0]; $ip = join('.', unpack('C4', pack('N', (&'peername($clientno))[1]))); $name = (&'peername($clientno))[2]; for ($i = 0; $i < @'username; $i++) { foreach $client (&'property($i, 'client')) { ($host, $pass) = (split(/\s+/, $client), ''); next unless $port == ((split(/\:/, $host))[1] || $IRCPORT); $regex = &'regex((split(/\:/, $host))[0]); next unless ($ip =~ /$regex/i || $name =~ /$regex/i); next if ($pass && $pass ne $pass[$clientno]); $'userno[$clientno] = $i; $'avail[$clientno] = 1; $'server[$clientno] = 0; $'servername[$clientno] = $NAME; foreach $sno (&'array($'serverlist)) { next unless $'avail[$sno]; next unless $'userno[$sno] == $'userno[$clientno]; $'server[$clientno] = $sno; $'servername[$clientno] = $'servername[$sno]; } &open_event($'userno[$clientno], 'client_open', $clientno); return; } } &'c_print($clientno, $NAME, '464', $'nick[$clientno], 'Password incorrect'); &'c_print($clientno, '', 'ERROR', 'Closing Link: ' . &'user($clientno) . ' (Bad Password)'); &'c_flush($clientno); &'c_close($clientno); } sub cn_mode { local($clientno, $prefix, $cmd, @params) = @_; &'c_print($clientno, $NAME, '451', '*', 'You have not registered'); } sub cn_nick { local($clientno, $prefix, $cmd, @params) = @_; $'nick[$clientno] = $params[0]; &c_init($clientno) if $'user[$clientno]; } sub cn_pass { local($clientno, $prefix, $cmd, @params) = @_; $pass[$clientno] = $params[0]; } sub cn_ping { local($clientno, $prefix, $cmd, @params) = @_; &'c_print($clientno, $NAME, '451', '*', 'You have not registered'); } sub cn_quit { local($clientno, $prefix, $cmd, @params) = @_; $params[0] = 'I Quit' unless $params[0]; &'c_print($clientno, '', 'ERROR', 'Closing Link: ' . &'user($clientno) . " ($params[0])"); &'c_flush($clientno); &'c_close($clientno); } sub cn_user { local($clientno, $prefix, $cmd, @params) = @_; if (defined(@params) && @params >= 4) { $'user[$clientno] = $params[0]; &c_init($clientno) if $'nick[$clientno]; } else { &'c_print($clientno, $NAME, '461', 'Not enough parameters'); } } sub sn_error { local($serverno, $prefix, $cmd, @params) = @_; local($userno); $userno = $'userno[$serverno]; $errorlist[$userno] = &'add($errorlist[$userno], $serverhost[$serverno]); } sub sn_ping { local($serverno, $prefix, $cmd, @params) = @_; &'s_print($serverno, '', 'PONG', @params); } sub sn_001 { local($serverno, $prefix, $cmd, @params) = @_; local($userno, @user); $userno = $'userno[$serverno]; $'avail[$serverno] = 1; $'nick[$serverno] = $params[0]; $'servername[$serverno] = $prefix; $nickname[$userno] = $params[0]; $errorlist[$userno] = ''; @user = &'prefix(substr($params[1], rindex($params[1], ' ') + 1)); if ($user[1] && $user[2]) { $address[$userno] = "$user[1]\@$user[2]"; } &open_event($userno, 'server_open', $serverno); } sub sn_432 { local($serverno, $prefix, $cmd, @params) = @_; &anothernick($serverno, $params[1]); } sub sn_433 { local($serverno, $prefix, $cmd, @params) = @_; &anothernick($serverno, $params[1]); } sub sn_437 { local($serverno, $prefix, $cmd, @params) = @_; &anothernick($serverno, $params[1]); } sub sn_451 { local($serverno, $prefix, $cmd, @params) = @_; } sub anothernick { local($serverno, $newnick) = @_; local(@nickentry, $list, $user); $list = ''; foreach $nick (&'property($'userno[$serverno], 'nick')) { foreach $name (split(/\,/, $nick)) { $list = &'add($list, substr($name, 0, 9)); } } $user = substr(getlogin() || eval '(getpwuid($<))[0]' || "$NAME-user", 0, 9); $list = &'add($list, $user); $user = substr($user, 0, 8); $list = &'add($list, "${user}_", "_${user}", "${user}-", "-${user}"); @nickentry = &'array($list); if (&'exist($list, $newnick)) { while ($nickentry[0] ne $newnick) { push(@nickentry, shift(@nickentry)); } push(@nickentry, shift(@nickentry)); } &'s_print($serverno, '', 'NICK', $nickentry[0]); } sub main_loop { local($userno) = @_; &c_listen($userno); foreach $sno (&'array($'serverlist)) { return if $'userno[$sno] == $userno; } &'s_connect($userno); } sub client_open { local($clientno) = @_; local($sno); $sno = $'server[$clientno]; &'c_print($clientno, $'servername[$clientno], '001', $'nick[$clientno], 'Welcome to the Internet Relay Network ' . &'user($clientno)); if ($sno) { &'c_print($clientno, &'user($clientno), 'NICK', $'nick[$sno]) if ($'nick[$clientno] ne $'nick[$sno]); foreach $chan (&'array($'channellist[$sno])) { &'c_print($clientno, &'user($clientno), 'JOIN', $chan); &'c_print($clientno, $'servername[$clientno], '332', $'nick[$clientno], $chan, $'topic{$sno, $chan}) if $'topic{$sno, $chan}; &'c_print($clientno, $'servername[$clientno], '353', $'nick[$clientno], '=', $chan, join(' ', reverse(&'array($'nameslist{$sno, $chan})))); &'c_print($clientno, $'servername[$clientno], '366', $'nick[$clientno], $chan, 'End of /NAMES list.'); } } } sub client_close { local($clientno) = @_; &clear_variable($clientno); } sub server_open { local($serverno) = @_; foreach $cno (&'array($'clientlist)) { next unless $'avail[$cno]; next if $'server[$cno]; next unless $'userno[$cno] == $'userno[$serverno]; $'server[$cno] = $serverno; next unless $'nick[$cno] ne $'nick[$serverno]; &'c_print($cno, &'user($cno), 'NICK', $'nick[$serverno]); } } sub server_close { local($serverno) = @_; foreach $cno (&'array($'clientlist)) { next unless $'avail[$cno]; next unless $'server[$cno] == $serverno; &'c_print($cno, '', 'NOTICE', $'nick[$cno], "*** Server $'servername[$serverno] closed the connection"); foreach $chan (&'array($'channellist[$serverno])) { &'c_print($cno, &'user($cno), 'PART', $chan); } $'server[$cno] = 0; } &clear_variable($serverno); } sub clear_variable { local($num) = @_; local($no, $var); $'channellist[$num] = ''; foreach $key (keys(%'nameslist)) { ($no, $var) = split(/$;/, $key, 2); next unless $no == $num; delete $'nameslist{$key}; } foreach $key (keys(%'channelmode)) { ($no, $var) = split(/$;/, $key, 2); next unless $no == $num; delete $'channelmode{$key}; } foreach $key (keys(%'usermode)) { ($no, $var) = split(/$;/, $key, 2); next unless $no == $num; delete $'usermode{$key}; } foreach $key (keys(%'topic)) { ($no, $var) = split(/$;/, $key, 2); next unless $no == $num; delete $'topic{$key}; } } sub cs_exit { local($clientno, $prefix, $cmd, @params) = @_; local($i, $list, $sub); foreach $sno (&'array($'serverlist)) { &'s_flush($sno); &'s_print($sno, '', 'QUIT', $params[0] || $NAME); &'s_flush($sno); &'s_close($sno); } $params[0] = 'I Quit' unless $params[0]; foreach $cno (&'array($'clientlist)) { &'c_print($cno, '', 'ERROR', 'Closing Link: ' . &'user($cno) . " ($params[0])"); &'c_flush($cno); &'c_close($cno); } foreach $lno (&'array($'listenlist)) { &'close($lno); } for ($i = 0; $i < @'username; $i++) { $list = $'modulelist[$i]; $'modulelist[$i] = ''; foreach $module (&'array($list)) { $sub = $module . '\'module_disable'; &$sub($i) if defined(&$sub); } } exit(0); } sub cs_quit { local($clientno, $prefix, $cmd, @params) = @_; $params[0] = 'I Quit' unless $params[0]; &'c_print($clientno, '', 'ERROR', 'Closing Link: ' . &'user($clientno) . " ($params[0])"); &'c_flush($clientno); &'c_close($clientno); return (); } sub cp_join { local($clientno, $prefix, $cmd, $chan) = @_; local($userno, $nick, $name, $mode); $nick = &'prefix($prefix); ($name, $mode) = (split(/\cG/, $chan), ''); if ($nick eq $'nick[$clientno]) { $'channellist[$clientno] = &'add($'channellist[$clientno], $name); $'nameslist{$clientno, $name} = ''; } else { if (index($mode, 'o') != -1) { $'nameslist{$clientno, $name} = &'add($'nameslist{$clientno, $name}, "\@$nick"); } elsif (index($mode, 'v') != -1) { $'nameslist{$clientno, $name} = &'add($'nameslist{$clientno, $name}, "+$nick"); } else { $'nameslist{$clientno, $name} = &'add($'nameslist{$clientno, $name}, $nick); } } return ($prefix, $cmd, $chan); } sub ss_join { local($serverno, $prefix, $cmd, $chan) = @_; local($nick, $name, $mode); $nick = &'prefix($prefix); ($name, $mode) = (split(/\cG/, $chan), ''); if ($nick eq $'nick[$serverno]) { $'channellist[$serverno] = &'add($'channellist[$serverno], $name); $'nameslist{$serverno, $name} = ''; } else { if (index($mode, 'o') != -1) { $'nameslist{$serverno, $name} = &'add($'nameslist{$serverno, $name}, "\@$nick"); } elsif (index($mode, 'v') != -1) { $'nameslist{$serverno, $name} = &'add($'nameslist{$serverno, $name}, "+$nick"); } else { $'nameslist{$serverno, $name} = &'add($'nameslist{$serverno, $name}, $nick); } } return ($prefix, $cmd, $chan); } sub cp_kick { local($clientno, $prefix, $cmd, @params) = @_; if ($params[1] eq $'nick[$clientno]) { $'channellist[$clientno] = &'remove($'channellist[$clientno], $params[0]); delete $'nameslist{$clientno, $params[0]}; } else { $'nameslist{$clientno, $params[0]} = &'remove($'nameslist{$clientno, $params[0]}, $params[1], "+$params[1]", "\@$params[1]"); } return ($prefix, $cmd, @params); } sub ss_kick { local($serverno, $prefix, $cmd, @params) = @_; if ($params[1] eq $'nick[$serverno]) { $'channellist[$serverno] = &'remove($'channellist[$serverno], $params[0]); delete $'nameslist{$serverno, $params[0]}; } else { $'nameslist{$serverno, $params[0]} = &'remove($'nameslist{$serverno, $params[0]}, $params[1], "+$params[1]", "\@$params[1]"); } return ($prefix, $cmd, @params); } sub cp_mode { local($clientno, $prefix, $cmd, @params) = @_; local($chan, $mode, @modes, $char, $flag, $name, $i); ($chan, $mode, @modes) = @params; if (&'channel($chan)) { for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } elsif ($char eq 'b') { shift(@modes); } elsif ($char eq 'e') { shift(@modes); } elsif ($char eq 'I') { shift(@modes); } elsif ($char eq 'k') { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = shift(@modes); } else { shift(@modes); delete $'channelmode{$clientno, $chan, $char}; } } elsif ($char eq 'l') { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = shift(@modes); } else { delete $'channelmode{$clientno, $chan, $char}; } } elsif ($char eq 'O') { shift(@modes); } elsif ($char eq 'o') { $name = shift(@modes); if ($flag eq '+') { $'nameslist{$clientno, $chan} = &'change($'nameslist{$clientno, $chan}, $name, "\@$name", "+$name", "\@$name"); } elsif ($flag eq '-') { $'nameslist{$clientno, $chan} = &'change($'nameslist{$clientno, $chan}, "\@$name", $name); } } elsif ($char eq 'v') { $name = shift(@modes); if ($flag eq '+') { $'nameslist{$clientno, $chan} = &'change($'nameslist{$clientno, $chan}, $name, "+$name"); } elsif ($flag eq '-') { $'nameslist{$clientno, $chan} = &'change($'nameslist{$clientno, $chan}, "+$name", $name); } } else { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = 1; } else { delete $'channelmode{$clientno, $chan, $char}; } } } } else { for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } else { if ($flag eq '+') { $'usermode{$serverno, $char} = 1; } else { delete $'usermode{$serverno, $char}; } } } } return ($prefix, $cmd, @params); } sub ss_mode { local($serverno, $prefix, $cmd, @params) = @_; local($chan, $mode, @modes, $char, $flag, $name, $i); ($chan, $mode, @modes) = @params; if (&'channel($chan)) { for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } elsif ($char eq 'b') { shift(@modes); } elsif ($char eq 'e') { shift(@modes); } elsif ($char eq 'I') { shift(@modes); } elsif ($char eq 'k') { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = shift(@modes); } else { shift(@modes); delete $'channelmode{$serverno, $chan, $char}; } } elsif ($char eq 'l') { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = shift(@modes); } else { delete $'channelmode{$serverno, $chan, $char}; } } elsif ($char eq 'O') { shift(@modes); } elsif ($char eq 'o') { $name = shift(@modes); if ($flag eq '+') { $'nameslist{$serverno, $chan} = &'change($'nameslist{$serverno, $chan}, $name, "\@$name", "+$name", "\@$name"); } elsif ($flag eq '-') { $'nameslist{$serverno, $chan} = &'change($'nameslist{$serverno, $chan}, "\@$name", $name); } } elsif ($char eq 'v') { $name = shift(@modes); if ($flag eq '+') { $'nameslist{$serverno, $chan} = &'change($'nameslist{$serverno, $chan}, $name, "+$name"); } elsif ($flag eq '-') { $'nameslist{$serverno, $chan} = &'change($'nameslist{$serverno, $chan}, "+$name", $name); } } else { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = 1; } else { delete $'channelmode{$serverno, $chan, $char}; } } } } else { for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } else { if ($flag eq '+') { $'usermode{$serverno, $char} = 1; } else { delete $'usermode{$serverno, $char}; } } } } return ($prefix, $cmd, @params); } sub cp_nick { local($clientno, $prefix, $cmd, @params) = @_; local($nick); $nick = &'prefix($prefix); if ($nick eq $'nick[$clientno]) { $'nick[$clientno] = $params[0]; } foreach $chan (&'array($'channellist[$clientno])) { $'nameslist{$clientno, $chan} = &'change($'nameslist{$clientno, $chan}, $nick, $params[0], "+$nick", "+$params[0]", "\@$nick", "\@$params[0]"); } return ($prefix, $cmd, @params); } sub ss_nick { local($serverno, $prefix, $cmd, @params) = @_; local($userno, $nick); $userno = $'userno[$serverno]; $nick = &'prefix($prefix); if ($nick eq $'nick[$serverno]) { $'nick[$serverno] = $params[0]; $nickname[$userno] = $params[0]; } foreach $chan (&'array($'channellist[$serverno])) { $'nameslist{$serverno, $chan} = &'change($'nameslist{$serverno, $chan}, $nick, $params[0], "+$nick", "+$params[0]", "\@$nick", "\@$params[0]"); } return ($prefix, $cmd, @params); } sub cp_part { local($clientno, $prefix, $cmd, @params) = @_; local($nick); $nick = &'prefix($prefix); if ($nick eq $'nick[$clientno]) { $'channellist[$clientno] = &'remove($'channellist[$clientno], $params[0]); delete $'nameslist{$clientno, $params[0]}; } else { $'nameslist{$clientno, $params[0]} = &'remove($'nameslist{$clientno, $params[0]}, $nick, "+$nick", "\@$nick"); } return ($prefix, $cmd, @params); } sub ss_part { local($serverno, $prefix, $cmd, @params) = @_; local($nick); $nick = &'prefix($prefix); if ($nick eq $'nick[$serverno]) { $'channellist[$serverno] = &'remove($'channellist[$serverno], $params[0]); delete $'nameslist{$serverno, $params[0]}; } else { $'nameslist{$serverno, $params[0]} = &'remove($'nameslist{$serverno, $params[0]}, $nick, "+$nick", "\@$nick"); } return ($prefix, $cmd, @params); } sub ss_ping { local($serverno, $prefix, $cmd, @params) = @_; &'s_print($serverno, '', 'PONG', @params); return ($prefix, $cmd, @params); } sub cs_pong { local($clientno, $prefix, $cmd, @params) = @_; return (); } sub cp_quit { local($clientno, $prefix, $cmd, @params) = @_; local($nick); $nick = &'prefix($prefix); foreach $chan (&'array($'channellist[$clientno])) { $'nameslist{$clientno, $chan} = &'remove($'nameslist{$clientno, $chan}, $nick, "+$nick", "\@$nick"); } return ($prefix, $cmd, @params); } sub ss_quit { local($serverno, $prefix, $cmd, @params) = @_; local($nick); $nick = &'prefix($prefix); foreach $chan (&'array($'channellist[$serverno])) { $'nameslist{$serverno, $chan} = &'remove($'nameslist{$serverno, $chan}, $nick, "+$nick", "\@$nick"); } return ($prefix, $cmd, @params); } sub cp_topic { local($clientno, $prefix, $cmd, @params) = @_; $'topic{$clientno, $params[0]} = $params[1]; return ($prefix, $cmd, @params); } sub ss_topic { local($serverno, $prefix, $cmd, @params) = @_; $'topic{$serverno, $params[0]} = $params[1]; return ($prefix, $cmd, @params); } sub cp_324 { local($clientno, $prefix, $cmd, @params) = @_; local($nick, $chan, $mode, @modes, $char, $flag, $i); ($nick, $chan, $mode, @modes) = @params; for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } elsif ($char eq 'k') { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = shift(@modes); } else { shift(@modes); delete $'channelmode{$clientno, $chan, $char}; } } elsif ($char eq 'l') { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = shift(@modes); } else { delete $'channelmode{$clientno, $chan, $char}; } } else { if ($flag eq '+') { $'channelmode{$clientno, $chan, $char} = 1; } else { delete $'channelmode{$clientno, $chan, $char}; } } } return ($prefix, $cmd, @params); } sub ss_324 { local($serverno, $prefix, $cmd, @params) = @_; local($nick, $chan, $mode, @modes, $char, $flag, $i); ($nick, $chan, $mode, @modes) = @params; for ($i = 0; $i < length($mode); $i++) { $char = substr($mode, $i, 1); if ($char eq '+' || $char eq '-') { $flag = $char; } elsif ($char eq 'k') { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = shift(@modes); } else { shift(@modes); delete $'channelmode{$serverno, $chan, $char}; } } elsif ($char eq 'l') { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = shift(@modes); } else { delete $'channelmode{$serverno, $chan, $char}; } } else { if ($flag eq '+') { $'channelmode{$serverno, $chan, $char} = 1; } else { delete $'channelmode{$serverno, $chan, $char}; } } } return ($prefix, $cmd, @params); } sub cp_332 { local($clientno, $prefix, $cmd, @params) = @_; if (&'exist($'channellist[$clientno], $params[1])) { $'topic{$clientno, $params[1]} = $params[2]; } return ($prefix, $cmd, @params); } sub ss_332 { local($serverno, $prefix, $cmd, @params) = @_; if (&'exist($'channellist[$serverno], $params[1])) { $'topic{$serverno, $params[1]} = $params[2]; } return ($prefix, $cmd, @params); } sub cp_353 { local($clientno, $prefix, $cmd, @params) = @_; local($key); $key = "$clientno$;$params[2]"; if (&'exist($'channellist[$clientno], $params[2])) { $'nameslist{$key} = &'add($'nameslist{$key}, reverse(split(/\s+/, $params[3]))); if ($params[1] eq '@') { $'channelmode{$key, 's'} = 1; } elsif ($params[1] eq '*') { $'channelmode{$key, 'p'} = 1; } } return ($prefix, $cmd, @params); } sub ss_353 { local($serverno, $prefix, $cmd, @params) = @_; local($key); $key = "$serverno$;$params[2]"; if (&'exist($'channellist[$serverno], $params[2])) { $'nameslist{$key} = &'add($'nameslist{$key}, reverse(split(/\s+/, $params[3]))); if ($params[1] eq '@') { $'channelmode{$key, 's'} = 1; } elsif ($params[1] eq '*') { $'channelmode{$key, 'p'} = 1; } } return ($prefix, $cmd, @params); } sub cs_privmsg { local($clientno, $prefix, $cmd, @params) = @_; local($tmp, $ctmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $ctmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_scan($clientno, 'cpcs', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; $ctmp .= $rest || ''; return () unless $tmp; $params[1] = $ctmp; foreach $cno (&'array($'clientlist)) { next unless $clientno != $cno; next unless $'avail[$cno]; next unless $'server[$cno] == $'server[$clientno]; &'c_print($cno, &'user($cno), $cmd, @params); } $params[1] = $tmp; } return ($prefix, $cmd, @params); } sub cp_privmsg { local($clientno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_print($clientno, 'cpcp', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; $params[1] = $tmp; } return ($prefix, $cmd, @params); } sub ss_privmsg { local($serverno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_scan($serverno, 'cpss', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; $params[1] = $tmp; } return ($prefix, $cmd, @params); } sub sp_privmsg { local($serverno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_print($serverno, 'cpsp', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; $params[1] = $tmp; } return ($prefix, $cmd, @params); } sub cs_notice { local($clientno, $prefix, $cmd, @params) = @_; local($tmp, $ctmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $ctmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_scan($clientno, 'cncs', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; $ctmp .= $rest || ''; return () unless $tmp; foreach $cno (&'array($'clientlist)) { next unless $clientno != $cno; next unless $'avail[$cno]; next unless $'server[$cno] == $'server[$clientno]; &'c_print($cno, &'user($cno), $cmd, $params[0], $ctmp); } } return ($prefix, $cmd, @params); } sub cp_notice { local($clientno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_print($clientno, 'cncp', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; } return ($prefix, $cmd, @params); } sub ss_notice { local($serverno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_scan($serverno, 'cnss', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; } return ($prefix, $cmd, @params); } sub sp_notice { local($serverno, $prefix, $cmd, @params) = @_; local($tmp, $rest, $ctcp, $list); if ($params[1]) { $tmp = ''; $rest = $params[1]; while ($rest =~ /^([^\cA]*)\cA([^\cA]*)\cA(.*)$/) { $tmp .= $1; $ctcp = $2; $rest = $3; $tmp .= &ctcp_print($serverno, 'cnsp', $prefix, $params[0], $ctcp) unless &'exist($list, $ctcp); $list = &'add($list, $ctcp); } $tmp .= $rest || ''; return () unless $tmp; } return ($prefix, $cmd, @params); } sub ctcp_scan { local($no, $event, $prefix, $chan, $ctcp) = @_; local($cmd, $param); ($cmd, $param) = split(/\s+/, $ctcp, 2); return '' unless $cmd; ($prefix, $cmd, $chan, $param) = &print_event($'userno[$no], "${event}\_\L$cmd\E", $no, $prefix, $cmd, $chan, $param); return '' unless $cmd; if ($param) { return "\cA$cmd $param\cA"; } else { return "\cA$cmd\cA"; } } sub ctcp_print { local($no, $event, $prefix, $chan, $ctcp) = @_; local($cmd, $param); ($cmd, $param) = split(/\s+/, $ctcp, 2); return '' unless $cmd; ($prefix, $cmd, $chan, $param) = &print_event($'userno[$no], "${event}\_\L$cmd\E", $no, $prefix, $cmd, $chan, $param); return '' unless $cmd; if ($param) { return "\cA$cmd $param\cA"; } else { return "\cA$cmd\cA"; } } sub scan_event { local($userno, $event, $no, $prefix, $cmd, @params) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (&'array($'modulelist[$userno])) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { ($prefix, $cmd, @params) = &$sub($no, $prefix, $cmd, @params); return () unless $cmd; } } else { ($prefix, $cmd, @params) = &$sub($no, $prefix, $cmd, @params); return () unless $cmd; } } return ($prefix, $cmd, @params); } sub print_event { local($userno, $event, $no, $prefix, $cmd, @params) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (reverse(&'array($'modulelist[$userno]))) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { ($prefix, $cmd, @params) = &$sub($no, $prefix, $cmd, @params); return () unless $cmd; } } else { ($prefix, $cmd, @params) = &$sub($no, $prefix, $cmd, @params); return () unless $cmd; } } return ($prefix, $cmd, @params); } sub read_event { local($userno, $event, $no, $msg) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (&'array($'modulelist[$userno])) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { $msg = &$sub($no, $msg); return '' unless $msg; } } else { $msg = &$sub($no, $msg); return '' unless $msg; } } return $msg; } sub write_event { local($userno, $event, $no, $msg) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (reverse(&'array($'modulelist[$userno]))) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { $msg = &$sub($no, $msg); return '' unless $msg; } } else { $msg = &$sub($no, $msg); return '' unless $msg; } } return $msg; } sub open_event { local($userno, $event, $no) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (&'array($'modulelist[$userno])) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { &$sub($no); } } else { &$sub($no); } } } sub close_event { local($userno, $event, $no) = @_; local($name, $sub, $label); $name = '\'' . $event; foreach $module (reverse(&'array($'modulelist[$userno]))) { $sub = $module . $name; next unless defined(&$sub); if ($'labellist{$userno, $module}) { foreach $label (&'array($'labellist{$userno, $module})) { &$sub($no); } } else { &$sub($no); } } } __END__
    plum.kanji* ({euc|jis|sjis})
    plum.nick* ($B%K%C%/%M!<%`(B)
    plum.user $B%f!<%6%M!<%`(B
    plum.name $B(B
    plum.server* $B%5!<%PL>(B[:($B%]!<%HHV9f(B)] [$B%Q%9%o!<%I(B]
    plum.client* $B%/%i%$%"%s%H%^%9%/(B[:$B%]!<%HHV9f(B] [$B%Q%9%o!<%I(B]
    plum.directory* $B%G%#%l%/%H%j(B
    plum-2.33.1.orig/plum-default.conf0100600001001300006200000001266006676174332016642 0ustar gotomkobayashi# plum.kanji: # plum.nick: # plum.user: # plum.name: plum.server: irc.karrn.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.rcac.tdi.co.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.kyoto.wide.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.tokyo.wide.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.karrn.ad.jp plum.server: irc.rcac.tdi.co.jp plum.server: irc.kyoto.wide.ad.jp plum.server: irc.tokyo.wide.ad.jp plum.server: irc.dti.ne.jp plum.server: irc.race.u-tokyo.ac.jp plum.server: irc.huie.hokudai.ac.jp plum.server: irc.tohoku.ac.jp plum.client: *:6667 passwd # plum.directory: - auto/alias.plm # auto.alias.file: # auto.alias.readonly: # auto.alias.invisible: # auto.alias.private: # auto.alias.scalar: # auto.alias.get: # auto.alias.add: # auto.alias.remove: # auto.alias.change: - auto/answer.plm # auto.answer.alias: # auto.answer.reply: - auto/cache.plm # auto.cache.size: 10 # auto.cache.expire: 600 # auto.cache.clear: - auto/message.plm # auto.message.file: # auto.message.alias: # auto.message.get: # auto.message.send: # auto.message.check: # auto.message.date: %m/%d %H:%M # auto.message.format: #(date) #(from.name|from.nick|from.nick.now) >> #(message) # auto.message.accept: # auto.message.unknown: # auto.message.receive: # auto.message.nothing: # auto.message.exists: - auto/nako.plm # auto.nako.sysfile: .nako.sys # auto.nako.msgfile: .nako.msg - auto/oper.plm # auto.oper.alias: # auto.oper.request: # auto.oper.mask: # auto.oper.message: # auto.oper.deny: # auto.oper.oper: # auto.oper.notoper: # auto.oper.private: # auto.oper.out: - auto/package.plm # auto.package.file: # auto.package.directory: # auto.package.alias: # auto.package.get: # auto.package.send: # auto.package.check: # auto.package.date: %m/%d %H:%M # auto.package.format: #(date) #(from.name|from.nick|from.nick.now) >> #(message) # auto.package.accept: # auto.package.receive: # auto.package.norequest: # auto.package.unknown: # auto.package.nothing: # auto.package.exists: # auto.package.geterror: # auto.package.senderror: - auto/random.plm # auto.random.file: # auto.random.alias: # auto.random.request: # auto.random.format: #(name|nick|nick.now): #(message) # auto.random.rate: # auto.random.add: # auto.random.remove: - auto/reply.plm # auto.reply.file: # auto.reply.alias: # auto.reply.format: #(message) # auto.reply.rate: # auto.reply.add: # auto.reply.remove: # auto.reply.change: - auto/response.plm # auto.response.file: # auto.response.alias: # auto.response.format: #(message) - auto/yuurii.plm # auto.yuurii.cache: # auto.yuurii.pluginrc: # auto.yuurii.plugindir: # auto.yuurii.down: # auto.yuurii.downmes: # auto.yuurii.timer: # auto.yuurii.usetimer: # auto.yuurii.mode: # auto.yuurii.header: # auto.yuurii.debug: - channel/alias.plm - channel/filter.plm + channel/join/connect.plm # channel.join.connect.channel: - channel/join/invite.plm # channel.join.invite.mask: + channel/join/kick.plm channel.join.kick.mask: +*!*@* - channel/mode/oper/get.plm - channel/mode/oper/set.plm # channel.mode.oper.set.delay: 20 # channel.mode.oper.set.mask: - channel/mode/set.plm # channel.mode.set.mode: + client/kanji.plm client.kanji.input: jis # client.kanji.output: + ctcp/clientinfo.plm + ctcp/comment.plm - ctcp/dcc/cancel.plm - ctcp/dcc/client.plm - ctcp/dcc/forward.plm # ctcp.dcc.forward.nick: - ctcp/dcc/gate.plm # ctcp.dcc.gate.mask: # ctcp.dcc.gate.known: - ctcp/dcc/get.plm # ctcp.dcc.get.directory: # ctcp.dcc.get.mask: # ctcp.dcc.get.mode: - ctcp/dcc/http.plm # ctcp.dcc.http.proxy: # ctcp.dcc.http.gateway: # ctcp.dcc.http.mask: - ctcp/dcc/nat.plm # ctcp.dcc.nat.mapping: # ctcp.dcc.nat.private: - ctcp/dcc/send.plm + ctcp/echo.plm - ctcp/finger.plm - ctcp/part.plm # ctcp.part.mask: + ctcp/ping.plm + ctcp/time.plm + ctcp/userinfo.plm # ctcp.userinfo.info: + ctcp/version.plm - log/channel.plm # log.channel.directory: # log.channel.file: # log.channel.header: %H:%M # log.channel.mode: # log.channel.command: privmsg,join,part,kick,invite,mode,nick,quit,topic - log/client.plm # log.client.directory: # log.client.file: logclient # log.client.header: %H:%M # log.client.mode: + log/daily.plm # log.daily.directory: # log.daily.file: log%m%d # log.daily.header: %H:%M # log.daily.mode: # log.daily.command: privmsg,join,part,kick,invite,mode,nick,quit,topic - log/error.plm - log/mail.plm # log.mail.from: # log.mail.smtpserver: # log.mail.file: + log/recent.plm # log.recent.header: %H:%M # log.recent.line: 50 # log.recent.command: privmsg - log/server.plm # log.server.directory: # log.server.file: logserver # log.server.header: %H:%M # log.server.mode: + server/info.plm - server/kanji.plm # server.kanji.input: # server.kanji.output: + server/timeout.plm # server.timeout.limit: 1800 - sys/background.plm - sys/conf/load.plm + sys/conf/update.plm - sys/dump.plm - sys/module/update.plm - sys/multicast.plm - sys/show.plm - sys/timer.plm # sys.timer.exec: - sys/web.plm # sys.web.method: get # sys.web.client: # sys.web.header: %H%M # sys.web.line: 50 # sys.web.kanji: jis,sjis + user/away/client.plm # user.away.client.set: - user/away/nick.plm # user.away.nick.set: - user/idle.plm - user/ignore.plm # user.ignore.mask: # user.ignore.command: privmsg,notice - user/mode/set.plm # user.mode.set.mode: + user/nick/client.plm # user.nick.client.stay: # user.nick.client.away: plum-2.33.1.orig/plum-dump.conf0100600001001300006200000000033306676174332016155 0ustar gotomkobayashi# $B$3$N@_Dj%U%!%$%k$O(Bplum$B$N>pJs$rI=<($9$k$?$a$N$b$N$G$9!#(B # perl plum dump # $B$N$h$&$K!"$3$N@_Dj%U%!%$%k$r;H$C$F(Bplum$B$rpJs$rI=<($7$^$9!#(B = sys/dump.plm plum-2.33.1.orig/plum-example.conf0100600001001300006200000002430306676174332016646 0ustar gotomkobayashi# [$BCm0U(B] $B$3$N@_Dj$O$"$/$^$G=q$-J}$NNc$G$9!#(B # $B$=$N$^$^;HMQ$7$F$bF0:n$O$7$^$9$,!"$"$^$j$*$9$9$a$7$^$;$s!#(B # $B$J$k$Y$/(Bplum-default.conf$B$r;HMQ$9$k$h$&$K$7$F2<$5$$!#(B plum.kanji: jis,euc plum.nick: plum,plum_,plum_j,plum_d,[plum] # plum.user: plum plum.name: $B$W$i$`(B plum.server: irc.karrn.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.rcac.tdi.co.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.kyoto.wide.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.tokyo.wide.ad.jp:6660,6661,6662,6663,6664,6665,6666,6668,6669 plum.server: irc.karrn.ad.jp:6667 plum.server: irc.rcac.tdi.co.jp:6667 plum.server: irc.kyoto.wide.ad.jp:6667 plum.server: irc.tokyo.wide.ad.jp:6667 plum.server: irc.dti.ne.jp:6667 plum.server: irc.race.u-tokyo.ac.jp:6667 plum.server: irc.huie.hokudai.ac.jp:6667 plum.server: irc.tohoku.ac.jp:6667 plum.client: *:16667 password # plum.directory: + auto/alias.plm auto.alias.file: alias.txt;jis auto.alias.readonly: level auto.alias.invisible: level auto.alias.private: realname,tel auto.alias.scalar: realname auto.alias.get: $B$W$i$`%(%$%j%"%9(B auto.alias.get: $B$W$i$`$($$$j$"$9(B auto.alias.get: $B$W$i$`%(%$%j%"%965$($F(B auto.alias.get: $B$W$i$`%(%$%j%"%9$*$7$($F(B auto.alias.get: $B$W$i$`$($$$j$"$9$*$7$($F(B auto.alias.add: $B$W$i$`%(%$%j%"%9DI2C(B auto.alias.add: $B$W$i$`%(%$%j%"%9$D$$$+(B auto.alias.add: $B$W$i$`$($$$j$"$9$D$$$+(B auto.alias.remove: $B$W$i$`%(%$%j%"%9:o=|(B auto.alias.remove: $B$W$i$`%(%$%j%"%9$5$/$8$g(B auto.alias.remove: $B$W$i$`$($$$j$"$9$5$/$8$g(B auto.alias.change: $B$W$i$`%(%$%j%"%9JQ99(B auto.alias.change: $B$W$i$`%(%$%j%"%9$X$s$3$&(B auto.alias.change: $B$W$i$`$($$$j$"$9$X$s$3$&(B + auto/answer.plm auto.answer.alias: alias.txt auto.answer.reply: $B$W$i$`%P!<%8%g%s(B #(name|nick|nick.now): PLUM OS 1.00 auto.answer.reply: $B$W$i$`$X%k%W(B $B$W$i$`$K$O$3$s$J5!G=$,$"$j$^$9(B auto.answer.reply: $B$W$i$`$X%k%W(B $B%(%$%j%"%9$N@_Dj(B/$BJQ99(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`%(%$%j%"%9(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`%(%$%j%"%9DI2C(B $B%U%#!<%k%I(B $B%G!<%?(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`%(%$%j%"%9:o=|(B $B%U%#!<%k%I(B $B%G!<%?(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`%(%$%j%"%9JQ99(B $B%U%#!<%k%I(B $B5l%G!<%?(B $B?7%G!<%?(B auto.answer.reply: $B$W$i$`$X%k%W(B $B$*$_$/$8$r$R$/(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`$*$_$/$8(B auto.answer.reply: $B$W$i$`$X%k%W(B $BEA8@(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`EA8@(B $B%K%C%/%M!<%`(B $BEA8@FbMF(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`EA8@65$($F(B auto.answer.reply: $B$W$i$`$X%k%W(B $B>.Jq(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`>.Jq(B $B%K%C%/%M!<%`(B $B%3%a%s%H(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`>.JqAw$C$F(B auto.answer.reply: $B$W$i$`$X%k%W(B $B$J$k$HG[$j(B auto.answer.reply: $B$W$i$`$X%k%W(B $B!&$W$i$`$J$k$H(B + auto/cache.plm auto.cache.size: 5 auto.cache.expire: 300 auto.cache.clear: $B$W$i$`$-$c$C$7$e$/$j$"(B + auto/message.plm auto.message.file: message.txt;jis auto.message.alias: alias.txt;jis,euc auto.message.get: $B$W$i$`EA8@65$($F(B auto.message.send: $B$W$i$`EA8@(B auto.message.check: $B$W$i$`EA8@$"$k(B? auto.message.date: %Y:%m:%d %H:%M:%S auto.message.format: #(name|nick|nick.now): #(from.name|from.nick|from.nick.now)$B$5$s$+$i!V(B#(message)$B!W(B(#(date)) auto.message.accept: #(name|nick|nick.now): #(to.name|to)$B$5$s$X$NEA8@$r>5$j$^$7$?(B auto.message.unknown: #(name|nick|nick.now): $B08@h$,$o$+$j$^$;$s(B auto.message.receive: #(number)$B8D$NEA8@$,FO$$$F$$$^$9(B auto.message.nothing: #(name|nick|nick.now): $BEA8@$OFO$$$F$$$^$;$s(B auto.message.exists: #(name|nick|nick.now): #(number)$B8D$NEA8@$,FO$$$F$$$^$9(B - auto/nako.plm # auto.nako.sysfile: .nako.sys # auto.nako.msgfile: .nako.msg + auto/oper.plm auto.oper.alias: alias.txt auto.oper.request: $B$W$i$`$J$k$H(B auto.oper.mask: +*!*@* #$B$W$i$`(B:*.jp auto.oper.mask: +*!*@*.jp #$B$W$i$`(B auto.oper.message: #(name|nick|nick.now): $B$O$$(B auto.oper.deny: #(name|nick|nick.now): $B$J$k$H$O$"$2$i$l$^$;$s(B auto.oper.oper: #(name|nick|nick.now): $B$b$&$J$k$H$r;}$C$F$$$^$9(B auto.oper.notoper: #(name|nick|nick.now): $B$J$k$H$,$"$j$^$;$s(B auto.oper.private: $B%A%c%s%M%k$G8@$C$F2<$5$$(B auto.oper.out: $B%A%c%s%M%k$KF~$C$F2<$5$$(B + auto/package.plm auto.package.file: package.txt;jis auto.package.directory: ~/package auto.package.alias: alias.txt;jis,euc auto.package.get: $B$W$i$`>.JqAw$C$F(B auto.package.send: $B$W$i$`>.Jq(B auto.package.check: $B$W$i$`>.Jq$"$k(B? auto.package.date: %Y$BG/(B%m$B7n(B%d$BF|(B%H$B;~(B%M$BJ,(B%S$BIC(B auto.package.format: #(name|nick|nick.now): #(from.name|from.nick|from.nick.now)$B$5$s$+$i!V(B#(message)$B!W(B(#(date)) auto.package.accept: #(to.name|to)$B$5$s$X$N>.Jq$r>5$j$^$7$?(B auto.package.receive: $B>.Jq$,FO$$$F$$$^$9(B auto.package.norequest: #(name|nick|nick.now): DCC$B%j%/%(%9%H$,Mh$F$$$^$;$s(B auto.package.unknown: #(name|nick|nick.now): $B08@h$,$o$+$j$^$;$s(B auto.package.nothing: #(name|nick|nick.now): $B>.Jq$OFO$$$F$$$^$;$s(B auto.package.exists: #(name|nick|nick.now): #(number)$B8D$N>.Jq$,FO$$$F$$$^$9(B auto.package.geterror: #(name|nick|nick.now): #(file)$B$NAw?.Cf$K%(%i!<$,H/@8$7$^$7$?(B auto.package.senderror: #(name|nick|nick.now): #(file)$B$N &main(@ARGV); sub main { local(@args) = @_; local($dir, $i); if (!@args) { &usage(); exit(1); } @package = (); $dir = shift(@args); &stub("$dir/plum"); &traverse("$dir/module", ''); print '__END__', "\n"; for ($i = 0; $i < @package; $i += 2) { print $package[$i], ' ', $package[$i + 1], "\n"; } } sub stub { local($file) = @_; local($line, $import); print '#!/bin/perl', "\n"; if (open(FILE, $file)) { while (defined($line = )) { $line =~ tr/\r\n//d; last if $line eq '__END__'; if ($import && $line =~ /^\}\s*$/) { while (defined($im = )) { $im =~ tr/\r\n//d; print $im, "\n"; } $import = 0; next; } if ($import) { next; } if ($line =~ /^sub\s+\'import/) { $import = 1; next; } print $line, "\n"; } close(FILE); } } sub traverse { local($base, $dir) = @_; local(@files, $file); opendir(DIR, "$base/$dir") || die; @files = readdir(DIR); closedir(DIR); foreach $file (sort(@files)) { next if $file =~ /^\./; next if $file eq 'SCCS'; next if $file eq 'RCS'; next if $file eq 'CVS'; next if $file =~ /\,v$/; if (-d "$base/$dir/$file") { if ($dir) { &traverse($base, "$dir/$file"); } else { &traverse($base, $file); } } elsif ($file =~ /\.plm/) { if ($dir) { &merge("$base/$dir/$file", "$dir/$file"); } else { &merge("$base/$file", "$file"); } } } } sub merge { local($file, $path) = @_; local($line, $init, @statement, $pkg); $init = 0; @statement = (); if (open(FILE, $file)) { while (defined($line = )) { $line =~ tr/\r\n//d; last if $line eq '__END__'; if ($line =~ /^\$\_\s*\=\s*\'([^\']+)\'/) { if ($pkg ne $1) { warn "$path: illegal package\n"; } $init = 0; print "\n"; print 'sub init {', "\n"; foreach $st (@statement) { print ' ', $st, "\n"; } print '}', "\n"; next; } if ($init) { if ($line =~ /\S/) { push(@statement, $line); } next; } if ($line =~ /^\s*package\s+(.*)\s*\;/) { $pkg = $1; push(@package, $path, $pkg); $init = 1; } print $line, "\n"; } } } sub usage { print 'usage: perl merge ', "\n"; } __END__ sub 'import { local($name) = @_; local($line, $file, $pkg, $sub); while (defined($line = )) { $line =~ tr/\r\n//d; ($file, $pkg) = split(/\s+/, $line); $'package{$file} = $pkg; $'filename{$pkg} = $file; } $pkg = $'package{$name} || 'main'; $sub = $pkg . '\'init'; &$sub(); } plum-2.33.1.orig/support/cnvcode0100755001001300006200000002237406676174332016472 0ustar gotomkobayashi#!/bin/perl -w # $Id: cnvcode,v 2.14 1998/12/19 14:15:22 hasegawa Exp $ # copyright (c)1997-1998 Yoshinori Hasegawa &main(@ARGV); sub main { local(@args) = @_; local($input, $output, $return, $arg); $input = 'jis'; $output = 'jis'; $return = "\n"; if (!@args) { &usage(); exit(1); } binmode(STDIN); binmode(STDOUT); while (@args) { $arg = shift(@args); if ($arg =~ /^\-/) { if ($arg eq '-') { &convert(shift(@args), $input, $output, $return); } elsif ($arg eq '--') { &convert($arg, $input, $output, $return); } elsif ($arg eq '-l' || $arg eq '--lf') { $return = "\n"; } elsif ($arg eq '-r' || $arg eq '--cr') { $return = "\r"; } elsif ($arg eq '-n' || $arg eq '--crlf') { $return = "\r\n"; } elsif ($arg eq '-i') { $input = shift(@args); } elsif ($arg =~ /^\-\-input\=/) { $input = $'; } elsif ($arg eq '-o') { $output = shift(@args); } elsif ($arg =~ /^\-\-output\=/) { $output = $'; } else { &usage(); exit(1); } } else { &convert($arg, $input, $output, $return); } } } sub convert { local($file, $input, $output, $return) = @_; local(@sub, $sub, $tmp, $buf, @item); foreach $in (split(/\,/, $input)) { $sub = $in . '_' . $output; if (!defined(&$sub)) { warn 'cannot convert ', $in, ' to ', $output, "\n"; return; } push(@sub, $sub); } if ($file eq '--') { open(FILE, '<&STDIN'); } elsif (open(FILE, $file)) { binmode(FILE); } else { warn $file, ' not found', "\n"; return; } $buf = ''; $tmp = ''; while (read(FILE, $tmp, 1024)) { $buf .= $tmp; while ($buf =~ /(\r\n|\n|\r)/) { @item = ($`, $'); foreach $sub (@sub) { $item[0] = &$sub($item[0]); } print $item[0], $return; $buf = $item[1] || ''; } } close(FILE); } sub usage { print 'usage: perl cnvcode [