1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-28 21:26:37 +02:00
Commit Graph

99 Commits

Author SHA1 Message Date
Bram Matthys 600185deba Add support for CAP draft/no-implicit-names
https://github.com/unrealircd/unrealircd/pull/265 by Valware
"This is an IRCv3 extension which lets clients opt-out of receiving /names on join.
 This is useful for bots on large channels who do not need to know who is in the channel.
 Specification: https://ircv3.net/specs/extensions/no-implicit-names"

+ module rename from 'no-implicit-names-cap' to 'no-implicit-names'
  (simply because no other modules has that -cap suffix)
+ update to Makefile.windows
2023-12-26 14:46:54 +01:00
Bram Matthys 0cbe6ad090 Makefile.windows: add src/api-apicallback.c to fix build
[skip ci]
2023-12-01 08:02:31 +01:00
Bram Matthys 6aae3e7a5d Update modules and Makefiles so central-api & central-blocklist compile. 2023-11-24 07:31:22 +01:00
Bram Matthys 08cb0fc05d Move crule to a module, so we can hot-patch if needed in the future.
This is a mandatory module to load, and included in modules.default.conf.

This also meant that the crule_test() etc efunctions are available
before running config test routines, so we now have a flag for
early efuncs. I guess we could consider doing that for all efuncs
though, so not sure if this flag is really needed.
2023-07-16 10:33:25 +02:00
Bram Matthys def77c4d52 Initial work on spamreport { } block. Not really useful yet.
Early commit before i make it actually work and implement the rest
and hunting for memory leaks etc...
2023-07-08 15:35:08 +02:00
Bram Matthys c352cc2d5f Fix missing 'issued-by-tag' module in windows build. Oops...
[skip ci]
2023-05-06 11:27:49 +02:00
Bram Matthys 7ad160f57a JSON-RPC: WHOWAS fetching is now whowas.get, also expose not only
logon_time/logoff_time but also connected_since.

This also fixes the Makefile for the Windows build (i hope)
2023-04-15 09:24:57 +02:00
Bram Matthys 45201fffe7 New module 'whowasdb': persistent WHOWAS history (preserved between reboots) 2023-04-14 19:29:45 +02:00
Bram Matthys a3efb70d31 Fixes for Windows build: add extbans/flood and all the RPC modules.
[skip ci]
2023-04-07 14:41:03 +02:00
Bram Matthys 290c5d4b72 Fix Windows makefile.
[skip ci]
2023-04-07 14:27:14 +02:00
Bram Matthys 2d4c064c59 Makefile.windows: add missing standard-replies.dll
[skip ci]
2023-03-22 15:11:11 +01:00
Bram Matthys 96fe6d0fda Fix Windows compile problem with current git 2023-03-14 18:33:00 +01:00
Valerie Pond 2cf6e9ef19 Add S2S command SREPLY for handling IRCv3 standard replies (#236)
This command allows servers to send Standard Replies (https://ircv3.net/specs/extensions/standard-replies) to clients.
2023-02-08 08:43:41 +00:00
Ron Nazarov 4999ae408c Add TLINE command
Suggested by PeGaSuS in https://bugs.unrealircd.org/view.php?id=6174
2022-11-18 08:53:36 +00:00
Bram Matthys ea5c3922ad Update Makefile.windows for src/modules/svslogin.c
Related to previous commit 1a4b701776
2022-11-14 08:45:33 +01:00
Bram Matthys 36946c6c51 Move JSON stuff from log.c to json.c now that it is more universal. 2022-06-24 13:21:27 +02:00
Bram Matthys 853f0685ed Split off big chunk of websocket module into websocket_common module.
And load the websocket_common module by default (which is just an API).
2022-06-19 13:13:33 +00:00
Bram Matthys 60c83b4ba1 Move connect-flood and max-unknown-connections-per-ip into their own module.
These deal with set::anti-flood::everyone::connect-flood and
set::max-unknown-connections-per-ip respectively.

This adds a new hook HOOKTYPE_ACCEPT, that is mostly meant for internal
usage by UnrealIRCd. Most module coders will want to use the existing
hook HOOKTYPE_HANDSHAKE instead.

This also gets of check_banned() which is now spread over the individual
modules (eg: checking banned is done in tkl on HOOKTYPE_ACCEPT and
HOOKTYPE_IP_CHANGE).
2022-06-19 13:13:33 +00:00
Bram Matthys 97c8274695 Add RPC API (the beginning..) 2022-06-19 13:13:33 +00:00
Bram Matthys 2397fb8a49 Split 'websocket' module up in 'webserver' and 'websocket' 2022-06-19 13:13:33 +00:00
Bram Matthys d8ff86e739 Fix for compiling on Windows
[skip ci]
2022-05-23 18:48:10 +02:00
Bram Matthys 3ee199fb6f Makefile.windows: add securitygroup.obj
[skip ci]
2022-05-23 17:42:43 +02:00
Bram Matthys 9075e2fa70 Move all the security group and mask code to src/securitygroup.c 2022-05-16 13:54:52 +02:00
Bram Matthys f1a18ce37e Communicate "creationtime" of users. Right now this info is only known
locally, as the only timestamp regarding users that is communicated across
the network is about the "last nick change" ("has this nick since...").
2022-05-13 12:27:21 +02:00
Valerie Pond 61f7dd746e Add IRCv3 +draft/channel-context (#205)
https://github.com/delthas/ircv3-specifications/blob/feature-channel/client-tags/channel-context.md
2022-05-13 07:39:41 +02:00
Bram Matthys 50e5d91c79 Add SVSO command which services can use to make someone IRCOp.
This existed in UnrealIRCd 3.2.x but was later removed when
switching to the new operclass system.
Requested by Valware in https://bugs.unrealircd.org/view.php?id=6041

Syntax: SVSO <uid|nick> <oper account> <operclass> <class> <modes> <snomask> <vhost>
All these parameters need to be set, you cannot leave any of them out,
HOWEVER some can be set to "-" to skip setting them, this is true for:
<class>, <modes>, <snomask>, <vhost>

In UnrealIRCd the <operclass> will be prefixed by "services:" if not already
present. It is up to you to include or omit it.

If you want to set any swhoises you need to use the SWHOIS s2s command,
other than that this command basically does everything for you,
in fact it uses the same code as the OPER command does.
Most of the "user is now ircop" code has been moved out of cmd_oper() to
a new function make_oper() that is called by both cmd_oper() and cmd_svso().

This function also changes the hook HOOKTYPE_LOCAL_OPER:
It no longer passes a ConfigItem_oper struct, since we can't do that for
remote opers. Instead it passes oper name and oper class.
The complete definition is now:
int hooktype_local_oper(Client *client, int add, const char *oper_block, const char *operclass);
2022-05-07 18:53:59 +02:00
Bram Matthys 889bcd99dc Actually build and load module for unrealircd.org/geoip-tag by default. 2022-05-01 14:11:24 +02:00
Bram Matthys 98c0e786b5 Make UnrealIRCd compile on Windows again.
Updated the makefile to build unrealircdctl.exe etc.
2022-01-03 13:10:53 +01:00
Bram Matthys 44e420dc58 Add GeoIP / geoip_classic to Windows build.
Also fix an issue with convert_to_absolute_path() and remotely fetched files.
2021-10-31 14:16:39 +01:00
Bram Matthys 32aa4dc625 Metadata can stay a 3rd party module for now. 2021-10-10 09:39:55 +02:00
Bram Matthys 8057b5755f Add operinfo to Windows Makefile
[skip ci]
2021-09-29 14:55:02 +02:00
Bram Matthys 74a5dbebe2 Update Windows makefile with new cloaking modules and vhoaq chanmodes
[skip ci]
2021-09-29 09:55:54 +02:00
Bram Matthys 10ec3c164a Rename the old cloaking module to "cloak_md5" (UnrealIRCd 3.2.1 - 5.2.X)
It was used from July 2004 and served us well it seems.
2021-09-25 11:23:14 +02:00
Bram Matthys a2a9eebf98 Get rid of ./unrealircd upgrade-conf (was for 3.2.x to 4.x) 2021-09-24 16:40:42 +02:00
Bram Matthys 1d73db560c Get rid of modules/snomasks directory, since the snomask module API is gone.
(IRCOps can set any snomask dynamically now)
2021-09-24 10:10:27 +02:00
Bram Matthys 0439e4f89d Move wallops module from "wallops" to "usermodes/wallops"
(which includes the command)
2021-09-23 19:25:38 +02:00
Bram Matthys 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)
2021-09-12 16:31:26 +02:00
k4be e13815b604 Add extjwt module 2021-09-10 16:19:07 +02:00
Bram Matthys 07390d093f Remove modules/mdex which is an example that shouldn't be used/built
(with UnrealIRCd anyway)
[skip ci]
2021-08-29 12:04:54 +02:00
Bram Matthys 340e6016da Windows makefile: update the DLL_FILES list as well.
This is just autogenerated so let's hope there is no mistake :D
At least it is nicely sorted alphabetically now.
[skip ci]
2021-08-29 12:00:18 +02:00
Bram Matthys 8476523888 Fix permissions
[skip ci]
2021-08-29 11:24:57 +02:00
Bram Matthys e9738b32f5 Update Windows makefile, incomplete yet.
I wanted to use pattern rules in Makefiles, which worked great, but..
i also want to be able to use parallel builds, and JOM does not seem
to support it. So....
Listing all the objects again, all the module rules are autogenerated
(yeah need to store those scripts somewhere..), though the list itself
needs updating in a later commit.

Using /FS /MP1 when creating the object files for UnrealIRCd.exe,
as due to the parallel JOM build it accesses the intermediate vs140.pdb.

Then, for all the modules, we can do without /FS because we now
explicitly set /Fdsrc/modules/xxxxx.pdb and thus don't have this
file access contention to vs140.pdb.

[skip ci]
2021-08-29 11:21:02 +02:00
Bram Matthys 9f729b1438 Windows: url.obj -> url_curl.obj
[skip ci]
2021-08-28 18:08:06 +02:00
Bram Matthys c455c1ae52 unrealircd-5-libs -> unrealircd-6-libs
[skip ci]
2021-08-28 17:26:15 +02:00
Bram Matthys 4c2aeab75e Windows compile fixes 2021-08-28 16:35:37 +02:00
Bram Matthys 3a9a746577 Update Windows makefile for Jansson library
[skip ci]
2021-08-28 15:22:15 +02:00
k4be 1f72396442 Initial version of geoip_csv 2021-08-26 20:50:02 +02:00
k4be 502def9401 Add extended-monitor (work in progress) 2021-08-24 19:42:38 +02:00
k4be d40853b71c Add basic metadata module (no moderation) 2021-08-22 21:17:19 +02:00
Bram Matthys 24dec75576 Rename the current cloaking module to 'oldcloak' 2021-08-21 14:32:49 +02:00