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
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
Peter Powell
11cafc12d5
Tidy up source files:
...
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
2013-04-12 17:03:05 +01:00
Peter Powell
645f7e18c6
Add LOG_ prefix to the log level enum values.
2013-04-12 02:21:19 +01:00
Peter Powell
5c29c53f65
Convert ISUPPORT to use a map instead of a string.
2013-04-11 23:08:03 +01:00
attilamolnar
295b3e7ba1
Fix clang warning about IsOper()
2013-04-11 21:58:23 +02:00
attilamolnar
01ea7ce9c3
BanCache: Move expiration code into a function, call it from RemoveEntries()
2013-04-10 19:27:24 +02:00
attilamolnar
2b1328c3f4
BanCache: Remove BanCacheManager::RehashCache()
...
The function was never called
2013-04-10 19:27:24 +02:00
attilamolnar
05ea981523
BanCache: Simplify BanCacheManager::RemoveEntries()
2013-04-10 19:27:24 +02:00
attilamolnar
a0fdf5fcd5
BanCache: Remove BanCacheHit::IP field, and BanCacheManager::RemoveHit()
...
The IP field was only used in RemoveHit(), RemoveHit() was only called from GetHit()
2013-04-10 19:27:24 +02:00
attilamolnar
c5d1a7843e
BanCache: Don't repeat ourselves, one BanCacheManager::AddHit() and one BanCacheHit constructor is enough
2013-04-10 19:27:23 +02:00
attilamolnar
ca0083cba9
Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()
2013-04-10 17:28:08 +02:00
attilamolnar
99461ac66d
Fix ListModeBase on Windows
2013-04-09 21:41:18 +02:00
attilamolnar
01b71ef43f
Move most whois related code from the core into cmd_whois
2013-04-09 18:36:49 +02:00
attilamolnar
8c4dfd8add
XLine: Provide a default implementation for DisplayExpiry()
2013-04-09 18:30:50 +02:00
attilamolnar
98beba078b
ListModeBase: Cache max items per channel
2013-04-08 23:13:25 +02:00
attilamolnar
9de86c34d4
ListModeBase: Minor changes to original u_listmode code
...
- Add constructors to ListItem, ListLimit
- Rename fields in ListItem
- Store time as time_t instead of string
- Store limits in a vector instead of a list
- Don't deallocate the list when it becomes empty
2013-04-08 23:13:25 +02:00