2188 Commits

Author SHA1 Message Date
attilamolnar
397dea782f CommandParser::ProcessCommand() and ProcessBuffer() cleanup
- Change return types to void
- Use a pointer to the command handler instead of an iterator
2013-06-01 22:57:59 +02:00
attilamolnar
dac63207aa Remove (non-functional) total_bytes counter from Command 2013-06-01 22:52:02 +02:00
Peter Powell
d9c1809b26 Remove unused code from configure. 2013-06-01 20:33:13 +01:00
attilamolnar
3406c7234a Simplify user mode removal via ModeHandler::RemoveMode()
The function does not need to be virtual because the core can remove any user mode using the default logic
The optional modestack parameter was always NULL, so remove it
2013-05-27 01:07:30 +02:00
attilamolnar
9bb24d3f45 Deduplicate RemoveMode() implementations
The default (core) implementation can now remove prefix modes
The modestacker parameter is now mandatory
2013-05-27 01:07:29 +02:00
Peter Powell
244a65e855 Clean up the FileReader class and all of the modules that use it.
- Modules which use this class will now have to catch a
  CoreException when opening files if they wish to ignore
  the failed loading of a file.
- m_randquote has been cleaned up massively and the RANDQUOTE
  command has been removed as it was pretty much useless.
2013-05-27 00:15:30 +02:00
attilamolnar
1911857e3a Cache mode list that is sent in the 004 numeric
Deduplicate UserModeList(), ChannelModeList() and ParaModeList() code
2013-05-24 18:22:25 +02:00
attilamolnar
b8c1db4e90 Remove dead ModeParser code 2013-05-24 18:20:58 +02:00
Attila Molnar
b36ce84c7d Merge pull request #545 from SaberUK/master+logging-cleanup
Clean up the logging system (part 1 of 2).
2013-05-21 17:11:46 -07:00
Peter Powell
48033e9b3a Convert XLine::Displayable to return a std::string. 2013-05-21 22:11:27 +01:00
Peter Powell
994787e907 Fix msvc detection of variadic template support 2013-05-20 23:51:45 -04:00
Adam
0d95204c98 Merge pull request #548 from SaberUK/master+variadic-templates
Add support for detecting C++11 variadic templates.
2013-05-20 18:55:49 -07:00
Peter Powell
b40f197f20 Add support for detecting C++11 variadic templates. 2013-05-21 02:34:10 +01:00
attilamolnar
7a67685bcb Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to OnUserMessage and OnUserPreMessage
All modules (except m_nonotice) that perform filtering on messages have common logic for handling PRIVMSGs and NOTICEs and most of them run the exact same code in both cases
2013-05-20 23:30:11 +02:00
Adam
06a606ea66 Fixup last commit 2013-05-20 14:20:08 -04:00
Peter Powell
3e105c6311 Fix spacing in calls to LogManager::Log. 2013-05-19 19:33:36 +01:00
Peter Powell
b180658962 Accept a LogLevel instead of an int in logging methods. 2013-05-19 17:11:57 +01:00
Peter Powell
5ad9b97fcf Purge a ton of code related to non <log> related logging.
- InspIRCd::OpenLog
- ./inspircd --logfile [file]

This is no longer needed now we have (since 1.2) custom logging.
2013-05-19 17:11:53 +01:00
Peter Powell
ad0828aa64 Move LogHeader to LogStream. 2013-05-19 03:22:54 +01:00
Peter Powell
ac726c8896 Move LogLevel enum from filelogger to logger. 2013-05-19 03:22:41 +01:00
Daniel Vassdal
42ae479081 Added macro to allow simpler logic in functions with the need to vsnprintf 2013-05-18 14:01:21 -07:00
attilamolnar
3ce33ee0e6 Change the signature of User::ForceNickChange() to accept const std::string& instead of const char* 2013-05-18 21:24:22 +02:00
attilamolnar
f3d134a5b6 Get rid of the NICKForced extension
Don't run OnUserPreNick when the nick change is forced
2013-05-18 21:23:52 +02:00
attilamolnar
b0d652a15f Remove unused UserManager::ServerPrivmsgAll() 2013-05-18 21:09:44 +02:00
attilamolnar
801af5b473 irc::tokenstream and irc::sepstream cleanup
irc::sepstream does not require virtual methods
2013-05-18 21:09:31 +02:00
attilamolnar
21eba8e86b irc::stringjoiner cleanup
- Get rid of unused constructors
- signed -> unsigned
- return const ref from GetJoined()
2013-05-18 21:08:25 +02:00
attilamolnar
780757cbc1 Deduplicate hex string creation code 2013-05-18 21:07:42 +02:00
Peter Powell
5c9427cde0 Remove the size argument from IsChannel and IsNick.
There was only one case (which was probably an error) where these
methods were not set to their ServerLimits value.
2013-05-18 19:11:07 +01:00
Daniel Vassdal
6153822a2d Added a function to replace all the ugly sprintf-ing everywhere 2013-05-16 21:34:45 +02:00
Peter Powell
8e9abaaa73 Fix GCC warnings about using C++11 features when not in C++11 mode. 2013-05-16 16:43:35 +01:00
attilamolnar
712a0e5ff3 Get rid of strlcpy(), strlcat(), charlcat() and charremove() 2013-05-16 02:23:45 +02:00
attilamolnar
a2e9e2837d irc::Spacify-- 2013-05-16 01:57:09 +02:00
attilamolnar
c5a4658380 Allow spaces (and more) in oper types
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers
Issue #533 suggested by @ankitkv
2013-05-16 01:56:06 +02:00
Peter Powell
accccc212c Replace some C-isms with C++-isms.
* 'const char*' to 'const std::string&'.
* snprintf to std::string concatenation.
* Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-05-15 03:32:56 +01:00
Peter Powell
226a95aab0 Add method for writing server notices.
This allows us to send a server notice to a user without worrying
about whether they are registered or not.

If a user receives a server notice and they are not registered
then the nickname field will contain an asterisk instead of their
nick name.
2013-05-14 23:30:12 +01:00
Peter Powell
b89aa87280 Clean up cross-platform compatibility.
- Move compatibility macros to a new header file.
- Sort system include files in alphabetical order.
- Clean up signal handling (thanks to Adam).
2013-05-07 05:00:33 +02:00
attilamolnar
8790551dc1 Merge insp20 2013-04-28 00:32:14 +02:00
Peter Powell
f2566ff550 Move <performance:nouserdns> to <connect:nouserdns>. 2013-04-27 05:59:54 +01:00
Adam
8428bbb387 Modularize DNS
The DNS modules are temporarily in commands/ so they're loaded automatically

Thanks to Attila for helping with much of this.
2013-04-26 16:59:29 -05:00
attilamolnar
2bb64c5dcf Move SocketEngine::IgnoreError() code into socketengine.h and add test for EWOULDBLOCK 2013-04-24 19:54:58 +02:00
attilamolnar
1638ee6193 Timer changes and TimerManager enhancements
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded)
Timers are removed from the TimerManager automatically at destruction

Timers are now stored in a multimap instead of a sorted vector
2013-04-21 18:00:09 +02:00
Peter Powell
0d3a6719b8 Fix building with libc++.
- Purged std::tr1::strlower (was never used).
- Moved std::tr1::insensitive to irc::insensitive.
- Added TR1NS macro to point to the correct C++ TR1 namespace.
2013-04-19 01:34:07 +01:00
attilamolnar
326852f7dd Fix Windows build 2013-04-17 22:13:26 +02:00
Adam
47332d6e9b Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing WSAEWOULDBLOCK 2013-04-16 18:19:42 -05:00
attilamolnar
895554aebc Use std::string internally in UIDGenerator, move UUID_LENGTH into the class as a constant 2013-04-14 18:35:41 +02:00
attilamolnar
48f7fa6b11 Extract UID/SID generation logic into a new class: UIDGenerator 2013-04-14 18:20:02 +02:00
attilamolnar
f8127cf8c5 Remove const char* versions of InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan() 2013-04-13 17:43:37 +02:00
attilamolnar
b98acac5c9 Channel::JoinUser() and Channel::ForceChan() changes
Convert static Channel::ForceChan() to non-static Channel::ForceJoin() that joins a user to a channel, no permission checks

The (static) Channel::JoinUser() now has a LocalUser parameter, and no longer have TS and bursting parameters. If the channel doesn't exist, it is created using current time as TS
2013-04-13 16:05:54 +02:00
attilamolnar
988d821807 OnUserPreJoin is a local-only hook, change User* parameter to LocalUser* 2013-04-13 15:34:12 +02:00
attilamolnar
d71b6a8b27 Remove the deprecated invite API 2013-04-13 15:34:11 +02:00