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
attilamolnar
ebe5b201aa
Migrate u_listmode.h into the core, change +b to use it
2013-04-08 23:13:24 +02:00
attilamolnar
0ce252f05c
Add builtin modes using AddService()
2013-04-08 23:13:24 +02:00
attilamolnar
1bf6cf727d
Unite include/modes/*.h into include/builtinmodes.h
2013-04-08 23:13:24 +02:00
attilamolnar
9eeae94195
Allow dynamic references to reference ServiceProviders, introduce ModeReference
...
Mode handlers can be referenced using mode/<modename>
2013-04-08 23:13:24 +02:00
attilamolnar
927937d610
Rework dynamic_reference management, introduce dynamic_reference_nocheck
...
New dynamic references are now resolved at construction and all of them are re-resolved when a relevant service is added or removed; resolution is no longer done in operator->
dynamic_reference_nocheck is a variant of dynamic_reference that does not check for value being null in operator-> / operator*
dynamic_reference still throws an exception when used in this case
Both kinds of dynamic references support .check(): an exception is thrown if this is called when value is null
2013-04-08 23:13:24 +02:00
attilamolnar
9fc218c005
Remove OnAddBan and OnDelBan hooks
2013-04-08 21:55:53 +02:00
Peter Powell
2ae42bbb1f
Default to the XML config format.
2013-04-06 11:47:56 +01:00
attilamolnar
0fa365373e
Don't attempt to unload or reload modules that are waiting to be unloaded
2013-04-05 18:23:44 +02:00
Peter Powell
362f3009ac
Merge inspircd_{config,version}.h into a single header file.
2013-04-05 16:39:40 +01:00
attilamolnar
bb3aa2fb37
Stop recreating hashmaps every hour, move garbage collection code related to local users to UserManager
2013-04-04 19:23:16 +02:00
attilamolnar
f86f450701
Move whowas settings into cmd_whowas from ConfigReader
2013-04-04 19:05:20 +02:00
attilamolnar
8c08130e19
Make cmd_whowas act like a module, remove special handling
2013-04-04 19:05:20 +02:00
attilamolnar
886f1ba488
Convert InspIRCd::Duration() to be static
2013-04-03 15:54:28 +02:00
attilamolnar
26e7bb0b9a
Whitespace and empty destructor removal, minor coding style changes
2013-04-01 21:56:13 +02:00
Attila Molnar
66b90807bb
Merge pull request #452 from SaberUK/master+nuke-hashmap
...
Purge the deprecated hash_map from existance.
2013-04-01 09:50:50 -07:00
attilamolnar
80e88c163d
Move member variables from User to LocalUser
...
- idle_lastmsg
- dns_done
- quitting_sendq
- exempt
- lastping
2013-04-01 17:05:12 +02:00
attilamolnar
713416ddfc
Change IsNickHandler()/IsIdentHandler()/IsChannelHandler() to use C++ strings as arguments instead of C strings
2013-04-01 16:20:35 +02:00
attilamolnar
6a080dfd91
Convert IsSID() to a static member function, modules shouldn't override it
2013-04-01 16:15:19 +02:00
attilamolnar
de9cf90b6b
Remove more deprecated code
...
- ConfigReader
- FloodQuitUserHandler
- IsValidModuleCommand
- CallCommandHandler
- DoCleanup from u_listmode.h
2013-04-01 16:10:45 +02:00