x2serv-cvs Mailing List for X2 IRC Channel and Oper Services (Page 6)
Brought to you by:
sirvulcan
You can subscribe to this list here.
2001 |
Jan
(33) |
Feb
(14) |
Mar
(26) |
Apr
(19) |
May
(28) |
Jun
(5) |
Jul
(6) |
Aug
(5) |
Sep
(6) |
Oct
(1) |
Nov
(21) |
Dec
(3) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(3) |
Feb
(14) |
Mar
|
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2003 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
(4) |
Jun
(6) |
Jul
|
Aug
|
Sep
|
Oct
(7) |
Nov
|
Dec
|
2004 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
(19) |
Jul
(5) |
Aug
(16) |
Sep
(4) |
Oct
(10) |
Nov
(7) |
Dec
(6) |
2005 |
Jan
(4) |
Feb
(5) |
Mar
(24) |
Apr
(6) |
May
(17) |
Jun
(11) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Alex S. <ru...@us...> - 2004-06-11 14:45:19
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-06-11 14:45:11 UTC Modified files: source/parse.c source/parse.h Log message: silenced 443 error code wallop (generated when inviteme is called while already in a chan) ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.87 x2/source/parse.c:1.88 --- x2/source/parse.c:1.87 Wed Jun 9 23:30:04 2004 +++ x2/source/parse.c Fri Jun 11 07:45:00 2004 @@ -98,7 +98,8 @@ { "SH", m_noop, FALSE, TRUE }, { "OM", m_noop, TRUE, TRUE }, { "CM", m_noop, TRUE, TRUE }, - { "402", m_noop, TRUE, TRUE }, + { "402", m_logerror, TRUE, TRUE }, + { "443", m_logerror, TRUE, TRUE }, /* user is already on channel (invite attempt error) */ { "FA", m_sethost, TRUE, FALSE }, { NULL, NULL, FALSE, FALSE } }; @@ -122,6 +123,12 @@ return(0); } +int m_logerror(M_PARAMS) +{ + Debug(DBGINFO, "Uplink reported ERROR code: %s\n", rest); + return true; +} + int m_sethost(M_PARAMS) { /* TODO: Change the host part of the structure */ @@ -425,12 +432,10 @@ { account = (char *) strtok(NULL, " "); /* This user has an account set from another service */ } - /* if(strchr(modes, 'h')) { - hiddenhost = (char *) strtok(NULL, " "); * This user has an hidden hostmask (asuka only) * + hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask (asuka only) */ } - */ if(strchr(modes, 'f')) { hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask */ Index: x2/source/parse.h diff -u x2/source/parse.h:1.12 x2/source/parse.h:1.13 --- x2/source/parse.h:1.12 Wed Jun 9 16:33:03 2004 +++ x2/source/parse.h Fri Jun 11 07:45:00 2004 @@ -28,4 +28,4 @@ int m_kill(M_PARAMS); int m_squit(M_PARAMS); int m_sethost(M_PARAMS); - +int m_logerror(M_PARAMS); ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-10 20:14:50
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : srvx2 Commit time: 2004-06-10 20:14:43 UTC Modified files: chanserv.help modcmd.help nickserv.help opserv.help srvx src/hash.h src/opserv.c src/opserv.help src/proto-common.c src/proto-p10.c src/tools.c Log message: Applied http://contagion.quarantined.net/diffs/sethost.diff for sethost support. ---------------------- diff included ---------------------- Index: srvx2/chanserv.help diff -u srvx2/chanserv.help:1.2 srvx2/chanserv.help:1.3 --- srvx2/chanserv.help:1.2 Thu Jun 3 16:34:01 2004 +++ srvx2/chanserv.help Thu Jun 10 13:14:32 2004 @@ -1,105 +1,162 @@ -"<INDEX>" ("$b$C Help$b", - "$b$C$b is a channel service bot, intended primarily to prevent and defend against channel takeovers. It also includes convenience features aimed at making it easier to maintain control over all aspects of your channel.", - "$b$C$b command categories:", - " USER User management.", - " CHANNEL Channel management.", - " BAN MANAGEMENT Ban management.", - " INFORMATION Informative commands.", - " OPER Helper/IRC Operator commands." +"<INDEX>" ("=--------------- $b$C Help$b --------------=", + " Hello there! ", + " Please select the area you would like ", + " help with from the list below. The ", + " help system uses the format: ", + " $b/MSG $C HELP <$bsubject$b>$b ", + " For example: $b/msg $C HELP UBM$b ", + " shows help with the UnBanMe command. ", + "=--------------------------------------=", + " GENERAL - How to use $C ", + " USER - Commands to add and remove", + " bans, ops and managers from ", + " your channel.", + " CHANNEL - Other channel related info", + " like setting permanent modes", + " and topic.", + " INFORMATION - Informative commands.", + " OPER - Commands for IRC Operators.", + "=--------------------------------------=", ); -"USER" ("$bUser Management Commands:$b", - " ACCESS Check someone's access in a channel.", - " MYACCESS Show all channels where you have access.", - " ADDCOOWNER Give another person coowner status in a channel.", - " ADDMANAGER manager status in a channel.", - " ADDOP op status in a channel.", - " ADDPEON peon status in a channel.", - " GIVEOWNERSHIP Give ownership to another user in the channel.", - " CLVL Change a person's access level in a channel.", - " ADDUSER Give another person access in a channel.", - " DELUSER Remove a person's access from a channel.", - " DELETEME Remove your own access from a channel.", - " MDELCOOWNER Remove coowners with accounts matching a mask.", - " MDELMANAGER managers with accounts matching a mask.", - " MDELOP ops with accounts matching a mask.", - " MDELPEON peons with accounts matching a mask.", - " TRIM Remove users inactive for a certain period.", - " UP Give you ops in a channel you have access to.", - " DOWN Remove your ops in a channel.", - " UPALL Give you ops in all channels you have access to.", - " DOWNALL Remove your ops in all channels.", - " OP Give ops to the specified user.", - " DEOP Remove ops from the specified user.", - " VOICE Give voice to the specified user.", - " DEVOICE Remove voice from the specified user.", - " USET Set channel user options.", - " SUSPEND Suspend a user's access to a channel.", - " UNSUSPEND Restore a user's access to a channel.", - " WIPEINFO Remove a lower-ranked user's infoline." +"USER" ("=-- $bUserlist Management Commands:$b ---=", + " $bUSERS$b Show the channels userlist.", + " $bCLIST$b Show all COOWNERs of a channel.", + " $bMLIST$b Show all MANAGERs of a channel.", + " $bOLIST$b Show all OPs of a channel.", + " $bPLIST$b Show all PEONs of a channel.", + " $bBANS$b Show all $ulasting$u bans in a channel.", + " $bACCESS$b Check someone's access level in a channel.", + " $bCLVL$b Change a person's access level in a channel.", + " $bUSET$b Set a channel user's options (autos, info).", + " $bSEEN$b Find out the last time a user was in a channel.", + "$b$b", + " $bADDPEON$b Add a user as a PEON in a channel.", + " $bADDOP$b Add a user as an OP in a channel.", + " $bADDMANAGER$b Add a user as a MANAGER in a channel.", + " $bADDCOOWNER$b Add a user as COOWNER in a channel.", + " $bADDUSER$b A more advanced way to add users.", + " $bADDBAN$b Add a $upermanent$u ban for a user.", + " $bADDTIMEDBAN$b Add a $ulasting$u ban that expires in the specified time.", + "$b$b", + " $bDELUSER$b Delete a user from the userlist.", + " $bMDELCOOWNER$b Mass-delete coowners with accounts matching a mask.", + " $bMDELMANAGER$b Mass-delete managers with accounts matching a mask.", + " $bMDELOP$b Mass-delete ops with accounts matching a mask.", + " $bMDELPEON$b Mass-delete peons with accounts matching a mask.", + " $bDELBAN$b Remove the specified $upermanent$u ban from memory.", + " $bWIPEINFO$b Remove a lower-ranked user's infoline.", + " $bTRIM$b Delete users who are inactive.", + " $bSUSPEND$b Suspend a user's access to a channel.", + " $bUNSUSPEND$b Restore a user's access to a channel.", + "$b$b", + " $bMYACCESS$b Show all channels where you have access.", + " $bDELETEME$b Delete YOURSELF from the userlist.", + " $bGIVEOWNERSHIP$b Give away ownership to another user.", + "=------------- End of Help ------------=" ); -"BAN MANAGEMENT" ("$bBan Management Commands:$b", - " KICK Kick a user from a channel.", - " BAN Ban a user from a channel.", - " KICKBAN Kick and ban a user from a channel.", - " BANS List lasting bans in a channel.", - " ADDBAN Add a permanent ban for a user.", - " ADDTIMEDBAN Add a ban that expires in the specified time.", - " UNBAN Remove the specified ban from the channel.", - " DELBAN Remove the specified permanent ban from memory.", - " TRIM Remove bans inactive for a certain period.", - " UNBANME Remove a ban matching your hostmask from specified channel.", - " UNBANALL Remove all bans from a channel." + +"CHANNEL" ("=-------- $bChannel Commands:$b ---------=", + " $bSET$b Change various channel settings.", + " $bTOPIC$b Set the current topic, or reset it to the default topic.", + " $bMODE$b Change a channel mode.", + " $bOPEN$b Remove +ilk channel modes and any bans on you from a channel.", + "*$bNOTE$b Set a note on a channel.", + "*$bDELNOTE$b Remove a note from a channel.", + "$b$b", + " $bUP$b Give you ops in a channel.", + " $bDOWN$b Remove your ops in a channel.", + " $bUPALL$b Give you ops in all channels you have access to.", + " $bDOWNALL$b Remove your ops in all channels.", + " $bOP$b Give ops to the specified user.", + " $bDEOP$b Remove ops from the specified user.", + " $bVOICE$b Give voice to the specified user.", + " $bDEVOICE$b Remove voice from the specified user.", + " $bRESYNC$b Synchronize ops and voice with the channel userlist.", + "$b$b", + " $bKICK$b Kick a user from a channel.", + " $bBAN$b Ban a user from a channel.", + " $bUNBAN$b Remove the specified ban from the channel.", + " $bKICKBAN$b Kick and ban a user from a channel.", + " $bUNBANME$b Remove a ban matching your hostmask from specified channel.", + " $bUNBANALL$b Remove all bans from a channel.", + " $bINVITE$b Admit a user to pass through +ib modes in your channel.", + "$b$b", + " $bINFO$b Show numerical information about the users in a channel.", + " $bEVENTS$b View a list of events relevant to a channel.", + "=------------- End of Help ------------=" ); -"CHANNEL" ("$bChannel Management Commands:$b", - " OPEN Remove +ilk channel modes and any bans on you from a channel.", - " USERS List all users of a channel.", - " CLIST coowners of a channel.", - " MLIST managers of a channel.", - " OLIST ops of a channel.", - " PLIST peons of a channel.", - " BANS List all the bans for a channel.", - " TOPIC Set the current topic, or reset it to the default topic.", - " MODE Change a channel mode.", - " INVITE Invite new users to your channel.", - " INFO Show numerical information about the users in a channel.", - " SET Change various channel settings.", - " EVENTS View a list of events relevant to a channel.", - " NOTE Set a note on a channel.", - " DELNOTE Remove a note from a channel.", - " RESYNC Synchronize ops and voice with the channel userlist." +"INFORMATION" ("=------- $bInformative Commands:$b ------=", + " $bVERSION$b Check the current running version of $C.", + " $bNETINFO$b Check current network-wide information.", + " $bSTAFF$b Get a list of all the current staff.", + " $bIRCOPS$b Get a list of all the current IRC operators.", + " $bHELPERS$b Get a list of all the current support helpers.", + " $bPEEK$b Reveal information on a channel's modes, topic and ops.", + " $bCOMMAND$b Display some information about a command.", + "=------------- End of Help ------------=" ); -"INFORMATION" ("$bInformative Commands:$b", - " VERSION Check the current running version of $C.", - " NETINFO Check current network-wide information.", - " STAFF Get a list of all the current staff.", - " IRCOPS IRC operators.", - " HELPERS support helpers.", - " PEEK Reveal information on a channel's modes, topic and ops.", - " SEEN Find out the last time a user was in a channel.", - " COMMAND Display some information about a command." +"OPER" ("=-- $bHelper/IRC Operator commands:$b ---=", + " $bGOD$b Turn security override on/off.", + " $bOPCHAN$b Force $C to op itself in a channel.", + "$b$b", + " $bSEARCH$b Find registered channel matching criteria.", + " $bREGISTER$b Register a new channel with $C.", + " $bNOREGISTER$b Add a channel to the do-not-register list.", + " $bALLOWREGISTER$b Remove a channel from the do-not-register list.", + " $bUNREGISTER$b Remove $C from a registered channel.", + " $bMOVE$b Transition one channel's registration to a new channel name.", + " $bMERGE$b Merges a source and target channels' registration, ", + " users, bans, and other data into the target channel.", + " $bUNVISITED$b List all channels that have not been visited in specified duration.", + " $bEXPIRE$b Automatically unregister old channels.", + "$b$b", + " $bADDOWNER$b Add a new owner to a channel.", + " $bDELOWNER$b Remove a current owner from a channel.", + " $bMDELOWNER$b Remove multiple owners by account mask from a channel.", + " $bCSUSPEND$b Remove $C from a channel (preserving user data).", + " $bCUNSUSPEND$b Restore $C to a channel that was suspended.", + "$b$b", + " $bCREATENOTE$b Create a new note type.", + " $bREMOVENOTE$b Remove an existing note type.", + "*$bSAY$b Have $C say a message in a channel.", + "*$bEMOTE$b Equivalent to $C doing a /me in a channel.", + "=------------- End of Help ------------=" ); -"OPER" ("$bHelper/IRC Operator commands:$b", - " SAY Have $C say a message in a channel.", - " EMOTE Equivalent to $C doing a /me in a channel.", - " GOD Turn security override on/off.", - " EXPIRE Automatically unregister old channels.", - " CSUSPEND Remove $C from a channel (preserving user data).", - " CUNSUSPEND Restore $C to a channel that was suspended.", - " UNVISITED List all channels that have not been visited in specified duration.", - " MERGE Merges a source and target channels' registration, users, bans, and other data into the target channel.", - " MOVE Transition one channel's registration to a new channel name.", - " OPCHAN Force $C to op itself in a channel.", - " REGISTER Register a new channel with $C.", - " NOREGISTER Add a channel to the do-not-register list.", - " ALLOWREGISTER Remove a channel from the do-not-register list.", - " UNREGISTER Remove $C from a registered channel.", - " SEARCH Find registered channel matching criteria.", - " ADDOWNER Add a new owner to a channel.", - " DELOWNER Remove a current owner from a channel.", - " MDELOWNER Remove multiple owners by account mask from a channel.", - " CREATENOTE Create a new note type.", - " REMOVENOTE Remove an existing note type." + +"GENERAL" ("=----------- General Help -------------=", + " NOTE: Before using $C or being added ", + " to channel userlists, users must ", + " register an account with $b$N$b. ", + " $b/MSG $N help$b for more information ", + "$b$b", + " $C uses a standard interface for each ", + " command in its command list. Commands ", + " can be issued either in /MSG format or ", + " in a channel which $C is in. These two ", + " ways are demonstrated below:", + " $b/MSG $C OP #chatzone Locke$b", + " $b.OP #chatzone locke$b", + "$b$b", + " If a command is given in a channel, and ", + " the channel parameter is not given, the ", + " channel that the command was issued in ", + " will be used:", + " $b.OP locke$b", + "$b$b", + " Some commands, such as $bNETSTATS$b ", + " don't require a channel. If one is ", + " supplied it will be ignored.", + "$b$b", + " If a command takes additional parameters", + " asside from channel, they will be ", + " expected as well. ", + " See $b/msg $C HELP <COMMAND>$b for the ", + " exact syntax of each command. ", + "=---------- For more info see ----------=", + " http://www.afternet.org/support ", + "=---------------------------------------=" ); + "MYACCESS" ("/msg $S MYACCESS [<nick|*account>]", "Lists channels where you have access and infolines in each.", "Network staff may specify a nickname or *account to view the list for another user.", @@ -119,6 +176,9 @@ "This command adds someone to the channel user list with the specified access level. (You may only add users to levels less than your own.)", "The level may be one of $bpeon$b, $bop$b, $bmanager$b, $bcoowner$b, $bowner$b, or a number between 1 and 500. Only network staff may add level 500 users (owners).", "$uSee Also:$u deluser, users"); +"ADDOP" ("/msg $C ADDOP <#channel> <nick|*account>", + "This command adds someone to the channel user list with OP access level. (You may only add users to levels less than your own.)", + "$uSee Also:$u adduser, deluser, users"); "ADDTIMEDBAN" ("/msg $C ADDTIMEDBAN <#channel> <mask|nick> <Duration> [Reason]", "Adds an automatically expiring ban to the channel ban list. This command behaves in the exact same fashion as ADDBAN with the exception that the bans are automatically removed after the user-supplied duration. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended. Timed bans can be removed with the DELBAN command, as with permanent bans.", "$uSee Also:$u addban, bans, delban, durations"); Index: srvx2/modcmd.help diff -u srvx2/modcmd.help:1.1.1.1 srvx2/modcmd.help:1.2 --- srvx2/modcmd.help:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/modcmd.help Thu Jun 10 13:14:32 2004 @@ -1,30 +1,39 @@ "bind" ("/msg $S BIND <service> <bindname> <command> [additional args..]", "Binds (adds) a command to an existing service. $bbindname$b is the name of the new command for the service. $bcommand$b may be one of:", " CommandName To refer to a command on the same service.", - " ServiceNick.CommandName To refer to a command bound on a different service.", + " ServiceNick.CommandName To refer to a command bound on a different service such as $O, $C, $N, etc.", " *ModuleName.CommandName To bind a command directly from a module (note the asterisk before the module name).", - " *ModuleName.* To bind all commands from the named module.", + " *ModuleName.* To bind all commands from the named module, where ModuleName is one of OpServ, NickServ, ChanServ, modcmd, or others.", "For simplicity, you cannot bind to a command that is itself an alias. Certain commands will not bound with the last form; you must bind them by name.", "(A command binding is very similar to an alias, but only pays the speed penalty for alias expansion when there are additional arguments in the binding.)", - "$uSee also:$u unbind"); + "If you want to be able to bind $bfoo bar$b as a command, you need to bind $bfoo$b to modcmd.joiner first.", + "$uSee also:$u unbind, joiner"); + "commands" "${index}"; + "god" ("/msg $C GOD [on|off]", "Toggles security override, which grants you complete access to all channels. Please use carefully."); + "help" ("/msg $S HELP [command]", "Help will show you the information for the given command.", "All help files will use the same syntax, with optional parameters listed in [] and required parameters listed in <>.", "To see what commands are available for use with $S, type /msg $S help commands. For help on any specific command or topic, type /msg $S help command."); + "readhelp" ("/msg $S READHELP <module>", "Re-reads the module's help file from disk.", "$uSee Also:$u help"); + "unbind" ("/msg $S UNBIND <service> <command>", "Unbinds a command from a service, so that it is no longer accessible.", "Some commands (such as $bauth$b and $bbind$b) will not let you unbind their last binding -- for obvious reasons.", "$uSee Also:$u bind"); + "timecmd" ("/msg $S TIMECMD <command and args>", "Reports how long it takes to run the specified command."); + "command" ("/msg $S COMMAND <command>", "Shows the restrictions on who can use the named command (and how)."); + "modcmd" ("/msg $S MODCMD <command> [<option> <newval> ...]", "Displays options for the specified command, or changes the options and values listed. The command name may be prefixed with $bServiceNick.$b to specify another service's command (for example, $N.AUTH to refer to the auth command).", "Supported options are:", @@ -33,6 +42,7 @@ " OPER_ACCESS Minimum OpServ access.", " ACCOUNT_FLAGS Account flags to require or deny (for example, +R-S)", "See the $bmodcmd flags$b help entry for a list of supported flags."); + "modcmd flags" ("The following flags are supported for commands:", " ACCEPTCHAN Treat a normal channel name (if specified) as the context for the command", " ACCEPTPLUSCHAN Accept modeless channel names as well as normal channel names", @@ -53,36 +63,47 @@ " SUPPORTHELPER Allow support helpers to use the command", " TOY Command is a toy (cannot be invoked on a channel from outside the channel)", "Note: If any of SUPPORTHELPER, NETWORKHELPER, OPER, any of the specified flags is considered sufficient. For example, NETWORKHELPER and OPER both specified means both network helpers and opers can use the command."); + "joiner" ("/msg $S JOINER [subcmd ...]", - "Magically looks up subcommands and redirects to them. Use the command by itself to see what subcommands are known."); + "Magically looks up subcommands and redirects to them. Use the command by itself to see what subcommands are known.", + "joiner is used with BIND to make complex subcommands."); + "stats modules" ("/msg $S STATS MODULES [modulename]", "With no module name argument, shows a list of loaded modules and brief statistics for each.", "When a module name is given, shows commands exported by that module.", "$uSee Also:$u stats services, command, modcmd, bind"); + "stats services" ("/msg $S STATS SERVICES [botnick]", "With no bot nick argument, shows a list of the service bots using the unified command framework, and brief statistics for each.", "When a bot nick is given, shows commands bound to that service.", "$uSee Also:$u stats modules, command, modcmd, bind, unbind"); + "showcommands" ("/msg $S SHOWCOMMANDS [opserv-access] [channel-access]", "Shows commands which you can execute (with their required access levels). If you give a numeric $O access level or text $C access name, it further restricts output to only show commands which can be executed by users with that access.", "$uSee Also:$u command"); + "helpfiles" ("/msg $S HELPFILES <service> [module list]", "With only a service nick, shows the helpfiles used by that service.", "With a list of modules, sets the order that the service will look up non-command help entries.", "$uSee Also:$u bind, unbind"); + "service add" ("/msg $S SERVICE ADD <nick> <hostname> <description>", "Creates a new service bot.", "$uSee Also:$u service rename, service trigger, service remove"); + "service rename" ("/msg $S SERVICE RENAME <oldnick> <newnick>", "Renames a service bot. Currently does not support the default services.", "$uSee Also:$u service add, service trigger, service remove"); + "service trigger" ("/msg $S SERVICE TRIGGER <nick> [remove|<trigger>]", "Sets or clears the trigger character that the named service uses to identify in-channel messages directed at it.", "To remove a trigger, use the word $bremove$b (or $bnone$b) as the argument. Otherwise, the first letter of the argument will be used as the new trigger.", "If no argument is given, shows the current trigger for the service.", "$uSee Also:$u service add, service rename, service remove"); + "service remove" ("/msg $S SERVICE REMOVE <nick> [<quit reason>]", "Destroys a service. If a default service is named, it will be recreated when srvx restarts.", "$uSee Also:$u service add, service rename, service trigger"); + "version" ("/msg $S version", "Sends you version and copyright information for this software."); Index: srvx2/nickserv.help diff -u srvx2/nickserv.help:1.1.1.1 srvx2/nickserv.help:1.2 --- srvx2/nickserv.help:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/nickserv.help Thu Jun 10 13:14:32 2004 @@ -1,44 +1,70 @@ "<INDEX>" { "/services/nickserv/disable_nicks" { "/services/nickserv/email_enabled" ( - "$b$N Help$b", - "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.", - "$b$N$b command categories:", - " ACCOUNT Account management.", - " NOT NICKSERV A note on what this service does and does not do.", - " EMAIL Email maintenance commands.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + "=------------ $b$N Help$b -----------=", + " $b$N$b is an authentication service, ", + " intended to serve as a central ", + " authentication point for all other ", + " network services. $b$C$b, $b$O$b, and ", + " $b$G$b all depend on ", + " $b$N$b to verify that users are valid.", + " $b$b", + " $b$N$b help categories:", + " $bACCOUNT$b Account management.", + " $bEMAIL$b Email maintenance commands.", + " $bINFORMATION$b Other functions.", + " $bOPER$b $N commands for IRC Operators.", + "$b$b", + " $b$N is $uNOT$u a NickServ$b! ", + " see $b/msg $N HELP NOT NICKSERV$b ", + " for details ", + "=--------------------------------------=" ); "!/services/nickserv/email_enabled" ( - "$b$N Help$b", - "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.", - "$b$N$b command categories:", - " ACCOUNT Account management.", - " NOT NICKSERV A note on what this service does and does not do.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + "=------------ $b$N Help$b -----------=", + " $b$N$b is an authentication service, ", + " intended to serve as a central ", + " authentication point for all other ", + " network services. $b$C$b, $b$O$b, and ", + " $b$G$b all depend on ", + " $b$N$b to verify that users are valid.", + " $b$b", + " $b$N$b help categories:", + " $bACCOUNT$b Account management.", + " $bINFORMATION$b Other functions.", + " $bOPER$b $N commands for IRC Operators.", + "$b$b", + " $b$N is $uNOT$u a NickServ$b! ", + " see $b/msg $N HELP NOT NICKSERV$b ", + " for details ", + "=--------------------------------------=" ); }; "!/services/nickserv/disable_nicks" { "/services/nickserv/email_enabled" ( + "=------------ $b$N Help$b -----------=", "$b$N Help$b", "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. It also manages nickname ownership.", "$b$N$b command categories:", - " ACCOUNT Account management.", - " NICK Nick management.", - " EMAIL Email maintenance commands.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + " ACCOUNT Account management.", + " NICK Nick management.", + " EMAIL Email maintenance commands.", + " INFORMATION Other functions.", + " COMMANDS A list of all available commands.", + " OPER $N commands for IRC Operators.", + "=----------- End of Help --------------=" ); "!/services/nickserv/email_enabled" ( + "=------------ $b$N Help$b -----------=", "$b$N Help$b", "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. It also manages nickname ownership.", "$b$N$b command categories:", - " ACCOUNT Account management.", - " NICK Nick management.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + " ACCOUNT Account management.", + " NICK Nick management.", + " INFORMATION Other functions.", + " COMMANDS A list of all available commands.", + " OPER $N commands for IRC Operators.", + "=----------- End of Help --------------=" ); }; }; @@ -47,42 +73,89 @@ "ACCOUNT" { "/services/nickserv/enable_ghost" ( - "Accounts are the way that $b$C$b identifies you for access to channels. They are slightly similar to IRC nicks, but only have meaning to the services bots. Until you authenticate to $b$N$b on an account, you can only use the $bREGISTER$b and $bAUTH$b commands.", - "Account management commands are:", - " REGISTER Register a new account.", - " AUTH Authenticate yourself to $b$N$b using an existing account.", - " PASS Change your account's password.", - " ADDMASK Add a hostmask to your account.", - " DELMASK Remove a hostmask from your account.", - " SET Set per-account options.", - " UNREGISTER Unregister an account.", - " GHOST Disconnects your old clients", - " ACCOUNT FLAGS Definition for each account flag" + "=------------ $bACCOUNT Help$b -----------=", + " Accounts are the way that $b$C$b ", + " identifies you for access to channels. ", + " They are slightly similar to IRC nicks, ", + " but only have meaning to the services ", + " bots. Until you authenticate to $b$N$b ", + " on an account, you can only use the ", + " $bREGISTER$b and $bAUTH$b commands. ", + "$b$b", + " Account management commands are:", + " $bREGISTER$b Register a new account.", + " $bUNREGISTER$b Unregister an account.", + " $bAUTH$b Authenticate yourself to $b$N$b using an existing account.", + " $bPASS$b Change your account's password.", + " $bADDMASK$b Add a hostmask to your account.", + " $bDELMASK$b Remove a hostmask from your account.", + " $bSET$b Set per-account options.", + " $bGHOST$b Disconnects your old clients", + " $bACCOUNT FLAGS$b Definition for each account flag", + "=----------- End of Help --------------=" ); "!/services/nickserv/enable_ghost" ( - "Accounts are the way that $b$C$b identifies you for access to channels. They are slightly similar to IRC nicks, but only have meaning to the services bots. Until you authenticate to $b$N$b on an account, you can only use the $bREGISTER$b and $bAUTH$b commands.", - "Account management commands are:", - " REGISTER Register a new account.", - " AUTH Authenticate yourself to $b$N$b using an existing account.", - " PASS Change your account's password.", - " ADDMASK Add a hostmask to your account.", - " DELMASK Remove a hostmask from your account.", - " SET Set per-account options.", - " UNREGISTER Unregister an account.", - " RENAME Renames an account", - " ACCOUNT FLAGS Definition for each account flag" + "=------------ $bACCOUNT Help$b -----------=", + " Accounts are the way that $b$C$b ", + " identifies you for access to channels. ", + " They are slightly similar to IRC nicks, ", + " but only have meaning to the services ", + " bots. Until you authenticate to $b$N$b ", + " on an account, you can only use the ", + " $bREGISTER$b and $bAUTH$b commands. ", + "$b$b", + " Account management commands are: ", + " $bREGISTER$b Register a new account.", + " $bUNREGISTER$b Unregister an account.", + " $bAUTH$b Authenticate yourself to ", + " $b$N$b using an existing account.", + " $bPASS$b Change your account's password.", + " $bADDMASK$b Add a hostmask to your account.", + " $bDELMASK$b Remove a hostmask from your account.", + " $bSET$b Set per-account options.", + " $bRENAME$b Renames an account", + " $bACCOUNT FLAGS$b Definition for each account flag", + "=----------- End of Help --------------=" ); }; "NOT NICKSERV" { - "/services/nickserv/disable_nicks" ( - "$bNOT NICKSERV$b", - "This $b$N$b is not a standard NickServ.", - "Most NickServs provide \"nick ownership\", and will either issue a /KILL or a forced nick change if you try to use a registered nick without providing the password.", - "This $b$N$b will not do this. It only allows you to register an $baccount$b, which identifies users to $b$C$b. In a way, it is a virtual nick. When you authenticate to $b$N$b, it does not care what your IRC nick is -- only account you are logged in as.", - "$b$N$b can tell you what account a user is authenticated to using the $bUSERINFO$b command. Any problems with account registration or $b$N$b should be directed to the normal support channel." + "/services/nickserv/disable_nicks" ( + "=------------ $bNOT NICKSERV$b ------------=", + " $N is $unot$u a NickServ. On AfterNET, ", + " nicknames are not owned. $N allows ", + " you to register a single account to ", + " log in to all channels, seperate from ", + " your nickname. ", + " $b$N$b can tell you what ", + " account a user is authenticated to ", + " using the $bUSERINFO$b command. ", + "=----------- End of Help --------------=" + ); +}; + +"INFORMATION" ("=------- $bInformational commands$b -------=", + " $bACCOUNTINFO$b Displays information about an account.", + " $bUSERINFO$b Display what account an online user is authenticated to.", + " $bSTATUS$b $b$N$b status.", + " $bVERSION$b $b$N$b version information.", + "=----------- End of Help --------------=" + ); + +"OPER" ("=---------- $bIRC Operator Help$b ---------=", + " $bSEARCH$b Search accounts and apply an action.", + " $bRENAME$b Rename an account.", + " $bMERGE$b Merge one account into another.", + " $bOREGISTER$b Create an account for someone else.", + " $bOUNREGISTER$b Remove an account by name.", + "*$bOREGNICK$b Add a nick to someone's account.", + "*$bOUNREGNICK$b Remove a nick from someone's account.", + " $bOADDMASK$b Add a mask to someone's account.", + " $bODELMASK$b Remove a mask from someone's account.", + " $bMERGEDB$b Load a database into memory.", + "=----------- End of Help --------------=" ); -}; + "OUNREGISTER" { "/services/nickserv/disable_nicks" ( @@ -221,23 +294,11 @@ "EMAIL POLICY" { "/services/nickserv/email_enabled" ( "$bEMAIL POLICY", - "FooNET has utmost respect for the privacy of its users. We will submit your email address to as many spam databases as we can find, and we will even post it on our web site.", + "AfterNET has utmost respect for the privacy of its users. We will submit your email address to as many spam databases as we can find, and we will even post it on our web site.", "(No, not really. It looks like somebody forgot to edit nickserv.help or nickserv.help.m4 to remove this entry. Make sure they edit the mail section of srvx.conf while they are at it.)" ); }; -"OTHERS" ("Other commands are:", - " ACCOUNTINFO Displays information about an account.", - " HELP Get help on $b$N$b.", - " MERGE Merge one account into another.", - " MERGEDB Load a database into memory.", - " RENAME Rename an account.", - " STATUS $b$N$b status.", - " SEARCH Search for accounts by various criteria.", - " USERINFO Display the account a user is authenticated to.", - " VERSION $b$N$b version information." - ); - "ADDMASK" ("/msg $N ADDMASK [user@host]", "Adds the specified user@host to the account you are authenticated to with $b$N$b. If no mask is given, it uses your current mask.", "$uSee Also:$u auth, delmask"); @@ -359,7 +420,7 @@ "SET" { "/services/nickserv/email_enabled && /services/nickserv/disable_nicks" ( "/msg $N SET [<setting> [value]]", - "Changes your account settings for srvx. Settings are:", + "Changes your $N account settings. Settings are:", "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.", "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.", "$bEMAIL$b: Sets (or changes) your email address.", @@ -436,20 +497,25 @@ }; "USERINFO" ("/msg $N USERINFO <nick>", "Shows what account the nick specified is authenticated to.", - "$uSee Also:$u auth, accountinfo"); + "$uSee Also:$u auth, accountinfo, account flags"); + "GHOST" ("/msg $N GHOST <nick>", "This disconnects an old client that is authed to your account. This is $bnot$b the same thing as nick ownership; the user $bmust$b be authenticated to the same account you are.", "$uSee Also:$u auth"); + "RENAME" ("/msg $N RENAME <nick|*old-account> <new-account>", "Renames an account.", "This command is only accessible to helpers and IRC operators.", "$uSee Also:$u merge"); + "VACATION" ("/msg $N VACATION", "Marks your account as \"on vacation\" until the next time you authenticate to $N.", "While you are \"on vacation\", your account will not be deleted for inactivity."); + "SEARCH" ("/msg $N SEARCH <action> <criteria> <value> [<criteria> <value>]...", "Searches for accounts matching the critera, and then does something to them.", "$uSee Also:$u search action, search criteria"); + "SEARCH ACTION" ("$bSEARCH ACTION$b", "The following actions are valid:", " PRINT - Print matching accounts", @@ -509,4 +575,4 @@ "MERGEDB" ("/msg $N MERGEDB <dbfilename>", "Merge contents of $bdbfilename$b into in-memory database. Any accounts in both will be $bOVERWRITTEN$b with the information from $bdbfilename$b, although authed users will be authed to the new account.", "This command is only accessible to IRC operators.", - "$uSee Also:$u write"); + "$uSee Also:$u OperServ.write"); Index: srvx2/opserv.help diff -u srvx2/opserv.help:1.1.1.1 srvx2/opserv.help:1.2 --- srvx2/opserv.help:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/opserv.help Thu Jun 10 13:14:32 2004 @@ -1,57 +1,236 @@ -"<INDEX>" ("$b$O Help$b", - "$b$O$b is the IRC operator service, giving authorized users extra information and control over the network.", - "$uNetwork-related command categories:$u", - " USER - User information, control and searching", - " CHANNEL - Channel information and control", - " GLINES - G-line control and searching", - "$usrvx-internal command categories:$u", - " CLONES - Control for fake servers and users", - " LOGS - Log control and searching", - " PROXY - Proxy checking controls", - " RUNNING - Control srvx's run-time state", - " SERVICES - Control of the other services in srvx", - " OTHER - Miscellaneous commands", - "$b/msg $O help <category>$b for a list of commands in each category, or $b/msg $O help <command>$b for syntax and usage for a command."); +"<INDEX>" ("=------------------ $b$O Help$b ------------------=", + " $O provides Oper Services for the Network. ", + " Please choose from the following categories: ", + " $bGOD$b Enabling channel override. ", + " $bPUNISH$b Commands to discipline users.", + " $bINFORMATION$b Get information about users. ", + " or $O, $C, and $N. ", + " $bTRACES$b Powerfull commands for ", + " viewing or acting on lists of", + " IRC objects. ", + " $bALERTS$b Automated responses. ", + " $bCHANNEL$b Channel commands. ", + " $bCLONES$b Manage trusts and limits. ", + " $bSETTINGS$b View and temporarily change ", + " config file settings. ", + " $bADMIN$b Misc Administrator Commands. ", + " $bOWNERONLY$b $O operator only commands. ", + "=---------------- End of Help ----------------=" +); "COMMANDS" "${index}"; -"USER" ("$bUSER COMMANDS$b", - "Search for, gives information on, and gives some control over IRC users.", - "Alerts are a way to automatically detect (and optionally G-line) certain users. For example, a \"gline info sub7server\" alert would G-line any users using \"sub7server\" as their full name (user info field).", - " ACCESS [${level/access}]", - " ADDALERT [${level/addalert}]", - " ADDTRUST [${level/addtrust}]", - " DELALERT [${level/delalert}]", - " DELTRUST [${level/deltrust}]", - " INVITEME [${level/inviteme}]", - " TRACE [${level/trace}]", - " WHOIS [${level/whois}]"); +"PUNISH" ("=------------- $bUser Punishments$b --------------=", + " $bGLINE$b Global Ban a host.", + " $bUNGLINE$b Remove a GLINE.", + " $bBLOCK$b Gline by nickname.", + " $bTRACE GLINE$b Gline all hosts matching a search.", + " $bGTRACE$b Search the gline list.", + " $b$b", + " $bGAG$b Cause the services to ignore... ", + " $bUNGAG$b ...or unignore by mask.", + "=---------------- End of Help ----------------=" + ); + +"INFORMATION" ("=----------- $bInformation Gathering$b -----------=", + " $bACCESS$b Shows a users $O access level.", + " $bSTATS$b Show various lists and runtime info.", + " $bWHOIS$b Show details about a user by nick.", + " $bVERSION$b Show the $O version information.", + " $bLOG$b View $O logs.", + " $bTRACES$b Powerfull commands for viewing or acting on lists of IRC objects.", + "=--------------- End of Help ----------------=" + ); + +"TRACES" ("=------------------ $bTraces$b ------------------=", + " $bTRACE$b Search current users and optionally apply an action.", + " $bGTRACE$b Search current GLINEs and optionally remove them.", + " $bCSEARCH$b Search current channels.", + "=--------------- End of Help ----------------=" + ); + +"ALERTS" ("=------------------ $bAlerts$b ------------------=", + " $bADDALERT$b Make $O automatically do something", + " when users match a criteria.", + " $bDELALERT$b Remove an alert.", + " $bWARN$b Cause activity on a channel to warn", + " $b$b ircops.", + " $bUNWARN$b Remove a channel activity warning.", + "=--------------- End of Help ----------------=" + ); + +"CHANNEL" ("=------------- $bChannel Commands$b -------------=", + " $bOP$b Op someone.", + " $bDEOP$b Deop someone.", + " $bVOICE$b Voice someone.", + " $bDEVOICE$b Devoice someone.", + " $bKICK$b Kick someone.", + " $bBAN$b Ban someone.", + " $bKICKBAN$b Kickban someone.", + " $b$b", + " $bOPALL$b Op everyone in a channel.", + " $bDEOPALL$b Deop everyone in a channel.", + " $bVOICEALL$b Voice everyone in a channel.", + " $bDEVOICEALL$b Devoice everyone in a channel.", + " $bKICKALL$b Kick everyone from a channel.", + " $bKICKBANALL$b Kickban everyone from a channel.", + " $b$b", + " $bINVITE$b Invite someone to a channel.", + " $bINVITEME$b Invite yourself to a channel.", + " $bCLEARBANS$b Cear all bans from a channel.", + " $bCLEARMODES$b Clear all modes from a channel.", + "=--------------- End of Help ----------------=" + ); + +"CLONES" ("=-------------- $bClone handling$b --------------=", + " $bADDTRUST$b Add a clone limit exemption for a host.", + " $bDELTRUST$b Remove a clone exemption.", + " $bEDITTRUST$b Modify a clone exemption.", + " $bquery services/opserv/untrusted_max$b", + " View the clone kill limit", + "=--------------- End of Help ----------------=" + ); + +"SETTINGS" ("=----------------- $bSettings$b -----------------=", + " $bQUERY$b Show a runtime config setting.", + " $bSET$b $uTemporarily$u change a runtime config setting.", + "=--------------- End of Help ----------------=" + ); + +"ADMIN" ("=---------- $bAdministrative Commands$b ---------=", + " $bACCESS$b Modify someone's $O access level.", + " $bCOMMAND$b Show details of a command.", + " $bSHOWCOMMANDS$b List all commands and required access levels.", + " $b$b", + " $bBANEMAIL$b Ban an email address from being used by the email system.", + " $bUNBANEMAIL$b Remove an email ban.", + " $b$b", + " $bJOIN$b Make $O join a channel.", + " $bPART$b Make $O leave a channel.", + " $b$b", + " $bCLONE$b Create and manipulate a fake user.", + " $bCOLLIDE$b Create a clone, colliding an existing user.", + " $bRESERVE$b Permanently reserve a nick with a clone.", + " $bUNRESERVE$b Remove a perminant reserved clone.", + " $bJUPE$b Create dummy server.", + " $bUNJUPE$b Remove a dummy server.", + " $b$b", + " $bREFRESHG$b Refresh the Glines.", + " $bSETTIME$b Synchronize time across the network.", + " $bTIMECMD$b Time how long a command runs.", + "=--------------- End of Help ----------------=" + ); + +"OWNERONLY" ("=------------- $bOwner Only Stuff$b -------------=", + " $bWRITE$b Write out a database.", + " $bWRITEALL$b Write out ALL databases.", + " $bREOPEN$b Close and Re-Open the logs.", + " $bREADHELP$b Re-read a help file.", + " $bDUMPMESSAGES$b Writes messages to a .db file (for translators).", + " $b$b", + " $bREHASH$b Re-read the config files.", + " $bRESTART$b Quit and re-run srvx.", + " $bDIE$b Make the bot quit.", + " $bJUMP$b Change uplink servers.", + " $bRECONNECT$b Reconnect to this uplink server.", + " $bGSYNC$b Pull glines from the givin server into memory.", + " $b$b", + " $bMODCMD$b Change details of a command.", + " $bBIND$b Make a command alias.", + " $bUNBIND$b Remove a command alias.", + " $bHELPFILES$b Change the helpfile priority order.", + " $b$b", + " $bSERVICE ADD$b Create a new service bot.", + " $bSERVICE REMOVE$b Remove a service bot.", + " $bSERVICE RENAME$b Rename a service bot.", + " $bSERVICE PRIVILEGED$b Sets if only opers can use the service.", + " $bSERVICE TRIGGER$b Change the command character of a service.", + " $b$b", + " $bADDBAD$b Add a word to the illegal channel word list.", + " $bDELBAD$b Remove a word from the illegal channel word list.", + " $bADDEXEMPT$b Make an exception to the illegal word list for a channel.", + " $bDELEXEMPT$b Remove an exception of the illegal word list.", + " $b$b", + " $bDUMP$b Drop safetychecked server protocol to the server. ", + " $bRAW$b Draw raw server protocol to the server. (DANGEROUS!)", + "=--------------- End of Help ----------------=" + ); + + "ACCESS" ("/msg $O ACCESS [nick|*account] [new-level]", - "Displays the $O access level for the specified user or account. With no arguments, displays your own access level. With two arguments, sets the target's $O access level to the second argument (assuming you have sufficient access to do so)."); + "Displays the $O access level for the specified user or account. With no arguments, displays your own access level. With two arguments, sets the target's $O access level to the second argument (assuming you have sufficient access to do so).", + "Access level: $b${level/access}$b", + "$uSee Also:$u commands, modcmd" + ); + "ADDALERT" ("/msg $O ADDALERT <name> <reaction> <criteria>", "Adds the specified alert to the $b$O$b alert list.", - "$uSee Also:$u delalert, alert reaction, trace criteria"); + "Alerts watch for users matching a givin criteria and perform an action on them.", + " <name> - An alphanumeric word to identify this alert in the list", + " <reaction> - What to do if a user matches the criteria. See $bALERT REACTION$b.", + " <criteria> - What to look for. See $bTRACE CRITERIA$b.", + "Access level: $b${level/addalert}$b", + "$uSee Also:$u delalert, alert reaction, trace criteria" + ); + +"TIME NOTATION" ("=---------------- $bTime Notation$b ---------------=", + " Many commands require a duration perameter ", + " which all use the same syntax: ", + " 1s - 1 second ", + " 2m - 2 minutes ", + " 3h - 3 hours ", + " 4d - 4 days ", + " 5w - 5 weeks ", + " 6M - 6 months", + " 1y - 1 year", + " Times can be compounded such as: ", + " 1m40s - 1 minute and 40 seconds ", + " 5h20m30s - 5 hours 20 minutes and 30 seconds ", + "=-----------------------------------------------=" + ); + "ADDTRUST" ("/msg $O ADDTRUST <ip> <count> <duration> <reason>", - "Allows the specified IP address to have the specified amount of clones before being removed (rather than the usual limit).", + "Extends the clone kill limit for the specified <ip> to <count> for <duration>.", + "<duration> uses $btime notation$b", "You may use 0 as the duration if you do not wish the trust to ever expire, and 0 as the count for unlimited connections.", - "$uSee Also:$u deltrust, stats trusted"); + "Access level: $b${level/addtrust}$b", + "$uSee Also:$u deltrust, stats trusted, time notation" + ); + "ALERT REACTION" ("$bALERT REACTION$b", "Valid alert actions (to be taken when an alert is hit) are:", "$bNOTICE$b: Send a notice to the $b$O$b alert channel", "$bKILL$b: Disconnect the user", "$bGLINE$b: Gline the user that tripped the alert", - "$uSee Also:$u addalert, delalert"); + "$uSee Also:$u addalert, delalert" + ); + "DELALERT" ("/msg $O DELALERT <alert> [alert]...", "Remove the specified alerts from the $b$O$b alert list.", - "$uSee Also:$u addalert, stats"); + "Access level: $b${level/delalert}$b", + "$uSee Also:$u addalert, stats" + ); + "DELTRUST" ("/msg $O DELTRUST <ip>", "Deletes a trusted IP from $b$O's$b trusted hosts list. A trusted IP address is exempted from normal client limits. A list of currently trusted IPs is displayed by $bstats trusted$b.", - "$uSee Also:$u addtrust, stats"); + "Access level: $b${level/deltrust}$b", + "$uSee Also:$u addtrust, stats" + ); + "INVITEME" ("/msg $O INVITEME [nick]", "Invites the specified user (if omitted, you) to $O's debug channel.", - "This is currently pointless, since no output is sent to the debug channel."); + "This is currently pointless, since no output is sent to the debug channel.", + "Access level: $b${level/inviteme}$b", + "$uSee Also:$u invite, clearmodes, clearbans" + ); + "TRACE" ("/msg $O TRACE <action> <criteria> <value> [<criteria> <value>]...", - "Searches through the current users for those matching the specified criteria, and applies the specified action to them. A list of actions can be found in $bhelp trace action$b and a list of criteria in $bhelp trace criteria$b.", - "$uSee Also:$u trace action, trace criteria"); + "Searches through the current users for those matching the specified criteria, and applies the specified action to them. A detailed list of actions can be found in $bhelp trace action$b and a list of criteria in $bhelp trace criteria$b.", + "Quick Ref ACTIONS: PRINT, COUNT, KILL, GLINE, GAG, DOMAINS", + "Quick Ref CRITERIA: MASK, NICK, IDENT, HOST, INFO, SERVER, IP, ACCOUNT, AUTHED, CHANNEL, NUMCHANNELS, LIMIT, NICKAGE, ACCESS, REASON, DEPTH, DURATION, CLONES, INFO_SPACE, ABUSE OPERS, LOG", + "Access level: $b${level/trace}$b", + "$uSee Also:$u trace action, trace criteria" + ); + "TRACE ACTION" ("$bTRACE ACTION$b", "Options for action in $btrace$b are:", "$bPRINT$b: Display the hostmask to you.", @@ -60,7 +239,10 @@ "$bGLINE$b: Issue a gline for the client's host (by default, 1 hour long).", "$bGAG$b: Gag all matching users (by default, does not expire).", "$bDOMAINS$b: Display counts of users in each domain (length specified by DEPTH criteria.", - "Note: By default, IRC operators are not affected by the KILL, GLINE or GAG actions. You can override this by specifying the $bABUSE OPERS$b criteria for a trace. Even if you do specify $bABUSE OPERS$b, it will not affect opers at your access level or above."); + "Note: By default, IRC operators are not affected by the KILL, GLINE or GAG actions. You can override this by specifying the $bABUSE OPERS$b criteria for a trace. Even if you do specify $bABUSE OPERS$b, it will not affect opers at your access level or above.", + "$uSee Also:$u trace criteria, trace" + ); + "TRACE CRITERIA" ("$bTRACE CRITERIA$b", "Criteria and values for $btrace$b (a search with $btrace$b must match all specified items):", "$bMASK$b nick!user@host Specifies a full hostmask to search for.", @@ -84,150 +266,197 @@ "$bINFO_SPACE$b yes/no Clients match only if their info starts with a space (' ') character.", "$bABUSE OPERS$b Force adverse actions to affect opers as well.", "$bLOG$b Record matching users in $O's log file (in addition to acting).", - "Additionally, the $bCHANNEL$b target may be prefixed with @ to select channel operators, + to select voiced users (will not select chanops unless @ is also used), or - to select non-voiced non-chanop users. For example, CHANNEL #foo will select all users in #foo; CHANNEL +#foo will select only users voiced in #foo; CHANNEL @+#foo will select ops and voiced users in #foo; etc."); + "Additionally, the $bCHANNEL$b target may be prefixed with @ to select channel operators, + to select voiced users (will not select chanops unless @ is also used), or - to select non-voiced non-chanop users. For example, CHANNEL #foo will select all users in #foo; CHANNEL +#foo will select only users voiced in #foo; CHANNEL @+#foo will select ops and voiced users in #foo; etc.", + "$uSee Also:$u trace action, trace" + ); + "WHOIS" ("/msg $O WHOIS <nick>", - "Displays detailed information for the named user."); + "Displays detailed information for the named user.", + "Access level: $b${level/whois}$b", + ); -"CHANNEL" ("$bCHANNEL SUB-CATEGORIES$b", - "Channel information, control, and searching.", - " CHANNEL REACTIONS - Automated reactions based on channel names", - " CHANNEL CONTROL - Channel information and control", - "There are also some miscellaneous channel-related commands:", - " CHANINFO [${level/chaninfo}]", - " CSEARCH [${level/csearch}]", - " JOIN [${level/join}]", - " PART [${level/part}]"); "CHANINFO" ("/msg $O CHANINFO <#channel> [users]", "Displays very detailed information on the specified channel. If the channel is omitted, then $bchaninfo$b will be done on the channel where the command was given. You must give a second parameter ($busers$b) to list users in the channel.", - "$uSee Also:$u whois"); + "Access level: $b${level/chaninfo}$b", + "$uSee Also:$u whois" + ); + "CSEARCH" ("/msg $O CSEARCH <action> <criteria> <value> [<criteria> <value>]...", "Searches through the network's channels for those matching the s... [truncated message content] |
From: Alex S. <ru...@us...> - 2004-06-10 06:30:23
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-06-10 06:30:14 UTC Modified files: source/parse.c Log message: Apparently, in nefarious, umode +h in a burst does NOT include an argument. ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.86 x2/source/parse.c:1.87 --- x2/source/parse.c:1.86 Wed Jun 9 16:33:03 2004 +++ x2/source/parse.c Wed Jun 9 23:30:04 2004 @@ -425,10 +425,12 @@ { account = (char *) strtok(NULL, " "); /* This user has an account set from another service */ } + /* if(strchr(modes, 'h')) { - hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask (asuka only) */ + hiddenhost = (char *) strtok(NULL, " "); * This user has an hidden hostmask (asuka only) * } + */ if(strchr(modes, 'f')) { hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask */ ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-09 23:40:48
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-06-09 23:40:41 UTC Modified files: source/chan.c source/config.h source/server.c Log message: Forward ported channel expiration improvements from stable branch ---------------------- diff included ---------------------- Index: x2/source/chan.c diff -u x2/source/chan.c:1.88 x2/source/chan.c:1.89 --- x2/source/chan.c:1.88 Wed Jun 9 16:33:03 2004 +++ x2/source/chan.c Wed Jun 9 16:40:31 2004 @@ -2023,8 +2023,11 @@ NextChanPtr = TempChanPtr->Next; if((TempChanPtr->Regged) && !(TempChanPtr->settings[NODELETE]) && (TempChanPtr->LastAccess > 0)) /* If its not marked nodelete */ { - /* CHANEXPIREDAYS */ - if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANEXPIREDAYS) /* older than CHANEXPIREDAYS days */ + /* CHANEXPIRE */ + if ( ( (time(NULL) - TempChanPtr->LastAccess) > 3600 * CHANEXPIREHOURS ) /* older than CHANEXPIREhours hours */ + || ( ((time(NULL) - TempChanPtr->LastAccess) > 3600 * NEWCHANEXPIREHOURS) + && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + ) { Debug(DBGNOTICE, "Channel %s not visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); @@ -2045,8 +2048,11 @@ send_to_user(uptr, "Removing %s", TempChanPtr->Name); UnregExpired(TempChanPtr); } - /* CHANWARNEXPIREDAYS */ - if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANWARNEXPIREDAYS) + else if ( /* CHAN WARN EXPIRE */ + ( (time(NULL) - TempChanPtr->LastAccess) > 3600 * (CHANEXPIREHOURS-CHANWARNEXPIREHOURS) ) + || ( ((time(NULL) - TempChanPtr->LastAccess) > 3600 * (NEWCHANEXPIREHOURS-CHANWARNEXPIREHOURS) ) + && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + ) { Debug(DBGNOTICE, "Channel %s not visited since %lu. Setting a warning topic.", TempChanPtr->Name, TempChanPtr->LastAccess); /* First, change the topic */ @@ -2060,23 +2066,7 @@ /* Save */ WriteChanOpFile(TempChanPtr); } - /* NEWCHANEXPIREDAYS */ - if( ((time(NULL) - TempChanPtr->LastAccess) > 86400 * NEWCHANEXPIREDAYS) && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) - { - Debug(DBGINFO, "Channel %s never visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); - logfile = fopen(ExpiredChanLog, "a"); - if(logfile != 0) - { - ct = time(NULL); - strcpy(tmp, ctime(&ct)); - tmp[strlen(tmp) - 1] = '\0'; - strcpy(lvistime, ctime(&TempChanPtr->LastAccess)); - fprintf(logfile, ":%s: Channel %s removed, never visited since %s", tmp, - TempChanPtr->Name, lvistime); - fclose(logfile); - } - UnregExpired(TempChanPtr); - } + } TempChanPtr = NextChanPtr; } Index: x2/source/config.h diff -u x2/source/config.h:1.76 x2/source/config.h:1.77 --- x2/source/config.h:1.76 Wed Jun 9 16:33:03 2004 +++ x2/source/config.h Wed Jun 9 16:40:31 2004 @@ -185,15 +185,17 @@ /* #define HAVE_SSL_MODE_z */ /* Channels unvisited by (co)owner will be automatically - * removed when they reach this many days old. + * removed when they reach this many hours since the last + * owner/co-owner login. */ -#define CHANEXPIREDAYS 30 -/* unreg new never-logged-into channels in __ days */ -#define NEWCHANEXPIREDAYS 4 -/* Warn of impending expiration in __ days*/ -#define CHANWARNEXPIREDAYS 28 +#define CHANEXPIREHOURS (30 * 24) +/* unreg new never-logged-into channels in this many hours */ +#define NEWCHANEXPIREHOURS 2 +/* Warn of impending expiration this many + * hours before expiration */ +#define CHANWARNEXPIREHOURS 72 /* Warning message */ -#define CHANWARNMESSAGE "ATTENTION: This channel is going to expire soon! An Owner or CoOwner needs to log in!" +#define CHANWARNMESSAGE "ATTENTION: This channel will expire soon due to inactivity! '/msg x2 help expire' for details." /* This time stamp is used as the date registered channels were created in X2. * It should be older then the oldest channel on the network, or X2 wont get Index: x2/source/server.c diff -u x2/source/server.c:1.22 x2/source/server.c:1.23 --- x2/source/server.c:1.22 Thu Oct 23 19:50:18 2003 +++ x2/source/server.c Wed Jun 9 16:40:31 2004 @@ -116,7 +116,7 @@ char addy[MAXLEN]; char *a = addy; - Debug(DBGINFO, "Testing %s versus %s", gptr->address, ur); + /*Debug(DBGINFO, "Testing %s versus %s", gptr->address, ur); */ strcpy(addy, gptr->address); buff = (char *) mysep(&a, "@"); buff = mysep(&a, "$"); ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-09 23:33:23
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-06-09 23:33:13 UTC Modified files: source/chan.c source/commands.c source/config.h source/help.c source/parse.c source/parse.h source/set.c source/user.c Log message: Improved compatability with ircu/nefarious modes ---------------------- diff included ---------------------- Index: x2/source/chan.c diff -u x2/source/chan.c:1.87 x2/source/chan.c:1.88 --- x2/source/chan.c:1.87 Tue Mar 16 20:43:03 2004 +++ x2/source/chan.c Wed Jun 9 16:33:03 2004 @@ -841,6 +841,48 @@ *modeptr = *modeptr | CMODEm; *optr = *optr & ~CMODEm; break; + case 'r': + *modeptr = *modeptr | CMODEr; + *optr = *optr & ~CMODEr; + break; + case 'c': + *modeptr = *modeptr | CMODEc; + *optr = *optr & ~CMODEc; + break; + case 'S': + *modeptr = *modeptr | CMODES; + *optr = *optr & ~CMODES; + break; + case 'C': + *modeptr = *modeptr | CMODEC; + *optr = *optr & ~CMODEC; + break; + case 'M': + *modeptr = *modeptr | CMODEM; + *optr = *optr & ~CMODEM; + break; + case 'N': + *modeptr = *modeptr | CMODEN; + *optr = *optr & ~CMODEN; + break; + case 'O': + *modeptr = *modeptr | CMODEO; + *optr = *optr & ~CMODEO; + break; + case 'Q': + *modeptr = *modeptr | CMODEQ; + *optr = *optr & ~CMODEQ; + break; +#ifdef HAVE_SSL_MODE_z + case 'z': + *modeptr = *modeptr | CMODEz; + *optr = *optr & ~CMODEz; + break; +#endif + case 'T': + *modeptr = *modeptr | CMODET; + *optr = *optr & ~CMODET; + break; case 'k': if (modeptr == MinModes) { @@ -1589,10 +1631,10 @@ free(UpCaseChan); } -char *ConvertChanMode(char *StrModes, unsigned char Modes) +char *ConvertChanMode(char *StrModes, int Modes) { - unsigned char Mode; + int Mode; char *tmp; tmp = StrModes; @@ -1628,6 +1670,49 @@ if ((Mode & Modes) != 0) *StrModes++ = 'l'; + Mode = CMODEr; + if ((Mode & Modes) != 0) + *StrModes++ = 'r'; + + Mode = CMODEc; + if ((Mode & Modes) != 0) + *StrModes++ = 'c'; + + Mode = CMODES; + if ((Mode & Modes) != 0) + *StrModes++ = 'S'; + + Mode = CMODEC; + if ((Mode & Modes) != 0) + *StrModes++ = 'C'; + + Mode = CMODEM; + if ((Mode & Modes) != 0) + *StrModes++ = 'M'; + + Mode = CMODEN; + if ((Mode & Modes) != 0) + *StrModes++ = 'N'; + + Mode = CMODEO; + if ((Mode & Modes) != 0) + *StrModes++ = 'O'; + + Mode = CMODEQ; + if ((Mode & Modes) != 0) + *StrModes++ = 'Q'; + +#ifdef HAVE_SSL_MODE_z + Mode = CMODEz; + if ((Mode & Modes) != 0) + *StrModes++ = 'z'; +#endif + + + Mode = CMODET; + if ((Mode & Modes) != 0) + *StrModes++ = 'T'; + *StrModes = '\0'; return (tmp); } Index: x2/source/commands.c diff -u x2/source/commands.c:1.181 x2/source/commands.c:1.182 --- x2/source/commands.c:1.181 Tue Mar 16 20:43:03 2004 +++ x2/source/commands.c Wed Jun 9 16:33:03 2004 @@ -4672,10 +4672,11 @@ boolean Oper; char *UpCaseStr; char HelpFilePath[LINEBUFFSIZE]; - char* Comm; + char* Comm = NULL; Oper = IsOper(uptr); - Comm = strtok(rest, " "); + if(rest && *rest) + Comm = strtok(rest, " "); if (Comm && (strchr(Comm, '/') || strchr(Comm, '.'))) { @@ -4694,7 +4695,7 @@ } else { - send_to_user(uptr, "The operator help file is not available at the moment."); + send_to_user(uptr, "The operator help file is not available at the moment (%s).", strerror(errno)); return(FALSE); } } @@ -4708,7 +4709,7 @@ } else { - send_to_user(uptr, "The user help file is not available at the moment."); + send_to_user(uptr, "The user help file is not available at the moment (%s).", strerror(errno)); return(FALSE); } } Index: x2/source/config.h diff -u x2/source/config.h:1.75 x2/source/config.h:1.76 --- x2/source/config.h:1.75 Tue Mar 16 20:43:03 2004 +++ x2/source/config.h Wed Jun 9 16:33:03 2004 @@ -67,9 +67,8 @@ #define GATEURL "http://www.afternet.org/support/proxy.html" /* Uncomment the following for debugging. - * - * #define debugon */ +/* #define debugon */ /* If you dont want the word warez in channel names, define this. * TODO : This is a hack, and would do better in a config file. Do it! @@ -181,6 +180,10 @@ #define MAXRECVLEN 2000 #define MAXLINELEN 300 +/* Enable this if your ircu has ssl compiled in (mode +z) + */ +/* #define HAVE_SSL_MODE_z */ + /* Channels unvisited by (co)owner will be automatically * removed when they reach this many days old. */ @@ -206,6 +209,13 @@ /* These are for channel mode parsing */ #define NOMODES 0 +#define CMODET 1048576 +#define CMODEz 524288 +#define CMODEQ 262144 +#define CMODEO 131072 +#define CMODEN 65536 +#define CMODEM 32768 +#define CMODES 16384 #define CMODEu 8192 #define CMODEC 4096 #define CMODEc 2048 @@ -222,6 +232,7 @@ #define CMODEm 1 /* These are for User mode parsing.. */ +#define UMODEf 16384 #define UMODEh 8192 #define UMODEB 4096 #define UMODEaway 2048 Index: x2/source/help.c diff -u x2/source/help.c:1.1 x2/source/help.c:1.2 --- x2/source/help.c:1.1 Fri Mar 2 06:06:26 2001 +++ x2/source/help.c Wed Jun 9 16:33:03 2004 @@ -1,6 +1,6 @@ #include "config.h" -HelpSub(char *Target, char *Source) +int HelpSub(char *Target, char *Source) { char* ptr; int i; @@ -51,6 +51,7 @@ Target++; } *Target=0; + return 0; } int ShowCommHelp(UserListType uptr, FILE * HelpFile) Index: x2/source/parse.c diff -u x2/source/parse.c:1.85 x2/source/parse.c:1.86 --- x2/source/parse.c:1.85 Wed Jun 9 13:09:01 2004 +++ x2/source/parse.c Wed Jun 9 16:33:03 2004 @@ -99,6 +99,7 @@ { "OM", m_noop, TRUE, TRUE }, { "CM", m_noop, TRUE, TRUE }, { "402", m_noop, TRUE, TRUE }, + { "FA", m_sethost, TRUE, FALSE }, { NULL, NULL, FALSE, FALSE } }; /* *INDENT-ON* */ @@ -121,6 +122,12 @@ return(0); } +int m_sethost(M_PARAMS) +{ + /* TODO: Change the host part of the structure */ + return(0); +} + int m_notice(M_PARAMS) { char* to; @@ -189,6 +196,7 @@ { char* to; char CSHOST[MAXLEN]; + char buff[MAXLEN]; to = (char *) strtok(rest, " "); rest = (char *) strtok(NULL, "\r\n\0"); @@ -197,7 +205,10 @@ sprintf(CSHOST, "%s@%s", IrcNick, ServiceName); if(!strcasecmp(to, CSHOST)) - strcpy(to, NumNick); + { + to = buff; + strcpy(buff, NumNick); + } if(to[0] == '#') { if(rest[0] == CommandMark) @@ -385,7 +396,7 @@ int m_nick(M_PARAMS) { char* Arg[9]; - char* modes, *account, *hiddenhost; + char* modes, *account, *hiddenhost, *modef; UserListType UserPtr; unsigned int IP; @@ -418,6 +429,10 @@ { hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask (asuka only) */ } + if(strchr(modes, 'f')) + { + hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask */ + } Arg[6] = (char *) strtok(NULL, " "); /* Compressed IP */ } else Index: x2/source/parse.h diff -u x2/source/parse.h:1.11 x2/source/parse.h:1.12 --- x2/source/parse.h:1.11 Thu Jun 12 20:03:51 2003 +++ x2/source/parse.h Wed Jun 9 16:33:03 2004 @@ -27,4 +27,5 @@ int m_quit(M_PARAMS); int m_kill(M_PARAMS); int m_squit(M_PARAMS); +int m_sethost(M_PARAMS); Index: x2/source/set.c diff -u x2/source/set.c:1.6 x2/source/set.c:1.7 --- x2/source/set.c:1.6 Thu Feb 13 00:25:58 2003 +++ x2/source/set.c Wed Jun 9 16:33:03 2004 @@ -342,7 +342,7 @@ ConvertModeString(param, &cptr->PlusModes, &cptr->MinModes, &cptr->Key, &cptr->Limit); if(cptr->settings[INCHAN]) { - send_chanmode(cptr, "-k %s", cptr->CurrentKey); + /* ircu doesnt require this anymore: send_chanmode(cptr, "-k %s", cptr->CurrentKey); */ send_chanmode(cptr, "%s", GetModeString(ModeString, cptr->PlusModes, cptr->MinModes, cptr->Key, cptr->Limit)); } Index: x2/source/user.c diff -u x2/source/user.c:1.35 x2/source/user.c:1.36 --- x2/source/user.c:1.35 Sat Jun 14 13:24:18 2003 +++ x2/source/user.c Wed Jun 9 16:33:03 2004 @@ -569,6 +569,8 @@ case 'R': UserMode = UMODER; break; + case 'f': + UserMode = UMODEf; case '-': Operator = ch; break; ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-09 20:09:19
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-06-09 20:09:12 UTC Modified files: source/parse.c Log message: fixing typeo ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.84 x2/source/parse.c:1.85 --- x2/source/parse.c:1.84 Tue Mar 16 20:43:03 2004 +++ x2/source/parse.c Wed Jun 9 13:09:01 2004 @@ -98,7 +98,7 @@ { "SH", m_noop, FALSE, TRUE }, { "OM", m_noop, TRUE, TRUE }, { "CM", m_noop, TRUE, TRUE }, - { "402", m_noop, TRUE, TRUE ), + { "402", m_noop, TRUE, TRUE }, { NULL, NULL, FALSE, FALSE } }; /* *INDENT-ON* */ ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-04 21:39:41
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : srvx2 Commit time: 2004-06-04 21:39:34 UTC Modified files: src/modcmd.help src/nickserv.help src/opserv.help Log message: Redesigned the OpServ help organization ---------------------- diff included ---------------------- Index: srvx2/src/modcmd.help diff -u srvx2/src/modcmd.help:1.1.1.1 srvx2/src/modcmd.help:1.2 --- srvx2/src/modcmd.help:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/modcmd.help Fri Jun 4 14:39:23 2004 @@ -1,30 +1,39 @@ "bind" ("/msg $S BIND <service> <bindname> <command> [additional args..]", "Binds (adds) a command to an existing service. $bbindname$b is the name of the new command for the service. $bcommand$b may be one of:", " CommandName To refer to a command on the same service.", - " ServiceNick.CommandName To refer to a command bound on a different service.", + " ServiceNick.CommandName To refer to a command bound on a different service such as $O, $C, $N, etc.", " *ModuleName.CommandName To bind a command directly from a module (note the asterisk before the module name).", - " *ModuleName.* To bind all commands from the named module.", + " *ModuleName.* To bind all commands from the named module, where ModuleName is one of OpServ, NickServ, ChanServ, modcmd, or others.", "For simplicity, you cannot bind to a command that is itself an alias. Certain commands will not bound with the last form; you must bind them by name.", "(A command binding is very similar to an alias, but only pays the speed penalty for alias expansion when there are additional arguments in the binding.)", - "$uSee also:$u unbind"); + "If you want to be able to bind $bfoo bar$b as a command, you need to bind $bfoo$b to modcmd.joiner first.", + "$uSee also:$u unbind, joiner"); + "commands" "${index}"; + "god" ("/msg $C GOD [on|off]", "Toggles security override, which grants you complete access to all channels. Please use carefully."); + "help" ("/msg $S HELP [command]", "Help will show you the information for the given command.", "All help files will use the same syntax, with optional parameters listed in [] and required parameters listed in <>.", "To see what commands are available for use with $S, type /msg $S help commands. For help on any specific command or topic, type /msg $S help command."); + "readhelp" ("/msg $S READHELP <module>", "Re-reads the module's help file from disk.", "$uSee Also:$u help"); + "unbind" ("/msg $S UNBIND <service> <command>", "Unbinds a command from a service, so that it is no longer accessible.", "Some commands (such as $bauth$b and $bbind$b) will not let you unbind their last binding -- for obvious reasons.", "$uSee Also:$u bind"); + "timecmd" ("/msg $S TIMECMD <command and args>", "Reports how long it takes to run the specified command."); + "command" ("/msg $S COMMAND <command>", "Shows the restrictions on who can use the named command (and how)."); + "modcmd" ("/msg $S MODCMD <command> [<option> <newval> ...]", "Displays options for the specified command, or changes the options and values listed. The command name may be prefixed with $bServiceNick.$b to specify another service's command (for example, $N.AUTH to refer to the auth command).", "Supported options are:", @@ -33,6 +42,7 @@ " OPER_ACCESS Minimum OpServ access.", " ACCOUNT_FLAGS Account flags to require or deny (for example, +R-S)", "See the $bmodcmd flags$b help entry for a list of supported flags."); + "modcmd flags" ("The following flags are supported for commands:", " ACCEPTCHAN Treat a normal channel name (if specified) as the context for the command", " ACCEPTPLUSCHAN Accept modeless channel names as well as normal channel names", @@ -53,36 +63,47 @@ " SUPPORTHELPER Allow support helpers to use the command", " TOY Command is a toy (cannot be invoked on a channel from outside the channel)", "Note: If any of SUPPORTHELPER, NETWORKHELPER, OPER, any of the specified flags is considered sufficient. For example, NETWORKHELPER and OPER both specified means both network helpers and opers can use the command."); + "joiner" ("/msg $S JOINER [subcmd ...]", - "Magically looks up subcommands and redirects to them. Use the command by itself to see what subcommands are known."); + "Magically looks up subcommands and redirects to them. Use the command by itself to see what subcommands are known.", + "joiner is used with BIND to make complex subcommands."); + "stats modules" ("/msg $S STATS MODULES [modulename]", "With no module name argument, shows a list of loaded modules and brief statistics for each.", "When a module name is given, shows commands exported by that module.", "$uSee Also:$u stats services, command, modcmd, bind"); + "stats services" ("/msg $S STATS SERVICES [botnick]", "With no bot nick argument, shows a list of the service bots using the unified command framework, and brief statistics for each.", "When a bot nick is given, shows commands bound to that service.", "$uSee Also:$u stats modules, command, modcmd, bind, unbind"); + "showcommands" ("/msg $S SHOWCOMMANDS [opserv-access] [channel-access]", "Shows commands which you can execute (with their required access levels). If you give a numeric $O access level or text $C access name, it further restricts output to only show commands which can be executed by users with that access.", "$uSee Also:$u command"); + "helpfiles" ("/msg $S HELPFILES <service> [module list]", "With only a service nick, shows the helpfiles used by that service.", "With a list of modules, sets the order that the service will look up non-command help entries.", "$uSee Also:$u bind, unbind"); + "service add" ("/msg $S SERVICE ADD <nick> <hostname> <description>", "Creates a new service bot.", "$uSee Also:$u service rename, service trigger, service remove"); + "service rename" ("/msg $S SERVICE RENAME <oldnick> <newnick>", "Renames a service bot. Currently does not support the default services.", "$uSee Also:$u service add, service trigger, service remove"); + "service trigger" ("/msg $S SERVICE TRIGGER <nick> [remove|<trigger>]", "Sets or clears the trigger character that the named service uses to identify in-channel messages directed at it.", "To remove a trigger, use the word $bremove$b (or $bnone$b) as the argument. Otherwise, the first letter of the argument will be used as the new trigger.", "If no argument is given, shows the current trigger for the service.", "$uSee Also:$u service add, service rename, service remove"); + "service remove" ("/msg $S SERVICE REMOVE <nick> [<quit reason>]", "Destroys a service. If a default service is named, it will be recreated when srvx restarts.", "$uSee Also:$u service add, service rename, service trigger"); + "version" ("/msg $S version", "Sends you version and copyright information for this software."); Index: srvx2/src/nickserv.help diff -u srvx2/src/nickserv.help:1.1.1.1 srvx2/src/nickserv.help:1.2 --- srvx2/src/nickserv.help:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/nickserv.help Fri Jun 4 14:39:23 2004 @@ -1,44 +1,70 @@ "<INDEX>" { "/services/nickserv/disable_nicks" { "/services/nickserv/email_enabled" ( - "$b$N Help$b", - "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.", - "$b$N$b command categories:", - " ACCOUNT Account management.", - " NOT NICKSERV A note on what this service does and does not do.", - " EMAIL Email maintenance commands.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + "=------------ $b$N Help$b -----------=", + " $b$N$b is an authentication service, ", + " intended to serve as a central ", + " authentication point for all other ", + " network services. $b$C$b, $b$O$b, and ", + " $b$G$b all depend on ", + " $b$N$b to verify that users are valid.", + " $b$b", + " $b$N$b help categories:", + " $bACCOUNT$b Account management.", + " $bEMAIL$b Email maintenance commands.", + " $bINFORMATION$b Other functions.", + " $bOPER$b $N commands for IRC Operators.", + "$b$b", + " $b$N is $uNOT$u a NickServ$b! ", + " see $b/msg $N HELP NOT NICKSERV$b ", + " for details ", + "=--------------------------------------=" ); "!/services/nickserv/email_enabled" ( - "$b$N Help$b", - "$b$N$b is an authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid.", - "$b$N$b command categories:", - " ACCOUNT Account management.", - " NOT NICKSERV A note on what this service does and does not do.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + "=------------ $b$N Help$b -----------=", + " $b$N$b is an authentication service, ", + " intended to serve as a central ", + " authentication point for all other ", + " network services. $b$C$b, $b$O$b, and ", + " $b$G$b all depend on ", + " $b$N$b to verify that users are valid.", + " $b$b", + " $b$N$b help categories:", + " $bACCOUNT$b Account management.", + " $bINFORMATION$b Other functions.", + " $bOPER$b $N commands for IRC Operators.", + "$b$b", + " $b$N is $uNOT$u a NickServ$b! ", + " see $b/msg $N HELP NOT NICKSERV$b ", + " for details ", + "=--------------------------------------=" ); }; "!/services/nickserv/disable_nicks" { "/services/nickserv/email_enabled" ( + "=------------ $b$N Help$b -----------=", "$b$N Help$b", "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. It also manages nickname ownership.", "$b$N$b command categories:", - " ACCOUNT Account management.", - " NICK Nick management.", - " EMAIL Email maintenance commands.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + " ACCOUNT Account management.", + " NICK Nick management.", + " EMAIL Email maintenance commands.", + " INFORMATION Other functions.", + " COMMANDS A list of all available commands.", + " OPER $N commands for IRC Operators.", + "=----------- End of Help --------------=" ); "!/services/nickserv/email_enabled" ( + "=------------ $b$N Help$b -----------=", "$b$N Help$b", "$b$N$b is a nickname and authentication service, intended to serve as a central authentication point for all other network services. $b$C$b, $b$O$b, and $b$G$b all depend on $b$N$b to verify that users are valid. It also manages nickname ownership.", "$b$N$b command categories:", - " ACCOUNT Account management.", - " NICK Nick management.", - " OTHERS Other functions.", - " COMMANDS A list of all available commands." + " ACCOUNT Account management.", + " NICK Nick management.", + " INFORMATION Other functions.", + " COMMANDS A list of all available commands.", + " OPER $N commands for IRC Operators.", + "=----------- End of Help --------------=" ); }; }; @@ -47,42 +73,89 @@ "ACCOUNT" { "/services/nickserv/enable_ghost" ( - "Accounts are the way that $b$C$b identifies you for access to channels. They are slightly similar to IRC nicks, but only have meaning to the services bots. Until you authenticate to $b$N$b on an account, you can only use the $bREGISTER$b and $bAUTH$b commands.", - "Account management commands are:", - " REGISTER Register a new account.", - " AUTH Authenticate yourself to $b$N$b using an existing account.", - " PASS Change your account's password.", - " ADDMASK Add a hostmask to your account.", - " DELMASK Remove a hostmask from your account.", - " SET Set per-account options.", - " UNREGISTER Unregister an account.", - " GHOST Disconnects your old clients", - " ACCOUNT FLAGS Definition for each account flag" + "=------------ $bACCOUNT Help$b -----------=", + " Accounts are the way that $b$C$b ", + " identifies you for access to channels. ", + " They are slightly similar to IRC nicks, ", + " but only have meaning to the services ", + " bots. Until you authenticate to $b$N$b ", + " on an account, you can only use the ", + " $bREGISTER$b and $bAUTH$b commands. ", + "$b$b", + " Account management commands are:", + " $bREGISTER$b Register a new account.", + " $bUNREGISTER$b Unregister an account.", + " $bAUTH$b Authenticate yourself to $b$N$b using an existing account.", + " $bPASS$b Change your account's password.", + " $bADDMASK$b Add a hostmask to your account.", + " $bDELMASK$b Remove a hostmask from your account.", + " $bSET$b Set per-account options.", + " $bGHOST$b Disconnects your old clients", + " $bACCOUNT FLAGS$b Definition for each account flag", + "=----------- End of Help --------------=" ); "!/services/nickserv/enable_ghost" ( - "Accounts are the way that $b$C$b identifies you for access to channels. They are slightly similar to IRC nicks, but only have meaning to the services bots. Until you authenticate to $b$N$b on an account, you can only use the $bREGISTER$b and $bAUTH$b commands.", - "Account management commands are:", - " REGISTER Register a new account.", - " AUTH Authenticate yourself to $b$N$b using an existing account.", - " PASS Change your account's password.", - " ADDMASK Add a hostmask to your account.", - " DELMASK Remove a hostmask from your account.", - " SET Set per-account options.", - " UNREGISTER Unregister an account.", - " RENAME Renames an account", - " ACCOUNT FLAGS Definition for each account flag" + "=------------ $bACCOUNT Help$b -----------=", + " Accounts are the way that $b$C$b ", + " identifies you for access to channels. ", + " They are slightly similar to IRC nicks, ", + " but only have meaning to the services ", + " bots. Until you authenticate to $b$N$b ", + " on an account, you can only use the ", + " $bREGISTER$b and $bAUTH$b commands. ", + "$b$b", + " Account management commands are: ", + " $bREGISTER$b Register a new account.", + " $bUNREGISTER$b Unregister an account.", + " $bAUTH$b Authenticate yourself to ", + " $b$N$b using an existing account.", + " $bPASS$b Change your account's password.", + " $bADDMASK$b Add a hostmask to your account.", + " $bDELMASK$b Remove a hostmask from your account.", + " $bSET$b Set per-account options.", + " $bRENAME$b Renames an account", + " $bACCOUNT FLAGS$b Definition for each account flag", + "=----------- End of Help --------------=" ); }; "NOT NICKSERV" { - "/services/nickserv/disable_nicks" ( - "$bNOT NICKSERV$b", - "This $b$N$b is not a standard NickServ.", - "Most NickServs provide \"nick ownership\", and will either issue a /KILL or a forced nick change if you try to use a registered nick without providing the password.", - "This $b$N$b will not do this. It only allows you to register an $baccount$b, which identifies users to $b$C$b. In a way, it is a virtual nick. When you authenticate to $b$N$b, it does not care what your IRC nick is -- only account you are logged in as.", - "$b$N$b can tell you what account a user is authenticated to using the $bUSERINFO$b command. Any problems with account registration or $b$N$b should be directed to the normal support channel." + "/services/nickserv/disable_nicks" ( + "=------------ $bNOT NICKSERV$b ------------=", + " $N is $unot$u a NickServ. On AfterNET, ", + " nicknames are not owned. $N allows ", + " you to register a single account to ", + " log in to all channels, seperate from ", + " your nickname. ", + " $b$N$b can tell you what ", + " account a user is authenticated to ", + " using the $bUSERINFO$b command. ", + "=----------- End of Help --------------=" + ); +}; + +"INFORMATION" ("=------- $bInformational commands$b -------=", + " $bACCOUNTINFO$b Displays information about an account.", + " $bUSERINFO$b Display what account an online user is authenticated to.", + " $bSTATUS$b $b$N$b status.", + " $bVERSION$b $b$N$b version information.", + "=----------- End of Help --------------=" + ); + +"OPER" ("=---------- $bIRC Operator Help$b ---------=", + " $bSEARCH$b Search accounts and apply an action.", + " $bRENAME$b Rename an account.", + " $bMERGE$b Merge one account into another.", + " $bOREGISTER$b Create an account for someone else.", + " $bOUNREGISTER$b Remove an account by name.", + "*$bOREGNICK$b Add a nick to someone's account.", + "*$bOUNREGNICK$b Remove a nick from someone's account.", + " $bOADDMASK$b Add a mask to someone's account.", + " $bODELMASK$b Remove a mask from someone's account.", + " $bMERGEDB$b Load a database into memory.", + "=----------- End of Help --------------=" ); -}; + "OUNREGISTER" { "/services/nickserv/disable_nicks" ( @@ -221,23 +294,11 @@ "EMAIL POLICY" { "/services/nickserv/email_enabled" ( "$bEMAIL POLICY", - "FooNET has utmost respect for the privacy of its users. We will submit your email address to as many spam databases as we can find, and we will even post it on our web site.", + "AfterNET has utmost respect for the privacy of its users. We will submit your email address to as many spam databases as we can find, and we will even post it on our web site.", "(No, not really. It looks like somebody forgot to edit nickserv.help or nickserv.help.m4 to remove this entry. Make sure they edit the mail section of srvx.conf while they are at it.)" ); }; -"OTHERS" ("Other commands are:", - " ACCOUNTINFO Displays information about an account.", - " HELP Get help on $b$N$b.", - " MERGE Merge one account into another.", - " MERGEDB Load a database into memory.", - " RENAME Rename an account.", - " STATUS $b$N$b status.", - " SEARCH Search for accounts by various criteria.", - " USERINFO Display the account a user is authenticated to.", - " VERSION $b$N$b version information." - ); - "ADDMASK" ("/msg $N ADDMASK [user@host]", "Adds the specified user@host to the account you are authenticated to with $b$N$b. If no mask is given, it uses your current mask.", "$uSee Also:$u auth, delmask"); @@ -359,7 +420,7 @@ "SET" { "/services/nickserv/email_enabled && /services/nickserv/disable_nicks" ( "/msg $N SET [<setting> [value]]", - "Changes your account settings for srvx. Settings are:", + "Changes your $N account settings. Settings are:", "$bANNOUNCEMENTS$b: Indicates whether you wish to receive community announcements via the $G service.", "$bCOLOR$b: If set, $b$N$b and $b$C$b will use $bbold$b and $uunderlines$u in text they send you.", "$bEMAIL$b: Sets (or changes) your email address.", @@ -436,20 +497,25 @@ }; "USERINFO" ("/msg $N USERINFO <nick>", "Shows what account the nick specified is authenticated to.", - "$uSee Also:$u auth, accountinfo"); + "$uSee Also:$u auth, accountinfo, account flags"); + "GHOST" ("/msg $N GHOST <nick>", "This disconnects an old client that is authed to your account. This is $bnot$b the same thing as nick ownership; the user $bmust$b be authenticated to the same account you are.", "$uSee Also:$u auth"); + "RENAME" ("/msg $N RENAME <nick|*old-account> <new-account>", "Renames an account.", "This command is only accessible to helpers and IRC operators.", "$uSee Also:$u merge"); + "VACATION" ("/msg $N VACATION", "Marks your account as \"on vacation\" until the next time you authenticate to $N.", "While you are \"on vacation\", your account will not be deleted for inactivity."); + "SEARCH" ("/msg $N SEARCH <action> <criteria> <value> [<criteria> <value>]...", "Searches for accounts matching the critera, and then does something to them.", "$uSee Also:$u search action, search criteria"); + "SEARCH ACTION" ("$bSEARCH ACTION$b", "The following actions are valid:", " PRINT - Print matching accounts", @@ -509,4 +575,4 @@ "MERGEDB" ("/msg $N MERGEDB <dbfilename>", "Merge contents of $bdbfilename$b into in-memory database. Any accounts in both will be $bOVERWRITTEN$b with the information from $bdbfilename$b, although authed users will be authed to the new account.", "This command is only accessible to IRC operators.", - "$uSee Also:$u write"); + "$uSee Also:$u OperServ.write"); Index: srvx2/src/opserv.help diff -u srvx2/src/opserv.help:1.1.1.1 srvx2/src/opserv.help:1.2 --- srvx2/src/opserv.help:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/opserv.help Fri Jun 4 14:39:23 2004 @@ -1,57 +1,205 @@ -"<INDEX>" ("$b$O Help$b", - "$b$O$b is the IRC operator service, giving authorized users extra information and control over the network.", - "$uNetwork-related command categories:$u", - " USER - User information, control and searching", - " CHANNEL - Channel information and control", - " GLINES - G-line control and searching", - "$usrvx-internal command categories:$u", - " CLONES - Control for fake servers and users", - " LOGS - Log control and searching", - " PROXY - Proxy checking controls", - " RUNNING - Control srvx's run-time state", - " SERVICES - Control of the other services in srvx", - " OTHER - Miscellaneous commands", - "$b/msg $O help <category>$b for a list of commands in each category, or $b/msg $O help <command>$b for syntax and usage for a command."); +"<INDEX>" ("=------------------ $b$O Help$b ------------------=", + " $O provides Oper Services for the Network. ", + " Please choose from the following categories: ", + " $bGOD$b Enabling channel override. ", + " $bPUNISH$b Commands to discipline users.", + " $bINFORMATION$b Get information about users. ", + " or $O, $C, and $N. ", + " $bTRACES$b Powerfull commands for ", + " viewing or acting on lists of", + " IRC objects. ", + " $bALERTS$b Automated responses. ", + " $bCHANNEL$b Channel commands. ", + " $bCLONES$b Manage trusts and limits. ", + " $bSETTINGS$b View and temporarily change ", + " config file settings. ", + " $bADMIN$b Misc Administrator Commands. ", + " $bOWNERONLY$b $O operator only commands. ", + "=---------------- End of Help ----------------=" +); "COMMANDS" "${index}"; -"USER" ("$bUSER COMMANDS$b", - "Search for, gives information on, and gives some control over IRC users.", - "Alerts are a way to automatically detect (and optionally G-line) certain users. For example, a \"gline info sub7server\" alert would G-line any users using \"sub7server\" as their full name (user info field).", - " ACCESS [${level/access}]", - " ADDALERT [${level/addalert}]", - " ADDTRUST [${level/addtrust}]", - " DELALERT [${level/delalert}]", - " DELTRUST [${level/deltrust}]", - " INVITEME [${level/inviteme}]", - " TRACE [${level/trace}]", - " WHOIS [${level/whois}]"); +"PUNISH" ("=------------- $bUser Punishments$b --------------=", + " $bGLINE$b Global Ban a host.", + " $bUNGLINE$b Remove a GLINE.", + " $bBLOCK$b Gline by nickname.", + " $bTRACE GLINE$b Gline all hosts matching a search.", + " $bGTRACE$b Search the gline list.", + " $b$b", + " $bGAG$b Cause the services to ignore... ", + " $bUNGAG$b ...or unignore by mask.", + "=---------------- End of Help ----------------=" + ); + +"INFORMATION" ("=----------- $bInformation Gathering$b -----------=", + " $bACCESS$b Shows a users $O access level.", + " $bSTATS$b Show various lists and runtime info.", + " $bWHOIS$b Show details about a user by nick.", + " $bVERSION$b Show the $O version information.", + " $bLOG$b View $O logs.", + " $bTRACES$b Powerfull commands for viewing or acting on lists of IRC objects.", + "=--------------- End of Help ----------------=" + ); + +"TRACES" ("=------------------ $bTraces$b ------------------=", + " $bTRACE$b Search current users and optionally apply an action.", + " $bGTRACE$b Search current GLINEs and optionally remove them.", + " $bCSEARCH$b Search current channels.", + "=--------------- End of Help ----------------=" + ); + +"ALERTS" ("=------------------ $bAlerts$b ------------------=", + " $bADDALERT$b Make $O automatically do something", + " when users match a criteria.", + " $bDELALERT$b Remove an alert.", + " $bWARN$b Cause activity on a channel to warn", + " $b$b ircops.", + " $bUNWARN$b Remove a channel activity warning.", + "=--------------- End of Help ----------------=" + ); + +"CHANNEL" ("=------------- $bChannel Commands$b -------------=", + " $bOP$b Op someone.", + " $bDEOP$b Deop someone.", + " $bVOICE$b Voice someone.", + " $bDEVOICE$b Devoice someone.", + " $bKICK$b Kick someone.", + " $bBAN$b Ban someone.", + " $bKICKBAN$b Kickban someone.", + " $b$b", + " $bOPALL$b Op everyone in a channel.", + " $bDEOPALL$b Deop everyone in a channel.", + " $bVOICEALL$b Voice everyone in a channel.", + " $bDEVOICEALL$b Devoice everyone in a channel.", + " $bKICKALL$b Kick everyone from a channel.", + " $bKICKBANALL$b Kickban everyone from a channel.", + " $b$b", + " $bINVITE$b Invite someone to a channel.", + " $bINVITEME$b Invite yourself to a channel.", + " $bCLEARBANS$b Cear all bans from a channel.", + " $bCLEARMODES$b Clear all modes from a channel.", + "=--------------- End of Help ----------------=" + ); + +"CLONES" ("=-------------- $bClone handling$b --------------=", + " $bADDTRUST$b Add a clone limit exemption for a host.", + " $bDELTRUST$b Remove a clone exemption.", + " $bEDITTRUST$b Modify a clone exemption.", + " $bquery services/opserv/untrusted_max$b", + " View the clone kill limit", + "=--------------- End of Help ----------------=" + ); + +"SETTINGS" ("=----------------- $bSettings$b -----------------=", + " $bQUERY$b Show a runtime config setting.", + " $bSET$b $uTemporarily$u change a runtime config setting.", + "=--------------- End of Help ----------------=" + ); + +"ADMIN" ("=---------- $bAdministrative Commands$b ---------=", + " $bACCESS$b Modify someone's $O access level.", + " $bCOMMAND$b Show details of a command.", + " $bSHOWCOMMANDS$b List all commands and required access levels.", + " $b$b", + " $bBANEMAIL$b Ban an email address from being used by the email system.", + " $bUNBANEMAIL$b Remove an email ban.", + " $b$b", + " $bJOIN$b Make $O join a channel.", + " $bPART$b Make $O leave a channel.", + " $b$b", + " $bCLONE$b Create and manipulate a fake user.", + " $bCOLLIDE$b Create a clone, colliding an existing user.", + " $bRESERVE$b Permanently reserve a nick with a clone.", + " $bUNRESERVE$b Remove a perminant reserved clone.", + " $bJUPE$b Create dummy server.", + " $bUNJUPE$b Remove a dummy server.", + " $b$b", + " $bREFRESHG$b Refresh the Glines.", + " $bSETTIME$b Synchronize time across the network.", + " $bTIMECMD$b Time how long a command runs.", + "=--------------- End of Help ----------------=" + ); + +"OWNERONLY" ("=------------- $bOwner Only Stuff$b -------------=", + " $bWRITE$b Write out a database.", + " $bWRITEALL$b Write out ALL databases.", + " $bREOPEN$b Close and Re-Open the logs.", + " $bREADHELP$b Re-read a help file.", + " $bDUMPMESSAGES$b Writes messages to a .db file (for translators).", + " $b$b", + " $bREHASH$b Re-read the config files.", + " $bRESTART$b Quit and re-run srvx.", + " $bDIE$b Make the bot quit.", + " $bJUMP$b Change uplink servers.", + " $bRECONNECT$b Reconnect to this uplink server.", + " $bGSYNC$b Pull glines from the givin server into memory.", + " $b$b", + " $bMODCMD$b Change details of a command.", + " $bBIND$b Make a command alias.", + " $bUNBIND$b Remove a command alias.", + " $bJOINER$b Make a sub-command (such as stats).", + " $bHELPFILES$b Change the helpfile priority order.", + " $b$b", + " $bSERVICE ADD$b Create a new service bot.", + " $bSERVICE REMOVE$b Remove a service bot.", + " $bSERVICE RENAME$b Rename a service bot.", + " $bSERVICE PRIVILEGED$b Sets if only opers can use the service.", + " $bSERVICE TRIGGER$b Change the command charactor of a service.", + " $b$b", + " $bADDBAD$b Add a word to the illegal channel word list.", + " $bDELBAD$b Remove a word from the illegal channel word list.", + " $bADDEXEMPT$b Make an exception to the illegal word list for a channel.", + " $bDELEXEMPT$b Remove an exception of the illegal word list.", + " $b$b", + " $bDUMP$b Drop safetychecked server protocol to the server. ", + " $bRAW$b Draw raw server protocol to the server. (DANGEROUS!)", + "=--------------- End of Help ----------------=" + ); + + "ACCESS" ("/msg $O ACCESS [nick|*account] [new-level]", - "Displays the $O access level for the specified user or account. With no arguments, displays your own access level. With two arguments, sets the target's $O access level to the second argument (assuming you have sufficient access to do so)."); + "Displays the $O access level for the specified user or account. With no arguments, displays your own access level. With two arguments, sets the target's $O access level to the second argument (assuming you have sufficient access to do so).", + "Access level: $b${level/access}$b", + "$uSee Also:$u commands"); + "ADDALERT" ("/msg $O ADDALERT <name> <reaction> <criteria>", "Adds the specified alert to the $b$O$b alert list.", - "$uSee Also:$u delalert, alert reaction, trace criteria"); + "Access level: $b${level/addalert}$b", + "$uSee Also:$u delalert, alert reaction, trace criteria" + ); + "ADDTRUST" ("/msg $O ADDTRUST <ip> <count> <duration> <reason>", "Allows the specified IP address to have the specified amount of clones before being removed (rather than the usual limit).", "You may use 0 as the duration if you do not wish the trust to ever expire, and 0 as the count for unlimited connections.", - "$uSee Also:$u deltrust, stats trusted"); + "Access level: $b${level/addtrust}$b", + "$uSee Also:$u deltrust, stats trusted" + ); + "ALERT REACTION" ("$bALERT REACTION$b", "Valid alert actions (to be taken when an alert is hit) are:", "$bNOTICE$b: Send a notice to the $b$O$b alert channel", "$bKILL$b: Disconnect the user", "$bGLINE$b: Gline the user that tripped the alert", "$uSee Also:$u addalert, delalert"); + "DELALERT" ("/msg $O DELALERT <alert> [alert]...", "Remove the specified alerts from the $b$O$b alert list.", "$uSee Also:$u addalert, stats"); + "DELTRUST" ("/msg $O DELTRUST <ip>", "Deletes a trusted IP from $b$O's$b trusted hosts list. A trusted IP address is exempted from normal client limits. A list of currently trusted IPs is displayed by $bstats trusted$b.", "$uSee Also:$u addtrust, stats"); + "INVITEME" ("/msg $O INVITEME [nick]", "Invites the specified user (if omitted, you) to $O's debug channel.", "This is currently pointless, since no output is sent to the debug channel."); + "TRACE" ("/msg $O TRACE <action> <criteria> <value> [<criteria> <value>]...", - "Searches through the current users for those matching the specified criteria, and applies the specified action to them. A list of actions can be found in $bhelp trace action$b and a list of criteria in $bhelp trace criteria$b.", + "Searches through the current users for those matching the specified criteria, and applies the specified action to them. A detailed list of actions can be found in $bhelp trace action$b and a list of criteria in $bhelp trace criteria$b.", + "Quick Ref ACTIONS: PRINT, COUNT, KILL, GLINE, GAG, DOMAINS", + "Quick Ref CRITERIA: MASK, NICK, IDENT, HOST, INFO, SERVER, IP, ACCOUNT, AUTHED, CHANNEL, NUMCHANNELS, LIMIT, NICKAGE, ACCESS, REASON, DEPTH, DURATION, CLONES, INFO_SPACE, ABUSE OPERS, LOG", "$uSee Also:$u trace action, trace criteria"); + "TRACE ACTION" ("$bTRACE ACTION$b", "Options for action in $btrace$b are:", "$bPRINT$b: Display the hostmask to you.", @@ -61,6 +209,7 @@ "$bGAG$b: Gag all matching users (by default, does not expire).", "$bDOMAINS$b: Display counts of users in each domain (length specified by DEPTH criteria.", "Note: By default, IRC operators are not affected by the KILL, GLINE or GAG actions. You can override this by specifying the $bABUSE OPERS$b criteria for a trace. Even if you do specify $bABUSE OPERS$b, it will not affect opers at your access level or above."); + "TRACE CRITERIA" ("$bTRACE CRITERIA$b", "Criteria and values for $btrace$b (a search with $btrace$b must match all specified items):", "$bMASK$b nick!user@host Specifies a full hostmask to search for.", @@ -85,6 +234,7 @@ "$bABUSE OPERS$b Force adverse actions to affect opers as well.", "$bLOG$b Record matching users in $O's log file (in addition to acting).", "Additionally, the $bCHANNEL$b target may be prefixed with @ to select channel operators, + to select voiced users (will not select chanops unless @ is also used), or - to select non-voiced non-chanop users. For example, CHANNEL #foo will select all users in #foo; CHANNEL +#foo will select only users voiced in #foo; CHANNEL @+#foo will select ops and voiced users in #foo; etc."); + "WHOIS" ("/msg $O WHOIS <nick>", "Displays detailed information for the named user."); @@ -97,16 +247,20 @@ " CSEARCH [${level/csearch}]", " JOIN [${level/join}]", " PART [${level/part}]"); + "CHANINFO" ("/msg $O CHANINFO <#channel> [users]", "Displays very detailed information on the specified channel. If the channel is omitted, then $bchaninfo$b will be done on the channel where the command was given. You must give a second parameter ($busers$b) to list users in the channel.", "$uSee Also:$u whois"); + "CSEARCH" ("/msg $O CSEARCH <action> <criteria> <value> [<criteria> <value>]...", "Searches through the network's channels for those matching the specified criteria, and applies the specified action to them. A list of actions can be found under $bhelp csearch action$b and a list of criteria in $bhelp csearch criteria$b.", "$uSee Also:$u csearch action, csearch criteria"); + "CSEARCH ACTION" ("$bCSEARCH ACTION$b", "Options for action in $bcsearch$b are:", "$bPRINT$b: Display the channel and user count.", "$bCOUNT$b: Count all matching channels."); + "CSEARCH CRITERIA" ("$bCSEARCH CRITERIA$b", "Criteria and values for $bcsearch$b (a search with $bcsearch$b must match all specified items):", "$bNAME$b name Specifies a name to search for.", @@ -114,9 +268,11 @@ "$bUSERS$b cmp User count constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu)", "$bTIMESTAMP$b cmp Timestamp constraint (<Nu, <=Nu, =Nu, >=Nu or >Nu; supports interval notation)", "$bLIMIT$b 50 Limits the number of responses to a certain number."); + "JOIN" ("/msg $O JOIN <#channel> ", "Makes $b$O$b join the specified channel.", "$uSee Also:$u part"); + "PART" ("/msg $O PART <#channel> ", "Makes $b$O$b leave the specified channel.", "$uSee Also:$u join"); @@ -129,28 +285,34 @@ " DELEXEMPT [${level/delexempt}]", " UNWARN [${level/unwarn}]", " WARN [${level/warn}]"); + "ADDBAD" ("/msg $O ADDBAD <word>", "Adds a bad word to $b$O's$b bad word list. Bad words make any channel that has a bad word anywhere in a channel's name illegal. A list of current bad words can be displayed by $bstats bad$b.", "$uSee Also:$u addexempt, delbad, stats"); + "ADDEXEMPT" ("/msg $O ADDEXEMPT <#channel>", "Adds a channel to $O's \"exempt\" list. These channels (and only these channels) are never considered to contain prohibited words. Note that you $bmust$b specify the whole channel name, and may not use wildcards.", "For example, if you have added $ufree$u to the bad-word list, you could add $u#FreeBSD$u to the exempt list, and anyone could join #FreeBSD. Users joining #FreeBSDISOz would be kickbanned by $O.", "The current exempt list is displayed with the current bad-words in $bstats bad$b.", "$uSee Also:$u addbad, delexempt, stats"); + "DELBAD" ("/msg $O DELBAD <keyword>", "Deletes a bad word from $b$O's$b bad word list. Bad words make any channel that has a bad word anywhere in a channel's name illegal. A list of current bad words can be displayed by $bstats bad$b.", "$uSee Also:$u addbad, delexempt, stats"); + "DELEXEMPT" ("/msg $O DELEXEMPT <#channel>", "Removes a channel from $O's bad-word-exempt channel list.", "$uSee Also:$u addexempt, delbad, stats"); + "UNWARN" ("/msg $O UNWARN <#channel>", "Deletes the activity warning for a channel.", "$uSee Also:$u warn, stats warn"); + "WARN" ("/msg $O WARN <#channel> [reason]", "Adds an activity warning for the channel.", "$uSee Also:$u unwarn, stats warn"); -"CHANNEL CONTROL" ("$bCHANNEL CONTROL COMMANDS$b", +"CHANNEL" ("=-- $bCHANNEL CONTROL COMMANDS$b --=", "These are analogous to the same (or similar) $C commands, but can be used on any channel.", " BAN [${level/ban}]", " CLEARBANS [${level/clearbans}]", @@ -166,64 +328,80 @@ " OP [${level/op}]", " OPALL [${level/opall}]", " UNBAN [${level/unban}]", - " VOICEALL [${level/voiceall}]"); + " VOICEALL [${level/voiceall}]", + "=-----------------------------------="); + "BAN" ("/msg $O BAN <#channel> <nick|hostmask>", "Bans the specified hostmask from the specified channel.", "If a nick is used instead of hostmask, the hostmask is generated based on the nickname.", "If the channel is omitted, the $bban$b will be done in the channel where the command was given.", "$uSee Also:$u kickban, kickbanall, unban"); + "UNBAN" ("/msg $O UNBAN <#channel> <hostmask>", "Unbans the specified hostmask from the specified channel.", "If the channel is omitted, the $bunban$b will be done in the channel where the command was given.", "$uSee Also:$u kickban, kickbanall, ban"); + "CLEARBANS" ("/msg $O CLEARBANS <#channel> ", "Clears all bans in the specified channel.", "If the channel is omitted, then $bclearbans$b will be done in the channel where the command was given.", "$uSee Also:$u ban, unban"); + "CLEARMODES" ("/msg $O CLEARMODES <#channel> ", "Clears the specified channel of all modes.", "If the channel is omitted, then $bclearmodes$b will be done in the channel where the command was given.", "$uSee Also:$u mode"); + "DEOP" ("/msg $O DEOP <#channel> <nick> [nick]...", "Deops the specified user from the specified channel.", "If the channel is omitted, then $bdeop$b will be done in the channel where the command was given.", "$uSee Also:$u deopall, devoiceall, op, opall"); + "DEOPALL" ("/msg $O DEOPALL <#channel>", "Deops all members of the specified channel.", "If the channel is omitted, then $bdeopall$b will be done in the channel where the command was given.", "$uSee Also:$u deop, devoiceall, op, opall"); + "DEVOICEALL" ("/msg $O DEVOICEALL <#channel>", "Devoice all members of the specified channel who do not have channel ops.", "If the channel is omitted, then $bdevoiceall$b will be done in the channel where the command was given.", "$uSee Also:$u deop, deopall, op, opall"); + "KICK" ("/msg $O KICK <#channel> <nick> [reason]", "Kicks the specified user from the specified channel.", "If the channel is omitted, then $bkick$b will be done in the channel where the command was given.", "$uSee Also:$u ban, kickall, kickban, kickbanall"); + "KICKALL" ("/msg $O KICKALL <#channel> [reason]", "Kicks all users in the specified channel except for the user issuing the command.", "If the channel is omitted, then $bkickall$b will be done in the channel where the command was given.", "$uSee Also:$u ban, kick, kickbanall"); + "KICKBAN" ("/msg $O KICKBAN <#channel> <nick> [reason]", "Kicks and bans the specified user. $b$O$b determines the hostmask to ban from the nick specified.", "If the channel is omitted, then $bkickban$b will be done in the channel where the command was given.", "$uSee Also:$u ban, kickall, kickbanall"); + "KICKBANALL" ("/msg $O KICKBANALL <#channel> [reason]", "Kick and bans all members of the specified channel except for the user issuing the command.", "If the channel is omitted, then $bkickbanall$b will be done in the channel where the command was given.", "$uSee Also:$u ban, kick, kickban"); + "MODE" ("/msg $O MODE <#channel> <+/- mode>", "Sets the specified modes (but cannot include voice, ban or op changes) on a channel.", "If the channel is omitted, then $bmode$b will be done in the channel where the command was given.", "$uSee Also:$u ban, deop, kickban, op"); + "OP" ("/msg $O OP <#channel> <nick> [nick]...", "Ops specified nicknames the specified channel.", "If the channel is omitted, then $bop$b will be done in the channel where the command was given.", "$uSee Also:$u deop, deopall, opall"); + "OPALL" ("/msg $O OPALL <#channel>", "Ops all members of the specified channel.", "If the channel is omitted, then $bopall$b will be done in the channel where the command was given.", "$uSee Also:$u deopall"); + "VOICEALL" ("/msg $O VOICEALL <#channel>", "Voices all members of the specified channel who do not have channel ops.", "If the channel is omitted, then $bvoiceall$b will be done in the channel where the command was given.", @@ -237,20 +415,25 @@ " GSYNC [${level/gsync}]", " REFRESHG [${level/refreshg}]", " UNGLINE [${level/ungline}]"); + "BLOCK" ("/msg $O BLOCK <nick> [reason]", "GLINES the host of the specified nick for one hour If no reason is given, use a default reason.", "$uSee Also:$u gline, ungline"); + "GLINE" ("/msg $O GLINE <user@host> <duration> <reason>", "Issues a GLINE (network ban) on the network for the speicified user@host for the specified duration (making the expiration time: net time + duration).", "$uSee Also:$u trace, ungline"); + "GTRACE" ("/msg $O GTRACE <action> <criteria> [<criteria> <value>]...", "Searches through the glines, much like $bTRACE$b does for users.", "$uSee Also:$u trace, gtrace action, gtrace criteria"); + "GTRACE ACTION" ("$bGTRACE ACTION$b", "Options for the action in $bgtrace$b are:", "$bPRINT$b: Display the glines (mask, issuer, expiration time, reason)", "$bCOUNT$b: Count the number of matching glines", "$bUNGLINE$b: Remove matching glines"); + "GTRACE CRITERIA" ("$bGTRACE CRITERIA$b", "Criteria and values for $bgtrace$b (a search with $bgtrace$b must match all the criteria you give):", "$bMASK SUPERSET$b user@host G-line matches if it applies to someone with this hostmask.", @@ -261,12 +444,15 @@ "$bREASON$b reason Looks for glines with the given reason.", "$bISSUER$b account Looks for glines issued by the given account.", "$bAFTER$b interval Looks for glines that expire more than $binterval$b in the future."); + "GSYNC" ("/msg $O GSYNC [server]", "Requests a list of GLINES from its uplink or the specified server. This can be used in the event srvx is down for period and becomes desynced.", "$uSee Also:$u refreshg, gline, ungline"); + "REFRESHG" ("/msg $O REFRESHG [server]", "Re-issues all GLINES in $b$O's$b database. Usually used for newly joining or desynched servers. If a server mask is specified, the GLINES are only sent to server(s) with matching names.", "$uSee Also:$u gline, ungline, gsync"); + "UNGLINE" ("/msg $O UNGLINE <user@host>", "Removes a gline from the network before it expires.", "$uSee Also:$u gline"); @@ -279,6 +465,7 @@ " RESERVE [${level/reserve}]", " UNJUPE [${level/unjupe}]", " UNRESERVE [${level/unreserve}]"); + "CLONE" ("/msg $O CLONE <sub-command> <sub-command arguments>", "Creats and manipulates a fake user. Sub-commands for $bclone$b are:", "$bADD$b: Adds a new clone. Arguments: <nickname> <user@host> <info>", @@ -287,18 +474,23 @@ "$bPART$b: Parts a clone from a channel. Arguments: <nickname> <channel>", "$bOP$b: Ops a clone in a channel. Arguments: <nickname> <channel>", "$bSAY$b: Makes a clone say something to a channel. Arguments: <nickname> <channel> <text>"); + "COLLIDE" ("/msg $O COLLIDE <nick> <ident> <host> <description>", "Creates a clone with the specified properties, colliding any existing user with the same nick.", "$uSee Also:$u clone"); + "JUPE" ("/msg $O JUPE <srvname> <srvnum> <description>", "Causes srvx to create a \"juped\" (dummy) server. This can be used to prevent a poorly connected server from connecting.", "$uSee Also:$u unjupe, reserve, unreserve"); + "RESERVE" ("/msg $O RESERVE <nickname> <user> <host> <comment>", "Used to ban, protect, or jupe a given nick. Unlike $bclone$b and $bcollide$b, reserved nicks are saved across restarts of srvx.", "$uSee Also:$u clone, unreserve, jupe"); + "UNJUPE" ("/msg $O UNJUPE <srvname>", "Causes srvx to unjupe a jupe server.", "$uSee Also:$u jupe, reserve, unreserve"); + "UNRESERVE" ("/msg $O UNRESERVE <nick>", "Removes a nick from $b$O's$b reserve list.", "$uSee Also:$u reserve"); @@ -320,6 +512,7 @@ "$bLEVEL$b - Comma-separated list of COMMAND, OVERRIDE, STAFF, to return only those commands.", "$bTYPE$b - Name of module that generated log (see $bSTATS MODULES$b).", "By default, all levels of audit log entries are returned. You may exclude levels from the results by using the level criteria and the '-' character in front of the level name."); + "REOPEN" ("/msg $O REOPEN", "Close and re-open all the log files.", "$uSee Also:$u log, loginfo"); @@ -333,18 +526,22 @@ " RESTART [${level/restart}]", " WRITE [${level/write}]", " WRITEALL [${level/writeall}]"); + "DIE" ("/msg $O DIE <reason>", "SQUIT srvx with the given reason and shuts it down.", "$uSee Also:$u reconnect, restart"); "JUMP" ("/msg $O JUMP <uplink>", "Causes srvx to connect to the specified uplink.", "$uSee Also:$u die, reconnect, restart"); + "RECONNECT" ("/msg $O RECONNECT ", "Causes srvx to reconnect to its current uplink.", "$uSee Also:$u die, jump, rehash, restart"); + "REHASH" ("/msg $O REHASH", "Causes srvx to re-read its configuration file and update its state as much as possible.", "$uSee Also:$u die, reconnect, restart"); + "RESTART" ("/msg $O RESTART <reason>", "Causes srvx to SQUIT with the specified reason and restart.", "$uSee Also:$u die, reconnect, rehash"); @@ -360,18 +557,23 @@ " UNBANEMAIL [${level/unbanemail}]", " UNBIND [${level/unbind}]", " UNGAG [${level/ungag}]"); + "GAG" ("/msg $O GAG <mask> <duration> <reason>", "Sets a complete services-wide ignore on all users matching the provided mask. All services will completely ignore all private messages or notices from gagged users, who are only notified when a gag goes into effect, or they sign onto the network. Gags have no effect on opers, and as a safety feature, only affect the first 250 matching users. The gag will automatically expire after $b<duration>$b (or last forever if that is zero).", "$uSee Also:$u ungag, trace"); + "HELPSERV" ("/msg $O HELPSERV <command>", "Sends a command to the HelpServ system. It is used for all \"override\" commands, as well as registration and unregistration.", "$uSee also:$u /msg $O HELPSERV HELP"); + "QUERY" ("/msg $O QUERY <option>", "Displays the value of the given configuration key. If the key is a composite entry, show the subkeys inside it.", "$uSee Also:$u set"); + "SET" ("/msg $O SET <option> <value>", "Modifies the internal configuration database. Currently, only keys that have been previously set may be modified.", "$uSee Also:$u query"); + "UNGAG" ("/msg $O UNGAG <hostmask>", "Ungags a gaged hostmask and displays how many users were affected by $bungag$b. You can get a list of gaged hostmasks from $bgags$b.", "$uSee Also:$u gag, stats gags"); @@ -384,16 +586,20 @@ " STATS [${level/stats}]", " SETTIME [${level/settime}]", " VERSION [${level/version}]"); + "DUMP" ("/msg $O DUMP <raw line>", "Dumps a raw server message into the stream. Unlike $braw$b, $bdump$b checks line syntax before sending it, making it much safer to use then $braw$b. If $bdump$b detects a syntax error in the line, it is not sent. It is $bHIGHLY$b recommended that you use $bdump$b instead of $braw$b.", "$uSee Also:$u raw"); + "RAW" ("/msg $O RAW <raw line>", "Dumps a raw server message into the stream. Unlike $bdump$b, $braw$b does $bNOT$b check line syntax before sending it, making $braw$b dangerous. It will however, after the line is sent, warn of a parse error if there is a problem with the line. It is $bHIGHLY$b recommended that $bdump$b be used instead of $braw$b because it is much safer.", "$uSee Also:$u dump"); + "SETTIME" ("/msg $O SETTIME [servermask] [resync]", "Sets the time on the named server(s) to match the time known to srvx.", "For example, using $b*$b as the mask sets the time on all servers; using a server's full name sets the time only on that one.", "If the RESYNC argument is provided, sets the time to what srvx believes the local time is, rather than what it believes the network time is."); + "STATS" ("/msg $O STATS <subject>", "Displays statistics about a specified subject. Subjects include:", "$bALERTS$b: The list of current \"alerts\".", @@ -415,6 +621,7 @@ "$bSERVICES$b: Shows active service bots."); "INDEX" "${index}"; + "SEX" ("$bSEX$b", "I'm sorry, but I can't give you help regarding your sex life.", "But if you're so desperate you'll ask an IRC service bot for advice, you need therapy."); ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-03 23:55:49
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : srvx2 Commit time: 2004-06-03 23:55:43 UTC Modified files: src/chanserv.help Log message: Added nickserv pointer to general help message in chanserv ---------------------- diff included ---------------------- Index: srvx2/src/chanserv.help diff -u srvx2/src/chanserv.help:1.2 srvx2/src/chanserv.help:1.3 --- srvx2/src/chanserv.help:1.2 Thu Jun 3 16:34:03 2004 +++ srvx2/src/chanserv.help Thu Jun 3 16:55:32 2004 @@ -123,7 +123,12 @@ "=------------- End of Help ------------=" ); -"GENERAL" ("=--------------------------------------=", +"GENERAL" ("=----------- General Help -------------=", + " NOTE: Before using $C or being added ", + " to channel userlists, users must ", + " register an account with $b$N$b. ", + " $b/MSG $N help$b for more information ", + "$b$b", " $C uses a standard interface for each ", " command in its command list. Commands ", " can be issued either in /MSG format or ", @@ -142,10 +147,6 @@ " don't require a channel. If one is ", " supplied it will be ignored.", "$b$b", - " There are a couple of commands that you ", - " MUST do in /MSG format, for security ", - " reasons. such as $bAUTH$b (since the ", - " parameter is your password). ", " If a command takes additional parameters", " asside from channel, they will be ", " expected as well. ", ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-03 23:34:26
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : srvx2 Commit time: 2004-06-03 23:34:13 UTC Modified files: chanserv.help srvx src/chanserv.c src/chanserv.h src/chanserv.help src/modcmd.c src/nickserv.c Log message: Author: Rubin Log message: Updated help system to be less cryptic. Started work on chanserv help files. Renamed master to manager ---------------------- diff included ---------------------- Index: srvx2/chanserv.help diff -u srvx2/chanserv.help:1.1.1.1 srvx2/chanserv.help:1.2 --- srvx2/chanserv.help:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/chanserv.help Thu Jun 3 16:34:01 2004 @@ -11,7 +11,7 @@ " ACCESS Check someone's access in a channel.", " MYACCESS Show all channels where you have access.", " ADDCOOWNER Give another person coowner status in a channel.", - " ADDMASTER master status in a channel.", + " ADDMANAGER manager status in a channel.", " ADDOP op status in a channel.", " ADDPEON peon status in a channel.", " GIVEOWNERSHIP Give ownership to another user in the channel.", @@ -20,7 +20,7 @@ " DELUSER Remove a person's access from a channel.", " DELETEME Remove your own access from a channel.", " MDELCOOWNER Remove coowners with accounts matching a mask.", - " MDELMASTER masters with accounts matching a mask.", + " MDELMANAGER managers with accounts matching a mask.", " MDELOP ops with accounts matching a mask.", " MDELPEON peons with accounts matching a mask.", " TRIM Remove users inactive for a certain period.", @@ -54,7 +54,7 @@ " OPEN Remove +ilk channel modes and any bans on you from a channel.", " USERS List all users of a channel.", " CLIST coowners of a channel.", - " MLIST masters of a channel.", + " MLIST managers of a channel.", " OLIST ops of a channel.", " PLIST peons of a channel.", " BANS List all the bans for a channel.", @@ -117,7 +117,7 @@ "$uSee Also:$u bans, delban, mdelban"); "ADDUSER" ("/msg $C ADDUSER <#channel> <nick|*account> <level>", "This command adds someone to the channel user list with the specified access level. (You may only add users to levels less than your own.)", - "The level may be one of $bpeon$b, $bop$b, $bmaster$b, $bcoowner$b, $bowner$b, or a number between 1 and 500. Only network staff may add level 500 users (owners).", + "The level may be one of $bpeon$b, $bop$b, $bmanager$b, $bcoowner$b, $bowner$b, or a number between 1 and 500. Only network staff may add level 500 users (owners).", "$uSee Also:$u deluser, users"); "ADDTIMEDBAN" ("/msg $C ADDTIMEDBAN <#channel> <mask|nick> <Duration> [Reason]", "Adds an automatically expiring ban to the channel ban list. This command behaves in the exact same fashion as ADDBAN with the exception that the bans are automatically removed after the user-supplied duration. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended. Timed bans can be removed with the DELBAN command, as with permanent bans.", @@ -208,7 +208,7 @@ "INFO" ("/msg $C INFO <#channel>", "This command responds with various pieces of information about a channel's users, status, and registration."); "INVITE" ("/msg $C INVITE <#channel> [nick [reason]]", - "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmaster$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited."); + "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmanager$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited."); "INVITEME" ("/msg $S INVITEME <#channel>", "Invites you into the channel."); "IRCOPS" ("/msg $C IRCOPS", @@ -223,23 +223,23 @@ "MDELCOOWNER" ("/msg $C MDELCOOWNER <#channel> <pattern>", "Deletes all coowners with accounts matching the given pattern from the channel user list.", "$uSee Also:$u clist, delcoowner"); -"MDELMASTER" ("/msg $C MDELMASTER <#channel> <pattern>", - "Deletes all masters with accounts matching the given pattern from the channel user list.", +"MDELMANAGER" ("/msg $C MDELMANAGER <#channel> <pattern>", + "Deletes all managers with accounts matching the given pattern from the channel user list.", "$uSee Also:$u mdelban, mdelcoowner, mdelop, mdelowner, mdelpeon"); "MDELOP" ("/msg $C MDELOP <#channel> <pattern>", "Deletes all ops with accounts matching the given pattern from the channel user list."); "MDELOWNER" ("/msg $C MDELOWNER <#channel> <pattern>", "Deletes all owners with accounts matching the given pattern from the channel user list.", - "$uSee Also:$u addowner, mdelcoowner, mdelmaster, mdelop, mdelpeon"); + "$uSee Also:$u addowner, mdelcoowner, mdelmanager, mdelop, mdelpeon"); "MDELPEON" ("/msg $C MDELPEON <#channel> <pattern>", "Deletes all peons with accounts matching the given pattern from the channel user list.", - "$uSee Also:$u addpeon, mdelcoowner, mdelmaster, mdelop"); + "$uSee Also:$u addpeon, mdelcoowner, mdelmanager, mdelop"); "MERGE" ("/msg $C MERGE <#channel> <destination>", "Merges the source channel's registration, users, bans, and other data into the target channel. Users with access to both the source and target channels will retain the higher access level; if the access levels are the same, the more recent seen time is kept. Bans are also merged, with bans expiring later taking precedence.", "$uSee Also:$u register, move, unregister"); "MLIST" ("/msg $C MLIST <#channel> [mask]", - "This command lists all users of level $bMaster$b on a channel's userlist. If a mask is supplied, only masters matching the mask will be shown.", - "$uSee Also:$u addmaster, delmaster, mdelmaster, users"); + "This command lists all users of level $bManager$b on a channel's userlist. If a mask is supplied, only managers matching the mask will be shown.", + "$uSee Also:$u addmanager, delmanager, mdelmanager, users"); "MODE" ("/msg $C MODE <#channel>", "Resets the modes in the channel to their default.", "$uSee Also:$u open, set"); @@ -462,19 +462,12 @@ "This command lists all users of level $bOwner$b on a channel's userlist. If a mask is supplied, only owners matching the mask will be shown.", "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users"); -"I'VE FALLEN AND I CAN'T GET UP" ("$bHelp, I've fallen and I can't get up$b!", - "If you drank your milk, you might not feel so vulnerable right now.", - "So next time you're sitting in front of a tall frosty glass of milk, just think how much it will help build up your bone structure."); -"ME" "Help you? You're beyond help."; -"Zoot" "Crash it again, please?"; -"Entrope" "C Code. C Code Run. Run, Code, Run!! (please?)"; -"emacs" ("A novice of the temple once approached the Chief Priest with a question.", - "The novice asked, \"Master, does Emacs have the Buddha nature?\"", - "The Chief Priest had been in the temple for many years and could be relied upon to know these things. He thought for several minutes before replying.", - "\"I don't see why not. It's got bloody well everything else.\"", - "With that, the Chief Priest went to lunch. The novice suddenly achieved enlightenment, several years later."); -"thanks" ("The srvx developers would like to thank the following people for their help in making srvx as polished as it is today:", - "$bGameSurge IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.", - "$bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if we are the 800 pound gorilla.", - "$bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.", - "$bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer."); +"ME" "I am at your service. /msg $C help command, or /join #help "; +"thanks" ("AfterNET's own srvx2 is based on the hard work of the origional srvx developers. They would like to thank the following people for their help in making the origional srvx:", + " $bGameSurge IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.", + " $bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if we are the 800 pound gorilla.", + " $bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.", + " $bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer.", + "Futher, the AfterNET srvx2 team would like to thank:", + " $breed$b - who tirelessly nagged us to upgrade our services", + "$bAfterNET Users and Opers$b - who faught both for and against the change, for the better of Afternet."); Index: srvx2/src/chanserv.c diff -u srvx2/src/chanserv.c:1.1.1.1 srvx2/src/chanserv.c:1.2 --- srvx2/src/chanserv.c:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/src/chanserv.c Thu Jun 3 16:34:02 2004 @@ -569,7 +569,7 @@ } accessLevels[] = { { "peon", "Peon", UL_PEON, '+' }, { "op", "Op", UL_OP, '@' }, - { "master", "Master", UL_MASTER, '%' }, + { "manager", "Manager", UL_MANAGER, '%' }, { "coowner", "Coowner", UL_COOWNER, '*' }, { "owner", "Owner", UL_OWNER, '!' }, { "helper", "BUG:", UL_HELPER, 'X' } @@ -2359,9 +2359,9 @@ return cmd_mdel_user(user, channel, UL_COOWNER, UL_COOWNER, argv[1], cmd); } -static CHANSERV_FUNC(cmd_mdelmaster) +static CHANSERV_FUNC(cmd_mdelmanager) { - return cmd_mdel_user(user, channel, UL_MASTER, UL_MASTER, argv[1], cmd); + return cmd_mdel_user(user, channel, UL_MANAGER, UL_MANAGER, argv[1], cmd); } static CHANSERV_FUNC(cmd_mdelop) @@ -3116,7 +3116,7 @@ long flags = ACTION_UNBAN; /* remove permanent bans if the user has the proper access. */ - if(uData->access >= UL_MASTER) + if(uData->access >= UL_MANAGER) flags |= ACTION_DEL_BAN; argv[1] = user->nick; @@ -3523,12 +3523,12 @@ static CHANSERV_FUNC(cmd_mlist) { - return cmd_list_users(CSFUNC_ARGS, UL_MASTER, UL_COOWNER-1); + return cmd_list_users(CSFUNC_ARGS, UL_MANAGER, UL_COOWNER-1); } static CHANSERV_FUNC(cmd_olist) { - return cmd_list_users(CSFUNC_ARGS, UL_OP, UL_MASTER-1); + return cmd_list_users(CSFUNC_ARGS, UL_OP, UL_MANAGER-1); } static CHANSERV_FUNC(cmd_plist) @@ -6666,7 +6666,7 @@ else switch(((count <= levelOptions[lvlOpt].old_idx) ? str : CHANNEL_DEFAULT_OPTIONS)[levelOptions[lvlOpt].old_idx]) { case 'c': lvl = UL_COOWNER; break; - case 'm': lvl = UL_MASTER; break; + case 'm': lvl = UL_MANAGER; break; case 'n': lvl = UL_OWNER+1; break; case 'o': lvl = UL_OP; break; case 'p': lvl = UL_PEON; break; @@ -7115,21 +7115,21 @@ DEFINE_COMMAND(unregister, 1, MODCMD_REQUIRE_AUTHED|MODCMD_REQUIRE_REGCHAN, "flags", "+loghostmask", NULL); DEFINE_COMMAND(merge, 2, MODCMD_REQUIRE_AUTHED|MODCMD_REQUIRE_REGCHAN, "access", "owner", NULL); - DEFINE_COMMAND(adduser, 3, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); - DEFINE_COMMAND(deluser, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); - DEFINE_COMMAND(suspend, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); - DEFINE_COMMAND(unsuspend, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); + DEFINE_COMMAND(adduser, 3, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); + DEFINE_COMMAND(deluser, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); + DEFINE_COMMAND(suspend, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); + DEFINE_COMMAND(unsuspend, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); DEFINE_COMMAND(deleteme, 1, MODCMD_REQUIRE_CHANUSER, NULL); DEFINE_COMMAND(mdelowner, 2, MODCMD_REQUIRE_CHANUSER, "flags", "+helping", NULL); DEFINE_COMMAND(mdelcoowner, 2, MODCMD_REQUIRE_CHANUSER, "access", "owner", NULL); - DEFINE_COMMAND(mdelmaster, 2, MODCMD_REQUIRE_CHANUSER, "access", "coowner", NULL); - DEFINE_COMMAND(mdelop, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); - DEFINE_COMMAND(mdelpeon, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); + DEFINE_COMMAND(mdelmanager, 2, MODCMD_REQUIRE_CHANUSER, "access", "coowner", NULL); + DEFINE_COMMAND(mdelop, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); + DEFINE_COMMAND(mdelpeon, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); - DEFINE_COMMAND(trim, 3, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); + DEFINE_COMMAND(trim, 3, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); DEFINE_COMMAND(opchan, 1, MODCMD_REQUIRE_REGCHAN|MODCMD_NEVER_CSUSPEND, "access", "1", NULL); - DEFINE_COMMAND(clvl, 3, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); + DEFINE_COMMAND(clvl, 3, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); DEFINE_COMMAND(giveownership, 2, MODCMD_REQUIRE_CHANUSER, "access", "owner", "flags", "+loghostmask", NULL); DEFINE_COMMAND(up, 1, MODCMD_REQUIRE_CHANUSER, NULL); @@ -7151,10 +7151,10 @@ DEFINE_COMMAND(topic, 1, MODCMD_REQUIRE_REGCHAN, "template", "op", "flags", "+never_csuspend", NULL); DEFINE_COMMAND(mode, 1, MODCMD_REQUIRE_REGCHAN, "template", "op", NULL); DEFINE_COMMAND(inviteme, 1, MODCMD_REQUIRE_CHANNEL, "access", "1", NULL); - DEFINE_COMMAND(invite, 1, MODCMD_REQUIRE_CHANNEL, "access", "master", NULL); + DEFINE_COMMAND(invite, 1, MODCMD_REQUIRE_CHANNEL, "access", "manager", NULL); DEFINE_COMMAND(set, 1, MODCMD_REQUIRE_CHANUSER, "access", "op", NULL); - DEFINE_COMMAND(wipeinfo, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); - DEFINE_COMMAND(resync, 1, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); + DEFINE_COMMAND(wipeinfo, 2, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); + DEFINE_COMMAND(resync, 1, MODCMD_REQUIRE_CHANUSER, "access", "manager", NULL); DEFINE_COMMAND(events, 1, MODCMD_REQUIRE_REGCHAN, "flags", "+nolog", "access", "350", NULL); DEFINE_COMMAND(addban, 2, MODCMD_REQUIRE_REGCHAN, "access", "250", NULL); Index: srvx2/src/chanserv.h diff -u srvx2/src/chanserv.h:1.1.1.1 srvx2/src/chanserv.h:1.2 --- srvx2/src/chanserv.h:1.1.1.1 Thu Jun 3 10:13:59 2004 +++ srvx2/src/chanserv.h Thu Jun 3 16:34:03 2004 @@ -26,8 +26,8 @@ enum UL_ALIASES { UL_PEON = 100, UL_OP = 200, - UL_MASTER = 300, - UL_PRESENT = UL_MASTER, + UL_MANAGER = 300, + UL_PRESENT = UL_MANAGER, UL_COOWNER = 400, UL_OWNER = 500, UL_HELPER = 600, Index: srvx2/src/chanserv.help diff -u srvx2/src/chanserv.help:1.1.1.1 srvx2/src/chanserv.help:1.2 --- srvx2/src/chanserv.help:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/chanserv.help Thu Jun 3 16:34:03 2004 @@ -1,105 +1,161 @@ -"<INDEX>" ("$b$C Help$b", - "$b$C$b is a channel service bot, intended primarily to prevent and defend against channel takeovers. It also includes convenience features aimed at making it easier to maintain control over all aspects of your channel.", - "$b$C$b command categories:", - " USER User management.", - " CHANNEL Channel management.", - " BAN MANAGEMENT Ban management.", - " INFORMATION Informative commands.", - " OPER Helper/IRC Operator commands." +"<INDEX>" ("=--------------- $b$C Help$b --------------=", + " Hello there! ", + " Please select the area you would like ", + " help with from the list below. The ", + " help system uses the format: ", + " $b/MSG $C HELP <$bsubject$b>$b ", + " For example: $b/msg $C HELP UBM$b ", + " shows help with the UnBanMe command. ", + "=--------------------------------------=", + " GENERAL - How to use $C ", + " USER - Commands to add and remove", + " bans, ops and managers from ", + " your channel.", + " CHANNEL - Other channel related info", + " like setting permanent modes", + " and topic.", + " INFORMATION - Informative commands.", + " OPER - Commands for IRC Operators.", + "=--------------------------------------=", ); -"USER" ("$bUser Management Commands:$b", - " ACCESS Check someone's access in a channel.", - " MYACCESS Show all channels where you have access.", - " ADDCOOWNER Give another person coowner status in a channel.", - " ADDMASTER master status in a channel.", - " ADDOP op status in a channel.", - " ADDPEON peon status in a channel.", - " GIVEOWNERSHIP Give ownership to another user in the channel.", - " CLVL Change a person's access level in a channel.", - " ADDUSER Give another person access in a channel.", - " DELUSER Remove a person's access from a channel.", - " DELETEME Remove your own access from a channel.", - " MDELCOOWNER Remove coowners with accounts matching a mask.", - " MDELMASTER masters with accounts matching a mask.", - " MDELOP ops with accounts matching a mask.", - " MDELPEON peons with accounts matching a mask.", - " TRIM Remove users inactive for a certain period.", - " UP Give you ops in a channel you have access to.", - " DOWN Remove your ops in a channel.", - " UPALL Give you ops in all channels you have access to.", - " DOWNALL Remove your ops in all channels.", - " OP Give ops to the specified user.", - " DEOP Remove ops from the specified user.", - " VOICE Give voice to the specified user.", - " DEVOICE Remove voice from the specified user.", - " USET Set channel user options.", - " SUSPEND Suspend a user's access to a channel.", - " UNSUSPEND Restore a user's access to a channel.", - " WIPEINFO Remove a lower-ranked user's infoline." +"USER" ("=-- $bUserlist Management Commands:$b ---=", + " $bUSERS$b Show the channels userlist.", + " $bCLIST$b Show all COOWNERs of a channel.", + " $bMLIST$b Show all MANAGERs of a channel.", + " $bOLIST$b Show all OPs of a channel.", + " $bPLIST$b Show all PEONs of a channel.", + " $bBANS$b Show all $ulasting$u bans in a channel.", + " $bACCESS$b Check someone's access level in a channel.", + " $bCLVL$b Change a person's access level in a channel.", + " $bUSET$b Set a channel user's options (autos, info).", + " $bSEEN$b Find out the last time a user was in a channel.", + "$b$b", + " $bADDPEON$b Add a user as a PEON in a channel.", + " $bADDOP$b Add a user as an OP in a channel.", + " $bADDMANAGER$b Add a user as a MANAGER in a channel.", + " $bADDCOOWNER$b Add a user as COOWNER in a channel.", + " $bADDUSER$b A more advanced way to add users.", + " $bADDBAN$b Add a $upermanent$u ban for a user.", + " $bADDTIMEDBAN$b Add a $ulasting$u ban that expires in the specified time.", + "$b$b", + " $bDELUSER$b Delete a user from the userlist.", + " $bMDELCOOWNER$b Mass-delete coowners with accounts matching a mask.", + " $bMDELMANAGER$b Mass-delete managers with accounts matching a mask.", + " $bMDELOP$b Mass-delete ops with accounts matching a mask.", + " $bMDELPEON$b Mass-delete peons with accounts matching a mask.", + " $bDELBAN$b Remove the specified $upermanent$u ban from memory.", + " $bWIPEINFO$b Remove a lower-ranked user's infoline.", + " $bTRIM$b Delete users who are inactive.", + " $bSUSPEND$b Suspend a user's access to a channel.", + " $bUNSUSPEND$b Restore a user's access to a channel.", + "$b$b", + " $bMYACCESS$b Show all channels where you have access.", + " $bDELETEME$b Delete YOURSELF from the userlist.", + " $bGIVEOWNERSHIP$b Give away ownership to another user.", + "=------------- End of Help ------------=" ); -"BAN MANAGEMENT" ("$bBan Management Commands:$b", - " KICK Kick a user from a channel.", - " BAN Ban a user from a channel.", - " KICKBAN Kick and ban a user from a channel.", - " BANS List lasting bans in a channel.", - " ADDBAN Add a permanent ban for a user.", - " ADDTIMEDBAN Add a ban that expires in the specified time.", - " UNBAN Remove the specified ban from the channel.", - " DELBAN Remove the specified permanent ban from memory.", - " TRIM Remove bans inactive for a certain period.", - " UNBANME Remove a ban matching your hostmask from specified channel.", - " UNBANALL Remove all bans from a channel." + +"CHANNEL" ("=-------- $bChannel Commands:$b ---------=", + " $bSET$b Change various channel settings.", + " $bTOPIC$b Set the current topic, or reset it to the default topic.", + " $bMODE$b Change a channel mode.", + " $bOPEN$b Remove +ilk channel modes and any bans on you from a channel.", + "*$bNOTE$b Set a note on a channel.", + "*$bDELNOTE$b Remove a note from a channel.", + "$b$b", + " $bUP$b Give you ops in a channel.", + " $bDOWN$b Remove your ops in a channel.", + " $bUPALL$b Give you ops in all channels you have access to.", + " $bDOWNALL$b Remove your ops in all channels.", + " $bOP$b Give ops to the specified user.", + " $bDEOP$b Remove ops from the specified user.", + " $bVOICE$b Give voice to the specified user.", + " $bDEVOICE$b Remove voice from the specified user.", + " $bRESYNC$b Synchronize ops and voice with the channel userlist.", + "$b$b", + " $bKICK$b Kick a user from a channel.", + " $bBAN$b Ban a user from a channel.", + " $bUNBAN$b Remove the specified ban from the channel.", + " $bKICKBAN$b Kick and ban a user from a channel.", + " $bUNBANME$b Remove a ban matching your hostmask from specified channel.", + " $bUNBANALL$b Remove all bans from a channel.", + " $bINVITE$b Admit a user to pass through +ib modes in your channel.", + "$b$b", + " $bINFO$b Show numerical information about the users in a channel.", + " $bEVENTS$b View a list of events relevant to a channel.", + "=------------- End of Help ------------=" ); -"CHANNEL" ("$bChannel Management Commands:$b", - " OPEN Remove +ilk channel modes and any bans on you from a channel.", - " USERS List all users of a channel.", - " CLIST coowners of a channel.", - " MLIST masters of a channel.", - " OLIST ops of a channel.", - " PLIST peons of a channel.", - " BANS List all the bans for a channel.", - " TOPIC Set the current topic, or reset it to the default topic.", - " MODE Change a channel mode.", - " INVITE Invite new users to your channel.", - " INFO Show numerical information about the users in a channel.", - " SET Change various channel settings.", - " EVENTS View a list of events relevant to a channel.", - " NOTE Set a note on a channel.", - " DELNOTE Remove a note from a channel.", - " RESYNC Synchronize ops and voice with the channel userlist." +"INFORMATION" ("=------- $bInformative Commands:$b ------=", + " $bVERSION$b Check the current running version of $C.", + " $bNETINFO$b Check current network-wide information.", + " $bSTAFF$b Get a list of all the current staff.", + " $bIRCOPS$b Get a list of all the current IRC operators.", + " $bHELPERS$b Get a list of all the current support helpers.", + " $bPEEK$b Reveal information on a channel's modes, topic and ops.", + " $bCOMMAND$b Display some information about a command.", + "=------------- End of Help ------------=" ); -"INFORMATION" ("$bInformative Commands:$b", - " VERSION Check the current running version of $C.", - " NETINFO Check current network-wide information.", - " STAFF Get a list of all the current staff.", - " IRCOPS IRC operators.", - " HELPERS support helpers.", - " PEEK Reveal information on a channel's modes, topic and ops.", - " SEEN Find out the last time a user was in a channel.", - " COMMAND Display some information about a command." +"OPER" ("=-- $bHelper/IRC Operator commands:$b ---=", + " $bGOD$b Turn security override on/off.", + " $bOPCHAN$b Force $C to op itself in a channel.", + "$b$b", + " $bSEARCH$b Find registered channel matching criteria.", + " $bREGISTER$b Register a new channel with $C.", + " $bNOREGISTER$b Add a channel to the do-not-register list.", + " $bALLOWREGISTER$b Remove a channel from the do-not-register list.", + " $bUNREGISTER$b Remove $C from a registered channel.", + " $bMOVE$b Transition one channel's registration to a new channel name.", + " $bMERGE$b Merges a source and target channels' registration, ", + " users, bans, and other data into the target channel.", + " $bUNVISITED$b List all channels that have not been visited in specified duration.", + " $bEXPIRE$b Automatically unregister old channels.", + "$b$b", + " $bADDOWNER$b Add a new owner to a channel.", + " $bDELOWNER$b Remove a current owner from a channel.", + " $bMDELOWNER$b Remove multiple owners by account mask from a channel.", + " $bCSUSPEND$b Remove $C from a channel (preserving user data).", + " $bCUNSUSPEND$b Restore $C to a channel that was suspended.", + "$b$b", + " $bCREATENOTE$b Create a new note type.", + " $bREMOVENOTE$b Remove an existing note type.", + "*$bSAY$b Have $C say a message in a channel.", + "*$bEMOTE$b Equivalent to $C doing a /me in a channel.", + "=------------- End of Help ------------=" ); -"OPER" ("$bHelper/IRC Operator commands:$b", - " SAY Have $C say a message in a channel.", - " EMOTE Equivalent to $C doing a /me in a channel.", - " GOD Turn security override on/off.", - " EXPIRE Automatically unregister old channels.", - " CSUSPEND Remove $C from a channel (preserving user data).", - " CUNSUSPEND Restore $C to a channel that was suspended.", - " UNVISITED List all channels that have not been visited in specified duration.", - " MERGE Merges a source and target channels' registration, users, bans, and other data into the target channel.", - " MOVE Transition one channel's registration to a new channel name.", - " OPCHAN Force $C to op itself in a channel.", - " REGISTER Register a new channel with $C.", - " NOREGISTER Add a channel to the do-not-register list.", - " ALLOWREGISTER Remove a channel from the do-not-register list.", - " UNREGISTER Remove $C from a registered channel.", - " SEARCH Find registered channel matching criteria.", - " ADDOWNER Add a new owner to a channel.", - " DELOWNER Remove a current owner from a channel.", - " MDELOWNER Remove multiple owners by account mask from a channel.", - " CREATENOTE Create a new note type.", - " REMOVENOTE Remove an existing note type." + +"GENERAL" ("=--------------------------------------=", + " $C uses a standard interface for each ", + " command in its command list. Commands ", + " can be issued either in /MSG format or ", + " in a channel which $C is in. These two ", + " ways are demonstrated below:", + " $b/MSG $C OP #chatzone Locke$b", + " $b.OP #chatzone locke$b", + "$b$b", + " If a command is given in a channel, and ", + " the channel parameter is not given, the ", + " channel that the command was issued in ", + " will be used:", + " $b.OP locke$b", + "$b$b", + " Some commands, such as $bNETSTATS$b ", + " don't require a channel. If one is ", + " supplied it will be ignored.", + "$b$b", + " There are a couple of commands that you ", + " MUST do in /MSG format, for security ", + " reasons. such as $bAUTH$b (since the ", + " parameter is your password). ", + " If a command takes additional parameters", + " asside from channel, they will be ", + " expected as well. ", + " See $b/msg $C HELP <COMMAND>$b for the ", + " exact syntax of each command. ", + "=---------- For more info see ----------=", + " http://www.afternet.org/support ", + "=---------------------------------------=" ); + "MYACCESS" ("/msg $S MYACCESS [<nick|*account>]", "Lists channels where you have access and infolines in each.", "Network staff may specify a nickname or *account to view the list for another user.", @@ -117,8 +173,11 @@ "$uSee Also:$u bans, delban, mdelban"); "ADDUSER" ("/msg $C ADDUSER <#channel> <nick|*account> <level>", "This command adds someone to the channel user list with the specified access level. (You may only add users to levels less than your own.)", - "The level may be one of $bpeon$b, $bop$b, $bmaster$b, $bcoowner$b, $bowner$b, or a number between 1 and 500. Only network staff may add level 500 users (owners).", + "The level may be one of $bpeon$b, $bop$b, $bmanager$b, $bcoowner$b, $bowner$b, or a number between 1 and 500. Only network staff may add level 500 users (owners).", "$uSee Also:$u deluser, users"); +"ADDOP" ("/msg $C ADDOP <#channel> <nick|*account>", + "This command adds someone to the channel user list with OP access level. (You may only add users to levels less than your own.)", + "$uSee Also:$u adduser, deluser, users"); "ADDTIMEDBAN" ("/msg $C ADDTIMEDBAN <#channel> <mask|nick> <Duration> [Reason]", "Adds an automatically expiring ban to the channel ban list. This command behaves in the exact same fashion as ADDBAN with the exception that the bans are automatically removed after the user-supplied duration. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended. Timed bans can be removed with the DELBAN command, as with permanent bans.", "$uSee Also:$u addban, bans, delban, durations"); @@ -208,7 +267,7 @@ "INFO" ("/msg $C INFO <#channel>", "This command responds with various pieces of information about a channel's users, status, and registration."); "INVITE" ("/msg $C INVITE <#channel> [nick [reason]]", - "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmaster$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited."); + "Invites a user into the channel, sending them a reason if one is provided. However, unless you have at least $bmanager$b access, you can only invite yourself with this command. If no nick is provided, the user issuing the command will be invited."); "INVITEME" ("/msg $S INVITEME <#channel>", "Invites you into the channel."); "IRCOPS" ("/msg $C IRCOPS", @@ -223,23 +282,23 @@ "MDELCOOWNER" ("/msg $C MDELCOOWNER <#channel> <pattern>", "Deletes all coowners with accounts matching the given pattern from the channel user list.", "$uSee Also:$u clist, delcoowner"); -"MDELMASTER" ("/msg $C MDELMASTER <#channel> <pattern>", - "Deletes all masters with accounts matching the given pattern from the channel user list.", +"MDELMANAGER" ("/msg $C MDELMANAGER <#channel> <pattern>", + "Deletes all managers with accounts matching the given pattern from the channel user list.", "$uSee Also:$u mdelban, mdelcoowner, mdelop, mdelowner, mdelpeon"); "MDELOP" ("/msg $C MDELOP <#channel> <pattern>", "Deletes all ops with accounts matching the given pattern from the channel user list."); "MDELOWNER" ("/msg $C MDELOWNER <#channel> <pattern>", "Deletes all owners with accounts matching the given pattern from the channel user list.", - "$uSee Also:$u addowner, mdelcoowner, mdelmaster, mdelop, mdelpeon"); + "$uSee Also:$u addowner, mdelcoowner, mdelmanager, mdelop, mdelpeon"); "MDELPEON" ("/msg $C MDELPEON <#channel> <pattern>", "Deletes all peons with accounts matching the given pattern from the channel user list.", - "$uSee Also:$u addpeon, mdelcoowner, mdelmaster, mdelop"); + "$uSee Also:$u addpeon, mdelcoowner, mdelmanager, mdelop"); "MERGE" ("/msg $C MERGE <#channel> <destination>", "Merges the source channel's registration, users, bans, and other data into the target channel. Users with access to both the source and target channels will retain the higher access level; if the access levels are the same, the more recent seen time is kept. Bans are also merged, with bans expiring later taking precedence.", "$uSee Also:$u register, move, unregister"); "MLIST" ("/msg $C MLIST <#channel> [mask]", - "This command lists all users of level $bMaster$b on a channel's userlist. If a mask is supplied, only masters matching the mask will be shown.", - "$uSee Also:$u addmaster, delmaster, mdelmaster, users"); + "This command lists all users of level $bManager$b on a channel's userlist. If a mask is supplied, only managers matching the mask will be shown.", + "$uSee Also:$u addmanager, delmanager, mdelmanager, users"); "MODE" ("/msg $C MODE <#channel>", "Resets the modes in the channel to their default.", "$uSee Also:$u open, set"); @@ -462,19 +521,12 @@ "This command lists all users of level $bOwner$b on a channel's userlist. If a mask is supplied, only owners matching the mask will be shown.", "$uSee Also:$u addcoowner, delcoowner, mdelcoowner, users"); -"I'VE FALLEN AND I CAN'T GET UP" ("$bHelp, I've fallen and I can't get up$b!", - "If you drank your milk, you might not feel so vulnerable right now.", - "So next time you're sitting in front of a tall frosty glass of milk, just think how much it will help build up your bone structure."); -"ME" "Help you? You're beyond help."; -"Zoot" "Crash it again, please?"; -"Entrope" "C Code. C Code Run. Run, Code, Run!! (please?)"; -"emacs" ("A novice of the temple once approached the Chief Priest with a question.", - "The novice asked, \"Master, does Emacs have the Buddha nature?\"", - "The Chief Priest had been in the temple for many years and could be relied upon to know these things. He thought for several minutes before replying.", - "\"I don't see why not. It's got bloody well everything else.\"", - "With that, the Chief Priest went to lunch. The novice suddenly achieved enlightenment, several years later."); -"thanks" ("The srvx developers would like to thank the following people for their help in making srvx as polished as it is today:", - "$bGameSurge IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.", - "$bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if we are the 800 pound gorilla.", - "$bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.", - "$bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer."); +"ME" "I am at your service. /msg $C help command, or /join #help "; +"thanks" ("AfterNET's own srvx2 is based on the hard work of the origional srvx developers. They would like to thank the following people for their help in making the origional srvx:", + " $bGameSurge IRC Network$b - All the users and staff there bear with our shortcomings and bugs and let us know what needs to be fixed.", + " $bIC5 Networks$b (and JohnM in particular) - Never afraid to critique things, even if we are the 800 pound gorilla.", + " $bMeeko, eraser, hock(ey), KilledInAction, MadEwokHerd, Milon and Shoat$b - Hardcore beta testing and bug finding on the testnet.", + " $bCrips and feigling$b - Reading through all the boring messages and finding ways to make them clearer.", + "Futher, the AfterNET srvx2 team would like to thank:", + " $breed$b - who tirelessly nagged us to upgrade our services", + "$bAfterNET Users and Opers$b - who faught both for and against the change, for the better of Afternet."); Index: srvx2/src/modcmd.c diff -u srvx2/src/modcmd.c:1.1.1.1 srvx2/src/modcmd.c:1.2 --- srvx2/src/modcmd.c:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/modcmd.c Thu Jun 3 16:34:03 2004 @@ -55,6 +55,7 @@ { "MCMSG_NO_CHANNEL_BEFORE", "You may not give a channel name before this command." }, { "MCMSG_NO_PLUS_CHANNEL", "You may not use a +channel with this command." }, { "MCMSG_COMMAND_ALIASES", "%s is an alias for: %s" }, + { "MCMSG_HELP_COMMAND_ALIAS", "$uAlias for:$u %s" }, { "MCMSG_COMMAND_BINDING", "%s is a binding of: %s" }, { "MCMSG_ALIAS_ERROR", "Error in alias expansion for %s; check the error log for details." }, { "MCMSG_INTERNAL_COMMAND", "$b%s$b is an internal command and cannot be called directly; please check command bindings." }, @@ -757,19 +758,28 @@ svccmd_send_help(struct userNode *user, struct userNode *bot, struct svccmd *cmd) { char cmdname[MAXLEN]; unsigned int nn; + int r; /* Show command name (in bold). */ for (nn=0; cmd->name[nn]; nn++) cmdname[nn] = toupper(cmd->name[nn]); cmdname[nn] = 0; - send_message_type(4, user, bot, "$b%s$b", cmdname); + send_message_type(4, user, bot, "=--- $b%s$b ---=", cmdname); + + /* Show the help entry for the underlying command. */ + /* Lets not show help for a parent command, thats not what + * they asked for! + * return send_help(user, bot, cmd->command->parent->helpfile, cmd->command->name); + * TODO: We actually DO want to show the parent IF there is no other help. + */ + r = send_help(user, bot, cmd->command->parent->helpfile, cmd->name); + /* If it's an alias, show what it's an alias for. */ if (cmd->alias.used) { char alias_text[MAXLEN]; unsplit_string((char**)cmd->alias.list, cmd->alias.used, alias_text); - send_message(user, bot, "MCMSG_COMMAND_ALIASES", cmd->name, alias_text); + send_message(user, bot, "MCMSG_HELP_COMMAND_ALIAS", alias_text); } - /* Show the help entry for the underlying command. */ - return send_help(user, bot, cmd->command->parent->helpfile, cmd->command->name); + return r; } int @@ -778,10 +788,14 @@ struct svccmd *cmd; unsigned int ii; + /* If there is a command, send help for the command */ if ((cmd = dict_find(service->commands, topic, NULL))) return svccmd_send_help(user, service->bot, cmd); + + /* If there is no topic show the index */ if (!topic) topic = "<index>"; + /* look for the thing in the included help files */ for (ii = 0; ii < service->modules.used; ++ii) { module = service->modules.list[ii]; if (!module->helpfile) @@ -789,6 +803,7 @@ if (dict_find(module->helpfile->db, topic, NULL)) return send_help(user, service->bot, module->helpfile, topic); } + /* Otherwise say we cant find it */ send_message(user, service->bot, "MSG_TOPIC_UNKNOWN"); return 0; } @@ -2308,12 +2323,12 @@ if (!irccasecmp(def_binds[ii].svcname, "ChanServ")) { service_make_alias(service, "addowner", "*chanserv.adduser", "$1", "owner", NULL); service_make_alias(service, "addcoowner", "*chanserv.adduser", "$1", "coowner", NULL); - service_make_alias(service, "addmaster", "*chanserv.adduser", "$1", "master", NULL); + service_make_alias(service, "addmanager", "*chanserv.adduser", "$1", "manager", NULL); service_make_alias(service, "addop", "*chanserv.adduser", "$1", "op", NULL); service_make_alias(service, "addpeon", "*chanserv.adduser", "$1", "peon", NULL); service_make_alias(service, "delowner", "*chanserv.deluser", "owner", "$1", NULL); service_make_alias(service, "delcoowner", "*chanserv.deluser", "coowner", "$1", NULL); - service_make_alias(service, "delmaster", "*chanserv.deluser", "master", "$1", NULL); + service_make_alias(service, "delmanager", "*chanserv.deluser", "manager", "$1", NULL); service_make_alias(service, "delop", "*chanserv.deluser", "op", "$1", NULL); service_make_alias(service, "delpeon", "*chanserv.deluser", "peon", "$1", NULL); service_make_alias(service, "command", "*modcmd.command", NULL); Index: srvx2/src/nickserv.c diff -u srvx2/src/nickserv.c:1.1.1.1 srvx2/src/nickserv.c:1.2 --- srvx2/src/nickserv.c:1.1.1.1 Thu Jun 3 10:14:00 2004 +++ srvx2/src/nickserv.c Thu Jun 3 16:34:03 2004 @@ -3749,17 +3749,21 @@ dict_set_free_data(nickserv_email_dict, nickserv_free_email_addr); nickserv_module = module_register("NickServ", NS_LOG, "nickserv.help", NULL); - modcmd_register(nickserv_module, "AUTH", cmd_auth, 2, MODCMD_KEEP_BOUND, "flags", "+qualified,+loghostmask", NULL); +/* Removed qualified_host as default requirement for AUTH, REGISTER, PASS, etc. nets + * can enable it per command using modcmd. (its a shitty default IMO, and now in 1.3 + * a big pain to disable since its nolonger in the config file. ) -Rubin + */ + modcmd_register(nickserv_module, "AUTH", cmd_auth, 2, MODCMD_KEEP_BOUND, "flags", "+loghostmask", NULL); nickserv_define_func("ALLOWAUTH", cmd_allowauth, 0, 1, 0); - nickserv_define_func("REGISTER", cmd_register, -1, 0, 1); + nickserv_define_func("REGISTER", cmd_register, -1, 0, 0); nickserv_define_func("OREGISTER", cmd_oregister, 0, 1, 0); - nickserv_define_func("UNREGISTER", cmd_unregister, -1, 1, 1); + nickserv_define_func("UNREGISTER", cmd_unregister, -1, 1, 0); nickserv_define_func("OUNREGISTER", cmd_ounregister, 0, 1, 0); nickserv_define_func("ADDMASK", cmd_addmask, -1, 1, 0); nickserv_define_func("OADDMASK", cmd_oaddmask, 0, 1, 0); nickserv_define_func("DELMASK", cmd_delmask, -1, 1, 0); nickserv_define_func("ODELMASK", cmd_odelmask, 0, 1, 0); - nickserv_define_func("PASS", cmd_pass, -1, 1, 1); + nickserv_define_func("PASS", cmd_pass, -1, 1, 0); nickserv_define_func("SET", cmd_set, -1, 1, 0); nickserv_define_func("OSET", cmd_oset, 0, 1, 0); nickserv_define_func("ACCOUNTINFO", cmd_handleinfo, -1, 0, 0); @@ -3778,8 +3782,8 @@ } if (nickserv_conf.email_enabled) { nickserv_define_func("AUTHCOOKIE", cmd_authcookie, -1, 0, 0); - nickserv_define_func("RESETPASS", cmd_resetpass, -1, 0, 1); - nickserv_define_func("COOKIE", cmd_cookie, -1, 0, 1); + nickserv_define_func("RESETPASS", cmd_resetpass, -1, 0, 0); + nickserv_define_func("COOKIE", cmd_cookie, -1, 0, 0); nickserv_define_func("DELCOOKIE", cmd_delcookie, -1, 1, 0); dict_insert(nickserv_opt_dict, "EMAIL", opt_email); } Index: srvx2/srvx ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-06-03 17:14:13
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : srvx2 Commit time: 2004-06-03 17:14:06 UTC Log message: Initial import. Status: Vendor Tag: vendor Release Tags: start N srvx2/.cvsignore N srvx2/FAQ N srvx2/AUTHORS N srvx2/COPYING N srvx2/ChangeLog N srvx2/INSTALL N srvx2/Makefile.am N srvx2/NEWS N srvx2/README N srvx2/autogen.sh N srvx2/compile N srvx2/config.guess N srvx2/config.sub N srvx2/configure.in N srvx2/depcomp N srvx2/install-sh N srvx2/ltmain.sh N srvx2/missing N srvx2/mkinstalldirs N srvx2/sockcheck.conf.example N srvx2/srvx.conf.example N srvx2/srvx N srvx2/chanserv.help N srvx2/global.help N srvx2/mod-helpserv.help N srvx2/mod-memoserv.help N srvx2/mod-sockcheck.help N srvx2/modcmd.help N srvx2/nickserv.help N srvx2/opserv.help N srvx2/saxdb.help N srvx2/sendmail.help N srvx2/languages/validate.pl N srvx2/languages/de/README N srvx2/languages/de/chanserv.help N srvx2/languages/de/global.help N srvx2/languages/de/modcmd.help N srvx2/languages/de/nickserv.help N srvx2/languages/de/strings.db N srvx2/languages/en/README N srvx2/languages/en_UK/README N srvx2/languages/en_UK/opserv.help N srvx2/languages/en_UK/strings.db N srvx2/languages/en_UK/chanserv.help N srvx2/docs/.cvsignore N srvx2/docs/access-levels.txt N srvx2/docs/coding-style.txt N srvx2/docs/cookies.txt N srvx2/docs/helpserv.txt N srvx2/docs/ircd-modes.txt N srvx2/docs/malloc-compare.txt N srvx2/patches/.cvsignore N srvx2/patches/asuka-sethost.diff N srvx2/patches/helpserv-pgsql.diff N srvx2/patches/helpserv-pgsql.txt N srvx2/patches/log-pgsql.diff N srvx2/patches/log-pgsql.txt N srvx2/patches/ns_reclaim-flag102403.diff N srvx2/patches/srvx-bantypes.diff N srvx2/patches/srvx-successor.diff N srvx2/rx/.cvsignore N srvx2/rx/COPYING.LIB N srvx2/rx/ChangeLog N srvx2/rx/Makefile.am N srvx2/rx/_rx.h N srvx2/rx/compile N srvx2/rx/depcomp N srvx2/rx/hashrexp.c N srvx2/rx/inst-rxposix.h N srvx2/rx/rx.c N srvx2/rx/rx.h N srvx2/rx/rxall.h N srvx2/rx/rxanal.c N srvx2/rx/rxanal.h N srvx2/rx/rxbasic.c N srvx2/rx/rxbasic.h N srvx2/rx/rxbitset.c N srvx2/rx/rxbitset.h N srvx2/rx/rxcontext.h N srvx2/rx/rxcset.c N srvx2/rx/rxcset.h N srvx2/rx/rxdbug.c N srvx2/rx/rxgnucomp.c N srvx2/rx/rxgnucomp.h N srvx2/rx/rxhash.c N srvx2/rx/rxhash.h N srvx2/rx/rxnfa.c N srvx2/rx/rxnfa.h N srvx2/rx/rxnode.c N srvx2/rx/rxnode.h N srvx2/rx/rxposix.c N srvx2/rx/rxposix.h N srvx2/rx/rxproto.h N srvx2/rx/rxsimp.c N srvx2/rx/rxsimp.h N srvx2/rx/rxspencer.c N srvx2/rx/rxspencer.h N srvx2/rx/rxstr.c N srvx2/rx/rxstr.h N srvx2/rx/rxsuper.c N srvx2/rx/rxsuper.h N srvx2/rx/rxunfa.c N srvx2/rx/rxunfa.h N srvx2/rx/README N srvx2/src/.cvsignore N srvx2/src/Makefile.am N srvx2/src/chanserv.c N srvx2/src/chanserv.h N srvx2/src/checkdb.c N srvx2/src/common.h N srvx2/src/compat.c N srvx2/src/compat.h N srvx2/src/conf.c N srvx2/src/conf.h N srvx2/src/dict-splay.c N srvx2/src/dict.h N srvx2/src/getopt.c N srvx2/src/getopt.h N srvx2/src/getopt1.c N srvx2/src/gline.c N srvx2/src/gline.h N srvx2/src/global.c N srvx2/src/global.h N srvx2/src/global.help N srvx2/src/globtest.c N srvx2/src/hash.c N srvx2/src/hash.h N srvx2/src/heap.c N srvx2/src/heap.h N srvx2/src/helpfile.c N srvx2/src/helpfile.h N srvx2/src/ioset.c N srvx2/src/ioset.h N srvx2/src/log.c N srvx2/src/log.h N srvx2/src/main.c N srvx2/src/md5.c N srvx2/src/md5.h N srvx2/src/mod-helpserv.c N srvx2/src/mod-helpserv.help N srvx2/src/mod-memoserv.c N srvx2/src/mod-memoserv.help N srvx2/src/mod-snoop.c N srvx2/src/mod-sockcheck.c N srvx2/src/mod-sockcheck.help N srvx2/src/modcmd.c N srvx2/src/modcmd.h N srvx2/src/modcmd.help N srvx2/src/modules.c N srvx2/src/modules.h N srvx2/src/nickserv.c N srvx2/src/nickserv.h N srvx2/src/opserv.c N srvx2/src/opserv.h N srvx2/src/opserv.help N srvx2/src/policer.c N srvx2/src/policer.h N srvx2/src/proto-bahamut.c N srvx2/src/proto-common.c N srvx2/src/proto-p10.c N srvx2/src/proto.h N srvx2/src/recdb.c N srvx2/src/recdb.h N srvx2/src/saxdb.c N srvx2/src/saxdb.h N srvx2/src/saxdb.help N srvx2/src/sendmail.c N srvx2/src/sendmail.h N srvx2/src/sendmail.help N srvx2/src/timeq.c N srvx2/src/timeq.h N srvx2/src/tools.c N srvx2/src/chanserv.help N srvx2/src/nickserv.help N srvx2/src/modules-list.h N srvx2/tests/.cvsignore N srvx2/tests/coverage.cmd N srvx2/tests/nickserv.cmd N srvx2/tests/p10.cmd N srvx2/tests/test-driver.pl N srvx2/tests/test.cmd No conflicts created by this import |
From: Alex S. <ru...@us...> - 2004-03-27 10:49:33
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Branch tags: stable Commit time: 2004-03-27 10:38:29 UTC Added files: Tag: stable HELP/EXPIRE Log message: Adding EXPIRE help file to x2. Explains how to turn off the expire topic message, and how expire works. ---------------------- diff included ---------------------- Index: x2/HELP/EXPIRE diff -u /dev/null x2/HELP/EXPIRE:1.1.2.1 --- /dev/null Sat Mar 27 02:38:29 2004 +++ x2/HELP/EXPIRE Sat Mar 27 02:38:19 2004 @@ -0,0 +1,20 @@ + $n will automatically purge channels that + are not being used anymore. Every time + an owner or coowner joins their channel + the counter is reset. Expirations + occur accorrding to the following: + * NEW (never before logged-into) channels + expire in 2 hours. + * All other channels expire in 30 days. + * Either an Owner or a CoOwner must + join and log in to reset the counter. + * use the .wlist command to see how long + since an owner has been seen. + + NOTE: A special topic will be set to warn + of impending expiration 3 days before. + You must clear this warning manually + after logging in. + /MSG $n #channel topic * + /MSG $n #channel SET TOPICFREQ 0 + See /MSG $n HELP SET for details. ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-03-27 10:26:36
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Branch tags: stable Commit time: 2004-03-27 10:15:29 UTC Modified files: Tag: stable source/config.h Log message: Yeah, lets set the expire to something reasonable.. ---------------------- diff included ---------------------- Index: x2/source/config.h diff -u x2/source/config.h:1.72.2.2 x2/source/config.h:1.72.2.3 --- x2/source/config.h:1.72.2.2 Sat Mar 27 01:31:37 2004 +++ x2/source/config.h Sat Mar 27 02:15:17 2004 @@ -199,12 +199,12 @@ * removed when they reach this many hours since the last * owner/co-owner login. */ -#define CHANEXPIREHOURS 5 +#define CHANEXPIREHOURS (30 * 24) /* unreg new never-logged-into channels in this many hours */ #define NEWCHANEXPIREHOURS 2 /* Warn of impending expiration this many * hours before expiration */ -#define CHANWARNEXPIREHOURS 3 +#define CHANWARNEXPIREHOURS 72 /* Warning message */ #define CHANWARNMESSAGE "ATTENTION: This channel will expire soon due to inactivity! '/msg x2 help expire' for details." ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-03-27 09:42:50
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Branch tags: stable Commit time: 2004-03-27 09:31:47 UTC Modified files: Tag: stable source/chan.c source/config.h source/server.c Log message: Fixed up the new expire stuff ---------------------- diff included ---------------------- Index: x2/source/chan.c diff -u x2/source/chan.c:1.85.2.1 x2/source/chan.c:1.85.2.2 --- x2/source/chan.c:1.85.2.1 Mon Mar 1 21:21:07 2004 +++ x2/source/chan.c Sat Mar 27 01:31:37 2004 @@ -1938,8 +1938,11 @@ NextChanPtr = TempChanPtr->Next; if((TempChanPtr->Regged) && !(TempChanPtr->settings[NODELETE]) && (TempChanPtr->LastAccess > 0)) /* If its not marked nodelete */ { - /* CHANEXPIREDAYS */ - if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANEXPIREDAYS) /* older than CHANEXPIREDAYS days */ + /* CHANEXPIRE */ + if ( ( (time(NULL) - TempChanPtr->LastAccess) > 3600 * CHANEXPIREHOURS ) /* older than CHANEXPIREhours hours */ + || ( ((time(NULL) - TempChanPtr->LastAccess) > 3600 * NEWCHANEXPIREHOURS) + && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + ) { Debug(DBGNOTICE, "Channel %s not visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); @@ -1960,8 +1963,11 @@ send_to_user(uptr, "Removing %s", TempChanPtr->Name); UnregExpired(TempChanPtr); } - /* CHANWARNEXPIREDAYS */ - if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANWARNEXPIREDAYS) + else if ( /* CHAN WARN EXPIRE */ + ( (time(NULL) - TempChanPtr->LastAccess) > 3600 * (CHANEXPIREHOURS-CHANWARNEXPIREHOURS) ) + || ( ((time(NULL) - TempChanPtr->LastAccess) > 3600 * (NEWCHANEXPIREHOURS-CHANWARNEXPIREHOURS) ) + && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + ) { Debug(DBGNOTICE, "Channel %s not visited since %lu. Setting a warning topic.", TempChanPtr->Name, TempChanPtr->LastAccess); /* First, change the topic */ @@ -1975,23 +1981,7 @@ /* Save */ WriteChanOpFile(TempChanPtr); } - /* NEWCHANEXPIREDAYS */ - if( ((time(NULL) - TempChanPtr->LastAccess) > 86400 * NEWCHANEXPIREDAYS) && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) - { - Debug(DBGINFO, "Channel %s never visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); - logfile = fopen(ExpiredChanLog, "a"); - if(logfile != 0) - { - ct = time(NULL); - strcpy(tmp, ctime(&ct)); - tmp[strlen(tmp) - 1] = '\0'; - strcpy(lvistime, ctime(&TempChanPtr->LastAccess)); - fprintf(logfile, ":%s: Channel %s removed, never visited since %s", tmp, - TempChanPtr->Name, lvistime); - fclose(logfile); - } - UnregExpired(TempChanPtr); - } + } TempChanPtr = NextChanPtr; } Index: x2/source/config.h diff -u x2/source/config.h:1.72.2.1 x2/source/config.h:1.72.2.2 --- x2/source/config.h:1.72.2.1 Mon Mar 1 21:21:12 2004 +++ x2/source/config.h Sat Mar 27 01:31:37 2004 @@ -64,9 +64,8 @@ /* So does AfterNET's new one :) - Undernet's is http://help.undernet.org/proxyscan.htm, for the record */ #define GATEURL "http://www.afternet.org/support/proxy.html" -/* Uncomment the following for debugging. - #define debugon -*/ +/* Uncomment the following for debugging. */ +/* #define debugon */ /* Older afternet ircu had a mode (+g) added that made * IRC Ops able to override X2 security (God mode) @@ -197,15 +196,17 @@ #define MAXLINELEN 300 /* Channels unvisited by (co)owner will be automatically - * removed when they reach this many days old. + * removed when they reach this many hours since the last + * owner/co-owner login. */ -#define CHANEXPIREDAYS 30 -/* unreg new never-logged-into channels in __ days */ -#define NEWCHANEXPIREDAYS 4 -/* Warn of impending expiration in __ days*/ -#define CHANWARNEXPIREDAYS 28 +#define CHANEXPIREHOURS 5 +/* unreg new never-logged-into channels in this many hours */ +#define NEWCHANEXPIREHOURS 2 +/* Warn of impending expiration this many + * hours before expiration */ +#define CHANWARNEXPIREHOURS 3 /* Warning message */ -#define CHANWARNMESSAGE "ATTENTION: This channel is going to expire soon! An Owner or CoOwner needs to log in!" +#define CHANWARNMESSAGE "ATTENTION: This channel will expire soon due to inactivity! '/msg x2 help expire' for details." /* This time stamp is used as the date registered channels were created in X2. * It should be older then the oldest channel on the network, or X2 wont get Index: x2/source/server.c diff -u x2/source/server.c:1.19 x2/source/server.c:1.19.2.1 --- x2/source/server.c:1.19 Mon Feb 24 01:19:55 2003 +++ x2/source/server.c Sat Mar 27 01:31:37 2004 @@ -116,7 +116,7 @@ char addy[MAXLEN]; char *a = addy; - Debug(DBGINFO, "Testing %s versus %s", gptr->address, ur); + /*Debug(DBGINFO, "Testing %s versus %s", gptr->address, ur); */ strcpy(addy, gptr->address); buff = (char *) mysep(&a, "@"); buff = mysep(&a, "$"); ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2004-03-17 04:57:31
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : CVSROOT Commit time: 2004-03-17 04:48:10 UTC Modified files: checkoutlist commitinfo Removed files: cvs_acls Log message: This actually works better than whatever that other thing did. :P ---------------------- diff included ---------------------- Index: CVSROOT/checkoutlist diff -u CVSROOT/checkoutlist:1.3 CVSROOT/checkoutlist:1.4 --- CVSROOT/checkoutlist:1.3 Wed Jun 11 15:44:59 2003 +++ CVSROOT/checkoutlist Tue Mar 16 20:47:59 2004 @@ -14,7 +14,6 @@ all.template Unable to check out template. avail Unable to use CVS ACLs. -cvs_acls Unable to use CVS ACLs. new_commit_prep Won't be able to do mail logging. new_log_accum Won't be able to do mail logging. maillist Won't be able to do mail logging. Index: CVSROOT/commitinfo diff -u CVSROOT/commitinfo:1.3 CVSROOT/commitinfo:1.4 --- CVSROOT/commitinfo:1.3 Tue Mar 16 20:43:51 2004 +++ CVSROOT/commitinfo Tue Mar 16 20:47:59 2004 @@ -14,5 +14,5 @@ # If the name "ALL" appears as a regular expression it is always used # in addition to the first matching regex or "DEFAULT". -ALL $CVSROOT/CVSROOT/cvs_acls -DEFAULT $CVSROOT/CVSROOT/new_commit_prep +ALL /cvsroot/sitedocs/CVSROOT/cvs_acls +ALL $CVSROOT/CVSROOT/new_commit_prep Index: CVSROOT/cvs_acls diff -u CVSROOT/cvs_acls:1.1 CVSROOT/cvs_acls:removed --- CVSROOT/cvs_acls:1.1 Wed Jun 11 15:44:59 2003 +++ CVSROOT/cvs_acls Tue Mar 16 20:48:10 2004 @@ -1,193 +0,0 @@ -#!/usr/bin/perl -w -# -*-Perl-*- -# -# Access control lists for CVS. dg...@ks... (David G. Grubbs) -# Branch specific controls added by vo...@by... (Aaron Voisine) -# -# CVS "commitinfo" for matching repository names, running the program it finds -# on the same line. More information is available in the CVS man pages. -# -# ==== INSTALLATION: -# -# To use this program as I intended, do the following four things: -# -# 0. Install PERL. :-) -# -# 1. Put one line, as the *only* non-comment line, in your commitinfo file: -# -# DEFAULT /usr/local/bin/cvs_acls -# -# 2. Install this file as /usr/local/bin/cvs_acls and make it executable. -# -# 3. Create a file named CVSROOT/avail and optionally add it to -# CVSROOT/checkoutlist and check it in. See the CVS manual's -# administrative files section about checkoutlist. Typically: -# -# $ cvs checkout CVSROOT -# $ cd CVSROOT -# [ create the avail file ] -# [ add avail to checkoutlist ] -# $ cvs add avail -# $ cvs commit -m 'Added avail for use with cvs_acls.' avail checkoutlist -# -# ==== FORMAT OF THE avail FILE: -# -# The avail file determines whether you may commit files. It contains lines -# read from top to bottom, keeping track of a single "bit". The "bit" -# defaults to "on". It can be turned "off" by "unavail" lines and "on" by -# "avail" lines. ==> Last one counts. -# -# Any line not beginning with "avail" or "unavail" is ignored. -# -# Lines beginning with "avail" or "unavail" are assumed to be '|'-separated -# triples: (All spaces and tabs are ignored in a line.) -# -# {avail.*,unavail.*} [|user,user,... [|repos,repos,... [|branch,branch,...]]] -# -# 1. String starting with "avail" or "unavail". -# 2. Optional, comma-separated list of usernames. -# 3. Optional, comma-separated list of repository pathnames. -# These are pathnames relative to $CVSROOT. They can be directories or -# filenames. A directory name allows access to all files and -# directories below it. -# 4. Optional, comma-separated list of branch tags. -# If not specified, all branches are assumed. Use HEAD to reference the -# main branch. -# -# Example: (Text from the ';;' rightward may not appear in the file.) -# -# unavail ;; Make whole repository unavailable. -# avail|dgg ;; Except for user "dgg". -# avail|fred, john|bin/ls ;; Except when "fred" or "john" commit to -# ;; the module whose repository is "bin/ls" -# avail|ed|/bin/ls|stable ;; Except when "ed" commits to the "stable" -# ;; branch of the "bin/ls" repository -# -# PROGRAM LOGIC: -# -# CVS passes to @ARGV an absolute directory pathname (the repository -# appended to your $CVSROOT variable), followed by a list of filenames -# within that directory. -# -# We walk through the avail file looking for a line that matches the -# username, repository and branch. -# -# A username match is simply the user's name appearing in the second -# column of the avail line in a space-or-comma separate list. -# -# A repository match is either: -# - One element of the third column matches $ARGV[0], or some -# parent directory of $ARGV[0]. -# - Otherwise *all* file arguments ($ARGV[1..$#ARGV]) must be -# in the file list in one avail line. -# - In other words, using directory names in the third column of -# the avail file allows committing of any file (or group of -# files in a single commit) in the tree below that directory. -# - If individual file names are used in the third column of -# the avail file, then files must be committed individually or -# all files specified in a single commit must all appear in -# third column of a single avail line. -# -# A branch match is either: -# - When no branches are listed in the fourth column. -# - One element from the fourth column matches each of the tag -# names for $ARGV[1..$#ARGV] found in the CVS/Entries file. -# - HEAD specified in the fourth column will match if there -# is no tag listed in the CVS/Entries file. -# - -$debug = 0; -$cvsroot = $ENV{'CVSROOT'}; -$availfile = $cvsroot . "/CVSROOT/avail"; -$entries = "CVS/Entries"; -$myname = $ENV{"USER"} if !($myname = $ENV{"LOGNAME"}); - -eval "print STDERR \$die='Unknown parameter $1\n' if !defined \$$1; \$$1=\$';" - while ($ARGV[0] =~ /^(\w+)=/ && shift(@ARGV)); -exit 255 if $die; # process any variable=value switches - -die "Must set CVSROOT\n" if !$cvsroot; -($repos = shift) =~ s:^$cvsroot/::; -grep($_ = $repos . '/' . $_, @ARGV); - -print "$$ Repos: $repos\n","$$ ==== ",join("\n$$ ==== ",@ARGV),"\n" if $debug; - -$exit_val = 0; # Good Exit value - -$universal_off = 0; - -my %branch; -my $f; - -open(ENTRIES, $entries) || die("Cannot open $entries.\n"); -while(<ENTRIES>) { - chop; - next if /^\s*$/; - if(m|^[^/]*/([^/]*)/(?:[^/]*/)*[^/]?([^/]*)$|) { - $branch{$repos . '/' . $1} = ($2) ? $2 : "HEAD"; - print "$$ $1/$2\n" if $debug; - } -} -close(ENTRIES); - -open (AVAIL, $availfile) || exit(0); # It is ok for avail file not to exist -while (<AVAIL>) { - chop; - next if /^\s*\#/; - next if /^\s*$/; - ($flagstr, $u, $m, $b) = split(/[\s,]*\|[\s,]*/, $_); - - # Skip anything not starting with "avail" or "unavail" and complain. - (print "Bad avail line: $_\n"), next - if ($flagstr !~ /^avail/ && $flagstr !~ /^unavail/); - - # Set which bit we are playing with. ('0' is OK == Available). - $flag = (($& eq "avail") ? 0 : 1); - - # If we find a "universal off" flag (i.e. a simple "unavail") remember it - $universal_off = 1 if ($flag && !$u && !$m && !$b); - - # $myname considered "in user list" if actually in list or is NULL - $in_user = (!$u || grep ($_ eq $myname, split(/[\s,]+/,$u))); - print "$$ \$myname($myname) in user list: $_\n" if $debug && $in_user; - - # Module matches if it is a NULL module list in the avail line. If module - # list is not null, we check every argument combination. - if (!($in_repo = !$m)) { - @tmp = split(/[\s,]+/,$m); - for $j (@tmp) { - # If the repos from avail is a parent(or equal) dir of $repos, OK - $in_repo = 1, last if ($repos eq $j || $repos =~ /^$j\//); - } - if (!$in_repo) { - $in_repo = 1; - for $j (@ARGV) { - last if !($in_repo = grep ($_ eq $j, @tmp)); - } - } - } - print "$$ \$repos($repos) in repository list: $_\n" if $debug && $in_repo; - - # Branch matches if it is in the branch list in the avail line, the branch - # list is NULL, or there is no branch and HEAD is in the branch list. - if(!($in_branch = !$b)) { - @bls = split (/[\s,]+/,$b); - - for $j (@ARGV) { - $f = $j; - last if !($in_branch = grep($_ eq $branch{$j}, @bls)); - } - } - print "$$ \$branch($branch{$f}) in branch list: $_\n" - if $debug && $in_branch; - - $exit_val = $flag if ($in_user && $in_repo && $in_branch); - print "$$ ==== \$exit_val = $exit_val\n$$ ==== \$flag = $flag\n" if $debug; -} -close(AVAIL); -print "$$ ==== \$exit_val = $exit_val\n" if $debug; -print "**** Access denied: Insufficient Karma ($myname|$repos|$branch{$f})\n" - if $exit_val; -print "**** Access allowed: Personal Karma exceeds Environmental Karma.\n" - if $universal_off && !$exit_val; -exit($exit_val); ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2004-03-17 04:53:22
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : CVSROOT Commit time: 2004-03-17 04:44:01 UTC Modified files: commitinfo Log message: Fix silly CVS warning. ---------------------- diff included ---------------------- Index: CVSROOT/commitinfo diff -u CVSROOT/commitinfo:1.2 CVSROOT/commitinfo:1.3 --- CVSROOT/commitinfo:1.2 Wed Jun 11 15:44:59 2003 +++ CVSROOT/commitinfo Tue Mar 16 20:43:51 2004 @@ -14,5 +14,5 @@ # If the name "ALL" appears as a regular expression it is always used # in addition to the first matching regex or "DEFAULT". -DEFAULT $CVSROOT/CVSROOT/cvs_acls +ALL $CVSROOT/CVSROOT/cvs_acls DEFAULT $CVSROOT/CVSROOT/new_commit_prep ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2004-03-17 04:52:36
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2004-03-17 04:43:14 UTC Modified files: source/chan.c source/commands.c source/config.h source/main.c source/parse.c Log message: Forward port from stable branch plus addition of another numeric to ignore. ---------------------- diff included ---------------------- Index: x2/source/chan.c diff -u x2/source/chan.c:1.86 x2/source/chan.c:1.87 --- x2/source/chan.c:1.86 Thu Jun 12 20:03:49 2003 +++ x2/source/chan.c Tue Mar 16 20:43:03 2004 @@ -1911,6 +1911,15 @@ return; } +/* This checks for channels that have not + * been logged into by a (co)owner for + * CHANEXPIREDAYS and removes them. + * + * Also sets topic warning at + * CHANWARNEXPIREDAYS days + * and brand new channels + * are removed in NEWCHANEXPIREDAYS + */ void ExpireChannels(UserListType uptr) { ChannelListType TempChanPtr, NextChanPtr; @@ -1929,6 +1938,7 @@ NextChanPtr = TempChanPtr->Next; if((TempChanPtr->Regged) && !(TempChanPtr->settings[NODELETE]) && (TempChanPtr->LastAccess > 0)) /* If its not marked nodelete */ { + /* CHANEXPIREDAYS */ if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANEXPIREDAYS) /* older than CHANEXPIREDAYS days */ { Debug(DBGNOTICE, "Channel %s not visited since %lu. Removing..", TempChanPtr->Name, @@ -1950,6 +1960,38 @@ send_to_user(uptr, "Removing %s", TempChanPtr->Name); UnregExpired(TempChanPtr); } + /* CHANWARNEXPIREDAYS */ + if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANWARNEXPIREDAYS) + { + Debug(DBGNOTICE, "Channel %s not visited since %lu. Setting a warning topic.", TempChanPtr->Name, TempChanPtr->LastAccess); + /* First, change the topic */ + free(TempChanPtr->Topic); + if((TempChanPtr->Topic = (char *) malloc(strlen(CHANWARNMESSAGE) + 1))) + strcpy(TempChanPtr->Topic, CHANWARNMESSAGE); + else + Debug(DBGWARNING, "Error allocating memery for chan expire topic warning!"); + /* Next, set topic refresh to maximum */ + TempChanPtr->settings[TOPICFREQ] = 4; + /* Save */ + WriteChanOpFile(TempChanPtr); + } + /* NEWCHANEXPIREDAYS */ + if( ((time(NULL) - TempChanPtr->LastAccess) > 86400 * NEWCHANEXPIREDAYS) && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + { + Debug(DBGINFO, "Channel %s never visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); + logfile = fopen(ExpiredChanLog, "a"); + if(logfile != 0) + { + ct = time(NULL); + strcpy(tmp, ctime(&ct)); + tmp[strlen(tmp) - 1] = '\0'; + strcpy(lvistime, ctime(&TempChanPtr->LastAccess)); + fprintf(logfile, ":%s: Channel %s removed, never visited since %s", tmp, + TempChanPtr->Name, lvistime); + fclose(logfile); + } + UnregExpired(TempChanPtr); + } } TempChanPtr = NextChanPtr; } Index: x2/source/commands.c diff -u x2/source/commands.c:1.180 x2/source/commands.c:1.181 --- x2/source/commands.c:1.180 Mon Oct 27 16:18:26 2003 +++ x2/source/commands.c Tue Mar 16 20:43:03 2004 @@ -153,8 +153,8 @@ { "SPOOFSERV", c_spoofserv, NONE, 0, 0, 0, T, T }, { "RESETPASS", c_resetpass, REGED, MA, T, T, F, F }, { "OP", c_op, REGED, OP, T, F, F, T }, - { "VOICE", c_voice, REGED, PE, T, F, F, T }, - { "V", c_voice, REGED, PE, T, F, F, T }, + { "VOICE", c_voice, REGED, OP, T, F, F, T }, + { "V", c_voice, REGED, OP, T, F, F, T }, { "DEVOICE", c_devoice, REGED, OP, T, F, F, T }, { "OPCHAN", c_opchan, REQED, 0, 0, 0, T, T }, { "DEOPCHAN", c_deopchan, REQED, 0, 0, 0, T, T }, Index: x2/source/config.h diff -u x2/source/config.h:1.74 x2/source/config.h:1.75 --- x2/source/config.h:1.74 Sat Jun 14 13:24:18 2003 +++ x2/source/config.h Tue Mar 16 20:43:03 2004 @@ -119,9 +119,9 @@ * and 900 users at peak time. The bot will notify you via wallops if * these need to be increased. Small values only hurt performance, every- * thing will remain functional. */ -#define CHANSEGSIZE 3001 -#define USERSEGSIZE 3001 -#define SERVERSEGSIZE 61 +#define CHANSEGSIZE 30001 +#define USERSEGSIZE 30001 +#define SERVERSEGSIZE 128 #define ROUTSEGSIZE SERVERSEGSIZE #define NETSEGSIZE 41 #define NETLINKSEGSIZE 21 @@ -185,6 +185,12 @@ * removed when they reach this many days old. */ #define CHANEXPIREDAYS 30 +/* unreg new never-logged-into channels in __ days */ +#define NEWCHANEXPIREDAYS 4 +/* Warn of impending expiration in __ days*/ +#define CHANWARNEXPIREDAYS 28 +/* Warning message */ +#define CHANWARNMESSAGE "ATTENTION: This channel is going to expire soon! An Owner or CoOwner needs to log in!" /* This time stamp is used as the date registered channels were created in X2. * It should be older then the oldest channel on the network, or X2 wont get Index: x2/source/main.c diff -u x2/source/main.c:1.60 x2/source/main.c:1.61 --- x2/source/main.c:1.60 Sat Jun 14 06:16:05 2003 +++ x2/source/main.c Tue Mar 16 20:43:03 2004 @@ -943,6 +943,7 @@ if (ServerConnected) { int Now = time(NULL); + /* Check for ping timeout */ if (((Now - PingStamp) > PINGTIMEOUT) && (!GotPong)) { Debug(DBGINFO, "No ping recieved. Killing link.."); @@ -950,16 +951,16 @@ SockConnected = false; continue; } + /* Check for bans */ if ((Now - bantimer) >= 120) - { /* Once every 120 seconds check for expired bans.. */ - bantimer = Now; + { + bantimer = Now; CheckBanTimeouts(); CheckGlineTimeouts(); CheckSuspendedTimeouts(); - /* Superglines nolonger time out. */ - /*CheckSuperGlineTimeouts(); */ NETBURSTING = FALSE; /* after 2 min start parsing on_join completely */ } + /* Set topics and expire channels once a day */ if ((Now - TopicTimer_1) >= 86400) { TopicTimer_1 = Now; Index: x2/source/parse.c diff -u x2/source/parse.c:1.83 x2/source/parse.c:1.84 --- x2/source/parse.c:1.83 Sun Oct 26 17:52:08 2003 +++ x2/source/parse.c Tue Mar 16 20:43:03 2004 @@ -98,6 +98,7 @@ { "SH", m_noop, FALSE, TRUE }, { "OM", m_noop, TRUE, TRUE }, { "CM", m_noop, TRUE, TRUE }, + { "402", m_noop, TRUE, TRUE ), { NULL, NULL, FALSE, FALSE } }; /* *INDENT-ON* */ ----------------------- End of diff ----------------------- |
From: Alex S. <ru...@us...> - 2004-03-02 05:32:55
|
Committer : Alex Schumann <ru...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Branch tags: stable Commit time: 2004-03-02 05:21:23 UTC Modified files: Tag: stable source/chan.c source/commands.c source/config.h source/main.c Log message: Fixed PEON's able to voice others, Added 4 day new channel expiration Added warning topic set for expiring channels ---------------------- diff included ---------------------- Index: x2/source/chan.c diff -u x2/source/chan.c:1.85 x2/source/chan.c:1.85.2.1 --- x2/source/chan.c:1.85 Sat May 17 20:43:45 2003 +++ x2/source/chan.c Mon Mar 1 21:21:07 2004 @@ -1911,6 +1911,15 @@ return; } +/* This checks for channels that have not + * been logged into by a (co)owner for + * CHANEXPIREDAYS and removes them. + * + * Also sets topic warning at + * CHANWARNEXPIREDAYS days + * and brand new channels + * are removed in NEWCHANEXPIREDAYS + */ void ExpireChannels(UserListType uptr) { ChannelListType TempChanPtr, NextChanPtr; @@ -1929,6 +1938,7 @@ NextChanPtr = TempChanPtr->Next; if((TempChanPtr->Regged) && !(TempChanPtr->settings[NODELETE]) && (TempChanPtr->LastAccess > 0)) /* If its not marked nodelete */ { + /* CHANEXPIREDAYS */ if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANEXPIREDAYS) /* older than CHANEXPIREDAYS days */ { Debug(DBGNOTICE, "Channel %s not visited since %lu. Removing..", TempChanPtr->Name, @@ -1950,6 +1960,38 @@ send_to_user(uptr, "Removing %s", TempChanPtr->Name); UnregExpired(TempChanPtr); } + /* CHANWARNEXPIREDAYS */ + if ((time(NULL) - TempChanPtr->LastAccess) > 86400 * CHANWARNEXPIREDAYS) + { + Debug(DBGNOTICE, "Channel %s not visited since %lu. Setting a warning topic.", TempChanPtr->Name, TempChanPtr->LastAccess); + /* First, change the topic */ + free(TempChanPtr->Topic); + if((TempChanPtr->Topic = (char *) malloc(strlen(CHANWARNMESSAGE) + 1))) + strcpy(TempChanPtr->Topic, CHANWARNMESSAGE); + else + Debug(DBGWARNING, "Error allocating memery for chan expire topic warning!"); + /* Next, set topic refresh to maximum */ + TempChanPtr->settings[TOPICFREQ] = 4; + /* Save */ + WriteChanOpFile(TempChanPtr); + } + /* NEWCHANEXPIREDAYS */ + if( ((time(NULL) - TempChanPtr->LastAccess) > 86400 * NEWCHANEXPIREDAYS) && (TempChanPtr->LastAccess==TempChanPtr->CreationDate) ) + { + Debug(DBGINFO, "Channel %s never visited since %lu. Removing..", TempChanPtr->Name, TempChanPtr->LastAccess); + logfile = fopen(ExpiredChanLog, "a"); + if(logfile != 0) + { + ct = time(NULL); + strcpy(tmp, ctime(&ct)); + tmp[strlen(tmp) - 1] = '\0'; + strcpy(lvistime, ctime(&TempChanPtr->LastAccess)); + fprintf(logfile, ":%s: Channel %s removed, never visited since %s", tmp, + TempChanPtr->Name, lvistime); + fclose(logfile); + } + UnregExpired(TempChanPtr); + } } TempChanPtr = NextChanPtr; } Index: x2/source/commands.c diff -u x2/source/commands.c:1.173 x2/source/commands.c:1.173.2.1 --- x2/source/commands.c:1.173 Mon Feb 17 00:58:48 2003 +++ x2/source/commands.c Mon Mar 1 21:21:09 2004 @@ -153,8 +153,8 @@ { "SPOOFSERV", c_spoofserv, NONE, 0, 0, 0, T, T }, { "RESETPASS", c_resetpass, REGED, MA, T, T, F, F }, { "OP", c_op, REGED, OP, T, F, F, T }, - { "VOICE", c_voice, REGED, PE, T, F, F, T }, - { "V", c_voice, REGED, PE, T, F, F, T }, + { "VOICE", c_voice, REGED, OP, T, F, F, T }, + { "V", c_voice, REGED, OP, T, F, F, T }, { "DEVOICE", c_devoice, REGED, OP, T, F, F, T }, { "OPCHAN", c_opchan, REQED, 0, 0, 0, T, T }, { "DEOPCHAN", c_deopchan, REQED, 0, 0, 0, T, T }, Index: x2/source/config.h diff -u x2/source/config.h:1.72 x2/source/config.h:1.72.2.1 --- x2/source/config.h:1.72 Sat May 17 21:04:09 2003 +++ x2/source/config.h Mon Mar 1 21:21:12 2004 @@ -136,9 +136,9 @@ * and 900 users at peak time. The bot will notify you via wallops if * these need to be increased. Small values only hurt performance, every- * thing will remain functional. */ -#define CHANSEGSIZE 3001 -#define USERSEGSIZE 3001 -#define SERVERSEGSIZE 61 +#define CHANSEGSIZE 30001 +#define USERSEGSIZE 30001 +#define SERVERSEGSIZE 128 #define ROUTSEGSIZE SERVERSEGSIZE #define NETSEGSIZE 41 #define NETLINKSEGSIZE 21 @@ -200,6 +200,12 @@ * removed when they reach this many days old. */ #define CHANEXPIREDAYS 30 +/* unreg new never-logged-into channels in __ days */ +#define NEWCHANEXPIREDAYS 4 +/* Warn of impending expiration in __ days*/ +#define CHANWARNEXPIREDAYS 28 +/* Warning message */ +#define CHANWARNMESSAGE "ATTENTION: This channel is going to expire soon! An Owner or CoOwner needs to log in!" /* This time stamp is used as the date registered channels were created in X2. * It should be older then the oldest channel on the network, or X2 wont get Index: x2/source/main.c diff -u x2/source/main.c:1.59 x2/source/main.c:1.59.2.1 --- x2/source/main.c:1.59 Sat May 17 20:43:45 2003 +++ x2/source/main.c Mon Mar 1 21:21:12 2004 @@ -940,6 +940,7 @@ if (ServerConnected) { int Now = time(NULL); + /* Check for ping timeout */ if (((Now - PingStamp) > PINGTIMEOUT) && (!GotPong)) { Debug(DBGINFO, "No ping recieved. Killing link.."); @@ -947,16 +948,16 @@ SockConnected = false; continue; } + /* Check for bans */ if ((Now - bantimer) >= 120) - { /* Once every 120 seconds check for expired bans.. */ - bantimer = Now; + { + bantimer = Now; CheckBanTimeouts(); CheckGlineTimeouts(); CheckSuspendedTimeouts(); - /* Superglines nolonger time out. */ - /*CheckSuperGlineTimeouts(); */ NETBURSTING = FALSE; /* after 2 min start parsing on_join completely */ } + /* Set topics and expire channels once a day */ if ((Now - TopicTimer_1) >= 86400) { TopicTimer_1 = Now; ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-28 00:20:20
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-28 00:18:36 UTC Modified files: source/commands.c Log message: Second try at fixing .Services thing. ---------------------- diff included ---------------------- Index: x2/source/commands.c diff -u x2/source/commands.c:1.179 x2/source/commands.c:1.180 --- x2/source/commands.c:1.179 Sun Oct 26 14:24:07 2003 +++ x2/source/commands.c Mon Oct 27 16:18:26 2003 @@ -3153,7 +3153,7 @@ if((ServPtr = GetServer(Name))) { - if (0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) + if (strcmp((ServPtr->Name) + strlen(ServPtr->Name) - strlen(".Services"), ".Services")) { if (ServPtr->NumOfUsers != 1) send_to_user(uptr, "%s%s-\002%s\002 [%d users]", pre, arrowchar, Name, ServPtr->NumOfUsers); @@ -3278,7 +3278,7 @@ ServPtr = Servers->Table[i]; while (ServPtr) { - if((0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) + if((strcmp((ServPtr->Name) + strlen(ServPtr->Name) - strlen(".Services"), ".Services")) || (strstr(rest, "DEBUG") )) /* filter out Services */ send_to_user(uptr, "\002 %s\002(%d) has %d user(s) <-> \002%s\002", ServPtr->Name, base64toint(ServPtr->numnick), ServPtr->NumOfUsers, ServPtr->LinkName); @@ -4163,7 +4163,7 @@ ListPtr = UsersN->Table[i]; while (ListPtr) { - if ((0 != strcmp(".Services", (ListPtr->Serv)+strlen(ListPtr->Serv)-1-strlen(".Services"))) + if ((strcmp((ListPtr->Serv) + strlen(ListPtr->Serv) - strlen(".Services"), ".Services")) && ((UMODEo & ListPtr->Modes) != 0)) { if(!(ListPtr->Modes & UMODEk)) ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-27 01:56:01
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-27 01:52:19 UTC Modified files: source/parse.c Log message: Add support for privs and sajoin/sapart. ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.82 x2/source/parse.c:1.83 --- x2/source/parse.c:1.82 Thu Oct 23 19:50:18 2003 +++ x2/source/parse.c Sun Oct 26 17:52:08 2003 @@ -65,6 +65,8 @@ { "C", m_create, FALSE, TRUE }, { "J", m_join, FALSE, TRUE }, { "L", m_part, FALSE, TRUE }, + { "SJ", m_noop, TRUE, FALSE }, + { "SP", m_noop, TRUE, FALSE }, { "M", m_mode, TRUE, TRUE }, { "I", m_noop, TRUE, TRUE }, { "A", m_away, FALSE, TRUE }, @@ -90,6 +92,7 @@ { "R", m_noop, TRUE, TRUE }, { "SE", m_settime, TRUE, FALSE }, { "AC", m_noop, TRUE, FALSE }, /* not used in X2 */ + { "PRIVS", m_noop, TRUE, FALSE }, { "WU", m_noop, TRUE, TRUE }, { "LL", m_noop, TRUE, FALSE }, { "SH", m_noop, FALSE, TRUE }, ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-26 22:26:46
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-26 22:24:17 UTC Modified files: source/commands.c Log message: All caps looks better. ---------------------- diff included ---------------------- Index: x2/source/commands.c diff -u x2/source/commands.c:1.178 x2/source/commands.c:1.179 --- x2/source/commands.c:1.178 Sun Oct 26 14:20:35 2003 +++ x2/source/commands.c Sun Oct 26 14:24:07 2003 @@ -2128,7 +2128,7 @@ buff = (char *) mysep(&rest, "\0"); if(!buff || !*buff) buff = ""; - sprintf(reason, "<Spammer> <%s> We do not allow advertising on AfterNET! (%s)", uptr->Nick, target->Nick); + sprintf(reason, "<SPAMMER> <%s> We do not allow advertising on AfterNET! (%s)", uptr->Nick, target->Nick); if((target = FindNick(nick, UsersN))) { if (IsModeK(target)) ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-26 22:20:57
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-26 22:20:46 UTC Modified files: source/commands.c Log message: Show spammer glines as issuer 'Spammer' ---------------------- diff included ---------------------- Index: x2/source/commands.c diff -u x2/source/commands.c:1.177 x2/source/commands.c:1.178 --- x2/source/commands.c:1.177 Sun Oct 26 13:45:52 2003 +++ x2/source/commands.c Sun Oct 26 14:20:35 2003 @@ -2128,7 +2128,7 @@ buff = (char *) mysep(&rest, "\0"); if(!buff || !*buff) buff = ""; - sprintf(reason, "<%s> We do not allow advertising on AfterNET! (%s)", uptr->Nick, target->Nick); + sprintf(reason, "<Spammer> <%s> We do not allow advertising on AfterNET! (%s)", uptr->Nick, target->Nick); if((target = FindNick(nick, UsersN))) { if (IsModeK(target)) ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-26 21:47:57
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-26 21:46:03 UTC Modified files: source/commands.c source/send.c Log message: Make X2 tell its uplink that it is a service and fix some more .Services bugs. ---------------------- diff included ---------------------- Index: x2/source/commands.c diff -u x2/source/commands.c:1.176 x2/source/commands.c:1.177 --- x2/source/commands.c:1.176 Sun Oct 26 13:17:36 2003 +++ x2/source/commands.c Sun Oct 26 13:45:52 2003 @@ -4163,7 +4163,7 @@ ListPtr = UsersN->Table[i]; while (ListPtr) { - if ((0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) + if ((0 != strcmp(".Services", (ListPtr->Serv)+strlen(ListPtr->Serv)-1-strlen(".Services"))) && ((UMODEo & ListPtr->Modes) != 0)) { if(!(ListPtr->Modes & UMODEk)) Index: x2/source/send.c diff -u x2/source/send.c:1.36 x2/source/send.c:1.37 --- x2/source/send.c:1.36 Sat Jun 14 06:16:06 2003 +++ x2/source/send.c Sun Oct 26 13:45:53 2003 @@ -443,8 +443,9 @@ ConnectTime = ServerTimeStamp = time(NULL); sendtosock(Sock, "PASS :%s", UpLinkPtr->ServPass); LinkTimeStamp = NetTime()- 10000; - sendtosock(Sock, "SERVER %s 1 %lu %lu J10 %s]]] 0 :%s", ServiceName, LinkTimeStamp, ServerTimeStamp, - ServNum, "X2 Channel Service"); + sendtosock(Sock, "SERVER %s 1 %lu %lu J10 %s]]] +s :%s", + ServiceName, LinkTimeStamp, ServerTimeStamp, ServNum, + "X2 Channel Service"); /* <server> NICK <nick> <hops> <timestamp> <user> <host> <compressed ip> <3 letter numeric> :<username> */ sendtosock(Sock, "%s N %s 1 %lu %s %s +%s %s %s%s :\002%c\002) /MSG %s Help (\002%c\002", ServNum, IrcNick, LinkTimeStamp, ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-26 21:18:10
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-26 21:17:46 UTC Modified files: conf/x2.news source/commands.c Log message: Fix .Services stuff. ---------------------- diff included ---------------------- Index: x2/conf/x2.news diff -u x2/conf/x2.news:1.1 x2/conf/x2.news:1.2 --- x2/conf/x2.news:1.1 Sat Apr 29 18:41:34 2000 +++ x2/conf/x2.news Sun Oct 26 13:17:36 2003 @@ -1,7 +1,7 @@ A note from The X2 Author: -------------------------------- Your network has recently upgraded -to X2 version 5.0! Congratulations! +to X2 version 5.2! Congratulations! This news file is displayed once to every manager, owner, or coowner in every channel. It can be used to @@ -11,7 +11,7 @@ the NEWS command. Please let your X2 operator know they can change this news file by editing -x2.news in the main X2 5.0 directory. +x2.news in the main X2 5.2 directory. Thanks, -Rubin (ru...@af...) X2 author/maintainer Index: x2/source/commands.c diff -u x2/source/commands.c:1.175 x2/source/commands.c:1.176 --- x2/source/commands.c:1.175 Sat Jun 14 13:24:18 2003 +++ x2/source/commands.c Sun Oct 26 13:17:36 2003 @@ -2128,12 +2128,12 @@ buff = (char *) mysep(&rest, "\0"); if(!buff || !*buff) buff = ""; - sprintf(reason, "(added by %s) We do not allow advertizing on AfterNET! (%s)\002", uptr->Nick, target->Nick); + sprintf(reason, "<%s> We do not allow advertising on AfterNET! (%s)", uptr->Nick, target->Nick); if((target = FindNick(nick, UsersN))) { if (IsModeK(target)) { - send_to_user(uptr, "\002Cannot spamsassanate a service!\002"); + send_to_user(uptr, "\002Cannot spamassassinate a service!\002"); return(FALSE); } IP = unsigned32ToDotQuad(target->IP); @@ -3153,7 +3153,7 @@ if((ServPtr = GetServer(Name))) { - if (!strstr(ServPtr->Name, ".Services")) + if (0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) { if (ServPtr->NumOfUsers != 1) send_to_user(uptr, "%s%s-\002%s\002 [%d users]", pre, arrowchar, Name, ServPtr->NumOfUsers); @@ -3278,7 +3278,8 @@ ServPtr = Servers->Table[i]; while (ServPtr) { - if(!strstr(ServPtr->Name, ".Services") || (strstr(rest, "DEBUG") )) /* filter out Services */ + if((0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) + || (strstr(rest, "DEBUG") )) /* filter out Services */ send_to_user(uptr, "\002 %s\002(%d) has %d user(s) <-> \002%s\002", ServPtr->Name, base64toint(ServPtr->numnick), ServPtr->NumOfUsers, ServPtr->LinkName); ServPtr = ServPtr->NextA; @@ -4162,7 +4163,8 @@ ListPtr = UsersN->Table[i]; while (ListPtr) { - if ((!strstr(".Services", ListPtr->Serv)) && ((UMODEo & ListPtr->Modes) != 0)) + if ((0 != strcmp(".Services", (ServPtr->Name)+strlen(ServPtr->Name)-1-strlen(".Services"))) + && ((UMODEo & ListPtr->Modes) != 0)) { if(!(ListPtr->Modes & UMODEk)) { ----------------------- End of diff ----------------------- |
From: Reed L. <r3...@us...> - 2003-10-24 02:52:25
|
Committer : Reed Loden <r3...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-10-24 02:50:28 UTC Modified files: source/parse.c source/server.c Log message: Modified gline reasons to work with evilnet ircd. ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.81 x2/source/parse.c:1.82 --- x2/source/parse.c:1.81 Sat Jun 14 15:51:44 2003 +++ x2/source/parse.c Thu Oct 23 19:50:18 2003 @@ -1297,7 +1297,7 @@ return(0); case 2: sprintf(uh, "*@%s", unsigned32ToDotQuad(from->IP)); - send_gline(uh, 3600, "%s", "Sub7 trojan detected"); + send_gline(uh, 3600, "%s", "<X2> Sub7 trojan detected"); return(0); default: Debug(DBGINFO, "Unknown SUB7SCAN setting"); return(0); @@ -1312,7 +1312,7 @@ return(0); case 2: sprintf(uh, "*@%s", unsigned32ToDotQuad(from->IP)); - send_gline(uh, 3600, "%s", "Litmus trojan detected"); + send_gline(uh, 3600, "%s", "<X2> Litmus trojan detected"); return(0); default: Debug(DBGINFO, "Unknown LITMUS setting"); return(0); @@ -1327,7 +1327,7 @@ return(0); case 2: sprintf(uh, "*@%s", unsigned32ToDotQuad(from->IP)); - send_gline(uh, 3600, "%s", "SDBot trojan detected"); + send_gline(uh, 3600, "%s", "<X2> SDBot trojan detected"); return(0); default: Debug(DBGINFO, "Unknown SDBOT setting"); return(0); Index: x2/source/server.c diff -u x2/source/server.c:1.21 x2/source/server.c:1.22 --- x2/source/server.c:1.21 Sat Jun 14 06:23:40 2003 +++ x2/source/server.c Thu Oct 23 19:50:18 2003 @@ -160,7 +160,7 @@ if(!matches(urbuff, ur)) { sprintf(Address, "*@%s", IP); - sprintf(reason, "Added automatically from SuperGline(%s)", gptr->reason); + sprintf(reason, "<SuperGline> %s", gptr->reason); send_gline(Address, 3600, "%s", reason); ProcessAddGline(Address, 3600, reason); Debug(DBGINFO, "Supergline matched: %s", gptr->reason); @@ -173,7 +173,7 @@ if(!matches(gptr->address, uhr)) { sprintf(Address, "*@%s", IP); - sprintf(reason, "Added automatically from SuperGline(%s)", gptr->reason); + sprintf(reason, "<SuperGline> %s", gptr->reason); send_gline(Address, 3600, "%s", reason); ProcessAddGline(Address, 3600, reason); return(TRUE); ----------------------- End of diff ----------------------- |
From: Matthias C. <ul...@us...> - 2003-06-14 22:51:55
|
Committer : Matthias Crauwels <ul...@us...> CVSROOT : /cvsroot/x2serv Module : x2 Commit time: 2003-06-14 22:51:54 UTC Modified files: source/parse.c Log message: Author: Matthias Crauwels <ult...@wo...> Log message: * added Asuka's freeform sethost support ---------------------- diff included ---------------------- Index: x2/source/parse.c diff -u x2/source/parse.c:1.80 x2/source/parse.c:1.81 --- x2/source/parse.c:1.80 Sat Jun 14 13:24:18 2003 +++ x2/source/parse.c Sat Jun 14 15:51:44 2003 @@ -381,9 +381,10 @@ int m_nick(M_PARAMS) { char* Arg[9]; - char* modes, *account; + char* modes, *account, *hiddenhost; UserListType UserPtr; unsigned int IP; + Arg[0] = (char *) strtok(rest, " "); /* nick */ Arg[1] = (char *) strtok(NULL, " "); /* 1 */ Arg[2] = (char *) strtok(NULL, " "); /* ts */ @@ -404,17 +405,16 @@ modes = (char *) strtok(NULL, " "); /* modes */ if(modes[0] == '+') { + Arg[5] = modes; if(strchr(modes, 'r')) { - Arg[5] = modes; account = (char *) strtok(NULL, " "); /* This user has an account set from another service */ - Arg[6] = (char *) strtok(NULL, " "); /* Compressed IP */ } - else + if(strchr(modes, 'h')) { - Arg[5] = modes; - Arg[6] = (char *) strtok(NULL, " "); /* Compressed IP */ + hiddenhost = (char *) strtok(NULL, " "); /* This user has an hidden hostmask (asuka only) */ } + Arg[6] = (char *) strtok(NULL, " "); /* Compressed IP */ } else { ----------------------- End of diff ----------------------- |