diff options
-rw-r--r-- | docs/inspircd.censor.example | 1 | ||||
-rw-r--r-- | docs/inspircd.conf.example | 79 | ||||
-rw-r--r-- | docs/links.conf.example | 9 | ||||
-rw-r--r-- | docs/modules.conf.example | 11 | ||||
-rw-r--r-- | src/channels.cpp | 18 | ||||
-rw-r--r-- | src/modules/m_md5.cpp | 2 |
6 files changed, 72 insertions, 48 deletions
diff --git a/docs/inspircd.censor.example b/docs/inspircd.censor.example index 05d9ce6fa..342ccd875 100644 --- a/docs/inspircd.censor.example +++ b/docs/inspircd.censor.example @@ -12,4 +12,3 @@ <badword text="shit" replace="poo"> <badword text="fuck" replace="(censored)"> - diff --git a/docs/inspircd.conf.example b/docs/inspircd.conf.example index a820d4a40..d1293be25 100644 --- a/docs/inspircd.conf.example +++ b/docs/inspircd.conf.example @@ -160,7 +160,7 @@ # for ssl to work. If you do not want this bind section to support ssl, # just remove or comment out this option. ssl="gnutls" - > +> <bind address="" port="6660-6669" type="clients"> @@ -390,7 +390,7 @@ # # <cidr - # ipv4clone: specifies how many bits of an IP address should be + # ipv4clone: specifies how many bits of an IP address should be # looked at for clones. The default only looks for clones on a # single IP address of a user. You do not want to set this # extremely low. (Values are 0-32). @@ -489,9 +489,9 @@ # Note that any disabled commands take effect only after the user has # # 'registered' (e.g. after the initial USER/NICK/PASS on connection) # # so for example disabling NICK will not cripple your network. # -# # +# # # You can also define if you want to disable any channelmodes # -# or usermodes from your users. # +# or usermodes from your users. # # # # `fakenonexistant' will make the ircd pretend that nonexistant # # commands simply don't exist to non-opers ("no such command"). # @@ -548,10 +548,10 @@ # without cycling them. cyclehosts="yes" - # cyclehostsfromuser: If enabled, the source of the mode change for - # cyclehosts will be the user who cycled. This can look nicer, but - # triggers anti-takeover mechanisms of some obsolete bots. - cyclehostsfromuser="no" + # cyclehostsfromuser: If enabled, the source of the mode change for + # cyclehosts will be the user who cycled. This can look nicer, but + # triggers anti-takeover mechanisms of some obsolete bots. + cyclehostsfromuser="no" # ircumsgprefix: Use undernet-style message prefixing for NOTICE and # PRIVMSG. If enabled, it will add users' prefix to the line, if not, @@ -562,15 +562,15 @@ # in channel will be sent a NOTICE about it. announcets="yes" - # allowmismatched: Setting this option to yes will allow servers to link even - # if they don't have the same VF_OPTCOMMON modules loaded. Setting this to - # yes may introduce some desyncs and weirdness. - allowmismatched="no" + # allowmismatched: Setting this option to yes will allow servers to link even + # if they don't have the same VF_OPTCOMMON modules loaded. Setting this to + # yes may introduce some desyncs and weirdness. + allowmismatched="no" - # defaultbind: Sets the default for <bind> tags without an address. Choices are - # ipv4 or ipv6; if not specified, IPv6 will be used if your system has support, - # falling back to IPv4 otherwise. - defaultbind="auto" + # defaultbind: Sets the default for <bind> tags without an address. Choices are + # ipv4 or ipv6; if not specified, IPv6 will be used if your system has support, + # falling back to IPv4 otherwise. + defaultbind="auto" # hostintopic: If enabled, channels will show the host of the topicsetter # in the topic. If set to no, it will only show the nick of the topicsetter. @@ -592,9 +592,9 @@ # moronbanner: This is the text that is sent to a user when they are # banned from the server. moronbanner="You're banned! Email haha@abuse.com with the ERROR line below for help." - - # exemptchanops: exemptions for channel access restrictions based on prefix. - exemptchanops="nonick:v flood:o" + + # exemptchanops: exemptions for channel access restrictions based on prefix. + exemptchanops="nonick:v flood:o" # invitebypassmodes: This allows /invite to bypass other channel modes. # (Such as +k, +j, +l, etc) @@ -694,11 +694,11 @@ # the ircd. This may be set for security reasons or vanity reasons. customversion="" - # operspywhois: show opers (users/auspex) the +s channels a user is in. Values: - # splitmsg Split with an explanatory message - # yes Split with no explanatory message - # no Do not show - operspywhois="no" + # operspywhois: show opers (users/auspex) the +s channels a user is in. Values: + # splitmsg Split with an explanatory message + # yes Split with no explanatory message + # no Do not show + operspywhois="no" # runasuser: If this is set, InspIRCd will attempt to setuid # to run as this user- allows binding of ports under 1024. @@ -782,19 +782,40 @@ # to do what they want. # # An example log tag would be: -# <log method="file" type="OPER" level="default" target="opers.log"> -# which would log all information on /oper (failed and successful) to +# <log method="file" type="OPER" level="default" target="opers.log"> +# which would log all information on /oper (failed and successful) to # a file called opers.log. # # There are many different types which may be used, and modules may # generate their own. A list of useful types: -# - USERS - information relating to user connection and disconnection -# - CHANNELS - information relating to joining and parting of channels. -# XXX someone doc more on this +# - USERS - information relating to user connection and disconnection +# - OPER - succesful and failed oper attempts +# - KILL - kill related messages +# - snomask - server notices (*all* snomasks will be logged) +# - FILTER - messages related to filter matches (m_filter) +# - CONFIG - configuration related messages +# - COMMAND - die and restart messages, and messages related to unknown user types +# - SOCKET - socket engine informational/error messages +# - MODULE - module related messages +# - STARTUP - messages related to starting up the server # # You may also log *everything* by using a type of *, and subtract things out # of that by using -TYPE - for example "* -USERINPUT -USEROUTPUT". # +# Useful levels are: +# - default (general messages, including errors) +# - sparse (misc error messages) +# - debug (debug messages) +# +# Some types only produce output in the debug level, those are: +# - BANCACHE - ban cache debug messages +# - CHANNELS - information relating to joining/creating channels +# - CULLLIST - debug messages related to issues with removing users +# - RESOLVER - DNS related debug messages +# - CONNECTCLASS - Connection class debug messages +# - USERINPUT +# - USEROUTPUT +# # The following log tag is highly default and uncustomised. It is recommended you # sort out your own log tags. This is just here so you get some output. diff --git a/docs/links.conf.example b/docs/links.conf.example index 27213f784..a573b66da 100644 --- a/docs/links.conf.example +++ b/docs/links.conf.example @@ -10,9 +10,7 @@ # |_| \_\___|\__,_|\__,_| |_| |_| |_|_|___/ |____/|_|\__(_) # # # # If you want to link servers to InspIRCd you must load the # -# m_spanningtree.so module! Please see the modules list below for # -# information on how to load this module! If you do not load this # -# module, server links will NOT work! # +# m_spanningtree.so module! # # # # # @@ -100,8 +98,9 @@ # Failover autoconnect block. If you have multiple hubs, or want your network # to automatically link even if the hub is down, you can specify multiple -# servers to autoconnect; they will be tried in a round robin fashion until -# one succeeds. Period defines the time for restarting a single loop. +# space seperated servers to autoconnect; they will be tried in a round +# robin fashion until one succeeds. Period defines the time for restarting +# a single loop. <autoconnect period="120" server="hub.us.penguin.org hub.eu.penguin.org leaf.eu.penguin.org"> diff --git a/docs/modules.conf.example b/docs/modules.conf.example index 9f2c92dd3..e987f4878 100644 --- a/docs/modules.conf.example +++ b/docs/modules.conf.example @@ -607,8 +607,8 @@ # quitmsg - The message that users get if they attempt to # connect while the throttle is active. # -# bootwait - Amount of time to wait before enforcing the -# throttling when the server just booted. +# bootwait - Amount of time in seconds to wait before enforcing +# the throttling when the server just booted. # #<connflood seconds="30" maxconns="3" timeout="30" # quitmsg="Throttled" bootwait="10"> @@ -1757,9 +1757,10 @@ # user - Username for the vhost. # # # # pass - Password for the vhost. # -# # -# hash - The hash for the specific user (optional) -# m_password_hash.so and a hashing module must be loaded for this to work +# # +# hash - The hash for the specific user (optional) # +# m_password_hash.so and a hashing module must be loaded # +# for this to work. # # # # host - Vhost to set. # # diff --git a/src/channels.cpp b/src/channels.cpp index 5539f4bfe..4a927cedb 100644 --- a/src/channels.cpp +++ b/src/channels.cpp @@ -274,7 +274,7 @@ Channel* Channel::JoinUser(User *user, const char* cn, bool override, const char if (!IS_LOCAL(user)) { if (!TS) - ServerInstance->Logs->Log("CHANNEL",DEBUG,"*** BUG *** Channel::JoinUser called for REMOTE user '%s' on channel '%s' but no TS given!", user->nick.c_str(), cn); + ServerInstance->Logs->Log("CHANNELS",DEBUG,"*** BUG *** Channel::JoinUser called for REMOTE user '%s' on channel '%s' but no TS given!", user->nick.c_str(), cn); } else { @@ -400,11 +400,15 @@ Channel* Channel::ForceChan(Channel* Ptr, User* user, const std::string &privs, Ptr->WriteAllExcept(user, false, 0, except_list, "JOIN :%s", Ptr->name.c_str()); /* Theyre not the first ones in here, make sure everyone else sees the modes we gave the user */ - std::string ms = memb->modes; - for(unsigned int i=0; i < memb->modes.length(); i++) - ms.append(" ").append(user->nick); - if ((Ptr->GetUserCounter() > 1) && (ms.length())) - Ptr->WriteAllExceptSender(user, ServerInstance->Config->CycleHostsFromUser, 0, "MODE %s +%s", Ptr->name.c_str(), ms.c_str()); + if ((Ptr->GetUserCounter() > 1) && (!memb->modes.empty())) + { + std::string ms = memb->modes; + for(unsigned int i=0; i < memb->modes.length(); i++) + ms.append(" ").append(user->nick); + + except_list.insert(user); + Ptr->WriteAllExcept(user, !ServerInstance->Config->CycleHostsFromUser, 0, except_list, "MODE %s +%s", Ptr->name.c_str(), ms.c_str()); + } if (IS_LOCAL(user)) { @@ -655,7 +659,7 @@ void Channel::WriteAllExcept(User* user, bool serversource, char status, CUList if (!text) return; - int offset = snprintf(textbuffer,MAXBUF,":%s ", user->GetFullHost().c_str()); + int offset = snprintf(textbuffer,MAXBUF,":%s ", serversource ? ServerInstance->Config->ServerName.c_str() : user->GetFullHost().c_str()); va_start(argsPtr, text); vsnprintf(textbuffer + offset, MAXBUF - offset, text, argsPtr); diff --git a/src/modules/m_md5.cpp b/src/modules/m_md5.cpp index f8f13dcbc..14ccf16a8 100644 --- a/src/modules/m_md5.cpp +++ b/src/modules/m_md5.cpp @@ -158,7 +158,7 @@ class MD5Provider : public HashProvider byteSwap(ctx->buf, 4); memcpy(digest, ctx->buf, 16); - memset(ctx, 0, sizeof(ctx)); + memset(ctx, 0, sizeof(*ctx)); } void MD5Transform(word32 buf[4], word32 const in[16]) |