Commit graph

  • fe3c86b128
    Support ~country:* for unknown country (fix) Bram Matthys 2021-08-17 16:14:59 +02:00
  • fc6c52db93
    Add extbans/country: +b ~country:UK Bram Matthys 2021-08-17 16:11:10 +02:00
  • a9434d13c7
    Add RPL_WHOISCOUNTRY info in /WHOIS requests from IRCOps Bram Matthys 2021-08-17 15:53:17 +02:00
  • d7561d6b23
    Show [country: XX] in connect notice and sync geoip info with other servers. Bram Matthys 2021-08-17 15:35:14 +02:00
  • 2ea75dfbdb
    Add geoip_base module, which sets "geo_country" if a geo provider module is able to lookup the IP and return a country. Bram Matthys 2021-08-17 15:24:25 +02:00
  • 0bbad85f84
    Add geo_lookup() function. Make geoip_classic do something useful. NOTE: everything hardcoded atm, just temporarily. Add CALLBACKTYPE_GEO_LOOKUP which is called from geo_lookup(). Bram Matthys 2021-08-17 15:10:32 +02:00
  • 8cdbc3ae86
    Don't build geoip_classic without --enable-geoip-classic=yes. ([I... hate... M4!]) Bram Matthys 2021-08-17 14:36:17 +02:00
  • ed7bf1daf5
    Bundle with GeoIP classic library and add geoip_classic placeholder. This library we can safely bundle because it is GPLv2. Bram Matthys 2021-08-17 14:10:31 +02:00
  • d0251805c4 Merge remote-tracking branch 'upstream/unreal52' into piss52 Ramiro Bou 2021-08-16 11:34:05 -03:00
  • a29548af5b Revert "Fix possible segfault on sequential-fallback autoconnect strategy" (fixed upstream) Ramiro Bou 2021-08-16 11:31:13 -03:00
  • 9ff56089ad
    Show TLS cipher in [secure: xyz] in far connects too (+s +F). This requires both servers to be using UnrealIRCd 6 and there should be no UnrealIRCd 5 server in-between (eg an old hub). Bram Matthys 2021-08-16 14:27:30 +02:00
  • 76da8714a7
    Fix using the wrong variable in moddata_extract_s2s_mtags() Bram Matthys 2021-08-16 14:26:49 +02:00
  • 11167924df
    Add tls_cipher module which stores/retrieves the TLS cipher of all users. Bram Matthys 2021-08-16 14:16:13 +02:00
  • f75a9c8544
    Sync ModData in UID command if mdata.sync = MODDATA_SYNC_EARLY. This way we should be able to show certfp and webirc status in far connect notices, and later various other details too. Bram Matthys 2021-08-16 14:01:45 +02:00
  • 7500de1060
    Permit unknown message tags from trusted servers. Bram Matthys 2021-08-16 13:48:09 +02:00
  • 48e3901f27
    It's probably a good idea to send the channel name in SJOIN (fix for commit from yesterday, 99d2870870) Bram Matthys 2021-08-15 08:59:32 +02:00
  • 6134452b82
    Fix crash on connect due to wrong reputation logging (accessing e->ip when e is NULL) in DEBUGMODE. Bram Matthys 2021-08-14 21:08:25 +02:00
  • 99d2870870
    For SJOIN, send the shorter nomode&nopara version when possible. We used to always send the long version: SJOIN ts #channel +sntkl key 999 :xxx From now on we only send that for the first SJOIN for a channel when syncing. For any subsequent SJOINs (so for larger channels or with lots of bans/exempts/invexes) we will use the short version: SJOIN ts #channel :xxx Bram Matthys 2021-08-14 20:29:41 +02:00
  • 428c301a94
    unreal_server_compat: convert named extbans in SJOIN as well. Bram Matthys 2021-08-14 20:05:00 +02:00
  • eac417d66a
    Fix memory leak on +beI Bram Matthys 2021-08-14 18:36:01 +02:00
  • a43637d55d
    Add extban->is_banned_events which you need to set to indicate to which BANCHK_* events you want to listen, eg BANCHK_JOIN, BANCHK_MSG. You can use BANCHK_ALL to watch on all events. Only BANCHK_TKL is not included there and needs an explicit BANCHK_ALL|BANCHK_TKL. Bram Matthys 2021-08-14 18:25:36 +02:00
  • 03d78bf95d
    Fix looking up the wrong extban in some cases. ~T => ~text => starts with ~t => ~time... fun. Bram Matthys 2021-08-14 17:57:22 +02:00
  • 75dbd99614
    I think the code already handles all these "can't stack these" cases. If I'm wrong we have a regression :D Bram Matthys 2021-08-14 17:46:44 +02:00
  • 0acc9eef49
    Add parameter to clean_ban_mask() that will be put in b->conv_options. Currently only supported option is: BCTX_CONV_OPTION_WRITE_LETTER_BANS: always write letter bans Bram Matthys 2021-08-14 17:36:49 +02:00
  • ca4f4c2575
    Add PROTOCTL NEXTBANS. This indicates support for named extended bans. Bram Matthys 2021-08-14 17:28:15 +02:00
  • 5f31f7a5cc
    Add unreal_server_compat module which rewrites named extbans in server to server traffic to be letter extbans. Yeah this is a tad ugly, but the alternative was worse, see header of the file for the full story. Bram Matthys 2021-08-14 16:42:33 +02:00
  • f6704cfd1c
    Add empty_mode(modebuf) to check for "", "+" or "-" modes, that is: modes that are empty/useless. Previously this check was done at several places in their own way. Ugly and duplicate code. Bram Matthys 2021-08-14 15:17:05 +02:00
  • c0d31130f8
    channel->creationtime is always set, so assume this is always set. In U5 channel->creationtime could be 0 momentarily, eg for a new channel, but nowadays we set channel->creationtime to TStime() if the channel gets created in make_channel() [*] [*] which was previously called get_channel() by the way Bram Matthys 2021-08-14 15:08:55 +02:00
  • 9e0357ad71
    Get rid of all the bounce stuff in MODE. The only stuff we still have is if a bounce servermode is detected (incoming) then we just ignore it. Bram Matthys 2021-08-14 14:56:15 +02:00
  • ec6062bc53
    Slightly change the log message for the other case which previous caused a bounce, or was supposed to (never really worked either). We now ignore the mode (which was de-facto what we did anyway) and also log it in that way. Bram Matthys 2021-08-14 14:41:39 +02:00
  • a5b86fcc11
    Don't try to fix op-desyncs anymore. The bounce code didn't work anyway (but the -oh did work) Bram Matthys 2021-08-14 14:29:32 +02:00
  • c7345f41b6
    Fix hardcoded ~f: and ~m: to also deal with named bans. (Actually only made it worse by more hardcoding for now...) Bram Matthys 2021-08-14 10:35:15 +02:00
  • b80a9adef9
    Set extended ban names instead of using module name placeholders. Bram Matthys 2021-08-14 10:28:26 +02:00
  • a70580cc86
    Enable sending of named extended bans. This can be changed via the configuration file via set::named-extended-bans <yes|no>; and now defaults to yes. Still to do: * explicitly set names instead of using stupid module names * update test suite to check for these new names (other git tree) * backwards compatible sending to U5 and lower using ugly shit Bram Matthys 2021-08-14 10:08:08 +02:00
  • 34bf0d7ec6
    Grin... Bram Matthys 2021-08-14 09:50:58 +02:00
  • a6b5587666
    Use prefix_with_extban() at the 3 places, needed for next... Bram Matthys 2021-08-14 09:49:22 +02:00
  • 34b034ab36
    Add named extban support. This only deals with the incoming parsing, it is not visible outgoing yet. So: ~account:name becomes ~a:name. Bram Matthys 2021-08-14 09:27:39 +02:00
  • d41e3e0f6e
    src/modules/extbans/*.c: memset(&req, 0, sizeof(req)); before ExtbanAdd() Bram Matthys 2021-08-14 09:27:01 +02:00
  • 5a387f9c0b
    Rename extban.flag to extban.letter. TODO: Should probably do this for umode/cmode as well ;) Bram Matthys 2021-08-14 09:07:22 +02:00
  • f23546b27c
    More conv_param() changes, the +3 rule changed, and matches the rest. The .conv_param() now receives the ban minus the ~own-extban. And it should also return the part minus the ~own-extban. Bram Matthys 2021-08-14 08:57:33 +02:00
  • 5269b647d5
    Round three of extban API overhaul, this changes extban->conv_param(). More changes will follow related to that... Bram Matthys 2021-08-13 17:59:45 +02:00
  • 163eaa432c
    ExtBans API: Now we can get rid of the +3 everywhere in is_ok(). When extban->is_ok() is called the banstr now no longer points to "~x:something" but to "something". Just like we did for extban->is_banned(). Again, need this for later too... Bram Matthys 2021-08-13 16:39:03 +02:00
  • b5d948c09c
    Round two of extban API overhaul, this changes extban->is_ok() Also cleanup big blob op duplicate code in +beI handling in MODE. Bram Matthys 2021-08-13 16:02:34 +02:00
  • 98291c9f69
    ExtBans API: Now we can get rid of the +3 everywhere in is_banned(). When extban->is_banned() is called the banstr now no longer points to "~x:something" but to "something". This will be more useful later... Bram Matthys 2021-08-13 14:37:21 +02:00
  • bff6fdde6f
    Start of extban API recode. I created the current API in 2003 and.. well.. let's hope I have gained some good insights since then.. :D Bram Matthys 2021-08-13 14:13:37 +02:00
  • bdef6a2af2
    Move stuff from AllowClient() to register_user(), since it deals with setting hostname and such, which does not belong there (well, mostly) Bram Matthys 2021-08-13 13:10:23 +02:00
  • a0a95f6cee
    Get rid of unnecessary check_init() stuff (and the hook) Bram Matthys 2021-08-13 13:06:35 +02:00
  • da3bdc0437
    AllowClient() doesn't need nor use the 2nd argument. Bram Matthys 2021-08-13 12:27:23 +02:00
  • 68b6f62d88
    Convert DNS names to lowercase Bram Matthys 2021-08-13 12:23:44 +02:00
  • eb171c8e22
    Add strtolower(). Note: we already hade strtolower_safe(). Bram Matthys 2021-08-13 12:22:49 +02:00
  • 9310fd3b4b
    Move check for valid hostname out of register_user(), we already have that in dns.c. Also remove verify_hostname() from dns.c and integrate it in valid_host() which now takes a second argument named 'strict'. Call valid_host() with strict set to 1 if the hostname should be checked to be a valid DNS hostname, eg the host may not contain stuff like ':' or '/'. Use 0 otherwise for the loose check, eg if you are not sure if the passed host is an IP address or a host, or if it is for a vhost. Bram Matthys 2021-08-13 12:17:24 +02:00
  • 7c250188a5
    Some moving around Bram Matthys 2021-08-13 12:05:37 +02:00
  • 72d4973840
    Cleanup code that sets client->user->username based on ident config and result Bram Matthys 2021-08-13 11:59:54 +02:00
  • 1b3376d091
    More cleanups in register_user(): Move the username checks to valid_username() Bram Matthys 2021-08-13 11:54:43 +02:00
  • 3a9976ef53
    Get rid of ERR_HOSTILENAME which clutters the code too much and no other IRCd seems to be using it. Bram Matthys 2021-08-13 11:33:34 +02:00
  • 3f8538f767
    Split off part of register_user() to new function welcome_user() Bram Matthys 2021-08-13 11:30:53 +02:00
  • 199d7d8e65
    cmd_uid: fix setting IP on the wrong client (server instead of user, oops...) Bram Matthys 2021-08-13 11:11:05 +02:00
  • fa875d6fd4
    Cleanup: register_user() now takes only 1 argument (client) instead of 5 arguments. The last 3 were always NULL after the remote/local split from a few commits ago. And nick and username were useless as well as client->name and client->user->username were always already set. Bram Matthys 2021-08-13 11:06:30 +02:00
  • 77a7b3aca2
    More cleanups in nick.c: integrate register_user_remote() in cmd_uid() Bram Matthys 2021-08-13 10:57:54 +02:00
  • 33db820355
    More nick.c (register user) cleanups.. Bram Matthys 2021-08-13 10:49:38 +02:00
  • 75a7d171b9
    Test buildbot Bram Matthys 2021-08-13 10:40:53 +02:00
  • 8ca735a217
    Split remote register_user() off into register_user_remote(), which may or may not disappear in a future cleanup. Bram Matthys 2021-08-13 10:23:50 +02:00
  • f90c7a7991
    Move IP validation from register_user() to cmd_uid(). This also makes it so the decoded IP is passed to register_user(), eg "1.2.3.4" instead of binary base64'd stuff. Bram Matthys 2021-08-12 20:09:24 +02:00
  • 5eb2ac7624
    Fix OperOverride message Bram Matthys 2021-08-12 17:56:23 +02:00
  • 9a2e8613ae
    For remotely received log messages (via SLOG) show the original server name as sender in the NOTICE, just like we used to do in the past. Bram Matthys 2021-08-12 17:07:12 +02:00
  • 0e5f5f7374
    Add conf/snomasks.default.conf Bram Matthys 2021-08-12 16:58:54 +02:00
  • 9f54c9b0d3
    Don't send SAPART in SAJOIN (:D) Bram Matthys 2021-08-12 16:51:18 +02:00
  • 152d24bd73
    Don't check for "chathistory" capability yet (only "draft/chathistory") as this casuses BUG_CLIENTCAPABILITYBIT_UNKNOWN_TOKEN to be triggered. Bram Matthys 2021-08-12 16:33:31 +02:00
  • 60d970d9af
    And another fix for previous case. Bram Matthys 2021-08-12 16:16:09 +02:00
  • 5cc2ef7fba
    Newlog: free arguments, even if unreal_log_recursion_trap is hit This was triggered for example when sending logs to remote servers. Bram Matthys 2021-08-12 16:11:02 +02:00
  • 16527eb6a4
    Back out previous change, bad idea :D Bram Matthys 2021-08-12 16:03:20 +02:00
  • 507f43fc74
    Set me.uplink to &me. Not entirely sure if this is what we want. Without this, I think otherwise we need too many checks everywhere for the IsMe() case. And this behavior matches me.direction which also points to &me. Then again, will doing it this way cause issues? We will see... Bram Matthys 2021-08-12 15:56:05 +02:00
  • bb4d77b5d0
    Fix crash in link-security unreal_log() call.. Interesting... this mistake is easy to make with multiline. Bram Matthys 2021-08-12 15:43:26 +02:00
  • cc6d1eaf36
    Don't crash on bad loglevel/subsystem/event_id but log it instead. Bram Matthys 2021-08-12 15:43:03 +02:00
  • 689c089a41
    Allow dashes in subsystem (eg "link-security") Bram Matthys 2021-08-12 15:30:50 +02:00
  • 445b47391f
    Do an #undef on LOG_DEBUG, LOG_INFO, etc.. so they cannot be confused anymore with the ULOG_DEBUG, ULOG_INFO, etc levels. Bram Matthys 2021-08-12 15:27:27 +02:00
  • 579988e07e
    ULOG_INFO, not LOG_INFO, strikes again! Bram Matthys 2021-08-12 15:23:07 +02:00
  • b48d7f8003
    Fix for vhost checking code in cmd_uid, which didn't take into account '*' (no vhost set) Bram Matthys 2021-08-12 15:19:59 +02:00
  • 7f55159f77
    Fix memory leak in new log code Bram Matthys 2021-08-12 15:18:18 +02:00
  • 8d72aaa0ad
    Checkout branch 'unreal60' from unrealircd-tests Bram Matthys 2021-08-12 15:16:37 +02:00
  • 562ed345be
    Update unrealircd-tests repo URL, temporarily used during early U6 development. Bram Matthys 2021-08-12 15:08:19 +02:00
  • 01753c67cd
    Validate hostname and vhost in UID command. And some very minor cleanups. Bram Matthys 2021-08-12 09:12:41 +02:00
  • 3a752a60fa
    Fix a remaining instance where client->local->fake_lag was touched directly, should use add_fake_lag(client, msec) instead. Bram Matthys 2021-08-12 08:56:46 +02:00
  • be6928df78
    Some cleanups in nick.c Bram Matthys 2021-08-12 08:55:46 +02:00
  • d9c940f65d
    Update client->flags inheritance code in register_user(). Hopefully correct... if this or ulines inheritance break you know who did it ;) Bram Matthys 2021-08-12 08:38:14 +02:00
  • f9086f700e
    Newlog: nick.c Bram Matthys 2021-08-12 08:37:54 +02:00
  • f84dd51172
    Newlog: link-security, mkpasswd, mode Bram Matthys 2021-08-11 21:08:49 +02:00
  • 7a4509b289
    Newlog: "New record on this server: $num_users connections" And also make this print the number of users and not (both) users+servers which is generally a metric nobody is interested in and only causes confusion when you get a message about a record of 30 and there are only 28 clients connected. Bram Matthys 2021-08-11 20:55:42 +02:00
  • 2c374395aa
    Newlog: Use _DENIED instead of _REJECTED everywhere to be consistent, eg LINK_REJECTED_SID_COLLISION -> LINK_DENIED_SID_COLLISION since 15+ other ones also start with LINK_DENIED... Expand it to other areas as well eg antirandom. Bram Matthys 2021-08-11 20:48:07 +02:00
  • 720cd84ab2
    Newlog: convert sendto_realops() to unreal_log() in 9 files. Bram Matthys 2021-08-11 20:47:18 +02:00
  • a94017c731
    Remove sendto_ops_and_log(), use unreal_log() instead! Bram Matthys 2021-08-11 19:10:30 +02:00
  • edfd0d434f
    Newlog: convert remaining sendto_ops_and_log() Bram Matthys 2021-08-11 19:09:07 +02:00
  • ccfad0eed0
    Enable high CPU usage detection, not sure yet for production, but at least for U6 development. Bram Matthys 2021-08-11 19:08:46 +02:00
  • 609a6600aa
    Remove ircd_log(), use unreal_log() instead! Bram Matthys 2021-08-11 18:01:00 +02:00
  • 4968bf84fe
    Newlog: convert those in include/*.h too Bram Matthys 2021-08-11 17:59:40 +02:00
  • 4198b380f4
    Newlog: convert the last ones to ircd_log Bram Matthys 2021-08-11 17:55:15 +02:00
  • 8d2f20ef41
    Newlog: debug.c, match.c, module.c, random.c and then for api-*.c log out of space in all circumstances. Bram Matthys 2021-08-11 17:45:01 +02:00
  • ca3c91ca17
    Newlog: channel.c, send.c, support.c, windows/gui.c Bram Matthys 2021-08-11 17:12:11 +02:00
  • 11755b2093
    Some variable renaming in start_listeners() Bram Matthys 2021-08-11 16:48:44 +02:00
  • 9333d4b264
    Newlog: fdlist.c, socket.c Bram Matthys 2021-08-11 16:48:26 +02:00