Peter Powell
a7fc2fe0dc
Replace GetServerPort() with server_sa.port().
2019-02-15 11:35:25 +00:00
Peter Powell
168ee80490
Rename User::nping to nextping for consistency with lastping.
2019-02-15 11:35:25 +00:00
Peter Powell
cbef0241a0
Implement support for the extended tag space for client tags.
2019-01-24 14:28:21 +00:00
linuxdaemon
f400d5f394
Redo OnSetEndPoint logic to fix duplicate clones ( #1549 ).
2019-01-14 11:48:45 +00:00
Matt Schatz
f2e3fd5952
Improve X-line text consistency.
...
- Change any "-Line", ":Line", or "*line" to "-line" throughout
the X-line code, comments, and documentation.
- Add periods to the end of some notices.
- Correct a typo in the Q-line code comments.
- Update the filter module documentation (shun addition).
Co-authored-by: Robby <robby@chatbelgie.be>
2019-01-09 10:07:09 +00:00
Peter Powell
654355c2d1
Reject setting modes which are null or not registered.
2018-12-12 14:43:55 +00:00
Peter Powell
d62c870ffb
Store the type of a StreamSocket within itself.
...
Similar to with IOHooks this allows you to convert StreamSocket to
a UserIOHandler quickly.
2018-10-25 13:50:43 +01:00
Peter Powell
98a80a730e
Fix unregistered user modes thinking they are enabled.
2018-10-18 10:59:52 +01:00
Peter Powell
58a0a7e014
Implement IRCv3 message tag support.
...
Co-authored-by: Attila Molnar <attilamolnar@hush.com>
2018-08-13 21:51:11 +01:00
Peter Powell
abbf70b2a3
Rename User::fullname to realname and make it private.
2018-07-30 18:50:34 +01:00
Peter Powell
7bde9de9b3
Replace most usages of "name" with "real" or "real name".
2018-07-30 18:34:57 +01:00
Peter Powell
8cb20e3545
Replace most usages of "GECOS" with "real" or "real name".
2018-07-30 18:30:11 +01:00
Peter Powell
09c5439c02
Add a module which implements the HAProxy PROXY v2 protocol.
2018-07-26 12:35:22 +01:00
Peter Powell
91e0af0fc4
Add the override keyword in places that it is missing.
...
GCCs warnings for this are much better than Clangs.
2017-11-21 15:51:45 +00:00
Peter Powell
36040be295
Fix a ton of -Wsign-conversion warnings.
2017-11-17 15:33:01 +00:00
Peter Powell
d865b43486
Hide User#host and User#dhost and use accessors to modify them.
...
This removes the need to invalidate the cache after changing a
user's hostname.
2017-10-28 16:16:10 +01:00
Peter Powell
08f6f05666
Change SetClientIP to take a C++ string instead of a char array.
2017-10-27 19:15:23 +01:00
Peter Powell
a62ae50007
Fix a bunch of Doxygen warnings.
2017-08-26 09:58:15 +01:00
Peter Powell
d1df2bce56
Add CXX11_OVERRIDE to overridden members that lack it.
...
This fixes a ton of warnings when building on compilers that
default to C++11 or newer.
2017-07-12 14:41:52 +01:00
Attila Molnar
0c061aff64
Clean up User::FormatModes(), rename to GetModeLetters()
...
Prefix the returned string with '+'
2016-12-30 18:58:31 +01:00
Attila Molnar
8db52f66a2
Make all User::IsModeSet() methods const, accept const ModeHandler
2016-12-30 18:51:56 +01:00
Attila Molnar
0c3b041d1b
Deduplicate nickname overruling code
...
Create LocalUser::OverruleNick(), call it from User::ChangeNick() and the UID handler in spanningtree
2016-12-30 18:44:39 +01:00
Peter Powell
02575ecbbb
Allow classes to take a port range.
2016-10-25 09:36:54 +01:00
Attila Molnar
f0debf907a
Pass the ModeHandler to User::HasModePermission()
...
Mark the method as const
2016-08-30 16:05:01 +02:00
Attila Molnar
f67aba687b
Remove User::SendText() and overrides completely
2016-03-30 12:37:29 +02:00
Attila Molnar
5fbb5a0b2c
Make User::WriteRemoteNumeric() virtual, implement it in SpanningTree::RemoteUser
2016-03-29 16:43:30 +02:00
Attila Molnar
55ad0595a7
Remove now unused overload of User::SendText()
2016-03-22 18:41:30 +01:00
Attila Molnar
49e2df0307
Add User::WriteRemoteNotice()
...
Sends a NOTICE from the local server to the user which can be local or remote
2016-03-01 16:15:59 +01:00
Attila Molnar
dbe5a1fc6f
Add User::WriteRemoteNumeric() and switch code using SendText() to send numerics to it
2016-02-25 16:40:50 +01:00
Attila Molnar
da29af8cba
Convert WriteNumeric() calls to pass the parameters of the numeric as method parameters
2016-02-25 16:12:09 +01:00
Attila Molnar
c89cc290fb
Move already sent id rollover handling and static LocalUser::already_sent_id into UserManager
2015-11-03 13:13:00 +01:00
Attila Molnar
30fc51c6dd
Rewrite invite system
...
- Moved out of core, now lives entirely in core_channel
- Accessible using the provided API after including the appropriate header
- Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS
- Expiration of timed invites are implemented using Timers
- When creating a new invite let a non-timed invite override a timed one
2015-11-02 13:28:55 +01:00
Attila Molnar
cf728bd8a3
Implement User::WriteCommonQuit() using ForEachNeighbor() in UserManager
2015-01-24 14:53:03 +01:00
Attila Molnar
662dfa6c18
Add User::ForEachNeighbor()
2015-01-24 14:49:10 +01:00
Attila Molnar
84ae29d0ea
Move the intrusive list containers into the insp namespace
2014-08-30 10:35:21 +02:00
Attila Molnar
46c97a8db7
Rename UserChanList to User::ChanList, remove UCListIter
2014-07-14 16:24:59 +02:00
Attila Molnar
2eb0505a16
User::ChangeNick() cannot fail if the new nick is the uuid, document this and rely on it
2014-07-03 12:36:14 +02:00
Attila Molnar
393cc8f9d6
Remove now needless User::ForceNickChange()
...
Change call sites to call ChangeNick()
2014-07-03 12:27:24 +02:00
Attila Molnar
10bae31483
Remove unused User::WriteCommonExcept()
...
WriteCommonRaw(msg, false) has similiar functionality with a std::string parameter
2014-04-02 12:52:20 +02:00
Attila Molnar
2465f88a58
Move User::SendAll() into core_privmsg
...
This functionality is only used by the PRIVMSG and NOTICE handlers
2014-04-02 12:50:04 +02:00
Attila Molnar
a6e68c0d34
Remove User::WriteTo() functions; use User::WriteFrom() instead
...
The removed functions were rarely used and all they did was to call User::WriteFrom() with swapped arguments. On call sites, WriteTo() hardly offers any readability improvement over WriteFrom().
2014-04-02 12:44:12 +02:00
Attila Molnar
b1173ca66a
Update nick timestamps in User::ChangeNick(), pass the new TS in a parameter
2014-03-03 15:07:17 +01:00
Attila Molnar
7ffef79f97
Index Channel::modes and User::modes with the id of the mode instead of its letter
2014-02-21 15:11:24 +01:00
Peter Powell
db0e78c5d2
Fix various cases of UUID exposure.
...
- Introduce WriteCommand which sends * when the user has not registered.
- Switch a ton of code to use WriteCommand instead of WriteServ.
- Convert WriteNotice to be a wrapper around WriteCommand.
- Only send * when NICK has not been sent instead of before registration.
2014-02-06 23:10:01 +01:00
Attila Molnar
458168b575
Convert InviteBase::invites to an intrusively linked list
2014-01-24 13:20:11 +01:00
Attila Molnar
f1f8173bb5
Convert LocalUserList to an intrusively linked list
2014-01-24 13:08:13 +01:00
Attila Molnar
9136136ac3
Move server description field from TreeServer into Server; remove OnGetServerDescription hook
2014-01-05 15:20:17 +01:00
Attila Molnar
11916574f6
Introduce Server class
...
- Replaces std::string server in User
- Replaces InspIRCd::ULine() and SilentULine()
2014-01-05 15:04:01 +01:00
Attila Molnar
d736eba00b
Improve UserManager::QuitUser() and related code
...
- Make operreason optional; NULL means same as quitreason
- Remove User::quietquit, it is now handled internally in spanningtree
- Send snotice about quitting remote users from spanningtree
2014-01-05 14:17:12 +01:00
Peter Powell
03a623a284
Rename <connect:nouserdns> to <connect:resolvehostnames>.
...
This name is more descriptive and avoids a double negative which
could make the name of this setting unclear to non-native speakers.
2013-08-10 14:04:09 +01:00