1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-07 19:23:12 +02:00
Commit Graph

114 Commits

Author SHA1 Message Date
Bram Matthys 2a5ea10453 Lots of changes again. Most notable: Cmdoverride -> CommandOverride,
including things like CallCmdoverride() to CallCommandOverride().
Type changes like aTKline -> TKL and many more (in particular
aSomething to Something etc. such as aWatch to Watch) but these are
less used by 3rd party module coders.
2019-09-11 10:20:00 +02:00
Bram Matthys 23116d344a Give structs the same name as the typedefs. Rename aClient to Client,
aChannel to Channel, and some more. Third party module coders will
love this. But.. it makes things more logical and the doxygen output
will look more clean and logical as well.
(More changes will follow)
2019-09-11 09:48:00 +02:00
Bram Matthys d434cf948b Get rid of bcmp/bcopy/bzero. 2019-09-09 14:41:40 +02:00
Bram Matthys ebaac5a6b8 Get rid of various never used config options and also port
the U4 fix for Windows where it says "Too many connections"
way too quickly. (Sorry for mixing both in 1 commit..)
2019-08-25 17:48:32 +02:00
Bram Matthys 0d2d4d5bca Rename match() and _match() to match_simple() -AND- invert the return value
of match_simple() and match_esc(). So, developers, be aware, this is how
you should use the function in a correct way:
if (match_simple("*fun*", str))
    printf("It was fun\n");

Rationale:
I've always been annoyed by the inversed logic, even though it was similar
to strcmp. So I've reverted it.
I could have chosen to maintain match() rather than this match_simple()
name, but this way I force (3rd party module) devs to update their function,
while otherwise everything would mysteriously fail due to the inverted logic.
2019-08-17 09:20:49 +02:00
Bram Matthys e1fcc3a667 Rename match() and _match() both to match_simple()
and get rid of the "bahamut optimized version".
Stage 1 of 2.
2019-08-17 09:15:34 +02:00
Bram Matthys c01c9248f5 Revert e428c77c47 (only to try again later) 2019-08-17 09:05:09 +02:00
Bram Matthys e428c77c47 match() -> match_nuh() and _match -> match_simple() 2019-08-17 08:56:18 +02:00
Bram Matthys 41051cf3c7 Remove some unused variables
[skip ci]
2019-08-16 17:37:36 +02:00
Bram Matthys a408b61f32 For some unknown reason del_ListItem() iterated the entire list. Weird. 2019-08-16 17:36:15 +02:00
Bram Matthys 09cf485d6c Mass rename of "ssl" to "tls" everywhere. Including conf/ssl to
conf/tls. If you are upgrading then conf/ssl will be renamed to
conf/tls and a symlink will be added (so certbot etc won't fail).
This is part 1...
2019-08-12 14:26:31 +02:00
Bram Matthys 7161f33311 Code cleanup: make src/*.c use the generic #include "unrealircd.h" file
(with only a few exceptions)
Now, we'll find out later if Windows still compiles, I guess ;)
2019-06-22 21:18:08 +02:00
Bram Matthys f9b589d0c6 Remove almost 1000 lines, all functions that are (now) unused.
Also, drop support for snomasks to non-ircops (TODO: more)
2019-06-22 19:32:11 +02:00
Bram Matthys 4a11309344 Transform sendto_one's to sendnumericfmt() - stage 1 2019-05-22 16:39:06 +02:00
Bram Matthys 422f76a723 Fix very minor memleak introduced about 2-3 weeks ago. 2019-04-04 19:24:23 +02:00
Bram Matthys 761ae02935 Change assert() to if..!...abort() so it produces proper core dumps.
Yeah, that's how it works, unfortunately.
2019-03-15 16:03:48 +01:00
Bram Matthys 3712fad891 When a server does not use SID's, set empty id as before.
This bug was post-rc1, caused by dde8f914fb.
2019-02-10 14:48:29 +01:00
Bram Matthys 7d5c3a1b68 Fix hang/crash due to commit from yesterday, reported by k4be.
(cause: dde8f914fb)
2019-02-10 09:56:53 +01:00
Bram Matthys dde8f914fb Internal: make UID available early (pre-auth). 2019-02-09 14:35:48 +01:00
Bram Matthys 7153468081 UnrealIRCd will now warn if your ulines { } are matching UnrealIRCd servers.
See https://www.unrealircd.org/docs/FAQ#WARNING:_Bad_ulines
2019-02-02 08:44:14 +01:00
Bram Matthys 0254894368 Authentication prompt for non-SASL users:
We previously introduced the "require sasl" block which allows you to
force users from certain IP addresses to authenticate with their nickname
and password via SASL. We now offer a new experimental module called
'saslemulation' which will help non-SASL users by showing a notice and
asking them to authenticate to their account via /AUTH <user>:<pass>.
See https://www.unrealircd.org/docs/Set_block#set::sasl-emulation

Note that this is work in progress, although the functionality of
already works. Still need to do some cleaning and expand the scope.
And more testing...
2018-12-16 13:51:22 +01:00
Bram Matthys d5d446c38d More code cleanups to get rid of useless casts and other useless
structures such as:
-       lp->value.cp = (char *)MyMalloc(strlen(mask) + 1);
-       (void)strcpy(lp->value.cp, mask);
+       lp->value.cp = strdup(mask);
2018-04-22 14:28:22 +02:00
Bram Matthys 885e474211 Removed option in config.h to disable NO_FLOOD_AWAY. You can already
tweak or disable this via set::anti-flood::away-flood.
2017-10-07 09:25:45 +02:00
Bram Matthys 6178ca1c6f Fix memleak if you had swhois titles on oper / on vhost / .. 2015-12-16 11:30:19 +01:00
Bram Matthys c51ba70cc3 Move sptr->user->realhost initalization to make_user() 2015-11-08 09:43:51 +01:00
Bram Matthys 209a5a3762 Start with moving ip_str stuff 2015-07-19 13:09:51 +02:00
Bram Matthys 13fffa4e1a split all the local client stuff to acptr->local. makes it a lot easier to catch bugs.
If the IRCd crashes then it's likely not by this change but rather an existing issue that was previously gone unnoticed.
2015-07-19 12:48:18 +02:00
Bram Matthys 19ad342a73 Start with client/localclient split 2015-07-19 11:50:32 +02:00
Bram Matthys bad3cdbdeb Use MyMallocEx and not malloc/MyMalloc + bzero. 2015-07-16 17:29:24 +02:00
Bram Matthys 71d3e8dbfa New function AddListItemPrio, since we now use priorities in two places already (swhois, hooks). 2015-07-10 11:10:10 +02:00
Bram Matthys 2f8cb55e47 Add extended SWHOIS support. Allows multiple swhoises and tracking of who/what set the swhois.
Added swhois_add / swhois_delete functions which also take care of broadcasting
New remove_oper_privileges() function, will move the rest to use this (svsnoop svsmode etc)
Not finished yet...
2015-07-09 16:26:52 +02:00
Bram Matthys 422b339be1 In 2003 I added PROTOCTL CHANMODES= so other servers (and services) could
easily deal with "parameter eating" of unknown channel modes.
Now, 12 years later, finally added the code to do this.
This prevents some (serious) desynching if you have a parameter-eating
channel mode on one server and not on the other.
Obviously, you should always try to have the same featureset on all
servers, but sometimes this is not possible, like when upgrading..
2015-07-04 19:25:27 +02:00
Travis McArthur aea09603a4 Remove USE_SSL macro and associated code
We no longer support non-SSL builds, remove related code
2015-05-20 02:48:34 -04:00
Bram Matthys 101d2dd6a3 Big 3.4.x commit containing bug fixes and enhancements. Modularizing
user & channel modes. Fixing Windows build. Etc..
2014-05-11 20:56:02 +02:00
William Pitcock 77c3cec8ce - sprinkle some asserts 2013-05-24 22:02:48 +00:00
William Pitcock 5cc6b4ae9b - move anUser struct over to memory pool, fix refcounting 2013-05-24 19:53:25 +00:00
William Pitcock 9a4bea10f8 - rewrite dbuf code to use memory pool and list framework
this probably has bugs, consider it to be less than resilient.
2013-05-20 05:07:00 +00:00
William Pitcock c41ca43145 - Remove ziplinks support, patch from FalconKirtaran. (#4189) 2013-05-16 06:36:13 +00:00
William Pitcock f54e8dd3e8 - last pass of killing numeric code. 2013-05-09 01:11:56 +00:00
William Pitcock a3b869b80a - Remove numeric support, pass 2. 2013-05-09 01:03:21 +00:00
William Pitcock 582496be70 - Split out servers into global_server_list.
Now client_list only includes clients, and global_server_list only includes servers.
2013-05-06 03:53:27 +00:00
William Pitcock b7aa36e8d1 - Guard against improper use of Client structures, due to legacy dependency on local[]. 2012-11-24 22:28:13 +00:00
William Pitcock 5e1b5a4dd9 - Be more paranoid about unlinking client entries from linked lists, by doing it
from free_client() which is called directly sometimes.
2012-11-24 22:19:13 +00:00
William Pitcock 90802ddafa - Add unknown_list for tracking unknown clients. 2012-11-24 21:55:37 +00:00
William Pitcock 275b4f507d - Replace oper_fdlist with oper_list. 2012-11-24 20:45:11 +00:00
William Pitcock 3b1984cdd8 - Add special_node to struct Client for iterating unknown / server / oper lists. 2012-11-24 19:52:56 +00:00
William Pitcock a35fe3ea3b - Add lclient_list and aClient.lclient_node, which iterates local clients. 2012-11-21 23:14:28 +00:00
William Pitcock f09b1ac4d4 - Rename aClient.client_list to aClient.client_node to avoid confusion 2012-11-21 23:03:28 +00:00
William Pitcock 9853fa54f4 - Rework the client management code to use a circular queue and set of
circular queues for hashtable.
2012-11-21 22:49:32 +00:00
Bram Matthys 9ae963e1fe - Make default service stamp 0 (zero) again, instead of '*' which was
introduced by ESVID changes a few days ago. This makes anope happy,
  and also means nothing will change in a non-ESVID scenario.
2011-12-28 18:39:43 +01:00