Adam
ceddb8370c
Unset extensibles on larger objects when they destruct
...
Some complex extensibles require the full object to still be alive in
their destructors to keep proper bookkeeping
2015-07-13 17:59:14 -04:00
Adam
4c54a3939f
Change git version name back to what it was, which the core uses
2015-03-22 10:26:53 -04:00
Adam
4266d17e8c
Update cmake version parsing code to deal with recent build version changes
...
Update Config.cs to no longer hardcode VS generators, it seems no longer necessary.
Fix new version system, cannot return C++ types from extern C functions
2015-03-12 11:20:18 -04:00
Adam
c5ff7c6868
Show passlen in PASSWORD_TOO_LONG
2015-03-12 08:00:12 -04:00
Adam
310e95a92e
Allow cs clone to clone levels too
2015-03-11 14:36:56 -04:00
Adam
fb17bc85ea
Redesign m_ldap to no longer rely on undefined behavior
...
Accessing the same LDAP* from multiple threads at once is always
undefined, even if one thread is just polling ldap_result.
Instead keep one thread per connection and issue blocking queries on the
thread.
2015-03-11 08:48:08 -04:00
Adam
7de4b86b7f
Move GIT_VERSION define to build.h, otherwise version.h is bumped per commit which forces a rebuild
2015-02-23 20:43:22 -05:00
Adam
64ca357b13
Make module version system work
2015-02-03 19:38:23 -05:00
Adam
845ca576b4
More properly track topic change sources and allow users with access to change topics through topiclock
2015-01-28 22:57:15 -05:00
Adam
2264a206d2
Check virtual mode bases better
2015-01-26 15:10:18 -05:00
Adam
32007f81cf
Add networkinfo:nick_chars option to allow configuring additional characters allowed in nicknames
2015-01-10 15:19:40 -05:00
Adam
e1f5e030bc
Change webpanel access add to just add via the commands, split Command::Run into two so I can do this as I need to run named commands for it
2014-12-05 20:24:27 -05:00
Adam
0cd3bfa24f
Fix module event prioritization which was broken with the newer
...
auto-attach event stuff.
Also remove logically dead code from os_defcon, and make os_defcon akill
similar masks to os_session when enforcing session akills.
Fixes #1618 which relies on os_session to be prioritized before
os_defcon.
2014-10-14 18:58:55 -04:00
Adam
e46bcff324
Move nick register event to make it easier for modules to determine if a newly registered nick is confirmed or not. Add confirm event.
2014-10-12 19:25:39 -04:00
Adam
bf8f62c32d
Change Channel::GetModeList to return a copy of the mode list, not a
...
pair of lower/upper bound iterators.
Sometimes when iterating the list, like in cs_mode, we can modify the
contents of it, which combined with mlock always agressively trying to
readd modes to it can do bad things.
2014-08-24 16:39:04 -04:00
Adam
ff93355af8
Hold a reference to the type in Serialize::Checker in the event it goes away, and invalidate the type pointer of objects when the type goes away
2014-06-23 15:44:06 -04:00
Adam
54e98f017c
Always log when the uplink socket errors, and give possibly helpful advise
2014-05-31 21:17:46 -04:00
Adam
f20bac996d
Fix Windows build and update library names to the newer ones.
...
Also fix crash on Windows when unloading a module because it threw an
exception.
2014-05-30 18:14:55 -04:00
Adam
f627a3bacd
Core prep for p10 stuff
2014-05-21 08:50:40 -04:00
Adam
866f3f32ab
Speed up akill xline checks
...
Cache xline nick, user, host, etc instead of rebuilding it everytime its
requested. Store users ip in sockaddr form and not string form to
prevent having to rebuild sockaddrs when checking xlines.
Also do not try to convert empty config values in Config::Get as this
can be rather common if a non string configuration value is not set, and
the cost of the ConvertException is great.
2014-05-20 21:16:00 -04:00
Adam
20ce170024
Show account names in log messages
2014-05-20 12:19:26 -04:00
Adam
df321a118e
Fix access lists showing the wrong mask if the display nick for a group
...
expires but the group still exists. This can cause access entries for
nicks to not be deleted whenever the nicks are deleted.
2014-05-14 19:10:23 -04:00
Adam
63b02b8c97
Sanitize nuh masks more to prevent the other side from rewriting them, which screws with our internal tracking of them
2014-05-13 22:57:53 -04:00
Adam
d79dd0b7d7
Pass password to nick register event so modules like m_ldap_authentication can create the respective account using the decrypted password which might not always be available
2014-05-01 18:38:17 -04:00
Adam
3abb18721b
Accept non server sources for SQUIT
2014-04-26 17:21:33 -04:00
Adam
6a03eb69eb
Add "virtual mode" support
...
This allows fully tracking extbans and other modes set by a different
underlying mode, such as InspIRCd's namedmodes
Add two configuration options to cs_ban to configure which mode is set
and whether or not to kick banned users.
Add default "mute" fantasy command to botserv.example.conf
2014-04-25 16:51:06 -04:00
Adam
72b26043b2
Remove unused event.
...
Mark some oper only usermodes as oper only.
Fix reading SID in TS6_SID_Retrieve
2014-04-18 02:21:06 -04:00
Adam
c1c45a5db9
Do not clear all extension items tied to objects when unserializing.
...
Instead, pass the old object to the unserialization functions and let
them incrementally update the object.
2014-04-07 15:28:07 -04:00
Adam
43219d3906
Do not apply module changes on rehash until after the new config has been applied. Fix renaming opertypes on reload.
2014-04-06 23:01:10 -04:00
Zantox
068c6989de
Small Grammar Fix
2014-03-31 20:19:03 -04:00
Robby-
45878bf182
SASL: Also disallow suspended nicks to login using EXTERNAL mechanism. Improve the log message for failed logins.
2014-03-22 21:14:02 +01:00
Adam
f1bec3999d
Do not allow SASL login to suspended nicks
2014-03-22 07:21:22 -04:00
Adam
09bec79b47
Fix 2 crashes from removing the permanent channel mode from channels which do not exist
2014-03-04 04:15:32 -05:00
Adam
a0747516ce
Export interface for cs_entrymsg
2014-03-01 21:20:18 -05:00
Adam
fee016bb84
Handle nick collisions somewhat instead of blindly overwriting the nicks
...
in memory, which does weird things.
For fun different ircds implement this differently (Unreal compares
timestamps, TS6 compares timestamps and user username/host), and whether
or not we get a kill for our user also varies, so just kill everyone.
This can't really happen anyway with properly set qlines, only if
services haven't yet set the qlines, or possibly in a bot add/nick
user introduce race, or with enforcers, which not many ircds require.
2014-02-27 22:42:54 -05:00
Adam
96202ae545
Log successful SASL auths
2014-02-24 22:23:12 -05:00
Adam
e836be489e
Store a cert->account map and use it for SASL EXTERNAL and certfp auth
2014-02-22 17:46:00 -05:00
Adam
1edb7e776b
Merge pull request #54 from attilamolnar/2.0+webcpanelfix
...
Don't create zero length DataBlocks in BinarySocket::Write()
2014-02-18 12:59:37 -05:00
Adam
0db81ca46a
Merge pull request #52 from attilamolnar/2.0+gnutls
...
Add support for SSL connections powered by GnuTLS
2014-02-17 22:21:08 -05:00
Attila Molnar
3883716883
Turn BinarySocket::Write() into a no-op when called with l == 0
2014-02-18 03:28:02 +01:00
Adam
80588fba81
Fix os_ignore to work correctly with SQL
2014-02-17 19:43:19 -05:00
Adam
ef7dc94f88
Move most of the implementation details out of os_forbid.h, fixes crashing if a module adding a forbid is unloaded without removing the forbid
2014-02-17 19:39:25 -05:00
Adam
baff417652
Move encryption.h to include/modules
2014-02-17 13:53:04 -05:00
Attila Molnar
9c0134ee2c
Rename m_ssl to m_ssl_openssl and update docs
2014-02-17 00:41:36 +01:00
Adam
959fee5937
Fix Windows build
2014-02-16 18:28:39 -05:00
Daniel Vassdal
b13bded620
sasl.h, m_sasl.cpp: Move IdentifyRequest to the header
2014-02-14 15:03:42 -08:00
Daniel Vassdal
a4ecfa5bc0
Anope::string: Add .data()
2014-02-14 13:05:01 -08:00
Daniel Vassdal
3c8009b495
sasl.h, m_sasl.cpp: Add RemoveSession(), DeleteSessions(), and have active sessions closed when a Mechanism is unloaded
2014-02-14 13:05:01 -08:00
Adam
269c2786e9
Add SASL EXTERNAL support. Thanks to ShutterQuick for fixing and testing.
2014-02-12 14:39:41 -05:00
Adam
96fc940af7
Only trim newlines and carriage returns in BufferedSocket::GetLine
2014-02-11 19:25:44 -05:00