Age | Commit message (Collapse) | Author |
|
|
|
|
|
Turns out this is already required by the IRCv3 setname spec but
we forgot to implement it. Oops.
|
|
|
|
|
|
|
|
|
|
inspircd.h defines __STDC_LIMIT_MACROS to ensure that C99 int type
limits are defined, however, if <stdint.h> is included implicitly
before inspircd.h, the build fails due to the C99 integer type
limits being undefined.
|
|
This allows clients to accurately predict the maximum safe length
of a NOTICE or PRIVMSG and truncate/split as appropriate.
As proposed at https://defs.ircdocs.horse/defs/isupport.html
|
|
- Move the ISUPPORT token from the core into core_user and start
sending the SAFELIST token to let clients know that they can
safely run LIST on big servers.
- Add support for the channel creation time (C), topic set time
(T), and inverted glob match (N) filters as specified in the
draft-hardy-irc-isupport-00 specification.
- Clean up the logic for filtering channels by user count.
|
|
|
|
- INSPIRCD_SOCKETENGINE_NAME is not really something that needs to
be user facing. If opers want to know this kind of internal info
then they can look at the build configuration.
- INSPIRCD_SYSTEM causes problems for reproducible builds and is
only accurate for the state of the system when InspIRCd is built
which is not useful in the slightest.
|
|
|
|
|
|
- Replace the deprecated MAXCHANNELS token with CHANLIMIT.
- Remove the deprecated FNC token (other implementations can force
a nick change without sending this token so informing clients of
that we might force a nick change is pointless)
|
|
|
|
parameters
|
|
Fix multiple ERROR messages being sent to unregistered users by removing the "Exiting with status..." message
|
|
|
|
- warning: absolute value function 'abs' given an argument of type 'long' but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
- warning: 'this' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]
|
|
classbase objects such as callers call LogManager::Log() on destruction unless ServerInstance is NULL
|
|
- Make GetLines() a const method
- Rename Lines to cachedlines
- Get rid of a variable in Build()
|
|
|
|
containing it
|
|
|
|
These tokens have been deprecated in favour of STATUSMSG for a long time
|
|
ModeType
|
|
|
|
- Remove the CHARSET entry from ISUPPORT.
CHARSET was removed in draft-brocklesby-irc-isupport-03 and we
always used the default value anyway. This has also been removed
in the latest version of Charybdis.
- Remove irc::sockets::satouser.
This helper method was longer than the code it replaced.
|
|
automatically
|
|
Call InspIRCd::Rehash() from cmd_rehash and from the SIGHUP handler
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 'const char*' to 'const std::string&'.
* snprintf to std::string concatenation.
* Replace duplicated OneOfMatches with InspIRCd::MatchMask.
|
|
as a constant
|
|
This loop is not required because we already set current_uid[pos] to 'A' before recursing if current_uid[pos] is 9
|
|
|
|
|
|
|
|
local users to UserManager
|
|
-Fix x64 builds for Windows. Now all configurations compile.
-Remove the non-working rebase stuff.
-Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now.
-Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2
-Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need.
-Enable optimizations for release builds.
-De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure
-Add the VC++ specific bad files in .gitignore
-Disable PID writing on Windows. This is only making sense for *nix builds.
-Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working)
-Removed certain unused functions and variables
-Remove stdint defines from the windows wrapper
-Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds.
-Re-evaluated the warnings list, commented it.
-Moved inspircd_config/_version to include/ to match *nix
-Removed the creation of inspircd_se_config, as it isn't used at all.
-Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out)
-Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly.
-Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down)
-Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded.
-Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways)
-Removed the unused ClearConsole()
-Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate.
-Made inet_aton an inline function for increased performance
-C4800, performance warning about bool forcing, resolved at all occurrences.
-C4701, uninitialized variable 'cached', resolved at all occurrences.
-dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance.
-Removed the wrong CRT debug flags. This drains a lot of performance.
-Removed the clock_gettime/gettimeofday wrappers
-Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function.
-Added a block of C4355 for < VS2012
-Update project files for c870714
|
|
std::string::c_str() when the object is temporary
See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
|
|
|
|
|
|
Get rid of curindex, use a bool to determine if we need to initialize
|