I filled out the bug form. Please respond to me at [EMAIL PROTECTED] Thanks.
-mike (efnet/alycat) --- If you should see what you think to be a bug, please fill out this form and send to the following address(es): [EMAIL PROTECTED] And we will try to get back to you as soon as we can, and will correct the bug if it is at all possible. Please remember when reporting a bug that information counts. Since we have not yet mastered the skill of mind-reading, you should not assume that we know anything about your situation. We have seen some things that look absolutely strange to us, but are perfectly normal to the user. It is best for you to take the stance that we dont know that much about your operating system, so you should try to start at the beginning and clue us in. Thanks a bunch. |8^) Question one: Please describe your computer system Hardware type? Operating System? (try uname -a for most, or uname -X for SCO) sunny:~$ uname -a SunOS sunny 5.9 Generic sun4m sparc SUNW,SPARCstation-5 Your compiler (include version, if known) sunny:~$ gcc -v Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls Thread model: posix gcc version 3.2 What scripts/script packs you run (phoenix, uus, superpack, etc) Anything else you think might be helpful. I am running a small script that my friend wrote (for ircii) years ago. It is probably breaking epic because of some sort of compatibility problem, however I wouldn't expect a script to be able to crash epic. The source is attached. Question two: Where does your problem occur? [ ] Configure time (dies while running configure) [ ] Compiler time (dies when you type 'make') [*] Run time (You got a "CRITICAL PROTECTION ERROR") [ ] Run time (You got a "PANIC" message) [ ] Run time (non-fatal logic bug) * * * * * * * * * * * * * * * * * * * * * * * * IRC-II has trapped a critical protection error. This is probably due to a bug in the program. If you have access to the 'BUG_FORM' in the ircII source distribution, we would appreciate your filling it out if you feel doing so would be helpful in finding the cause of your problem. If you do not know what the 'BUG_FORM' is or you do not have access to it, please dont worry about filling it out. You might try talking to the person who is in charge of IRC at your site and see if you can get them to help you. This version of IRC II is --->[EPIC4-1.1.12 (524)] The date of release is --->[20030613] * * * * * * * * * * * * * * * * * * * * * * * * The program will now terminate. Call stack [ 0] /join #tehutheu End of call stack sunny:~$ If it is at run time, please try to describe as best you can what you were doing when the client malfunctioned. Had you just run a command? Can you duplicate the error? What seems to cause the error in your best judgement? Have you found anything else that independantly causes this same problem? The problem is manifest when I launch epic and then try to join any channel. I see the windows start to rearrange themselves like they should and then it crashes with the message that I pasted above. If you know how to use a debugger, it would be helpful if you can get a stack trace, and cut and paste it here. *** End of /MOTD command. *** Mode change "+i" for user alycat by alycat *** CTCP VERSION from DkChk alycat Program received signal SIGSEGV, Segmentation fault. 0xef332e90 in strlen () from /usr/lib/libc.so.1 (gdb) bt #0 0xef332e90 in strlen () from /usr/lib/libc.so.1 #1 0xef3840c8 in _doprnt () from /usr/lib/libc.so.1 #2 0xef3860ac in vsnprintf () from /usr/lib/libc.so.1 #3 0x74428 in vsend_to_aserver (refnum=1, format=0xa19e8 "JOIN %s %s", args=0xefffc4fc) at server.c:1008 #4 0x74320 in send_to_aserver (refnum=1, format=0xa19e8 "JOIN %s %s") at server.c:974 #5 0x87714 in window_channel (window=0x101250, args=0xa19e8) at window.c:2835 #6 0x89a60 in windowcmd (command=0x0, args=0xb58f0 "", subargs=0x1 <Address 0x1 out of bounds>) at window.c:4572 #7 0x32314 in parse_command (line=0xef5da "window channel", hist_flag=0, sub_args=0xefffcbee "#nthth") at commands.c:3742 #8 0x31bd8 in parse_line (name=0x0, org_line=0x1010cc "//window channel $0;^window name $0", args=0xefffcbee "#nthth", hist_flag=0, append_flag=0) at commands.c:3451 #9 0x4f3e4 in ifcmd (command=0x8cb20 "IF", args=0x1010f1 "{//window channel #$0;^window name #$0}", subargs=0xefffcbee "#nthth") at if.c:207 #10 0x32314 in parse_command (line=0x1010b8 "if (ISCHANNEL", hist_flag=0, sub_args=0xefffcbee "#nthth") at commands.c:3742 #11 0x31bd8 in parse_line (name=0x0, org_line=0xe8ec0 "window new;^window notify;if (ischannel($0)) {//window channel $0;^window name $0} {//window channel #$0;^window name #$0};wait -CMD if (1) {window hide_others;window push;window show 1;window refnum "..., args=0xefffcbee "#nthth", hist_flag=0, append_flag=1) at commands.c:3451 #12 0x20704 in parse_line_alias_special (name=0x0, what=0xe8ec0 "window new;^window notify;if (ischannel($0)) {//window channel $0;^window name $0} {//window channel #$0;^window name #$0};wait -CMD if (1) {window hide_others;window push;window show 1;window refnum "..., args=0xefffcbee "#nthth", d1=0, d2=1, arglist=0x0, function=0) at alias.c:2126 #13 0x20848 in call_user_alias (alias_name=0x0, alias_stuff=0xe8ec0 "window new;^window notify;if (ischannel($0)) {//window channel $0;^window name $0} {//window channel #$0;^window name #$0};wait -CMD if (1) {window hide_others;window push;window show 1;window refnum "..., args=0xb3400 "", arglist=0x0) at alias.c:2175 #14 0x32178 in parse_command (line=0xefffcbe9 "join #nthth", hist_flag=1, sub_args=0x0) at commands.c:3691 #15 0x31d18 in parse_line (name=0x0, org_line=0xefffcbe8 "/join #nthth", args=0x0, hist_flag=1, append_flag=734208) at commands.c:3511 #16 0x53ee0 in send_line (key=10 '\n', string=0x0) at input.c:1162 #17 0x5c368 in key_exec (key=0xcb638) at keys.c:242 #18 0x5c5d4 in handle_keypress (last=0xcb638, pressed={tv_sec = 167772160, ---Type <return> to continue, or q <return> to quit--- tv_usec = 823128}, key=10 '\n') at keys.c:338 #19 0x54280 in edit_char (key=10 '\n') at input.c:1326 #20 0x7269c in do_screens (rd=0xeffff7d0, wd=0xffffdff8) at screen.c:3112 #21 0x55520 in io (what=0x953b0 "main") at irc.c:903 #22 0x55f20 in main (argc=1, argv=0xeffff95c) at irc.c:1338 (gdb) Please include any other information that you think we should know about. I included the script that I am running. it consists of only two files: .ircrc and .irc-local. they total about 800 lines. ***** included file: .irc-local (92 lines) # authenticate before adding notifies #gpass xecho -level crap Adding user local extensions... # this should be approximately <the height of your screen>/4 -- 80x25 users # will probably want 5 here. @ shrink_size = 4 # tell ircII-4.4 to check my mail set mail 1 # your notify list, do what you want here. # these set the cut-off lengths of channels in the status line # this one is used when the channel is the current one (it's inverse-video) @ current_chanlen = [7] # this one is used when the channel has activity (it's boldened) @ active_chanlen = [7] # this one is used when the channel is normal @ default_chanlen = [7] # these codes are on the status line surrounding the current channel # (the "on" one comes before it, the "off" one comes after) # default is inverse-video @ current_chanon = [*] @ current_chanoff = [*] # these codes are on the status line surrounding active channels # default is bold @ active_chanon = [\[] @ active_chanoff = [\]] # these codes are on the status line surrounding normal channels # default is nothing @ default_chanon = [ ] @ default_chanoff = [ ] # uncomment this if you want public flood prot (recomment it after one run!) # exec echo add public floodprot|mail [EMAIL PROTECTED] # me_mask[x] is the mask that will be searched for to match in a word to # mark a public message as being directed to you. me_beginning is the text # to be matched with the beginning of the line. You may probably want to # rewrite for_me, too. @ me_mask[0] = [zack] @ me_mask[1] = [fire] @ me_beginning = [fire] alias for_me { @ function_return = 0 @ temp = [$strip( $*)] foreach me_mask i { if (match($me_mask[$i] $temp)) { @ function_return = 1 } } if (left([EMAIL PROTECTED] $0) == [$me_beginning]) { @ function_return = 1 } ^assign -temp } # this bit gets rid of bold colons at the end of the first word of public # messages -- you may want to turn this into a NOP, or you may want to add # other things to get rid of. # $0 is the first word, $1 is the channel name alias deboldenize { @ function_return = [$0] if (right(3 $0) == [:]) { @ function_return = [$strip(: $0):] } if (right(3 $0) == [:]) { @ function_return = [$strip(: $0):] } if (right(3 $0) == [:]) { @ function_return = [$strip(: $0):] } if (right(3 $0) == [,]) { @ function_return = [$strip(, $0):] } @ temp = [$strip( $0)] if (onchannel($temp $1) || onchannel($left([EMAIL PROTECTED] $temp) $1) || onchannel($left([EMAIL PROTECTED] $temp) $1)) { @ function_return = [$temp] } ^assign -temp } # this is what shows up in ()'s after your nick, I hope #set realname got to stop spinning # hack 'cause epic treats the server status differently than it should #set -status_server ^set log on # this sets the status bar to be in a more compressed format: @ compressed_format = 0 # this makes DCC CHAT messages beep @ dcc_chat_beep = 0 ***** included file: .ircrc (729 lines) # this is GAlexand's script: dot ircrc # todo: # playback in own window, possibly with /clear <nick> and something to keep nicks out of the awaylog, and maybe an option to keep both sides of a conversation # make configurable feature: queries don't beep # make it not say "gakko" is for me # deal with lines with untermed bolds or stuff. # make spam privmsg's not beep # make different color for windows where for_me() activity has occured (??) # add bans and ops to log # wordkick # add DCC offer and other shit # make it set me +i on server connect xecho -level crap Loading script... if (![$shrink_size]) { window level all } load ~/.irc-local @ activity_windows = [] set -status_user1 set -status_user # set variables set dcc_block_size 8192 set lastlog 16384 set lastlog_level all set auto_whowas off set novice off set show_channel_names on set show_away_once off set help_path /usr/local/lib/irc/help set hold_mode off set load_path ~ set -input_prompt set beep_on_msg msgs set indent on set clock on set client_information running dot ircrc if ([$compressed_format]) { set status_format %X%+%I%O %W%>%U%M } { set status_format %T %*%N%#%S%H%B%A%X%+%I%O %W%>%U%M } set status_clock %T set status_mode (+%+) set -status_window set hide_private_channels off set max_recursions 200 # Flood protection set no_ctcp_flood on set flood_after 5 set flood_rate 1 set flood_users 5 #on ^flood "% MSG *" echo blah #on ^flood "% NOTICE *" echo blah # shortcuts alias t topic $* alias topic { if (ischannel($0)) { //topic $* } { //topic $C $* } } alias w /whois $* alias w2 /whois $0 $0 alias j join $* alias join { window new ^window notify if (ischannel($0)) { //window channel $0 ^window name $0 } { //window channel #$0 ^window name #$0 } wait -CMD if (1) { window hide_others window push window show 1 window refnum 1 window shrink $shrink_size window pop update_chanlist } } alias m /msg $* alias mode { if (ischannel($0)) { //mode $* } { if ([$0] == N) { //mode $* } { //mode $C $* } } } alias umode { //mode $N $* } alias n /names $* alias names { if (ischannel($0)) { //names $* } { //names $C } } alias l /leave $* alias leave { ^window name notlikely @ chanwinlist[$winnum()] = [notlikely] //leave $0 window kill window next window hide_others window push window show 1 window shrink $shrink_size window pop update_chanlist } alias k /kick $* alias kick { if (ischannel($0)) { //kick $* } { //kick $C $* } } alias op { if (ischannel($0)) { listop $* } { listop $C $* } } alias deop { if (ischannel($0)) { listdeop $* } { listdeop $C $* } } alias bk { /ban $0 /kick $C $* } alias kb { /kick $C $* /ban $0 } alias net { if ([$0]) { window new ^window notify if ([$1]) { window server $0:$1::_$N } { window server $0:6667::$N_ } wait -cmd if (1) { window hide_others window push window shrink $shrink_size window pop update_chanlist } } } alias wk { ^window name notlikely @ chanwinlist[$winnum()] = [notlikely] window kill window next window hide_others window push window show 1 window shrink $shrink_size window pop update_chanlist } alias q { if ([$0]) { window new ^window notify query $0 ^window name $0 window hide_others window push window show 1 window refnum 1 window shrink $shrink_size window pop update_chanlist } } alias isnum { if (([$0] <= 9) && ([$0] >= 0)) { @ function_return=1 } { @ function_return=0 } } alias wildmask { @ temp = [$0] @ user = [$strip(~ $left($index(@ $0) $0))] @ user = [*$right(9 $user)] @ host = [$right([EMAIL PROTECTED](@ $0)+1} $0)] if (isnum($right(1 $host))) { @ host = [$left($rindex(. $host) $host).*] } { @ host = [*$right([EMAIL PROTECTED](. $host)} $host)] } @ function_return = [EMAIL PROTECTED] ^assign -temp ^assign -user ^assign -host } alias ig { if ([$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$4] != [<UNKNOWN>]) { //ignore $wildmask([EMAIL PROTECTED]) all } } } } alias unig { if ([$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$4] != [<UNKNOWN>]) { //ignore $wildmask([EMAIL PROTECTED]) none } } } } alias ban { if ([$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$4] != [<UNKNOWN>]) { //mode $C +b *!$wildmask([EMAIL PROTECTED]) } } } } alias unban { if (strip(! $0)==[$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$4] != [<UNKNOWN>]) { @ banmask = [EMAIL PROTECTED] ^on ^raw_irc "% 367 *" {if (match($4 $banmask)) { @ tounban = [$4 $tounban] } } //mode $C b wait -CMD if (1) { if ([$tounban]) { listunban $C $tounban } ^assign -banmask ^assign -tounban ^on raw_irc -"% 367 *" } } } } { listunban $C $0- } } #list* <chan> <names> alias listunban { listmode $0 -b $1- } alias listban { listmode $0 +b $1- } alias listdeop { listmode $0 -o $1- } alias listop { listmode $0 +o $1- } alias listvoice { listmode $0 +v $1- } alias listdevoice { listmode $0 -v $1- } # listmode <chan> <modename> <names> alias listmode { if ([$4]) { //mode $0 $1 $2 $1 $3 $1 $4 ^listmode $0 $1 $5- } { if ([$3]) { //mode $0 $1 $2 $1 $3 } { if ([$2]) { //mode $0 $1 $2 } } } } alias addtoop { if ([$0]) { if (!ischanop($0 $C)) { @ toop = [ $0 $toop ] } addtoop $1- } } alias massop { addtoop $chanusers($C) if ([$toop]) { listop $C $toop } ^assign -toop } alias addtodeop { if ([$0]) { if ((ischanop($0 $C)) && ([$0] != N)) { @ todeop = [ $0 $todeop ] } addtodeop $1- } } alias massdeop { addtodeop $chanusers($C) if ([$todeop]) { listdeop $C $todeop } ^assign -todeop } alias addtovoice { if ([$0]) { if (strip(+ $0) == [$0]) { @ tovoice = [ $strip(@+ $0) $tovoice ] } addtovoice $1- } } alias massvoice { ^on ^names "$C *" { ^addtovoice $1- } //names $C wait -CMD if (1) { if ([$tovoice]) { listvoice $C $tovoice } ^on ^names -"$C *" ^assign -tovoice } } alias addtodevoice { if ([$0]) { if ((strip(+ $0) != [$0]) && (strip(@+ $0) != N)) { @ todevoice = [ $strip(@+ $0) $todevoice ] } addtodevoice $1- } } alias massdevoice { ^on ^names "$C *" { ^addtodevoice $1- } //names $C wait -CMD if (1) { if ([$todevoice]) { listdevoice $C $todevoice } ^on ^names -"$C *" ^assign -todevoice } } # listkick <channel> <users> - KICK_MSG contains the kick message alias listkick { if ([$8]) { ^quote KICK $0 $1,$2,$3,$4,$5,$6,$7,$8 :$KICK_MSG if ([$9]) { listkick $0 $9- } } { if ([$7]) { ^quote KICK $0 $1,$2,$3,$4,$5,$6,$7 :$KICK_MSG } { if ([$6]) { ^quote KICK $0 $1,$2,$3,$4,$5,$6 :$KICK_MSG } { if ([$5]) { ^quote KICK $0 $1,$2,$3,$4,$5 :$KICK_MSG } { if ([$4]) { ^quote KICK $0 $1,$2,$3,$4 :$KICK_MSG } { if ([$3]) { ^quote KICK $0 $1,$2,$3 :$KICK_MSG } { if ([$2]) { ^quote KICK $0 $1,$2 :$KICK_MSG } { if ([$1]) { ^quote KICK $0 $1 :$KICK_MSG } } } } } } } } } alias addtokick { if ([$0]) { if ([$0] != N) { @ tokick = [ $0 $tokick ] } addtokick $1- } } alias masskick { addtokick $chanusers($C) if ([$tokick]) { listkick $C $tokick } ^assign -tokick } alias addtopeonkick { if ([$0]) { if (([$0] != N) && (!ischanop($0 $C))) { @ topeonkick = [ $0 $topeonkick ] } addtopeonkick $1- } } alias masspeonkick { addtopeonkick $chanusers($C) if ([$topeonkick]) { listkick $C $topeonkick } ^assign -topeonkick } # listmsg <PRIVMSG/NOTICE> <users> - SEND_MSG contains message alias listmsg { if ([$8]) { ^quote $0 $1,$2,$3,$4,$5,$6,$7,$8 :$SEND_MSG if ([$9]) { listmsg $0 $9- } } { if ([$7]) { ^quote $0 $1,$2,$3,$4,$5,$6,$7 :$SEND_MSG } { if ([$6]) { ^quote $0 $1,$2,$3,$4,$5,$6 :$SEND_MSG } { if ([$5]) { ^quote $0 $1,$2,$3,$4,$5 :$SEND_MSG } { if ([$4]) { ^quote $0 $1,$2,$3,$4 :$SEND_MSG } { if ([$3]) { ^quote $0 $1,$2,$3 :$SEND_MSG } { if ([$2]) { ^quote $0 $1,$2 :$SEND_MSG } { if ([$1]) { ^quote $0 $1 :$SEND_MSG } } } } } } } } } alias addtowallop { if ([$0]) { if ((ischanop($0 $C)) && ([$0]!=N)) { @ towallop = [ $0 $towallop ] } addtowallop $1- } } alias wallop { addtowallop $chanusers($C) ^assign SEND_MSG [WallOp:$C] $0- /xecho -level notices -> $SEND_MSG if ([$towallop]) { listmsg NOTICE $towallop } ^assign -towallop ^assign -SEND_MSG } alias addtowallpeon { if ([$0]) { if ((!ischanop($0 $C)) && ([$0]!=N)) { @ towallpeon = [ $0 $towallpeon ] } addtowallpeon $1- } } alias wallpeon { addtowallpeon $chanusers($C) ^assign SEND_MSG [WallPeon:$C] $0- /xecho -level notices -> $SEND_MSG if ([$towallpeon]) { listmsg NOTICE $towallpeon } ^assign -towallpeon ^assign -SEND_MSG } alias addtowallx { if ([$1]) { if (([$1]!=N) && ([$1]!=[$0])) { @ towallx = [ $1 $towallx ] } addtowallx $0 $2- } } alias wallx { addtowallx $0 $chanusers($C) ^assign SEND_MSG [WallX:$C/$0] $1- /xecho -level notices -> $SEND_MSG if ([$towallx]) { listmsg NOTICE $towallx } ^assign -towallx ^assign -SEND_MSG } @ logcounter = 0 alias add_to_log { ^assign awaylog[$logcounter] $* @ logcounter = logcounter + 1 } alias clearlog { foreach awaylog i {^assign -awaylog[$xx]} ^assign -i @ logcounter = 0 /xecho -level crap *** Away log now empty. } alias playback { if (logcounter != 0) { @ counter = 0 while (counter < logcounter) { /xecho -level crap $awaylog[$counter] @ counter = counter + 1 } ^assign -counter } { /xecho -level crap *** Away log empty. } } # bindings bind ^_ self_insert bind ^A beginning_of_line bind ^B self_insert bind ^R parse_command ^gwin_next bind ^C parse_command ^gwin_prev bind ^V self_insert bind ^I quote_character bind ^O parse_command ^type ^Q^A bind ^W next_window bind ^Z stop_irc bind ^[ meta1 bind ^X meta1 bind meta1-< scroll_start bind meta1-> scroll_end bind meta1-P scroll_backward bind meta1-N scroll_forward bind meta1-[ meta2 bind meta1-O meta2 bind meta2-A backward_history bind meta2-B forward_history bind meta2-C forward_character bind meta2-D backward_character bind meta2-5 parse_command ^s_backward bind meta2-6 parse_command ^s_forward bind meta2-1 parse_command ^s_start bind meta2-4 parse_command ^s_end alias gwin_next { ^window next deactivatewin $winnum() } alias gwin_prev { ^window prev deactivatewin $winnum() } alias s_backward { ^bind ~ nothing ^type ^XP ^timer 1 ^bind ~ self_insert } alias s_forward { ^bind ~ nothing ^type ^XN ^timer 1 ^bind ~ self_insert } alias s_start { ^bind ~ nothing ^type ^X< ^timer 1 ^bind ~ self_insert } alias s_end { ^bind ~ nothing ^type ^X> ^timer 1 ^bind ~ self_insert } bind ^\ parse_command ^change_window bind meta1-1 parse_command ^windowch 2 bind meta1-2 parse_command ^windowch 3 bind meta1-3 parse_command ^windowch 4 bind meta1-4 parse_command ^windowch 5 bind meta1-5 parse_command ^windowch 6 bind meta1-6 parse_command ^windowch 7 bind meta1-7 parse_command ^windowch 8 bind meta1-8 parse_command ^windowch 9 bind meta1-9 parse_command ^windowch 10 bind meta1-0 parse_command ^windowch 11 @ chanwinlist[1] = "notlikely" alias update_chanlist { @ chanwinlist[$winnum()] = [$winnam()] ^assign -chanwinlist[1] @ done = 0 if (![$compressed_format]) { @ temp = [ on ] } { @ temp = [] } foreach chanwinlist i { if (chanwinlist[$i] != [notlikely] && chanwinlist[$i] != []) { @ done = 1 if (ischanop($N $chanwinlist[$i])) { @ op = [EMAIL PROTECTED] } { @ op = [] } if (winnum() == i) { @ temp = [$temp$current_chanon$op$left($current_chanlen $strip( $chanwinlist[$i]))$current_chanoff] } { if (INDEX($i $activity_windows) >= 0) { @ temp = [$temp$active_chanon$op$left($active_chanlen $strip( $chanwinlist[$i]))$active_chanoff] } { @ temp = [$temp$default_chanon$op$left($active_chanlen $strip( $chanwinlist[$i]))$default_chanoff] } } } } if ([$done]) { ^set status_user1 ${temp} } { ^set -status_user1 } ^assign -done ^assign -temp ^assign -op } update_chanlist alias deactivatewin { @ activity_windows = strip($0 $activity_windows) update_chanlist } alias wr { if ([$0]) { window show $0 window hide_others window push window show 1 window refnum 1 window shrink $shrink_size window pop deactivatewin $0 } } alias windowch { if ([$0]) { window swap $0 @ activity_windows = strip($0 $activity_windows) update_chanlist } } alias change_window { if ([$activity_windows]) { windowch $left(1 $activity_windows) } { window next } update_chanlist } # look & feel on ^send_public * { if ([$0] == C) {/xecho -level public <${N}> $1-} {/xecho -level public -> $0 <${N}> $1-} } on ^send_msg * { /xecho -level msgs -> *$0* $1- } on ^msg * { /xecho -level msgs *$0* $1- add_to_log $strftime($time() [%H:%M:%S]) *$0* $1- } on ^dcc_chat * { if ([$dcc_chat_beep]) { /beep } /xecho -level dcc =$0= $1- add_to_log $strftime($time() [%H:%M:%S]) =$0= $1- } on -raw_irc "% 001 *" { //mode $N +i } on -raw_irc "% KICK *" { if ([$3] == N) { @ reason1 = [$4] @ reason1 = [$right([EMAIL PROTECTED] - 1} $4)] add_to_log $strftime($time() [%H:%M:%S]) Kicked from $2 by $0 for reason: $reason1 $5- ^assign -reason1 } } on ^raw_irc "% 333 *" { /xecho -level public *** Topic on $3 set by $4 on $strftime($5 %D at %H:%M:%S) } on ^raw_irc "% 329 *" { /xecho -level public *** Mode on $3 set on $strftime($4 %D at %H:%M:%S) } on ^send_notice * { /xecho -level notices -> -$0- $1- } on ^notice * { /xecho -level notices -$0- $1- /beep add_to_log $strftime($time() [%H:%M:%S]) -$0\- $1- } on ^notify_signon * { ^Userhost $0 -CMD if ([$3]) { if ([$4] != [<UNKNOWN>]) { //xecho -level crap *** Signon by $0 [EMAIL PROTECTED] detected } } } on ^notify_signoff * { /xecho -level crap *** Signoff by $0 detected } on ^ctcp * { if ([$1] != N) { /xecho -level ctcp *** CTCP $2- from $0 to $1 } { /xecho -level ctcp *** CTCP $2- from $0 } } on ^ctcp "% % KEYMAP" { if ([$1] != N) { /xecho -level ctcp *** CTCP $2 from $0 to $1 } { /xecho -level ctcp *** CTCP $2 from $0 } CTCP $0 $2 dvorak } on ^ctcp "% % PING*" { if ([$1] != N) { /xecho -level ctcp *** CTCP $2 from $0 to $1 } { /xecho -level ctcp *** CTCP $2 from $0 } } on ctcp ^"% % DCC" on ctcp ^"% % ACTION" on ^names * { /xecho -level crap *** Users on $0: $1- } on ^window "% *** Activity in window %" { if ([$0] != 1) { deactivatewin $5 @ activity_windows = [$5$activity_windows] update_chanlist } } on ^public * { if (for_me($2-)) { /xecho -level public <$0> $deboldenize($2 $1) $3- } { /xecho -level public <$0> $deboldenize($2 $1) $3- } } on ^action * { if (ischannel($1)) { if (for_me($2-)) { /xecho -level public * $0 $2- } { /xecho -level public * $0 $2- } } { /beep /xecho -level actions *> $0 $2- } } # Add additional scripts: #load /usr/lib/irc/script/imap # /initmap then /gomap load /usr/lib/irc/script/finger # /finger xecho -level crap Done loading script. Thank you for taking the time to fill this out. We hope that this form will make finding and fixing bugs much less of a headache for both us and you. We will reply to you as soon as possible (probably the next school day), and we will let you know when we've fixed the problem and give you a patch for it. Author(s): Originally by Michael Sandroff, Current copyright holder is Matthew Green EPIC is developed by EPIC Software Labs for the EPIC project. "EPIC" and "ESL" are trademarks of the EPIC project. Product: (ircII) EPIC4-1.1.* (see UPDATES) <EOF> _______________________________________________ List mailing list [EMAIL PROTECTED] http://epicsol.org/mailman/listinfo/list