Skip to content

Commit

Permalink
Updated changes for 2.1.0 release (#56)
Browse files Browse the repository at this point in the history
* Updated changes for 2.1.0 release

Still needs some content for help.

* Updating patch level to 2.1.0

* More updates for 2.1.0.

* Fixed a broken merge (SVSXCF).

* Added missing extern.

* Updated version.c.SH (cosmetic fix).

* More updates for 2.1.0.

* Updated MODULE_INTERFACE_VERSION.

* Fixes for masked opers as they're already masked anyway.

* Let's make sure m_quit() will only check real users.

Currently, QUIT from un-registered clients (before NICK & USER) can crash the server because we're checking sptr->user->channels and sptr->user doesn't exist.

-Kobi.
  • Loading branch information
eaescob authored Sep 17, 2018
1 parent 172a0d2 commit 868e1a2
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 26 deletions.
34 changes: 34 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
Changes for 2.1.0:
------------------
Kobi Shmueli (11):
Fixed m_message() to compile with old gcc 2.x (i.e. for FreeBSD 4.x).
Let server admins (and u:lined servers) see more info with /info: OS, socket engine type, maxconnections, etc.
Changed STATS o/c/i output to be in human-readable format (#35).
Added user host-masking feature. When enabled, users' hostnames are masked by default and users can use umode -H to unmask themselves.
Added module hook for WHOIS.
Updated version.c.SH (Kobi --> Kobi_S & added RuneB & skill).
Added spamfilter feature (https://www.dal.net/kb/view.php?kb=411).
Added extended channel flags (https://www.dal.net/kb/view.php?kb=414) (#41).
Automatically build & install modules if they exist (#40).
Exempt IRC Operators from the auditorium mode (cmode +A).
Let IRC Operators (both local and global) see cmode +j's settings with /mode #channel from outside the channel in addition to +l (#45).

Ryan Smith (6):
Allow U-lined servers to remove all network-wide bans in case of an emergency.
Allow bahamut to be compiled against OpenSSL versions >= 1.1.0.
Fixed compile warning.
Fixed modern compiler warnings and possible buffer overflows (#53).
Added support for kill -HUP to rehash SSL certificates, including adding proper sanity checks to all SSL rehashes.
Added support for ircd.crt to handle chain certificates.

Ned T. Crigler (1):
Resend the nicklist to a client in auditorium mode (#50).

Bradley Claghorn (3):
Updated opers.txt.
Default creation of ircd.smotd added.
Updated Makefile.in.

Michael Wobst (1):
m_trace(): added missing argument to RPL_TRACESERVER required for the %ld conversion specifier (#32).

Changes for 2.0.7:
------------------
Kobi Shmueli (1):
Expand Down
2 changes: 1 addition & 1 deletion include/hooks.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ enum c_hooktype {
extern int call_hooks(enum c_hooktype hooktype, ...);
extern int init_modules();

#define MODULE_INTERFACE_VERSION 1008 /* the interface version (hooks, modules.c commands, etc) */
#define MODULE_INTERFACE_VERSION 1009 /* the interface version (hooks, modules.c commands, etc) */

#ifdef BIRCMODULE
extern void *bircmodule_add_hook(enum c_hooktype, void *, void *);
Expand Down
1 change: 1 addition & 0 deletions include/msg.h
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ extern int m_check(aClient *, aClient *, int, char **);
extern int m_webirc(aClient *, aClient *, int, char **);
extern int m_spamops(aClient *, aClient *, int, char **);
extern int m_sf(aClient *, aClient *, int, char **);
extern int m_svsxcf(aClient *, aClient *, int, char **);

/* aliastab indexes */
#define AII_NS 0
Expand Down
4 changes: 2 additions & 2 deletions include/patchlevel.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

#define BASENAME "bahamut"
#define MAJOR 2
#define MINOR 0
#define PATCH 7
#define MINOR 1
#define PATCH 0

#define PATCHES ""

Expand Down
51 changes: 29 additions & 22 deletions src/s_user.c
Original file line number Diff line number Diff line change
Expand Up @@ -979,6 +979,10 @@ register_user(aClient *cptr, aClient *sptr, char *nick, char *username,
memset(&sptr->ip, 0, sizeof(sptr->ip));
strcpy(sptr->hostip, "0.0.0.0");
strncpy(sptr->sockhost, Staff_Address, HOSTLEN + 1);
#ifdef USER_HOSTMASKING
strncpyzt(sptr->user->mhost, mask_host(Staff_Address,0), HOSTLEN + 1);
if(uhm_type > 0) sptr->umode &= ~UMODE_H; /* It's already masked anyway */
#endif
}

if(tmpptr)
Expand Down Expand Up @@ -2351,17 +2355,34 @@ m_quit(aClient *cptr, aClient *sptr, int parc, char *parv[])
strncpy(comment + 6, reason, TOPICLEN - 6);
comment[TOPICLEN] = 0;
#ifdef SPAMFILTER
if((blocked = check_sf(sptr, reason, "quit", SF_CMD_QUIT, sptr->name)))
if(IsPerson(sptr))
{
for(lp = sptr->user->channel; lp; lp = lpn)
if((blocked = check_sf(sptr, reason, "quit", SF_CMD_QUIT, sptr->name)))
{
for(lp = sptr->user->channel; lp; lp = lpn)
{
lpn = lp->next;
chptr = lp->value.chptr;
if(!(chptr->mode.mode & MODE_PRIVACY))
{
sendto_serv_butone(cptr, ":%s PART %s", parv[0], chptr->chname);
sendto_channel_butserv(chptr, sptr, ":%s PART %s", parv[0], chptr->chname);
remove_user_from_channel(sptr, chptr);
}
}
}
else
{
lpn = lp->next;
chptr = lp->value.chptr;
if(!(chptr->mode.mode & MODE_PRIVACY))
for(lp = sptr->user->channel; lp; lp = lpn)
{
sendto_serv_butone(cptr, ":%s PART %s", parv[0], chptr->chname);
sendto_channel_butserv(chptr, sptr, ":%s PART %s", parv[0], chptr->chname);
remove_user_from_channel(sptr, chptr);
lpn = lp->next;
chptr = lp->value.chptr;
if((chptr->xflags & XFLAG_NO_QUIT_MSG) && !is_xflags_exempted(sptr,chptr))
{
sendto_serv_butone(cptr, ":%s PART %s", parv[0], chptr->chname);
sendto_channel_butserv(chptr, sptr, ":%s PART %s", parv[0], chptr->chname);
remove_user_from_channel(sptr, chptr);
}
}
}
}
Expand Down Expand Up @@ -2954,20 +2975,6 @@ int m_oper(aClient *cptr, aClient *sptr, int parc, char *parv[])
parv[0], sptr->user->username, sptr->user->host);
return 0;
}
else
{
for(lp = sptr->user->channel; lp; lp = lpn)
{
lpn = lp->next;
chptr = lp->value.chptr;
if((chptr->xflags & XFLAG_NO_QUIT_MSG) && !is_xflags_exempted(sptr,chptr))
{
sendto_serv_butone(cptr, ":%s PART %s", parv[0], chptr->chname);
sendto_channel_butserv(chptr, sptr, ":%s PART %s", parv[0], chptr->chname);
remove_user_from_channel(sptr, chptr);
}
}
}

/* attach our conf */
sptr->user->oper = aoper;
Expand Down
2 changes: 1 addition & 1 deletion src/version.c.SH
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ char *infotext[] =
"Raistlin_Majere Jason Slagle [email protected]",
"Rakarra Ian Westcott [email protected]",
"sedition David Parton [email protected]",
"srd Holbrook Bunting [email protected]",
"srd Holbrook Bunting [email protected]",
"White_Dragon Chip Norkus [email protected]",
"xPsycho Ryan Smith [email protected]",
"",
Expand Down

0 comments on commit 868e1a2

Please sign in to comment.