1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-02 22:03:14 +02:00
Commit Graph

29 Commits

Author SHA1 Message Date
Bram Matthys 2108bb48fa Run labeled-response through the quick path. 2022-05-16 09:53:23 +02:00
Bram Matthys aba8eb7a2b Fix OOB write in packet sending routine.
Bug found internally, was not reported by anyone.
2022-04-01 09:17:11 +02:00
Bram Matthys 7cabd4b79e Const const const 2021-09-11 08:17:12 +02:00
Bram Matthys 5bc244c1f3 Add a lot more consts. This finishes the work for all hooktypes. 2021-09-10 20:36:38 +02:00
Bram Matthys 4e5dd044f5 Require module header with version "unrealircd-6" now 2021-08-10 14:37:10 +02:00
Bram Matthys 3894aeba97 Fix double batch on HISTORY #channel.
Reported by k4be in https://bugs.unrealircd.org/view.php?id=5709
2020-07-14 19:25:07 +02:00
Bram Matthys dcb89f933e Fix problem with simultaneous use of websocket and labeled-response,
depending on the module load order. Reported by k4be.
Changes:
* Websocket hooks:
  * Input should be run first
  * Output should be run last
* Labeled-response also had various hook priorities wrong
  * Pre command should be run near-first
  * Post command should be run near-last
  * Close connection (does the flush) should be run near-last
  * Packet should be run near-last
2020-06-10 08:21:20 +02:00
Bram Matthys 528783a2fd Now that we have clienttags, fix this FIXME.
Also, remove unnecessary comment about calling lr_post_command() with
the last two arguments being NULL. We don't use these two variables
inside lr_post_command() after this change anyway.
2020-05-17 08:49:58 +02:00
Bram Matthys 7a4832d337 Fix missing ERROR when using a @label, reported by k4be.
This had to do with the queued packet (in the labeled-response module)
not being sent because the client was freed before the
post packet hook was called.
2020-05-11 19:18:41 +02:00
Bram Matthys febc4a45f3 Updated labeled-response: drop the draft/ prefix now that the specification
is ratified and also fix a serious flood bug in the implementation.
Oh, and move the loadmodule line to the correct place in modules.default.conf.
2020-02-08 08:09:53 +01:00
Bram Matthys 65f6b97ea7 Advertise as "draft/labeled-response-0.2" rather than "draft/labeled-response".
[skip ci]
2019-10-11 15:58:23 +02:00
Bram Matthys c399aab016 Support for labeled-response in LIST (I really wanted this) 2019-10-05 18:21:47 +02:00
Bram Matthys f992a0c1c0 Finish up labeled-response implementation. Load by default to get the
thing tested. Will do at least 1 other commit soon related to this.
2019-10-05 17:33:22 +02:00
Bram Matthys 3a64077f51 Use 'client' everywhere (if there is no confusion) instead of 'sptr' or 'cptr'.
This so I - and others - don't constantly have to wonder whether the client
is called sptr, cptr or acptr in a simple routine.
Insane --> 212 files changed, 6814 insertions(+), 6945 deletions(-)
Couldn't just mass-replace of course since there are places where there
are multiple clients involved. So had to check each function.
Also renamed some 'acptr' to 'target' and such.

I will write a page with new style rules later.. but in short if there is
only 1 client involved it will now be called 'client'.
2019-10-04 15:25:35 +02:00
Bram Matthys bb1bb35f50 MOD_LOAD(xyz) is now just MOD_LOAD(), same for MOD_TEST, MOD_INIT,
MOD_UNLOAD. And MOD_HEADER(xyz) is now MOD_HEADER even without ()
since this isn't a function, really.
To make things understandable I added the following to the
developer section of the release notes:

* The module header is now as follows:
  ModuleHeader MOD_HEADER
    = {
          "nameofmodule",
          "5.0",
          "Some description",
          "Name of Author",
          "unrealircd-5",
      };
  There's a new author field, the version must start with a digit,
  and also the name of the module must match the loadmodule name.
  So for example third/funmod must also be named third/funmod.
* The MOD_TEST, MOD_INIT, MOD_LOAD and MOD_UNLOAD functions no longer
  take a name argument. So: MOD_INIT(mymod) is now MOD_INIT()
2019-09-13 15:27:40 +02:00
Bram Matthys 70410b3f33 Remove unused variables (67 files done, will do rest another time). 2019-09-12 17:57:01 +02:00
Bram Matthys 88cbc38ff2 Do some more syntax checking, even for servers.
This fixes a crash in case of incorrect server to server traffic.
2019-09-12 07:16:18 +02:00
Bram Matthys bf2c5110db IsPerson() -> IsUser(), MyClient() -> MyUser(), etc.
This so we have a few simple concepts:
Client: this can be a user, server, or something unknown yet
Then the type of clients:
User: this is a user, someone with a nick name.
Server: this is a server
Etc.
2019-09-11 17:43:17 +02:00
Bram Matthys 23116d344a Give structs the same name as the typedefs. Rename aClient to Client,
aChannel to Channel, and some more. Third party module coders will
love this. But.. it makes things more logical and the doxygen output
will look more clean and logical as well.
(More changes will follow)
2019-09-11 09:48:00 +02:00
Bram Matthys 10faaf91ba Bump module header version to "unrealircd-5", add author field
and remove old dependency field (never used, was always NULL,
broken since 3.2.x)
I'll add some constraints later on things like names and versions.
IOTW: more changes to follow, don't mass update your own mods yet.
2019-08-26 20:29:47 +02:00
Bram Matthys 33fcc5b550 Enough updates on labeled-response and echo-message for today.
Note that the labeled-response implementation currently requires
'batch' and will always start a BATCH if there is any response.
Later on we can implement a simple queue so we don't have to
start a batch for 1-line responses (which works, but looks a bit
silly if you look at raw server traffic). That may be after alpha1,
though, as there are more (important) things to work on right now.
2019-08-18 09:24:43 +02:00
Bram Matthys 4ccb290dac Fix two TODO's. 2019-08-18 08:27:43 +02:00
Bram Matthys 4d74ca9d9a Take out labeled-response until it is unbroken (as in: don't load
by default for now). Not a high priority item at the moment.
2019-08-13 18:49:18 +02:00
Bram Matthys 7f903b422c Strip m_ prefix in modules (part II). Bump reported module version
of each module to 5.0 (or the ones that previously were 4.2, anyway).
2019-08-12 13:36:03 +02:00
Bram Matthys 3b67e83275 Add some FIXME's to labeled-response. Not going to work on that right now,
since there is more important things to do...
[skip ci]
2019-07-13 15:40:58 +02:00
Bram Matthys 806256e9c2 Move generate_batch_id() to core. Use chathistory BATCH type, if supported. 2019-07-13 15:25:56 +02:00
Bram Matthys 8b1cd80700 Make labeled-response work again after API change.
TODO: handle both draft/ and without draft/, maybe upstream?
2019-05-25 09:08:26 +02:00
Bram Matthys 6e5df1a4c0 Add mtags argument to sendto_one(). Phase 1 (automated), next is manual
audit of all sendto_one's. Also it doesn't work yet...
2019-05-24 17:38:48 +02:00
Bram Matthys c3a929646c Move src/modules/cap/* to src/modules/ as the meaning got blurred.
For example, msgid / message-ids is not a CAP, while server-time is.
There mere fact of something being in CAP or not shouldn't cause
something to be in different directories ;).
2019-05-19 15:58:34 +02:00