k4be
a03677023c
Change WATCH numerics to valid ones
2021-08-24 20:39:36 +02:00
k4be
e7e82ad493
Move host-change-related code to chghost.c
2021-08-24 20:37:02 +02:00
k4be
f4a915bbb7
Update watch_notification argument name
...
Fix WATCH crash caused by that argument
2021-08-24 20:19:50 +02:00
k4be
fe51aaf357
Add wATCH_EVENT defines
2021-08-24 19:58:05 +02:00
k4be
502def9401
Add extended-monitor (work in progress)
2021-08-24 19:42:38 +02:00
k4be
3b54cd35b6
metadata: some code cleanup, normalize names
2021-08-24 15:19:57 +02:00
Bram Matthys
fd02a662ec
Fix compile error when not using DEBUGMODE
2021-08-23 16:25:24 +02:00
k4be
83e6dafc96
metadata: change logging to unreal_log
2021-08-23 16:03:12 +02:00
k4be
d8067594be
Fix DNS lookup for proxy-forwarded IPs
2021-08-23 12:41:21 +02:00
k4be
fb0f5ecab3
Fix hang on METADATA SUB
2021-08-22 23:26:16 +02:00
k4be
d69b4394e7
Fix queuing notifications
2021-08-22 21:30:36 +02:00
k4be
d40853b71c
Add basic metadata module (no moderation)
2021-08-22 21:17:19 +02:00
Bram Matthys
58cd2d8bfd
Add some comments and add a redundant check for parameter writing.
...
Better to be safe than to accidentally write OOB.
2021-08-22 19:43:36 +02:00
Bram Matthys
49955670d9
Use do_mode_char_write() at two more places.
2021-08-22 19:38:18 +02:00
Bram Matthys
6f62a967fa
More code cleanups in mode.c: this splits do_mode_char() up between
...
do_mode_char_list_mode() and do_mode_char_member_mode(), which are
two quite different things.
And rewrite do_mode_char_member_mode() to get rid of switch/case
style and the goto.
Also add do_mode_char_write() which is used at 5 places (could be
expanded, probably).
2021-08-22 19:33:33 +02:00
Bram Matthys
52b4a44e94
Massively rename Cmode.flag to Cmode.letter.
...
(similar to 5a387f9c0b )
2021-08-22 18:45:13 +02:00
Bram Matthys
9838378550
Massive rename of:
...
* channel->mode.extmode to channel->mode.mode
* channel->mode.extmodeparams to channel->mode.mode_params
This because all channel modes that are set there are extended channel
modes, only lists are still in core atm and they never get set here.
2021-08-22 18:36:00 +02:00
Bram Matthys
e0504b2e52
Remove Mode.mode, it now only contains Mode.extmode and Mode.extmodeparams
...
Also make MODES_ON_JOIN point to iConf.modes_on_join.extmodes instead
of iConf.modes_on_join.mode
Actually in next commit I may reorder again...
2021-08-22 18:33:25 +02:00
Bram Matthys
fafa58f8c8
Make gcc happy, even though this is a false positive.
2021-08-22 18:24:31 +02:00
Bram Matthys
7e4399a2ef
Some do_mode_char() cleanups, now that it only deals with members/lists.
2021-08-22 18:23:37 +02:00
Bram Matthys
783cc3ff5b
Cmode API: change from Channelmode_Table[<num>] to channelmodes linked list.
...
And now we can easily sort the channel modes too, makes it easier for
our test cases.
2021-08-22 17:57:14 +02:00
k4be
50ae1ca2df
Proxy validation by IP address.
...
TODO: add optional password too.
2021-08-22 16:46:52 +02:00
k4be
e205e14279
Query DNS for hostname of forwarded users (seems to work)
2021-08-22 15:05:22 +02:00
k4be
7ed45c5921
Make websocket_parse_forwarded_header return a pointer
2021-08-22 14:20:36 +02:00
Bram Matthys
aac3c407bf
I forgot a forward declaration..
2021-08-22 13:45:32 +02:00
Bram Matthys
3a464e34ff
Some minor reordering
2021-08-22 13:36:46 +02:00
k4be
a2cdb8ff89
Merge branch 'unreal60_dev' of github.com:syzop/unrealircd-next into unreal60_dev
2021-08-22 13:36:06 +02:00
k4be
be78ecebfc
Parse "Forwarded:" header from proxy.
...
Not (yet) checking source address nor getting a hostname.
2021-08-22 13:34:54 +02:00
Bram Matthys
85d7a2556a
Move list mode requests like "MODE #channel b" to list_mode_request()
...
which uses send_list_mode() and send_user_list_mode() for
+beI and +aq respectively.
2021-08-22 13:32:37 +02:00
Bram Matthys
5c114d0069
Cleanup old channel mode stuff, now that all non-list-modes are gone.
...
Eg no longer need to walk through the corechannelmodetable for
single param channel modes...
Also fix sjoin comments about "their" and "our" modes. In the merge
case this was not correct, it was "our old" and "merged modes".
2021-08-22 13:15:08 +02:00
Bram Matthys
1a19de2de9
Move channel mode +r to module chanmodes/isregistered
2021-08-22 12:19:07 +02:00
Bram Matthys
57ec565051
Move channel mode +t to module chanmodes/topiclimit
...
TODO: move code from "topic" module to here, some hook call.
2021-08-22 12:09:53 +02:00
Bram Matthys
6dd539d760
Move channel mode +m to module chanmodes/moderated
...
(and nearly all the code related to it)
2021-08-22 12:01:54 +02:00
Bram Matthys
24f73c28e4
Move channel mode +l to module chanmodes/limit
...
(and all the code related to it)
2021-08-22 11:45:08 +02:00
Bram Matthys
1533c6431e
Move channel mode +n to module chanmodes/noexternalmsgs
...
(and all the code related to it)
2021-08-22 11:22:33 +02:00
Bram Matthys
8066c13876
Move +s/+p to chanmodes/secret and chanmodes/private.
...
To be honest, the modules don't do much other than handling the
mode stuff, but.. we can look at that again later.
2021-08-22 11:11:26 +02:00
Bram Matthys
295b3505ef
Move channel mode +i to module chanmodes/inviteonly
2021-08-22 10:37:37 +02:00
Bram Matthys
c403a47daf
Move channel mode +k to module chanmodes/key
2021-08-22 10:06:51 +02:00
Bram Matthys
24dec75576
Rename the current cloaking module to 'oldcloak'
2021-08-21 14:32:49 +02:00
Bram Matthys
c9e98137a4
Get rid of url.h and stuff the 6 functions there (which were not even
...
declared as extern) in include/h.h like the rest.
2021-08-21 09:32:17 +02:00
Bram Matthys
6d56145f60
Remove URL support from staff module now that main conf.c already does this.
...
And re-enable the module, as it was #if'd out.
2021-08-18 15:11:37 +02:00
Bram Matthys
756fee58cb
Rename ConfigItem_include to ConfigResource and also use it for non-includes
...
such as other items in the configuration file that are URLs.
2021-08-18 14:54:41 +02:00
Bram Matthys
675c1cab55
Rename loop struct members:
...
* loop.ircd_rehashing -> loop.rehashing
* loop.ircd_terminating -> loop.terminating
* loop.ircd_booted -> loop.booted
* loop.ircd_forked -> loop.forked
2021-08-18 13:08:42 +02:00
Bram Matthys
5154038d59
Code cleanup: replace "if(" with "if ("
2021-08-18 09:54:43 +02:00
Bram Matthys
6058090435
Use GeoIPResult * everywhere. Any modules who want to fetch it for
...
a client can use geoip_client(client).
2021-08-17 17:16:14 +02:00
Bram Matthys
796cac7a63
geoip: migrate from simple string to returning a GeoIPResult struct.
...
(work in progress, 1/2)
This also add supports for callbacks which return pointers (pvoidfunc),
we already had that for efuncs but not in callbacks.
2021-08-17 16:39:39 +02:00
Bram Matthys
fe3c86b128
Support ~country:* for unknown country (fix)
2021-08-17 16:14:59 +02:00
Bram Matthys
fc6c52db93
Add extbans/country: +b ~country:UK
2021-08-17 16:12:06 +02:00
Bram Matthys
a9434d13c7
Add RPL_WHOISCOUNTRY info in /WHOIS requests from IRCOps
2021-08-17 15:53:17 +02:00
Bram Matthys
d7561d6b23
Show [country: XX] in connect notice and sync geoip info with other servers.
2021-08-17 15:35:14 +02:00