summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/inspircd.censor.example1
-rw-r--r--docs/inspircd.conf.example79
-rw-r--r--docs/links.conf.example9
-rw-r--r--docs/modules.conf.example11
-rw-r--r--src/channels.cpp18
-rw-r--r--src/modules/m_md5.cpp2
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])