Skip to content

Commit f6db2e1

Browse files
authored
Merge pull request #89 from kobishmueli/sslbug
Fix a security bug on readwrite_client() that could lead to server crashes by SSL users
2 parents 8e6e30b + cd68976 commit f6db2e1

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

CHANGES

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
Changes for 2.1.4:
2+
------------------
3+
- typo fix (cptr --> sptr) that could lead to server crashes in some cases
4+
- Duplicate USER_VERBOSE and OPER_VERBOSE xflags into USER_VERBOSEV2 and OPER_VERBOSEV2
5+
(this will make it easier for us to enable them on upgraded servers without affecting non-upgraded servers).
6+
- Don't accept too long hostnames from WEBIRC
7+
- Don't allow WEBIRC to use 0.0.0.*, 127.0.0.* or Staff_Address
8+
- Don't allow WEBIRC to use DEFAULT_STAFF_ADDRESS either
9+
- Make sure the host on WEBIRC will have at least one dot
10+
- Allow WEBIRC hosts to have a semicolon too (for IPv6 IP addresses)
11+
12+
Changes for 2.1.3 (private release):
13+
------------------------------------
14+
- Optimize sendto_channel_butone() and sendto_channel_butlocal() functions
15+
- More sanity checks (just to be on the safe side...)
16+
- Fix SVSXCF calls with no channel name on send_topic_burst()
17+
- Cosmetic change (clarify what umode +y does)
18+
- Fix a security bug on readwrite_client() that could lead to server crashes by SSL users
19+
120
Changes for 2.1.2:
221
------------------
322
- Increase the umode buffer on register_user() to prevent a possible

include/patchlevel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#define BASENAME "bahamut"
2323
#define MAJOR 2
2424
#define MINOR 1
25-
#define PATCH 2
25+
#define PATCH 4
2626

2727
#define PATCHES ""
2828

src/s_bsd.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,7 +1750,11 @@ int readwrite_client(aClient *cptr, int isread, int iswrite)
17501750
if(cptr->ssl && IsSSL(cptr) && !SSL_is_init_finished(cptr->ssl))
17511751
{
17521752
if(IsDead(cptr) || !safe_ssl_accept(cptr, cptr->fd))
1753+
{
1754+
if(IsClient(cptr))
1755+
return exit_client(cptr, cptr, &me, iswrite?"Write Error: SSL Bug #7845":"Read Error: SSL Bug #7845");
17531756
close_connection(cptr);
1757+
}
17541758
return 1;
17551759
}
17561760
#endif

0 commit comments

Comments
 (0)