This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Undernet IRC Server Source Code.".
The branch, u2_10_12_branch has been updated
via f8f62f8cb355fd083bbdce33ea1bb01a4b8c3def (commit)
via 53f7668a7d81ae5273ee7932f1db71dc02f748b8 (commit)
via 37a02bccd797538454cab49deafc189ec5440f5b (commit)
via 6779e5b3e173fac0e2fbea7ffddf953493b7442e (commit)
via cda563bdb085a2cf4ee057481f70edd1316e7988 (commit)
via 9f28062b3d6e5b665c7bb742e75c3da8b1ec01bd (commit)
via 87938c3315b3c2ba753ee1e41825b036f98cb8cb (commit)
via 0bc6caeeb0f145f7861974812b9acd2b70d1aaf4 (commit)
via 0039f1f28d543ec818b37e80eee6d7b896155f01 (commit)
via 9cbac8bd7ebd61d34e0adcb8eb28017ba7c6c09b (commit)
via 4be9a0c4be598c5aa783cfca72d4dea1af2d5b7b (commit)
via 88f58ae3ceefe36d194ab742a6d67a45b8b8b34f (commit)
via c1bd9762d2f705eda00b5e93c1ebb5d6625eff64 (commit)
via 2628c3c7fca1025e0f8334afb3f24e3a2a0e7556 (commit)
via 68727a8d78519fe005dec72caadc08d76d72fa64 (commit)
from 2dcf47b3efe4ff28f5d06ba9346addad696f7a98 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f8f62f8cb355fd083bbdce33ea1bb01a4b8c3def
Author: Michael Poole <[email protected]>
Date: Tue Jan 2 21:56:53 2024 -0500
Only apply MaxSendq when a class exists
Fixes: b9c579031c1df986f906608543fed0a276f382a1
diff --git a/ircd/client.c b/ircd/client.c
index ed7f9bfb..808dc917 100644
--- a/ircd/client.c
+++ b/ircd/client.c
@@ -189,7 +189,7 @@ client_set_privs(struct Client *client, struct ConfItem
*oper, int forceOper)
/* For remote opers, we need to also set their max sendq because
* we will not be attaching an Operator block to their client.
*/
- if (MaxSendq(class))
+ if (class && MaxSendq(class))
cli_max_sendq(client) = MaxSendq(class);
}
commit 53f7668a7d81ae5273ee7932f1db71dc02f748b8
Merge: 6779e5b3 37a02bcc
Author: Michael Poole <[email protected]>
Date: Wed Dec 27 11:26:16 2023 +1300
Merge pull request #32 from hiddn/glinereasonfix
Fix gline reason change
commit 37a02bccd797538454cab49deafc189ec5440f5b
Author: Hidden <[email protected]>
Date: Sun Dec 3 18:47:55 2023 -0500
Fix gline reason change
This bug has prevented proper gline reason changes in production
for a very long time. With this fix, it is now working as expected.
diff --git a/ircd/m_gline.c b/ircd/m_gline.c
index 355ce4a2..1c4b5442 100644
--- a/ircd/m_gline.c
+++ b/ircd/m_gline.c
@@ -311,7 +311,7 @@ ms_gline(struct Client *cptr, struct Client *sptr, int
parc, char *parv[])
if (!agline || /* gline creation, has to be the reason */
/* trial-convert as lifetime, and if it doesn't fully convert,
* it must be the reason */
- (!(lifetime = strtoul(parv[5], &tmp, 10)) && !*tmp)) {
+ (lifetime = strtoul(parv[5], &tmp, 10), *tmp != '\0')) {
lifetime = 0;
reason = parv[5];
commit 6779e5b3e173fac0e2fbea7ffddf953493b7442e
Merge: cda563bd 9f28062b
Author: Michael Poole <[email protected]>
Date: Tue Nov 21 20:54:10 2023 -0500
Merge pull request #31 from hiddn/hid/notice
Apply '/msg nick@server' logic to /notice
commit cda563bdb085a2cf4ee057481f70edd1316e7988
Merge: 0bc6caee 87938c33
Author: Michael Poole <[email protected]>
Date: Tue Nov 21 20:53:37 2023 -0500
Merge pull request #6 from empus/chanmode_P
channel mode +P
commit 9f28062b3d6e5b665c7bb742e75c3da8b1ec01bd
Author: Hidden <[email protected]>
Date: Tue Nov 21 17:38:34 2023 -0500
Optimization: check IsChannelService() before match()
diff --git a/ircd/ircd_relay.c b/ircd/ircd_relay.c
index 2eb25a2a..325d3d73 100644
--- a/ircd/ircd_relay.c
+++ b/ircd/ircd_relay.c
@@ -294,8 +294,8 @@ void relay_directed_message(struct Client* sptr, char*
name, char* server, const
* this. -- Isomer 2001-09-16
*/
if (!(acptr = FindUser(name)) || !MyUser(acptr) ||
- (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)) ||
- !IsChannelService(acptr))
+ !IsChannelService(acptr) ||
+ (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)))
{
/*
* By this stage we might as well not bother because they will
@@ -363,8 +363,8 @@ void relay_directed_notice(struct Client* sptr, char* name,
char* server, const
* allow services to receive /notice [email protected] notices.
*/
if (!(acptr = FindUser(name)) || !MyUser(acptr) ||
- (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)) ||
- !IsChannelService(acptr))
+ !IsChannelService(acptr) ||
+ (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)))
{
send_reply(sptr, ERR_NOSUCHNICK, name);
return;
commit 87938c3315b3c2ba753ee1e41825b036f98cb8cb
Merge: c1bd9762 0bc6caee
Author: Empus <[email protected]>
Date: Tue Nov 21 23:17:22 2023 +1000
Merge branch 'u2_10_12_branch' into chanmode_P
diff --cc include/channel.h
index 8af4748f,2e834401..50b6444d
--- a/include/channel.h
+++ b/include/channel.h
@@@ -113,15 -114,14 +114,15 @@@ struct Client
#define MODE_APASS 0x200000
#define MODE_WASDELJOINS 0x400000 /**< Not DELJOINS, but some joins
* pending */
-
- #define MODE_NOPARTMSGS 0x4000000 /**< +P No part messages */
-#define MODE_MODERATENOREG 0x2000000 /**< +M Moderate unauthed users */
++#define MODE_NOPARTMSGS 0x800000 /**< +P No part messages */
++#define MODE_MODERATENOREG 0x1000000 /**< +M Moderate unauthed users */
/** mode flags which take another parameter (With PARAmeterS)
*/
#define MODE_WPARAS
(MODE_CHANOP|MODE_VOICE|MODE_BAN|MODE_KEY|MODE_LIMIT|MODE_APASS|MODE_UPASS)
/** Available Channel modes */
- #define infochanmodes feature_bool(FEAT_OPLEVELS) ? "AbiklmnopstUvrDdRcCP" :
"biklmnopstvrDdRcCP"
-#define infochanmodes feature_bool(FEAT_OPLEVELS) ? "AbiklmnopstUvrDdRcCM" :
"biklmnopstvrDdRcCM"
++#define infochanmodes feature_bool(FEAT_OPLEVELS) ? "AbiklmnopstUvrDdRcCPM" :
"biklmnopstvrDdRcCPM"
/** Available Channel modes that take parameters */
#define infochanmodeswithparams feature_bool(FEAT_OPLEVELS) ? "AbkloUv" :
"bklov"
diff --cc ircd/channel.c
index eca559fe,cf11b53c..0a533ca5
--- a/ircd/channel.c
+++ b/ircd/channel.c
@@@ -839,8 -839,8 +839,10 @@@ void channel_modes(struct Client *cptr
*mbuf++ = 'c';
if (chptr->mode.mode & MODE_NOCTCP)
*mbuf++ = 'C';
+ if (chptr->mode.mode & MODE_NOPARTMSGS)
+ *mbuf++ = 'P';
+ if (chptr->mode.mode & MODE_MODERATENOREG)
+ *mbuf++ = 'M';
if (chptr->mode.limit) {
*mbuf++ = 'l';
ircd_snprintf(0, pbuf, buflen, "%u", chptr->mode.limit);
@@@ -1538,7 -1538,7 +1540,8 @@@ modebuf_flush_int(struct ModeBuf *mbuf
MODE_REGISTERED, 'R',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
+ MODE_MODERATENOREG, 'M',
/* MODE_KEY, 'k', */
/* MODE_BAN, 'b', */
MODE_LIMIT, 'l',
@@@ -1969,8 -1970,8 +1973,8 @@@ modebuf_mode(struct ModeBuf *mbuf, unsi
mode &= (MODE_ADD | MODE_DEL | MODE_PRIVATE | MODE_SECRET | MODE_MODERATED |
MODE_TOPICLIMIT | MODE_INVITEONLY | MODE_NOPRIVMSGS | MODE_REGONLY |
- MODE_NOCOLOR | MODE_NOCTCP | MODE_NOPARTMSGS |
- MODE_DELJOINS | MODE_WASDELJOINS | MODE_REGISTERED);
- MODE_NOCOLOR | MODE_NOCTCP | MODE_MODERATENOREG |
++ MODE_NOCOLOR | MODE_NOCTCP | MODE_NOPARTMSGS | MODE_MODERATENOREG |
+ MODE_DELJOINS | MODE_WASDELJOINS | MODE_REGISTERED);
if (!(mode & ~(MODE_ADD | MODE_DEL))) /* don't add empty modes... */
return;
@@@ -2105,7 -2106,7 +2109,8 @@@ modebuf_extract(struct ModeBuf *mbuf, c
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
+ MODE_MODERATENOREG, 'M',
0x0, 0x0
};
unsigned int add;
@@@ -3249,7 -3250,7 +3254,8 @@@ mode_parse(struct ModeBuf *mbuf, struc
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
+ MODE_MODERATENOREG, 'M',
MODE_ADD, '+',
MODE_DEL, '-',
0x0, 0x0
diff --cc ircd/m_clearmode.c
index ade8785b,c616f4c8..2476b15b
--- a/ircd/m_clearmode.c
+++ b/ircd/m_clearmode.c
@@@ -126,7 -126,7 +126,8 @@@ do_clearmode(struct Client *cptr, struc
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
+ MODE_MODERATENOREG, 'M',
0x0, 0x0
};
int *flag_p;
diff --cc ircd/m_part.c
index 88ace353,697f430a..e5b69811
--- a/ircd/m_part.c
+++ b/ircd/m_part.c
@@@ -151,19 -152,13 +152,19 @@@ int m_part(struct Client* cptr, struct
assert(!IsZombie(member)); /* Local users should never zombie */
- if (!member_can_send_to_channel(member, 0))
+ if (!member_can_send_to_channel(member, 0)
+ || ((member->channel->mode.mode & MODE_NOCOLOR) && colors)
+ || (IsDelayedTarget(member) && check_target_limit(sptr, NULL, chptr)))
{
flags |= CHFL_BANNED;
- /* Remote clients don't want to see a comment either. */
- parts.jb_comment = 0;
}
+ if ((member->channel->mode.mode & MODE_NOCOLOR) && colors)
+ flags |= CHFL_BANNED;
+
+ if (member->channel->mode.mode & MODE_NOPARTMSGS)
+ flags |= CHFL_BANNED;
+
if (IsDelayedJoin(member))
flags |= CHFL_DELAYED;
diff --cc ircd/m_quit.c
index df422a1c,c8514170..dec6084f
--- a/ircd/m_quit.c
+++ b/ircd/m_quit.c
@@@ -108,12 -111,17 +111,18 @@@ int m_quit(struct Client* cptr, struct
if (cli_user(sptr)) {
struct Membership* chan;
for (chan = cli_user(sptr)->channel; chan; chan = chan->next_channel) {
- if (!IsZombie(chan) && !IsDelayedJoin(chan) &&
!member_can_send_to_channel(chan, 0))
+ if (!IsZombie(chan) && !IsDelayedJoin(chan) &&
+ (!member_can_send_to_channel(chan, 0) || chan->channel->mode.mode &
MODE_NOPARTMSGS))
return exit_client(cptr, sptr, sptr, "Signed off");
+ if (IsDelayedTarget(chan))
+ ++delayed_targets;
}
}
- if (parc > 1 && !BadPtr(parv[parc - 1]))
+
+ /* Bypass check_target_limit() because we do not want to advance
cli_nexttarget(). */
+ if (delayed_targets)
+ delayed_targets = cli_nexttarget(sptr) + TARGET_DELAY * delayed_targets >
CurrentTime;
+ if (parc > 1 && !BadPtr(parv[parc - 1]) && !delayed_targets)
return exit_client_msg(cptr, sptr, sptr, "Quit: %s", parv[parc - 1]);
else
return exit_client(cptr, sptr, sptr, "Quit");
commit 0bc6caeeb0f145f7861974812b9acd2b70d1aaf4
Merge: 4be9a0c4 9cbac8bd
Author: Michael Poole <[email protected]>
Date: Tue Nov 21 07:48:24 2023 -0500
Merge pull request #30 from hiddn/infofix
Fixes #29 (few hashes displayed to non-opers)
commit 0039f1f28d543ec818b37e80eee6d7b896155f01
Author: Hidden <[email protected]>
Date: Tue Nov 21 04:35:36 2023 -0500
Apply '/msg nick@server' logic to /notice
diff --git a/ircd/ircd_relay.c b/ircd/ircd_relay.c
index 2cbb90ec..2eb25a2a 100644
--- a/ircd/ircd_relay.c
+++ b/ircd/ircd_relay.c
@@ -333,8 +333,12 @@ void relay_directed_notice(struct Client* sptr, char*
name, char* server, const
assert(0 != text);
assert(0 != server);
- if (0 == (acptr = FindServer(server + 1)))
+ if ((acptr = FindServer(server + 1)) == NULL || !IsService(acptr))
+ {
+ send_reply(sptr, ERR_NOSUCHNICK, name);
return;
+ }
+
/*
* NICK[%host]@server addressed? See if <server> is me first
*/
@@ -355,6 +359,17 @@ void relay_directed_notice(struct Client* sptr, char*
name, char* server, const
(!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)))
return;
+ /* Apply the same logic to NOTICE that is applied to PRIVMSG: only
+ * allow services to receive /notice [email protected] notices.
+ */
+ if (!(acptr = FindUser(name)) || !MyUser(acptr) ||
+ (!EmptyString(host) && 0 != match(host, cli_user(acptr)->host)) ||
+ !IsChannelService(acptr))
+ {
+ send_reply(sptr, ERR_NOSUCHNICK, name);
+ return;
+ }
+
*server = '@';
if (host)
*--host = '%';
commit 9cbac8bd7ebd61d34e0adcb8eb28017ba7c6c09b
Author: Hidden <[email protected]>
Date: Tue Nov 7 23:01:56 2023 -0500
Fixes #29 (few hashes displayed to non-opers)
- Now hiding all hashes to non-opers in /info command
- Adding Entrope to the list of coder-com maintainers for u2.10 at the
same time
- Removing Isomer from the list of current coder-com maintainers
- Fixing a typo (maintainors -> maintainers)
diff --git a/ircd/m_info.c b/ircd/m_info.c
index 0f18c438..6f85a6b9 100644
--- a/ircd/m_info.c
+++ b/ircd/m_info.c
@@ -111,7 +111,7 @@ int m_info(struct Client* cptr, struct Client* sptr, int
parc, char* parv[])
HUNTED_ISME)
return 0;
- while (text[212])
+ while (text[218])
{
send_reply(sptr, RPL_INFO, *text);
text++;
@@ -141,7 +141,7 @@ int ms_info(struct Client* cptr, struct Client* sptr, int
parc, char* parv[])
if (hunt_server_cmd(sptr, CMD_INFO, cptr, 1, ":%C", 1, parc, parv) !=
HUNTED_ISME)
return 0;
- while (text[212])
+ while (text[218])
{
if (!IsOper(sptr))
send_reply(sptr, RPL_INFO, *text);
@@ -174,7 +174,7 @@ int mo_info(struct Client* cptr, struct Client* sptr, int
parc, char* parv[])
if (hunt_server_cmd(sptr, CMD_INFO, cptr, 1, ":%C", 1, parc, parv) ==
HUNTED_ISME)
{
- while (text[212])
+ while (text[218])
{
if (!IsOper(sptr))
send_reply(sptr, RPL_INFO, *text);
diff --git a/ircd/version.c.SH b/ircd/version.c.SH
index fca1804c..b27381a5 100644
--- a/ircd/version.c.SH
+++ b/ircd/version.c.SH
@@ -67,8 +67,8 @@ const char *infotext[] = {
"The head developer of the u2.10 source tree was:",
"Bleep Thomas Helvey <[email protected]>",
"",
- "The current maintainors of the u2.10 source tree are:",
- "Isomer Perry Lorier <[email protected]>",
+ "The current maintainers of the u2.10 source tree are:",
+ "Entrope Michael Poole <[email protected]>",
"Kev Kevin Mitchell <[email protected]>",
"",
"Contributors to this release:",
commit 4be9a0c4be598c5aa783cfca72d4dea1af2d5b7b
Merge: 2dcf47b3 88f58ae3
Author: Michael Poole <[email protected]>
Date: Tue Nov 14 20:30:47 2023 -0500
Merge pull request #23 from davidtorrell/u2_10_12_branch
fix on line 837 example.conf.
commit 88f58ae3ceefe36d194ab742a6d67a45b8b8b34f
Author: David Torrell <[email protected]>
Date: Wed Oct 12 11:41:55 2022 +0200
fix on line 837 example.conf.
diff --git a/doc/example.conf b/doc/example.conf
index 131bfbf7..6f7dfd25 100644
--- a/doc/example.conf
+++ b/doc/example.conf
@@ -128,10 +128,10 @@ Admin {
# always be allowed. Otherwise, new clients will be allowed if there
# are fewer than maxlinks clients in the class, up to a limit of about
# 4,000,000,000.
-#
-# <connect freq> applies only to servers, and specifies the frequency
+#
+# <connect freq> applies only to servers, and specifies the frequency
# that the server tries to autoconnect. setting this to 0 will cause
-# the server to attempt to connect repeatedly with no delay until the
+# the server to attempt to connect repeatedly with no delay until the
# <maximum links> condition is satisfied. This is a Bad Thing(tm).
# Note that times can be specified as a number, or by giving something
# like: 1 minutes 20 seconds, or 1*60+20.
@@ -834,7 +834,7 @@ WebIRC {
# 127.0.0.1 from checks, write "::1" as an except address.
IPCheck {
except "::1";
-}
+};
# [features]
# IRC servers have a large number of options and features. Most of these
commit c1bd9762d2f705eda00b5e93c1ebb5d6625eff64
Author: Empus <[email protected]>
Date: Sat May 4 11:00:26 2019 -0700
enhanced to also prevent quit messages
diff --git a/ircd/m_quit.c b/ircd/m_quit.c
index 9ccc3615..df422a1c 100644
--- a/ircd/m_quit.c
+++ b/ircd/m_quit.c
@@ -108,7 +108,8 @@ int m_quit(struct Client* cptr, struct Client* sptr, int
parc, char* parv[])
if (cli_user(sptr)) {
struct Membership* chan;
for (chan = cli_user(sptr)->channel; chan; chan = chan->next_channel) {
- if (!IsZombie(chan) && !IsDelayedJoin(chan) &&
!member_can_send_to_channel(chan, 0))
+ if (!IsZombie(chan) && !IsDelayedJoin(chan) &&
+ (!member_can_send_to_channel(chan, 0) || chan->channel->mode.mode &
MODE_NOPARTMSGS))
return exit_client(cptr, sptr, sptr, "Signed off");
}
}
commit 2628c3c7fca1025e0f8334afb3f24e3a2a0e7556
Author: Empus <[email protected]>
Date: Sat May 4 09:44:29 2019 -0700
missing the most crucial piece, the mode
diff --git a/ircd/channel.c b/ircd/channel.c
index 125ad7b8..eca559fe 100644
--- a/ircd/channel.c
+++ b/ircd/channel.c
@@ -839,6 +839,8 @@ void channel_modes(struct Client *cptr, char *mbuf, char
*pbuf, int buflen,
*mbuf++ = 'c';
if (chptr->mode.mode & MODE_NOCTCP)
*mbuf++ = 'C';
+ if (chptr->mode.mode & MODE_NOPARTMSGS)
+ *mbuf++ = 'P';
if (chptr->mode.limit) {
*mbuf++ = 'l';
ircd_snprintf(0, pbuf, buflen, "%u", chptr->mode.limit);
@@ -1536,6 +1538,7 @@ modebuf_flush_int(struct ModeBuf *mbuf, int all)
MODE_REGISTERED, 'R',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
/* MODE_KEY, 'k', */
/* MODE_BAN, 'b', */
MODE_LIMIT, 'l',
@@ -1966,7 +1969,7 @@ modebuf_mode(struct ModeBuf *mbuf, unsigned int mode)
mode &= (MODE_ADD | MODE_DEL | MODE_PRIVATE | MODE_SECRET | MODE_MODERATED |
MODE_TOPICLIMIT | MODE_INVITEONLY | MODE_NOPRIVMSGS | MODE_REGONLY |
- MODE_NOCOLOR | MODE_NOCTCP |
+ MODE_NOCOLOR | MODE_NOCTCP | MODE_NOPARTMSGS |
MODE_DELJOINS | MODE_WASDELJOINS | MODE_REGISTERED);
if (!(mode & ~(MODE_ADD | MODE_DEL))) /* don't add empty modes... */
@@ -2102,6 +2105,7 @@ modebuf_extract(struct ModeBuf *mbuf, char *buf)
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
0x0, 0x0
};
unsigned int add;
@@ -3245,6 +3249,7 @@ mode_parse(struct ModeBuf *mbuf, struct Client *cptr,
struct Client *sptr,
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
MODE_ADD, '+',
MODE_DEL, '-',
0x0, 0x0
commit 68727a8d78519fe005dec72caadc08d76d72fa64
Author: Empus <[email protected]>
Date: Sat May 4 09:39:20 2019 -0700
implementation of chanmode +P
prevent all channel part messages
diff --git a/include/channel.h b/include/channel.h
index fc4916fe..8af4748f 100644
--- a/include/channel.h
+++ b/include/channel.h
@@ -113,12 +113,15 @@ struct Client;
#define MODE_APASS 0x200000
#define MODE_WASDELJOINS 0x400000 /**< Not DELJOINS, but some joins
* pending */
+
+#define MODE_NOPARTMSGS 0x4000000 /**< +P No part messages */
+
/** mode flags which take another parameter (With PARAmeterS)
*/
#define MODE_WPARAS
(MODE_CHANOP|MODE_VOICE|MODE_BAN|MODE_KEY|MODE_LIMIT|MODE_APASS|MODE_UPASS)
/** Available Channel modes */
-#define infochanmodes feature_bool(FEAT_OPLEVELS) ? "AbiklmnopstUvrDdRcC" :
"biklmnopstvrDdRcC"
+#define infochanmodes feature_bool(FEAT_OPLEVELS) ? "AbiklmnopstUvrDdRcCP" :
"biklmnopstvrDdRcCP"
/** Available Channel modes that take parameters */
#define infochanmodeswithparams feature_bool(FEAT_OPLEVELS) ? "AbkloUv" :
"bklov"
diff --git a/ircd/m_clearmode.c b/ircd/m_clearmode.c
index fdac7883..ade8785b 100644
--- a/ircd/m_clearmode.c
+++ b/ircd/m_clearmode.c
@@ -126,6 +126,7 @@ do_clearmode(struct Client *cptr, struct Client *sptr,
struct Channel *chptr,
MODE_DELJOINS, 'D',
MODE_NOCOLOR, 'c',
MODE_NOCTCP, 'C',
+ MODE_NOPARTMSGS, 'P',
0x0, 0x0
};
int *flag_p;
diff --git a/ircd/m_part.c b/ircd/m_part.c
index a2c3bd85..88ace353 100644
--- a/ircd/m_part.c
+++ b/ircd/m_part.c
@@ -161,6 +161,9 @@ int m_part(struct Client* cptr, struct Client* sptr, int
parc, char* parv[])
if ((member->channel->mode.mode & MODE_NOCOLOR) && colors)
flags |= CHFL_BANNED;
+ if (member->channel->mode.mode & MODE_NOPARTMSGS)
+ flags |= CHFL_BANNED;
+
if (IsDelayedJoin(member))
flags |= CHFL_DELAYED;
-----------------------------------------------------------------------
Summary of changes:
doc/example.conf | 6 +++---
include/channel.h | 5 +++--
ircd/channel.c | 7 ++++++-
ircd/client.c | 2 +-
ircd/ircd_relay.c | 21 ++++++++++++++++++---
ircd/m_clearmode.c | 1 +
ircd/m_gline.c | 2 +-
ircd/m_info.c | 6 +++---
ircd/m_part.c | 6 ++++++
ircd/m_quit.c | 3 ++-
ircd/version.c.SH | 4 ++--
11 files changed, 46 insertions(+), 17 deletions(-)
hooks/post-receive
--
Undernet IRC Server Source Code.
--
You received this message because you are subscribed to the Google Groups
"Undernet Mailing List - [email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].