mirror of
https://github.com/pissnet/pissircd.git
synced 2025-08-13 13:41:37 +01:00
Merge branch 'unreal60_dev' of git://github.com/unrealircd/unrealircd into unrealircd-unreal60_dev
This commit is contained in:
commit
e4a14efdc1
10 changed files with 70 additions and 54 deletions
2
Config
2
Config
|
@ -345,7 +345,7 @@ echo "We will now ask you a number of questions. You can just press ENTER to acc
|
|||
echo ""
|
||||
|
||||
# This needs to be updated each release so auto-upgrading works for settings, modules, etc!!:
|
||||
UNREALRELEASES="unrealircd-6.0.0-beta2 unrealircd-6.0.0-beta1 unrealircd-5.2.2 unrealircd-5.2.1.1 unrealircd-5.2.1 unrealircd-5.2.1-rc1 unrealircd-5.2.0.2 unrealircd-5.2.0.1 unrealircd-5.2.0 unrealircd-5.2.0-rc1 unrealircd-5.0.9.1 unrealircd-5.0.9 unrealircd-5.0.9-rc1 unrealircd-5.0.8 unrealircd-5.0.8-rc1 unrealircd-5.0.7 unrealircd-5.0.7-rc1 unrealircd-5.0.6 unrealircd-5.0.5.1 unrealircd-5.0.5 unrealircd-5.0.4 unrealircd-5.0.3.1 unrealircd-5.0.3 unrealircd-5.0.2 unrealircd-5.0.1 unrealircd-5.0.0"
|
||||
UNREALRELEASES="unrealircd-6.0.0-beta3 unrealircd-6.0.0-beta2 unrealircd-6.0.0-beta1 unrealircd-5.2.2 unrealircd-5.2.1.1 unrealircd-5.2.1 unrealircd-5.2.1-rc1 unrealircd-5.2.0.2 unrealircd-5.2.0.1 unrealircd-5.2.0 unrealircd-5.2.0-rc1 unrealircd-5.0.9.1 unrealircd-5.0.9 unrealircd-5.0.9-rc1 unrealircd-5.0.8 unrealircd-5.0.8-rc1 unrealircd-5.0.7 unrealircd-5.0.7-rc1 unrealircd-5.0.6 unrealircd-5.0.5.1 unrealircd-5.0.5 unrealircd-5.0.4 unrealircd-5.0.3.1 unrealircd-5.0.3 unrealircd-5.0.2"
|
||||
if [ -f "config.settings" ]; then
|
||||
. ./config.settings
|
||||
else
|
||||
|
|
|
@ -7,7 +7,7 @@ dnl src/windows/unrealinst.iss
|
|||
dnl doc/Config.header
|
||||
dnl src/version.c.SH
|
||||
|
||||
AC_INIT([unrealircd], [6.0.0-beta3], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
|
||||
AC_INIT([unrealircd], [6.0.0-beta4], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
|
||||
AC_CONFIG_SRCDIR([src/ircd.c])
|
||||
AC_CONFIG_HEADER([include/setup.h])
|
||||
AC_CONFIG_AUX_DIR([autoconf])
|
||||
|
@ -40,7 +40,7 @@ AC_DEFINE_UNQUOTED([UNREAL_VERSION_MINOR], [$UNREAL_VERSION_MINOR], [Minor versi
|
|||
# The version suffix such as a beta marker or release candidate
|
||||
# marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
|
||||
# string instead of an integer because it contains arbitrary data.
|
||||
UNREAL_VERSION_SUFFIX=["-beta3"]
|
||||
UNREAL_VERSION_SUFFIX=["-beta4"]
|
||||
AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rcX for unrealircd-3.2.9-rcX)])
|
||||
|
||||
AC_PATH_PROG(RM,rm)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
|
||||
|
||||
Configuration Program
|
||||
for UnrealIRCd 6.0.0-beta3
|
||||
for UnrealIRCd 6.0.0-beta4
|
||||
|
||||
This program will help you to compile your IRC server, and ask you
|
||||
questions regarding the compile-time settings of it during the process.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
UnrealIRCd 6.0.0-beta3
|
||||
UnrealIRCd 6.0.0-beta4
|
||||
=======================
|
||||
This is the third beta for UnrealIRCd 6. It contains all the planned
|
||||
This is the fourth beta for UnrealIRCd 6. It contains all the planned
|
||||
features for U6 and now we need the help of the public to test these beta's.
|
||||
Caution: this beta may crash spectacularly, behave weird or in unexpected
|
||||
ways, so don't run it on production systems!
|
||||
|
@ -15,6 +15,13 @@ you, then answer --disable-asan to the last question in ./Config about
|
|||
custom parameters to pass to configure.
|
||||
Naturally, the eventual stable release won't use AddressSanitizer.
|
||||
|
||||
Changes since beta3:
|
||||
* Fix regular users being able to set some channel modes (users without +hoaq)
|
||||
* Fix memory leak in SJOIN
|
||||
* Fix websocket memory leak and two issues with forwarders
|
||||
* Fix issue with MODE expansion leading to duplicate msgids (rare)
|
||||
* Update Turkish example and help conf
|
||||
|
||||
Changes since beta2:
|
||||
* Fix crash with non-matching link block
|
||||
* Update MODE to behave better in mixed U5-U6 networks, preventing desyncs.
|
||||
|
|
|
@ -38,7 +38,7 @@ PROJECT_NAME = "UnrealIRCd"
|
|||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 6.0.0-beta3
|
||||
PROJECT_NUMBER = 6.0.0-beta4
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
|
|
@ -65,6 +65,6 @@
|
|||
|
||||
/* Version suffix such as a beta marker or release candidate marker. (e.g.:
|
||||
-rcX for unrealircd-3.2.9-rcX) */
|
||||
#define UNREAL_VERSION_SUFFIX "-beta3"
|
||||
#define UNREAL_VERSION_SUFFIX "-beta4"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -162,6 +162,14 @@ CMD_FUNC(cmd_mode)
|
|||
}
|
||||
#endif
|
||||
|
||||
/* User does not have permission to use the MODE command */
|
||||
if (MyUser(client) && !IsULine(client) && !check_channel_access(client, channel, "hoaq") &&
|
||||
!ValidatePermissionsForPath("channel:override:mode",client,NULL,channel,NULL))
|
||||
{
|
||||
sendnumeric(client, ERR_CHANOPRIVSNEEDED, channel->name);
|
||||
return;
|
||||
}
|
||||
|
||||
if (parv[2] && (*parv[2] == '&'))
|
||||
{
|
||||
/* We don't do any bounce-mode handling anymore since UnrealIRCd 6 */
|
||||
|
|
|
@ -261,6 +261,7 @@ void websocket_mdata_free(ModData *m)
|
|||
{
|
||||
safe_free(wsu->handshake_key);
|
||||
safe_free(wsu->lefttoparse);
|
||||
safe_free(wsu->sec_websocket_protocol);
|
||||
safe_free(wsu->forwarded);
|
||||
safe_free(m->ptr);
|
||||
}
|
||||
|
@ -578,57 +579,57 @@ struct HTTPForwardedHeader *websocket_parse_forwarded_header(char *input)
|
|||
break;
|
||||
}
|
||||
switch (action)
|
||||
{
|
||||
case FHEADER_ACTION_APPEND:
|
||||
if (state == FHEADER_STATE_NAME)
|
||||
{
|
||||
case FHEADER_ACTION_APPEND:
|
||||
if (state == FHEADER_STATE_NAME)
|
||||
{
|
||||
if (name_length < FHEADER_NAMELEN)
|
||||
{
|
||||
if (name_length < FHEADER_NAMELEN)
|
||||
{
|
||||
name[name_length++] = c;
|
||||
} else
|
||||
{
|
||||
/* truncate */
|
||||
}
|
||||
name[name_length++] = c;
|
||||
} else
|
||||
{
|
||||
if (name_length < IPLEN)
|
||||
{
|
||||
value[value_length++] = c;
|
||||
} else
|
||||
{
|
||||
/* truncate */
|
||||
}
|
||||
/* truncate */
|
||||
}
|
||||
break;
|
||||
case FHEADER_ACTION_IGNORE: default:
|
||||
break;
|
||||
case FHEADER_ACTION_PROCESS:
|
||||
value[value_length] = '\0';
|
||||
name[name_length] = '\0';
|
||||
if (!strcasecmp(name, "for"))
|
||||
} else
|
||||
{
|
||||
if (value_length < IPLEN)
|
||||
{
|
||||
strlcpy(forwarded.ip, value, IPLEN+1);
|
||||
} else if (!strcasecmp(name, "proto"))
|
||||
{
|
||||
if (!strcasecmp(value, "https"))
|
||||
{
|
||||
forwarded.secure = 1;
|
||||
} else if (!strcasecmp(value, "http"))
|
||||
{
|
||||
forwarded.secure = 0;
|
||||
} else
|
||||
{
|
||||
/* ignore unknown value */
|
||||
}
|
||||
value[value_length++] = c;
|
||||
} else
|
||||
{
|
||||
/* ignore unknown field name */
|
||||
/* truncate */
|
||||
}
|
||||
value_length = 0;
|
||||
name_length = 0;
|
||||
state = FHEADER_STATE_NAME;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case FHEADER_ACTION_IGNORE: default:
|
||||
break;
|
||||
case FHEADER_ACTION_PROCESS:
|
||||
value[value_length] = '\0';
|
||||
name[name_length] = '\0';
|
||||
if (!strcasecmp(name, "for"))
|
||||
{
|
||||
strlcpy(forwarded.ip, value, IPLEN+1);
|
||||
} else if (!strcasecmp(name, "proto"))
|
||||
{
|
||||
if (!strcasecmp(value, "https"))
|
||||
{
|
||||
forwarded.secure = 1;
|
||||
} else if (!strcasecmp(value, "http"))
|
||||
{
|
||||
forwarded.secure = 0;
|
||||
} else
|
||||
{
|
||||
/* ignore unknown value */
|
||||
}
|
||||
} else
|
||||
{
|
||||
/* ignore unknown field name */
|
||||
}
|
||||
value_length = 0;
|
||||
name_length = 0;
|
||||
state = FHEADER_STATE_NAME;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return &forwarded;
|
||||
|
@ -819,7 +820,7 @@ int websocket_handle_handshake(Client *client, const char *readbuf, int *length)
|
|||
|
||||
if (end_of_request)
|
||||
{
|
||||
if (!websocket_handshake_valid(client))
|
||||
if (!websocket_handshake_valid(client) || IsDead(client))
|
||||
return -1;
|
||||
websocket_handshake_send_response(client);
|
||||
return 0;
|
||||
|
|
|
@ -7,7 +7,7 @@ echo "Extracting src/version.c..."
|
|||
if [ -d ../.git ]; then
|
||||
SUFFIX="-$(git rev-parse --short HEAD)"
|
||||
fi
|
||||
id="6.0.0-beta3$SUFFIX"
|
||||
id="6.0.0-beta4$SUFFIX"
|
||||
echo "$id"
|
||||
|
||||
if test -r version.c
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
[Setup]
|
||||
AppName=UnrealIRCd 6
|
||||
AppVerName=UnrealIRCd 6.0.0-beta3
|
||||
AppVerName=UnrealIRCd 6.0.0-beta4
|
||||
AppPublisher=UnrealIRCd Team
|
||||
AppPublisherURL=https://www.unrealircd.org
|
||||
AppSupportURL=https://www.unrealircd.org
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue