Commit graph

  • 7c4bd691fe fix modules.default loadmodule directive for partmsg i 2019-06-29 00:39:23 +0300
  • cf3d01da06 extban ~p for hiding part/quit message i 2019-06-29 00:30:10 +0300
  • 5182c664d1
    Easier API for just-commited persistent variables. Example: LoadPersistentPointer(modinfo, removefld_list, floodprot_free_removefld_list); SavePersistentPointer(modinfo, removefld_list); Bram Matthys 2019-06-28 22:08:45 +0200
  • 0920967cc4
    New module_load_variable / module_save_variable functions and made floodprot to use these functions. TODO: 1) Different functions for pointer/int/long, 2) macro? Bram Matthys 2019-06-28 21:02:29 +0200
  • c720417487
    MOD_UNLOAD() was always called with an invalid modinfo argument. Bram Matthys 2019-06-28 21:01:43 +0200
  • 7fe1848340
    Make floodprot no longer PERM so it can be reloaded. Useful if we ever make a mistake in the module so we can upgrade it on-the-fly. Or if someone wants to get rid of it. TODO: consider abstracting the saving/restoring of vars. Bram Matthys 2019-06-28 20:14:32 +0200
  • 8686bf978e
    Support for unloading channel modes with parameters (w/o MOD_OPT_PERM) Bram Matthys 2019-06-28 20:07:21 +0200
  • 1757abf31a
    Duh.. Bram Matthys 2019-06-28 19:16:21 +0200
  • 1f5acd852b
    Update tkldb to use (new) MODDATATYPE_LOCALVAR. Bram Matthys 2019-06-28 19:11:34 +0200
  • 2a7fc8042d
    Add new moddata types: MODDATA_LOCALVAR and MODDATA_GLOBALVAR. Untested. Code using it will soon follow (and then it will be tested :D) Bram Matthys 2019-06-28 18:35:37 +0200
  • 38e9c100d4
    Get rid of include/threads.h (unused) Bram Matthys 2019-06-26 17:27:45 +0200
  • a2510a5dca
    Delete sock.h, isn't even used anymore. [skip ci] Bram Matthys 2019-06-26 17:25:34 +0200
  • 70cca778cd
    Test compile w/o sock.h Bram Matthys 2019-06-26 17:19:10 +0200
  • c673e5bbc6
    Get rid of now meaningless include/hash.h Bram Matthys 2019-06-26 17:17:20 +0200
  • 8e44d4d5ab
    Get rid of weird NullChn, which is now just NULL :D Bram Matthys 2019-06-26 17:13:45 +0200
  • ded4a65a60
    u_int16_t -> uint16_t and u_int32_t -> uint32_t, remove typedefs for these types and others, that should no longer be needed thanks to stdint.h. Bram Matthys 2019-06-26 17:06:46 +0200
  • e8f336622a
    u_int64_t -> uint64_t Bram Matthys 2019-06-26 17:03:07 +0200
  • 709c84fff9
    Remove stupid hash table layer for channels that only eats 256k+ extra memory and causes unnecessary slowdown. Stupid ->hits and ->links. And get rid of "return (xyz)", must be "return xyz" :D Bram Matthys 2019-06-26 16:56:17 +0200
  • f1b0b6b76e
    Make throttling code (connect-flood) use SipHash and increase the hash table size from 1019 to 8192 to have fewer collisions. Bram Matthys 2019-06-26 16:46:28 +0200
  • d5395848b7
    Double the size of hash tables to reduce collisions. Bram Matthys 2019-06-26 16:16:56 +0200
  • c75a1ebb25
    Make src/modules/history_backend_mem.c use SipHash. And also, make the module permanent.. which is probably a good idea :D Bram Matthys 2019-06-26 15:49:54 +0200
  • d2f4f53a4a
    Document functions in src/random.c Bram Matthys 2019-06-26 15:41:47 +0200
  • 000fa08aee
    Remove FIXME. As there's no need to fix that. [skip ci] Bram Matthys 2019-06-26 15:38:57 +0200
  • 12511940d6
    src/random.c: remove rs_stir_pid, since we don't fork anyway. (or at least not in a way that matters...) Bram Matthys 2019-06-26 15:12:43 +0200
  • a843567b70
    Update src/random.c to use the ChaCha based random generator. Bram Matthys 2019-06-26 15:02:25 +0200
  • 0d7f9e219e
    Update reputation module to use SipHash Bram Matthys 2019-06-26 14:13:12 +0200
  • eafd929e24
    Update DNS code to use SipHash Bram Matthys 2019-06-26 14:08:03 +0200
  • 703be7eb29
    Move some functions from parse.c to hash.c and add documentation for various functions, such as find_person, find_client, etc. Bram Matthys 2019-06-26 13:57:06 +0200
  • f6eac29592
    hash_nick_name -> hash_client_name, hash_find_nickserver -> hash_find_nickatserver Both were confusing :) Bram Matthys 2019-06-26 13:45:55 +0200
  • d5b643ceee
    Rewrite hash table code to use SipHash (more to follow) Bram Matthys 2019-06-26 13:24:02 +0200
  • df7bcc1326
    Remove temporary FreeBSD workaround. (reverts adf56ad8fd) Bram Matthys 2019-06-26 07:14:35 +0200
  • 2894681c4f
    Cleanup m_topic. Handle the if's in a smart way rather than indenting X levels. Bram Matthys 2019-06-26 06:55:01 +0200
  • e17ba624c7
    Fix crash in new get_access(). This crash happens in case of (malicious) server traffic. Also seems we have a behvior change here: has_voice and such returned 1 for servers, now it returns 0. I can live with that, but may cause more issues. Bram Matthys 2019-06-24 16:24:01 +0200
  • 849d57be40
    Fix msgid inconsistency in KICK. Thank you, new test framework :] Bram Matthys 2019-06-24 14:00:47 +0200
  • 4213ca9ab1
    Add MyClient() call in QUIT for set::part-instead-of-quit-on-comment-change handling. Since we shouldn't PART remote users.. ;) Bram Matthys 2019-06-23 17:14:35 +0200
  • 6fab82124a
    Call is_banned with BANCHK_LEAVE_MSG from both PART and QUIT. The latter only if iConf.part_instead_of_quit_on_comment_change. Bram Matthys 2019-06-23 17:10:41 +0200
  • c507db9005
    Get rid of Windows compile warning regarding abort(). Bram Matthys 2019-06-23 08:57:39 +0200
  • 7875fc9d7d
    Compile fixes for Windows due to cleanup from yesterday. Bram Matthys 2019-06-23 08:03:33 +0200
  • 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 ;) Bram Matthys 2019-06-22 21:18:08 +0200
  • e8ff5d77c7
    Remove weird option set::snomask-on-connect. Doubt anyone uses it. Bram Matthys 2019-06-22 19:36:54 +0200
  • 74586e7ecd
    Make all snomasks oper only (was just one: +s +k). Maybe an API change later? Bram Matthys 2019-06-22 19:34:04 +0200
  • f9b589d0c6
    Remove almost 1000 lines, all functions that are (now) unused. Also, drop support for snomasks to non-ircops (TODO: more) Bram Matthys 2019-06-22 19:32:11 +0200
  • b8d033f11e
    The blacklist module is missing a call to blacklist_quit. Bug? Bram Matthys 2019-06-22 19:11:16 +0200
  • f0f0a93cc5
    Makefile: makes no sense to create modules/cap only to remove it later [skip ci] Bram Matthys 2019-06-22 17:57:42 +0200
  • e03c8135a9
    CHFL_CHANPROT -> CHFL_CHANADMIN, is_chanprot -> is_chanadmin These are just remnants of the past, when +a was called channel protection. It is called channel admin since as long as I can remember, and in 90% of the code and documentation it is called that way. Bram Matthys 2019-06-22 17:32:57 +0200
  • cf29aa8feb
    Replace various 90% identical functions with some macro's instead. Bram Matthys 2019-06-22 17:29:03 +0200
  • 19af2c6b5c
    Fix return value in can_send() and add tracing for modules that don't behave. Bram Matthys 2019-06-22 17:21:57 +0200
  • 05202dd2a4
    Move can_send() function from core to m_message. Bram Matthys 2019-06-22 16:03:06 +0200
  • bf4d96e991
    can_send() now returns 0 (false) or 1 (true), rather than magic values. Also, the HOOKTYPE_CAN_SEND prototype changed so you can communicate the error message in a flexible way, similar to what I just did with extbans. Bram Matthys 2019-06-22 15:57:32 +0200
  • f08557f2fd
    Propagate is_banned() errmsg to m_message layer. Bram Matthys 2019-06-22 15:36:21 +0200
  • 7fd794c563
    Make /VERSION send 005 properly. Bram Matthys 2019-06-22 15:16:16 +0200
  • be49ef0bb8
    More extban API changes... fun... Bram Matthys 2019-06-22 15:11:16 +0200
  • 383f54a6c9
    Fix bug caused last few weeks where user would receive a privmsg with a SID/UID rather than server-/nickname. Bram Matthys 2019-06-22 14:21:07 +0200
  • 086d370704
    Change extban API: pass 'msg' in BANCHK_MSG and (new) BANCHK_LEAVE_MSG. Bram Matthys 2019-06-17 20:19:34 +0200
  • 1cfebcf05e
    Add new set::part_instead_of_quit_on_comment_change to convert QUIT to PART in case of a change in the quit comment, such as color stripping / blocking. The default is 'no', but some users may like this to be 'yes' so things like +S only affect the channel and not the quit for all channels. This hereby also lays the groundwork for some next commits of 'i' :) The configuration item name may still change if I think of a better one.... Bram Matthys 2019-06-17 08:20:42 +0200
  • b8cdb21754
    Fix crash on "TKL" command without parameters. Due to rewrites from yesterday. Bram Matthys 2019-06-17 07:44:50 +0200
  • c2ba6b40b8
    Silently force a 'make clean' as otherwise part (or whole) of the compiled source could be using different settings than the user just requested when re-running ./Config. Bram Matthys 2019-06-16 10:13:57 +0200
  • 7b42c252ea
    Some documentation updates, nothing important [skip ci] Bram Matthys 2019-06-16 10:08:50 +0200
  • 1d046b6f61
    Move ban [nick|user|ip] { } block parsing to m_tkl. Bram Matthys 2019-06-16 09:33:30 +0200
  • d106609d89
    Move all spamfilter { } block parsing to m_tkl. Bram Matthys 2019-06-16 09:21:39 +0200
  • 36808a60ac
    Remove all tk->flags & TKL_FLAG_CONFIG entries on rehash. Make local spamfilter blocks use this too. Already did so for ban xxx types that will cause kline/gline/zline and qline. This also simplifies handling in the tkldb module. Bram Matthys 2019-06-16 09:09:09 +0200
  • d0d454f696
    Fix 100% CPU loop problem on REHASH due to bug in history backend (deja-vu). Bram Matthys 2019-06-16 08:44:57 +0200
  • bd785a9309
    Some initial work for the upcoming TKL 'e'/'E'/TKL_EXCEPT type. Bram Matthys 2019-06-16 08:42:41 +0200
  • 18ae7b8925
    Document *ALL* functions in m_tkl and remove efuncs that are no longer needed: tkl_expire and tkl_check_expire, which are now self-contained in the m_tkl module. Bram Matthys 2019-06-16 08:35:56 +0200
  • b102e79f8e
    Use check_banned() from s_bsd too, less duplicate code. Bram Matthys 2019-06-15 18:44:33 +0200
  • 24726d533d
    Make the require authentication { } block use the TKL layer. Remove CONF_BAN_UNAUTHENTICATED. Bram Matthys 2019-06-15 18:31:06 +0200
  • 8c2ce9a7d5
    [tkldb] skip if (tkl->flags & TKL_FLAG_CONFIG) Bram Matthys 2019-06-15 18:27:43 +0200
  • 8e6302d003
    Rip out CONF_BAN_NICK, CONF_BAN_IP, CONF_BAN_USER, now that they are moved to the TKL layer. Bram Matthys 2019-06-15 18:18:19 +0200
  • 97fc19591c
    Add support for tkline->flag TKL_FLAG_CONFIG: item from configuration file that cannot be deleted via commands such as /KLINE -... And transform some ban XX entries to use the TKL system TODO: test & rip out the old stuff Bram Matthys 2019-06-15 18:08:43 +0200
  • a40cd9fae4
    Rename dospamfilter() to run_spamfilter(), which is more meaningful. Bram Matthys 2019-06-15 17:43:34 +0200
  • 630ab8f869
    Fix some indentation Bram Matthys 2019-06-15 17:37:02 +0200
  • 060502aedd
    Remove unused variables and some shadow... Bram Matthys 2019-06-15 17:27:54 +0200
  • 4f4cda7f7d
    Cleanup part 2 of m_tkl. Splitting up in m_tkl_add / m_tkl_del and various whitespace / indenting fixes. Bram Matthys 2019-06-15 17:18:48 +0200
  • 876fda63ec
    Export tkl_type_string via efuncs (actually, the name may change...) Bram Matthys 2019-06-15 17:06:41 +0200
  • 7542cdeaca
    Cleanup of m_tkl part 1. New tkl_chartotype (the reverse of tkl_typetochar). Move stripcrlf() to core instead of at 3 places, rename calls of iCstrip() to that. Hopefully I didn't break anything.. :D Bram Matthys 2019-06-15 16:56:34 +0200
  • 41ba282ed6
    Obey MAXMODEPARA under all circumstances. Bram Matthys 2019-06-15 15:17:24 +0200
  • ca9b04a0fa
    Module API: EventAddEx() -> EventAdd() Bram Matthys 2019-06-12 19:09:33 +0200
  • e3013ae067
    Commit current work of history API and channel history mode (+H count:time) Bram Matthys 2019-06-12 18:58:30 +0200
  • ed4bc8e8c5
    Prevent running ./Config as root and print out a clear instruction. Bram Matthys 2019-06-12 13:16:58 +0200
  • bfebfa1f00
    Slightly better wording Bram Matthys 2019-06-12 13:11:21 +0200
  • 3b7e959dd7
    Merge branch 'unreal50' of github.com:syzop/unrealircd-next into unreal50 Bram Matthys 2019-06-12 13:09:40 +0200
  • 148dfc53a4
    Make clear the user should not compile or run as root. Seems some people miss this when they only read the README and not the installation instructions from the wiki ( https://www.unrealircd.org/docs/Installing_from_source ) Bram Matthys 2019-06-12 13:08:22 +0200
  • bb4bd4dffc [tkldb] Forgot a check for local Q-Lines, also bail early when reading local spamfilters/Q-Lines GottemHams 2019-06-11 15:54:53 +0200
  • 66be5a2ca6
    Re-indent the FLAGS_* stuff in include/struct.h And remove FLAGS_PING which was unused. Bram Matthys 2019-06-10 18:50:05 +0200
  • fce0253b5a
    Remove unused FLAGS_CHKACCESS / SetAccess / ClearAccess. Also, DoAccess() was already commented out in UnrealIRCd 4 or something. This results in an empty finish_auth() function but that should be OK, as ident checking takes place before parsing any other input IIRC. Bram Matthys 2019-06-10 18:39:03 +0200
  • e5e260eaa1
    Remove FLAGS_NONL / NoNewLine(), which isn't used since 4.0.0 or so. And add a FIXME, or at least a TODO-investigate-this item ;) Bram Matthys 2019-06-10 18:33:46 +0200
  • ac19f91eb8
    Turns out it's not that easy.. ;) Bram Matthys 2019-06-08 16:49:46 +0200
  • 573a601127
    Nothing important, just a silly m_dummy :D Bram Matthys 2019-06-08 14:37:22 +0200
  • 12dbbca15e
    Rip out support for changing offsets via TSCTL and tune file. Use NTP!! Adjustments via TSCTL are never accurate enough. Bram Matthys 2019-06-08 09:26:55 +0200
  • 3749f8d674
    Remove timesync support. Use your OS time synchronization instead! Timesync was previously disabled by default in March 2018. Bram Matthys 2019-06-08 09:11:46 +0200
  • d796247ddf
    Re-indent Bram Matthys 2019-06-07 15:08:23 +0200
  • a2ee5d67f3
    Update a few hooks to include mtags, more will follow later. This fixes inconsistent mtags accross server links with delayjoin. Bram Matthys 2019-06-07 15:05:10 +0200
  • 1f2bb0d89b
    Delayjoin: if kicking invisible user we used to clear the invisibility status of the victim (JOIN+KICK). That seems unnecessary to me, since there is already code in place to handle this -- hopefully it works too. Bram Matthys 2019-06-07 14:41:01 +0200
  • 61b4a6ea29
    Add mtags in non-chan PRIVMSG. Remove sendto_message_one since you can just use sendto_prefix_one. Actually it was only used at 1 place (m_message). Bram Matthys 2019-06-07 14:25:28 +0200
  • 0e68265e12
    Remove sock.h old compatibility code. Shouldn't be needed anymore. (This provided FD_ZERO and such if the OS/libc did not provide it) Bram Matthys 2019-06-07 12:42:28 +0200
  • 5ad0278f9e
    No longer check for big enough FD_SETSIZE. We all use poll/kqueue/epoll/etc now. Bram Matthys 2019-06-07 12:39:39 +0200
  • de89de9558
    Fix MODE not sending message tags across servers Bram Matthys 2019-06-07 12:34:22 +0200
  • 13f3356963
    Merge branch 'unreal50' of github.com:syzop/unrealircd-next into unreal50 Bram Matthys 2019-06-07 12:24:41 +0200
  • adf56ad8fd
    Re-enable FreeBSD workaround for mysterious test failures. Bram Matthys 2019-06-07 12:24:25 +0200
  • d292d2ee9c Forgot to change a couple X:Line things to X-Line GottemHams 2019-06-05 19:27:00 +0200