Sadie Powell
bb1f93f150
Switch RPC event registration to use the service system.
2025-03-17 12:58:22 +00:00
Sadie Powell
3744649320
Move the RPC service interface to the RPC header.
2025-03-15 23:49:58 +00:00
Sadie Powell
0ff170c671
Add a config option for disabling the i8 XML-RPC extension.
2025-03-10 12:48:13 +00:00
Sadie Powell
ea0d5c4d70
Add a config option for disabling the nil XML-RPC extension.
2025-03-10 12:48:13 +00:00
Sadie Powell
b96dbfc9ba
Fix a memory leak in the xmlrpc module.
2025-03-10 11:07:29 +00:00
Sadie Powell
161841925d
Force the MySQL module to use UTC for connections.
...
This prevents conversion issues when the MySQL server is in a
different timezone to the services server.
2025-03-06 20:51:13 +00:00
Sadie Powell
9926ac5a05
Fix reading the config of some modules.
2025-03-05 16:25:17 +00:00
Sadie Powell
14342f6375
Fix the on start library version logging to include the module.
2025-03-05 16:03:23 +00:00
Sadie Powell
f9911dde52
Return references instead of pointers from the config system.
...
We used to return NULL from these methods but now we return an empty
block so this can never actually be null now.
2025-03-02 15:27:47 +00:00
Sadie Powell
752f5e269e
Deduplicate RPC parameter count checks.
2025-02-25 23:13:54 +00:00
Sadie Powell
801a748e25
Add the system.listMethods RPC method.
...
Still to implement:
- system.getCapabilities
- system.methodHelp
- system.methodSignature
2025-02-24 03:59:52 +00:00
Sadie Powell
a111b40560
Allow use of a non-map type as the root RPC element.
2025-02-24 03:41:06 +00:00
Sadie Powell
2ccd182d2e
Add support for RPC arrays, simplify the RPC objects.
2025-02-24 03:07:22 +00:00
Sadie Powell
ee08b3e880
Rename RPC::Block to RPC::Map.
2025-02-23 17:50:05 +00:00
Sadie Powell
96839ae1b8
Move RPC types to the RPC namespace.
2025-02-20 14:57:55 +00:00
Sadie Powell
5420f48580
Use an enum for standard RPC error codes.
2025-02-20 14:57:22 +00:00
Sadie Powell
5967bf4176
Log the version of xmlrpc-c on module load.
2025-02-20 13:31:51 +00:00
Sadie Powell
b498f4f4d9
Add support for more RPC data types.
2025-02-20 12:53:15 +00:00
Sadie Powell
8330cd119a
Fix sending RPC responses after the previous commit.
2025-02-18 21:27:46 +00:00
Sadie Powell
3c55fbe650
Rework how the RPC interface stores its events.
2025-02-18 17:01:33 +00:00
Sadie Powell
98320d130f
Rewrite the xmlrpc module using libxmlrpc-c.
2025-02-18 16:15:58 +00:00
Sadie Powell
37f21a2e1e
Fix building the LDAP module on Windows.
2025-02-18 12:00:22 +00:00
Sadie Powell
9f82a960e4
Log the version of third-party libraries on load.
2025-02-18 11:48:43 +00:00
Sadie Powell
0a82366a6b
Merge branch '2.0' into 2.1.
2025-01-14 13:41:19 +00:00
Sadie Powell
da7f47c1c7
Update the copyright headers for 2025.
2025-01-14 13:30:07 +00:00
Sadie Powell
3cbac4bcea
Update Send and Recv to use ssize_t instead of int.
2024-11-25 16:14:17 +00:00
Sadie Powell
a27be92e4b
Skip removed columns when migrating the database schema.
2024-11-22 14:09:26 +00:00
Sadie Powell
240f8b9e50
Halt the column migration if any of the queries fail.
2024-11-16 12:13:17 +00:00
Sadie Powell
656ca80dd0
Migrate old SQL schemas to the current layout.
2024-11-16 03:45:03 +00:00
Sadie Powell
a7cbe2a139
Add default values to the MySQL tables and use when a column is null.
2024-11-14 13:00:03 +00:00
Sadie Powell
96ccfe4cbe
Fix using User::Account where User::IsIdentified should be used.
...
The former causes a dereference which cause a database update. This
is not good for performance with db_sql_live on bigger networks.
2024-11-11 16:46:56 +00:00
Sadie Powell
59647baff9
Avoid unnecessary string copies when calling IsFile.
2024-11-08 00:26:51 +00:00
Sadie Powell
98c840eb02
Expand the size of some chanstats columns.
...
Closes #444 .
2024-11-07 12:31:47 +00:00
Sadie Powell
101c68f786
Fix the Argon2 module not having test vectors.
2024-09-04 23:50:01 +01:00
Sadie Powell
528b5938ec
Automatically determine SQL column type from the field.
...
Also add more column types to ensure we are storing data in the
best format in the database.
2024-08-14 05:47:55 +01:00
ItsOnlyBinary
08b1344056
Add UNIX socket support to mysql module.
...
Ref: #419
2024-07-04 13:13:56 +01:00
Sadie Powell
a4792412ba
Merge branch '2.0' into 2.1.
2024-05-16 18:00:13 +01:00
Sadie Powell
8bb83f6b1a
Explicitly specify ROW_FORMAT=DYNAMIC when creating tables.
...
Resolves the issues some people were having with extremely wide rows.
2024-05-16 17:29:25 +01:00
Sadie Powell
da99a53dfa
Don't specify a width for DT_INT columns.
...
This isn't actually used by MySQL for the column width.
2024-05-16 17:28:15 +01:00
Sadie Powell
1cf5918574
Merge branch '2.0' into 2.1.
2024-05-11 14:24:37 +01:00
Sadie Powell
afe87bf693
Ensure we are connected to MySQL before trying to escape data.
2024-05-11 11:36:29 +01:00
Sadie Powell
bfed2e1bf5
Use paths relative to data/conf in the config file.
...
This was done in some places already but not consistently.
Closes #349 .
2024-03-19 15:51:55 +00:00
Sadie Powell
fde3438ef2
Allow using absolute paths in more places.
2024-03-19 15:11:40 +00:00
Sadie Powell
a1972ba9b6
Prevent using enc_posix as a primary encryption module.
2024-03-19 11:54:39 +00:00
Sadie Powell
5a72d8783e
Add verify-only support for POSIX crypt() hashes from Atheme.
2024-03-18 22:17:14 +00:00
Sadie Powell
29e7674e56
Replace convertTo/stringify with non-throwing alternatives.
...
Having these throw is terrible for ergonomics and there are loads
of places where the exception was either silently ignored or not
handled at all. Having a function which returns an optional and
another that returns a default works a lot better imo.
2024-03-11 19:17:29 +00:00
Sadie Powell
fb9c8950ed
Refactor the enc_bcrypt module and expose an encryption provider.
2024-03-10 20:46:03 +00:00
Sadie Powell
f919bb0748
Add self-tests to the encryption providers.
2024-03-10 20:20:24 +00:00
Sadie Powell
9a8cac060d
Add support for encrypting passwords with the Argon2 algorithm.
...
Closes #369 .
2024-03-10 15:09:38 +00:00
Sadie Powell
bb8df01e25
Move some modules which can be built by default out of extra.
2024-03-07 23:18:08 +00:00