Commit graph

  • e6bc040402
    Update coders in ./Config as well (and restyle a little bit) Bram Matthys 2021-09-22 12:46:17 +0200
  • 5175afb598
    Update ircd coders Bram Matthys 2021-09-22 12:02:37 +0200
  • 8d5ccee2d1
    Put arabic-utf8 in the correct group and #if out the hard errror when mixing UTF8 groups, make it a general warning again as it may or may not be an issue. Bram Matthys 2021-09-22 09:42:42 +0200
  • bcf5b2d4b8
    Add support for arabic-utf8 in set::allowed-nickchars. Supplied by Sensiva in https://bugs.unrealircd.org/view.php?id=3734 Bram Matthys 2021-09-22 09:42:08 +0200
  • 3feac27c43
    Put arabic-utf8 in the correct group and #if out the hard errror when mixing UTF8 groups, make it a general warning again as it may or may not be an issue. Bram Matthys 2021-09-22 09:31:47 +0200
  • c51a3d96be
    Add support for arabic-utf8 in set::allowed-nickchars. Supplied by Sensiva in https://bugs.unrealircd.org/view.php?id=3734 Bram Matthys 2021-09-22 09:20:19 +0200
  • 215677d785
    Fix hooks, so gcc compiles again after last few commits. Bram Matthys 2021-09-20 18:32:11 +0200
  • 381454bd1d
    1) Change from .prefix_priority to .rank. 2) Make higher value = higher ranking 3) Ship with defines for these: #define RANK_CHANOWNER 4000 #define RANK_CHANADMIN 3000 #define RANK_CHANOP 2000 #define RANK_HALFOP 1000 #define RANK_VOICE -1 Bram Matthys 2021-09-20 16:09:14 +0200
  • 139098919b
    Get rid of PREFIX_* in sendto_channel(), message.c and in chanmsg hook. We use char *member_modes like we now have at all the other places, which contains eg "o". Bram Matthys 2021-09-20 15:39:26 +0200
  • 6277efd85e
    Make SAJOIN code use generic prefix framework. Also fix multi-channel joins in such a case, code was wrong (things being done in the wrong scope). Bram Matthys 2021-09-20 13:53:30 +0200
  • 83f4619e78
    Get rid of the choice for/aginst PREFIX_AQ for three reasons: 1) All IRC clients support prefixes nowadays 2) People generally misunderstand the question and think this disabled +q (channel owner) and +a (channel admin), when in fact it does not. It only enables/disables the showing of prefixes, and it changes some of the rules eg requiring +qo / +ao for actions that normally only require +q / +a. 3) We now have the modularized +q and +a, so you can actually disable channel owner and channel admin, which is what most users want(ed) that previously disabled PREFIX_AQ. Bram Matthys 2021-09-20 13:19:51 +0200
  • 067fb5c830
    Fix last detected REHASH memory leak for now (couple of bytes) Bram Matthys 2021-09-20 10:06:24 +0200
  • 1e6cce798b
    Fix memory leak on rehash: free log->sources Bram Matthys 2021-09-20 10:04:43 +0200
  • 1631f35e18
    Actually free memory of the channel mode, now that we use a linked list instead of a fixed array. (since 783cc3ff5b from 1 month ago) Bram Matthys 2021-09-20 09:51:26 +0200
  • 3513806e66
    Make PREFIX= dynamic by writing it based on the loaded modes. Bram Matthys 2021-09-19 17:57:25 +0200
  • dd9f65f585
    Add the new modules for vhoaq handling :D Bram Matthys 2021-09-13 18:55:06 +0200
  • 187157b5be
    Fix compiler warnings Bram Matthys 2021-09-13 18:50:40 +0200
  • 4cea88645c
    Modularize member modes (vhoaq). Still need to clean up a bit after this, but it passes all tests :) Bram Matthys 2021-09-13 18:44:18 +0200
  • 6586fe8acd
    Remove all unused numerics from include/numeric.h. Bram Matthys 2021-09-12 16:46:25 +0200
  • cf936078d4
    Get rid of the legacy numeric stuff. The file src/numeric.c is removed as all the numerics are in include/numeric.h now, so we can have format string checks with a few macro tricks. (See also previous commits) Bram Matthys 2021-09-12 16:31:26 +0200
  • 6237bf5f5f
    Convert watch code to use new sendnumeric(), getting rid of the temporary sendnumeric_legacy() calls. Bram Matthys 2021-09-12 16:28:04 +0200
  • 4392468c3e
    Update HOOKTYPE_CAN_JOIN and HOOKTYPE_CAN_JOIN_LIMITEXCEEDED to take an extra char **errmsg argument. Upon failure (non zero return value) this should contain a format string to be sent to the client (with the return value denoting the number of the numeric). Bram Matthys 2021-09-12 16:07:28 +0200
  • e27749f556
    Use long long casts due to time_t difference on Windows vs Linux. Should now compile without errors on both. Bram Matthys 2021-09-12 15:28:54 +0200
  • e046ec7244
    Regenerate and mention actual number of the numeric in STR_ERR_*/STR_RPL_*. Bram Matthys 2021-09-12 14:46:43 +0200
  • fc9bf5d607
    Change sendnumeric() so it can check for format string problems. This already found a few issues. Bram Matthys 2021-09-12 14:30:34 +0200
  • 6577721089
    Get rid of the option to show modes in /LIST. Always do this. I don't think there were more than a handful of people who disabled this, and it clutters the source badly (not to mention that this should not be a compile time option at all). Bram Matthys 2021-09-12 11:28:07 +0200
  • 3543617834
    Get rid of some useless #ifdef'd numeric stuff. Bram Matthys 2021-09-12 11:25:34 +0200
  • 22bae6ec98
    ................. [skip ci] Bram Matthys 2021-09-12 11:15:20 +0200
  • 1f8add8868
    Some clang 3 specific fixes [skip ci] Bram Matthys 2021-09-12 10:57:43 +0200
  • 58ebadf06b
    Forgot to run ./autogen.sh... duh. Bram Matthys 2021-09-12 10:37:37 +0200
  • da8b70d78c
    no-no-no... something was not right here ;D Bram Matthys 2021-09-12 10:30:59 +0200
  • d35a1baeb2
    Can't use -Wno-unknown-pragmas on older compilers, have to resort to -Wno-pragmas. Well, whatever. We compile with recent compilers in BuildBot and dev environment so we will not use it there. Bram Matthys 2021-09-12 10:26:02 +0200
  • 8e2640683b
    Compile with -Wparentheses by default. I think most of these are already enabled by default but some were not. Bram Matthys 2021-09-12 10:13:43 +0200
  • a55f2e0c03
    Updates for last 2 commits: use a better tactic to deal when trying to disable warnings in pragma's that are unknown to the compiler. Bram Matthys 2021-09-12 10:08:22 +0200
  • f8811c1f4a
    Older gcc/clangs need -Wno-unknown-pragmas it seems. Bram Matthys 2021-09-12 10:01:17 +0200
  • 3b5b2b5c2f
    Get rid of -Wno-cast-function-type (well, mostly) and also check for the existence of -Wno-unknown-warning-option so we can add these since we use pragma's occasionally to suppress compiler warnings and some of these may exist in gcc but not in clang or vice versions (and.. versions of course), which would otherwise yield an error. Bram Matthys 2021-09-12 09:33:50 +0200
  • 6ce95c3d79
    Fixes for previous commit now that we use -Waddress (well, implicitly through -Wall/-Wextra) Bram Matthys 2021-09-12 09:19:46 +0200
  • 62a56b041a
    Get rid of -Wno-address Bram Matthys 2021-09-12 09:06:31 +0200
  • 3517c7a10b
    Fix a stupid strlcpy mistake where i used sizeof(src) instead of sizeof(dst) Woah...... caught by -Wstrlcpy-strlcat-size on FreeBSD, nice. Bram Matthys 2021-09-11 18:17:43 +0200
  • 7b53af40a1
    Temporarily ignore deprecation warnings with OpenSSL 3 in extjwt module. Obviously these must be fixed at a later point in time, but we don't want BuildBot to keep failing for now. Bram Matthys 2021-09-11 18:16:03 +0200
  • cbe14b0404
    Fix SJOIN not working well with channels that don't exist on the other side. This was due to channel->creationtime being set to TStime() but then not adjusted/set later, (also) resulting in some adding/removing action of modes as well. It *seems* the other few cases were OK though: equal TS, lower TS, higher TS, just not the "channel only exists on one side"-case. Bram Matthys 2021-09-11 18:03:07 +0200
  • 0bde5b7070
    Randomly getting rid of some strcpy and strcat Bram Matthys 2021-09-11 17:43:15 +0200
  • f6c66e5428
    Fix windows warning regarding size mismatch (%ld / timestamp) Due to one of the last commits. Bram Matthys 2021-09-11 17:30:05 +0200
  • 4de8456697
    Fix compiler warning on Windows Bram Matthys 2021-09-11 16:30:23 +0200
  • a4d5341b41
    Fix non-debugmode build Bram Matthys 2021-09-11 16:12:43 +0200
  • 8353a9e17b
    Change char *parv[] to const char *parv[] everywhere. This is a BIG change. It means you can no longer modify eg parv[1] in-place with strtoken and such. Bram Matthys 2021-09-11 16:02:44 +0200
  • 39edbd643d
    Get rid of proto.h and integrate the 20 lines into h.h. Bram Matthys 2021-09-11 10:26:18 +0200
  • 5dc6411419
    Const const const. This completes the work in h.h. Bram Matthys 2021-09-11 10:16:55 +0200
  • 439376b334
    Fix compile error when not using cURL, due to recent changes. Bram Matthys 2021-09-11 10:04:01 +0200
  • fcf020b99e
    It's raining consts... Bram Matthys 2021-09-11 09:30:12 +0200
  • 9a350169b9
    Fix test suite failing occasionally due to cached time in JOINs. Bram Matthys 2021-09-11 08:22:22 +0200
  • 7cabd4b79e
    Const const const Bram Matthys 2021-09-11 08:17:12 +0200
  • ac84d4f207
    Const const const... modules.c and elsewhere. Bram Matthys 2021-09-11 07:53:30 +0200
  • 6f91b2854a
    Add extra logging for build tests to trace issues. Bram Matthys 2021-09-11 07:02:17 +0200
  • 5bc244c1f3
    Add a lot more consts. This finishes the work for all hooktypes. Bram Matthys 2021-09-10 20:36:38 +0200
  • 74d1481dcb
    Do the same for RunHookReturn() and RunHookReturnInt(). NOTE: The arguments are swapped, it is now eg: RunHookReturn(HOOKTYPE_SOMETHING, !=0, a, b, c); Bram Matthys 2021-09-10 19:32:17 +0200
  • 7dac12e31e
    Get rid of RunHook2/3/4/5/6/etc and just have RunHook with __VA_ARGS__ Bram Matthys 2021-09-10 19:27:18 +0200
  • cb9b24686b
    Module API changes: - For HOOKTYPE_LOCAL_JOIN and HOOKTYPE_REMOTE_JOIN: drop parv[] argument as it was useless anyway, it only contained the channel name in parv[1] but never the key, sometimes was entirely NULL even. - For HOOKTYPE_PRE_LOCAL_JOIN instead of char *parv[] we now pass const char *key. As predicted more than a year ago when fixing 0902ed7a99 Bram Matthys 2021-09-10 19:22:47 +0200
  • 5b091975f5
    Get rid of parv[] in HOOKTYPE_CAN_JOIN and HOOKTYPE_CAN_JOIN_LIMITEXCEEDED as it already has a 'key' argument too. Bram Matthys 2021-09-10 19:11:37 +0200
  • b2718379d7
    Workaround compiler warning with openssl version below 1.1.0-pre3, k4be 2021-09-10 17:02:19 +0200
  • e13815b604
    Add extjwt module k4be 2021-09-10 16:19:07 +0200
  • c5e0ba7780
    Fix build with cURL due to the latest changes. Bram Matthys 2021-09-10 15:50:01 +0200
  • 86fa29aaee
    Add consts in support.c Bram Matthys 2021-09-10 15:48:58 +0200
  • 9438ddfd93
    Add consts in user.c Bram Matthys 2021-09-10 15:40:50 +0200
  • 09a412782d
    Const stuff for misc.c Bram Matthys 2021-09-10 15:25:21 +0200
  • 447555e044
    More consts in stats.c Bram Matthys 2021-09-10 15:07:17 +0200
  • f085173d46
    More const char * stuff... mostly in conf.c but also elsewhere. Bram Matthys 2021-09-10 15:00:42 +0200
  • 2e82ab0eca
    Make CommandOverrideAddEx() the new CommandOverrideAdd(): Bram Matthys 2021-09-10 14:13:07 +0200
  • bba0124bd3
    Drop the Ex... CallbackAdd*Ex() -> CallbackAdd*() Bram Matthys 2021-09-10 14:09:22 +0200
  • 6ebddc8817
    Update channel mode API to use more consts Bram Matthys 2021-09-10 14:06:57 +0200
  • 08a32429ff
    Update extban API to use more consts Bram Matthys 2021-09-10 13:39:26 +0200
  • d4d4da6a8d
    Add another const to ValidatePermissionsForPath. Fix Windows build, maybe? Bram Matthys 2021-09-10 12:58:15 +0200
  • 66a51fb659
    Massive conversions from 'char *' to 'const char *' and 'char **' to 'const char **' Bram Matthys 2021-09-10 12:46:31 +0200
  • edfdfe4a03
    Add HookAddConstString() and friends. Also EfunctionAddPChar() -> EfunctionAddString(), and callbacks etc. Bram Matthys 2021-09-10 11:58:48 +0200
  • a3bfa210e9
    HookAddPChar() -> HookAddString() and .pcharfunc -> .stringfunc Bram Matthys 2021-09-10 11:47:37 +0200
  • fe3907f153
    Use more const char * Bram Matthys 2021-09-10 11:39:04 +0200
  • d648cd0729
    Use strlncpy() everywhere where we previously used strlncat() with a empty buffer (due to the lack of strlncpy before...). Bram Matthys 2021-09-10 11:26:36 +0200
  • c550d95619
    Add strlncpy(): works just like strlcpy except that it has an extra argument which specifies how many characters to copy max. Bram Matthys 2021-09-10 11:19:57 +0200
  • cd88e02f3d
    Use more const char * Bram Matthys 2021-09-10 11:11:54 +0200
  • 463c7d4ddf
    Spoof remote connecting/disconnecting notices with sender being the server where the client is (or was) on. Just like we did in UnrealIRCd 5. Bram Matthys 2021-09-10 08:54:29 +0200
  • 59888af8db
    Fix crash on failed file download while rehashing k4be 2021-09-05 19:56:41 +0200
  • 43f77b8211
    BuildBot: log server commands for tracing Bram Matthys 2021-09-04 10:55:11 +0200
  • 2951c94ccd
    Use $MAKE instead of make in extras/build-tests/nix/build too Bram Matthys 2021-09-04 09:37:45 +0200
  • 01ec8696d0
    FreeBSD hangs with ASan enabled, in OPENSSL_init_ssl(), so disable it in the build tests (wtf?) [skip ci] Bram Matthys 2021-09-04 09:35:09 +0200
  • 4ef3b9f000
    Add BSDmakefile with a note to run 'gmake' for BSD users. Also, check for GNU make (which can be either 'make' or 'gmake') early in ./Config and print out an error to install prerequisites from https://www.unrealircd.org/docs/Installing_from_source Bram Matthys 2021-09-04 08:53:05 +0200
  • 894b7e5461
    Makefiles: switch from suffix rules to pattern rules. As suffix rules can't have dependencies, so if you change a .h file, it fails to recompile the other dependencies. Grmpf! This does mean that we require GNU Make (gmake) from now on. Bram Matthys 2021-09-04 08:17:31 +0200
  • 9ef1d06afd
    Remove more unused stuff in dynconf.h, and drop set::dns which did nothing since 3.2 or so. Bram Matthys 2021-09-03 21:17:51 +0200
  • 13dc17f5dc
    Code cleanup: remove unused structs and variables. Bram Matthys 2021-09-03 21:07:05 +0200
  • 617288991e
    Remove find_except(), conf_except and struct ConfigItem_except. These are all unused since the addition of ELINE. Bram Matthys 2021-09-03 20:46:06 +0200
  • 8c6f94ffef
    metadata debug: remove command logging and replace last sendto_snomask with unreal_log. Also get rid of unused trylater variable. k4be 2021-09-03 18:54:19 +0200
  • 4a82b89793
    Code cleanup in tkl.c: get rid of confusing 'whattodo' and use 'add' which is 1/0 so that the meaning is straightforward. Bram Matthys 2021-09-03 11:05:19 +0200
  • 16179b9c00
    Don't log add_config_resource() debug code by default. Bram Matthys 2021-09-03 10:37:51 +0200
  • a9833ebedf
    Fix crash on empty remote METADATA (bad S2S traffic). Bram Matthys 2021-09-03 08:50:16 +0200
  • c4a4867ca5
    More goto's make the world a better place. Oh and also fix a memory leak in parse_extended_server_ban(). Bram Matthys 2021-09-03 08:05:33 +0200
  • 7d75b38c26
    OpenSSL: Check for lib64 Mostly due to openssl 3 beta if you custom build to a specific dir. Bram Matthys 2021-09-03 07:54:07 +0200
  • 1f2e79b64c
    Fix missing return after exit_client() in PROTOCTL. This caused client->server to be NULL and then when processing another PROTOCTL parameter this would cause a crash. Bram Matthys 2021-09-02 18:14:11 +0200
  • 725e03e1e9
    Simplify identical_ban(), it was never perfect anyway. Bram Matthys 2021-09-02 17:20:54 +0200
  • 9cdd90e848
    Ignore remote MONITOR requests. (Fixes crash with faulty S2S traffic) Bram Matthys 2021-09-02 17:07:10 +0200
  • 5b9c419041
    Add parse_extended_server_ban(). This makes named extended server bans working now (eg ELINE ~certfp:xyz etc). Also fixes a crash due to an OOB read. Bram Matthys 2021-09-02 17:01:20 +0200
  • 9952a8e98f
    Be more careful in json_expand_client() when called for a server that is only partially a server yet: IsServer() is true but client->server is NULL. Fixes a crash when called from PROTOCTL. Actually not entirely sure if this happens in practice, but better safe than sorry. Bram Matthys 2021-09-02 15:57:51 +0200