]> PatchyGit - patchyircd.git/log
patchyircd.git
19 months agonetpoll: remove select/epoll implementations
Egor [Mon, 17 Mar 2025 18:23:13 +0000 (20:23 +0200)]
netpoll: remove select/epoll implementations

19 months agonetpoll: log when EBADF happens
Egor [Mon, 17 Mar 2025 18:19:35 +0000 (20:19 +0200)]
netpoll: log when EBADF happens

19 months agonetpoll: close sockets in the uv_close callback
Egor [Mon, 17 Mar 2025 17:33:53 +0000 (19:33 +0200)]
netpoll: close sockets in the uv_close callback

19 months agonetpoll: wait for uv_close before reusing polldata
Egor [Sun, 2 Mar 2025 20:26:20 +0000 (22:26 +0200)]
netpoll: wait for uv_close before reusing polldata

19 months agonetpoll: add ability to change type without readding
Egor [Sun, 2 Mar 2025 20:05:25 +0000 (22:05 +0200)]
netpoll: add ability to change type without readding

kinda fixes an assert in libuv, but not really

19 months agomap: move map_value into the class
Egor [Sun, 2 Mar 2025 18:05:00 +0000 (20:05 +0200)]
map: move map_value into the class

19 months agomap: move base functions into the class
Egor [Sun, 2 Mar 2025 17:32:12 +0000 (19:32 +0200)]
map: move base functions into the class

19 months agomap: more c++ification
Egor [Sun, 2 Mar 2025 16:26:33 +0000 (18:26 +0200)]
map: more c++ification

19 months agomap: start c++ifying
Egor [Sun, 2 Mar 2025 12:36:51 +0000 (14:36 +0200)]
map: start c++ifying

19 months agomap: specify types
Egor [Sat, 1 Mar 2025 21:37:19 +0000 (23:37 +0200)]
map: specify types

19 months agonetpoll: fix memory leaks
Egor [Sat, 1 Mar 2025 21:19:59 +0000 (23:19 +0200)]
netpoll: fix memory leaks

19 months agomove signal handling to job, add libuv support
Egor [Sat, 1 Mar 2025 20:01:02 +0000 (22:01 +0200)]
move signal handling to job, add libuv support

19 months agonetpoll: add libuv implementation
Egor [Sat, 1 Mar 2025 19:47:03 +0000 (21:47 +0200)]
netpoll: add libuv implementation

19 months agonetpoll: fix NETPOLL_MAXFDS check
Egor [Sat, 1 Mar 2025 14:56:31 +0000 (16:56 +0200)]
netpoll: fix NETPOLL_MAXFDS check

19 months agouse c++20
Egor [Sat, 1 Mar 2025 13:58:09 +0000 (15:58 +0200)]
use c++20

19 months agoswitch to c++
Egor [Sat, 1 Mar 2025 13:51:22 +0000 (15:51 +0200)]
switch to c++

19 months agoMakefile: simplify USE_TLS
Egor [Sat, 1 Mar 2025 13:46:29 +0000 (15:46 +0200)]
Makefile: simplify USE_TLS

19 months agoremove windows support
Egor [Sat, 1 Mar 2025 13:40:22 +0000 (15:40 +0200)]
remove windows support

21 months agocrypt_blowfish.c: clang++ compat in BF_swap
Egor [Tue, 21 Jan 2025 07:36:44 +0000 (09:36 +0200)]
crypt_blowfish.c: clang++ compat in BF_swap

21 months agofix remaining c++ warnings (initialization)
Egor [Tue, 21 Jan 2025 07:31:19 +0000 (09:31 +0200)]
fix remaining c++ warnings (initialization)

21 months agofix -fpermissive and other c++ errors
Egor [Tue, 21 Jan 2025 04:07:06 +0000 (06:07 +0200)]
fix -fpermissive and other c++ errors

21 months agoirc.c: fix goto crossing initialization of res
Egor [Tue, 21 Jan 2025 03:39:33 +0000 (05:39 +0200)]
irc.c: fix goto crossing initialization of res

21 months agocrypt_blowfish.c: don't return a string literal
Egor [Tue, 21 Jan 2025 03:36:29 +0000 (05:36 +0200)]
crypt_blowfish.c: don't return a string literal

21 months agofix -Wliteral-suffix
Egor [Tue, 21 Jan 2025 03:35:16 +0000 (05:35 +0200)]
fix -Wliteral-suffix

21 months agoadd explicit casting for (m|c|re)alloc
Egor [Tue, 21 Jan 2025 03:23:45 +0000 (05:23 +0200)]
add explicit casting for (m|c|re)alloc

21 months agoirc.c: factor out nuh update
Egor [Tue, 21 Jan 2025 03:05:04 +0000 (05:05 +0200)]
irc.c: factor out nuh update

21 months agoremove map_trie implementation
Egor [Tue, 21 Jan 2025 02:57:57 +0000 (04:57 +0200)]
remove map_trie implementation

21 months agoadd an experimental c++-mode build
Egor [Tue, 21 Jan 2025 02:49:50 +0000 (04:49 +0200)]
add an experimental c++-mode build

21 months agospam.lua: yet another supernets variation
Egor [Tue, 21 Jan 2025 02:20:30 +0000 (04:20 +0200)]
spam.lua: yet another supernets variation

21 months agospam.lua: also match against non-stripped text
Egor [Thu, 2 Jan 2025 21:14:01 +0000 (23:14 +0200)]
spam.lua: also match against non-stripped text

21 months agospam.lua: another supernets one
Egor [Thu, 2 Jan 2025 20:23:23 +0000 (22:23 +0200)]
spam.lua: another supernets one

2 years agoircfmt: null nickname for 433
Egor [Tue, 27 Aug 2024 15:59:09 +0000 (18:59 +0300)]
ircfmt: null nickname for 433

2 years agoadd warning flags for old style decls
Egor [Fri, 23 Aug 2024 05:37:27 +0000 (08:37 +0300)]
add warning flags for old style decls

2 years agospam.lua: fix iteration
Egor [Sat, 17 Aug 2024 23:11:08 +0000 (02:11 +0300)]
spam.lua: fix iteration

2 years agospam.lua: use one set of hooks for all simple filters
Egor [Sat, 17 Aug 2024 22:23:40 +0000 (01:23 +0300)]
spam.lua: use one set of hooks for all simple filters

2 years agospam.lua: refactor basic filters
Egor [Sat, 17 Aug 2024 22:07:55 +0000 (01:07 +0300)]
spam.lua: refactor basic filters

2 years agoinit.lua add hookinfo command
Egor [Sat, 17 Aug 2024 21:49:23 +0000 (00:49 +0300)]
init.lua add hookinfo command

2 years agospam.lua: typos
Egor [Sat, 17 Aug 2024 21:41:26 +0000 (00:41 +0300)]
spam.lua: typos

2 years agoinit.lua: fix copy-pasted hook names
Egor [Sat, 17 Aug 2024 21:39:21 +0000 (00:39 +0300)]
init.lua: fix copy-pasted hook names

2 years agospam.lua: add more pm filters
Egor [Sat, 17 Aug 2024 21:29:43 +0000 (00:29 +0300)]
spam.lua: add more pm filters

2 years agospam.lua: lowercase the string before checking
Egor [Sat, 17 Aug 2024 21:27:05 +0000 (00:27 +0300)]
spam.lua: lowercase the string before checking

2 years agospam.lua: minor fix
Egor [Sat, 17 Aug 2024 21:21:29 +0000 (00:21 +0300)]
spam.lua: minor fix

2 years agospam.lua: block yet another network
Egor [Sat, 17 Aug 2024 21:03:13 +0000 (00:03 +0300)]
spam.lua: block yet another network

2 years agoadd biboumi hostname support
Egor [Mon, 12 Aug 2024 18:47:37 +0000 (21:47 +0300)]
add biboumi hostname support

2 years agowait for SASL password check
Egor [Fri, 28 Jun 2024 18:57:51 +0000 (21:57 +0300)]
wait for SASL password check

2 years agodon't leak WEBIRC password
Egor [Fri, 28 Jun 2024 18:45:50 +0000 (21:45 +0300)]
don't leak WEBIRC password

2 years agofix use-after-free with jobs
Egor [Fri, 28 Jun 2024 18:40:05 +0000 (21:40 +0300)]
fix use-after-free with jobs

2 years agofix double-free with jobs
Egor [Fri, 28 Jun 2024 18:26:27 +0000 (21:26 +0300)]
fix double-free with jobs

2 years agoadd WEBIRC support
Egor [Fri, 28 Jun 2024 17:46:30 +0000 (20:46 +0300)]
add WEBIRC support

2 years agopasswd: remove sha512 hashing
Egor [Mon, 27 May 2024 11:02:24 +0000 (14:02 +0300)]
passwd: remove sha512 hashing

2 years agopasswd: migrate to blowfish strength 12
Egor [Mon, 27 May 2024 10:24:16 +0000 (13:24 +0300)]
passwd: migrate to blowfish strength 12

2 years agohelp.txt: update with the latest info
Egor [Mon, 27 May 2024 10:11:26 +0000 (13:11 +0300)]
help.txt: update with the latest info

2 years agospam.lua: block some dumb podcast guy
Egor [Mon, 27 May 2024 09:32:14 +0000 (12:32 +0300)]
spam.lua: block some dumb podcast guy

2 years agouse jobs for auth
Egor [Thu, 1 Feb 2024 19:18:13 +0000 (21:18 +0200)]
use jobs for auth

2 years agouse jobs for oper login
Egor [Thu, 1 Feb 2024 17:15:00 +0000 (19:15 +0200)]
use jobs for oper login

and fix a ton of bugs in the jobs implementation

2 years agoadd fork job system
Egor [Thu, 1 Feb 2024 15:11:01 +0000 (17:11 +0200)]
add fork job system

2 years agoadd preliminary support for blowfish passwords
Egor [Thu, 1 Feb 2024 10:22:46 +0000 (12:22 +0200)]
add preliminary support for blowfish passwords

also windows support, kinda

2 years agopasswd.c: include netsock.h first
Egor [Wed, 31 Jan 2024 19:10:48 +0000 (21:10 +0200)]
passwd.c: include netsock.h first

fixes _WIN32_WINNT redefinition

2 years agoalways compile admin.[ch]
Egor [Wed, 31 Jan 2024 19:08:33 +0000 (21:08 +0200)]
always compile admin.[ch]

this makes it easier to do windows builds

2 years agopasswd.c: fix compilation on windows
Egor [Wed, 31 Jan 2024 19:07:48 +0000 (21:07 +0200)]
passwd.c: fix compilation on windows

2 years agoFD_CLOEXEC everything
Egor [Wed, 31 Jan 2024 18:53:39 +0000 (20:53 +0200)]
FD_CLOEXEC everything

_GNU_SOURCE is needed for socket4

2 years agofix localhost/hidden service detection
Egor [Wed, 31 Jan 2024 11:52:12 +0000 (13:52 +0200)]
fix localhost/hidden service detection

tbh hidden service should be probably done via AF_UNIX

2 years agoadd lua/local.lua to gitignore
Egor [Fri, 26 Jan 2024 15:48:23 +0000 (17:48 +0200)]
add lua/local.lua to gitignore

2 years agoapply a different hostname on 127.0.0.2
Egor [Fri, 26 Jan 2024 15:13:37 +0000 (17:13 +0200)]
apply a different hostname on 127.0.0.2

for the people who connect to the hidden service

2 years agouse luaL_setfuncs to register globals
Egor [Fri, 26 Jan 2024 14:04:04 +0000 (16:04 +0200)]
use luaL_setfuncs to register globals

2 years agoexpose channel creation/MODE/TOPIC in lua
Egor [Fri, 26 Jan 2024 13:03:33 +0000 (15:03 +0200)]
expose channel creation/MODE/TOPIC in lua

2 years agomake it possible to use channel_mode without client
Egor [Fri, 26 Jan 2024 12:00:10 +0000 (14:00 +0200)]
make it possible to use channel_mode without client

2 years agomove channel MODE setting into a separate func
Egor [Fri, 26 Jan 2024 11:33:56 +0000 (13:33 +0200)]
move channel MODE setting into a separate func

2 years agoload lua/local.lua if it exists
Egor [Fri, 26 Jan 2024 10:56:24 +0000 (12:56 +0200)]
load lua/local.lua if it exists

2 years agoLIST: show all channels to ircops
Egor [Fri, 26 Jan 2024 10:34:13 +0000 (12:34 +0200)]
LIST: show all channels to ircops

2 years agoallow AUTHENTICATE after registration
Egor [Thu, 25 Jan 2024 11:32:07 +0000 (13:32 +0200)]
allow AUTHENTICATE after registration

why are so many clients so stupid?

also don't leak the saslbuf

2 years agoirccloud.lua: read from text database
Egor [Thu, 25 Jan 2024 04:02:34 +0000 (06:02 +0200)]
irccloud.lua: read from text database

2 years agorun all username updates through chghost
Egor [Thu, 25 Jan 2024 03:50:16 +0000 (05:50 +0200)]
run all username updates through chghost

2 years agodon't allow deauthing with USER command
Egor [Thu, 25 Jan 2024 03:01:37 +0000 (05:01 +0200)]
don't allow deauthing with USER command

2 years agoremove outdated comment
Egor [Thu, 25 Jan 2024 02:56:48 +0000 (04:56 +0200)]
remove outdated comment

2 years agoabort SASL on registration
Egor [Thu, 25 Jan 2024 02:55:37 +0000 (04:55 +0200)]
abort SASL on registration

From the spec:
If the client completes registration (with CAP END, NICK, USER and any
other necessary messages) while the SASL authentication is still in
progress, the server SHOULD abort it and send a 906 numeric, then
register the client without authentication.

2 years agoadd extra nick reservations
Egor [Thu, 25 Jan 2024 02:42:22 +0000 (04:42 +0200)]
add extra nick reservations

2 years agoadmin.c: add comments regarding sasl variables
Egor [Thu, 25 Jan 2024 02:31:31 +0000 (04:31 +0200)]
admin.c: add comments regarding sasl variables

2 years agomove server logging to sendbuf
Egor [Thu, 25 Jan 2024 02:29:54 +0000 (04:29 +0200)]
move server logging to sendbuf

2 years agoadd SASL EXTERNAL support
Egor [Thu, 25 Jan 2024 02:22:32 +0000 (04:22 +0200)]
add SASL EXTERNAL support

2 years agouse unsigned char instead of uint8_t
Sam Smith [Thu, 25 Jan 2024 01:54:56 +0000 (03:54 +0200)]
use unsigned char instead of uint8_t

2 years agoannounce SASL mechanisms when using CAP 302
Egor [Thu, 25 Jan 2024 01:46:23 +0000 (03:46 +0200)]
announce SASL mechanisms when using CAP 302

2 years agosend msg_join_extended during chghost fallback
Egor [Thu, 25 Jan 2024 01:45:25 +0000 (03:45 +0200)]
send msg_join_extended during chghost fallback

2 years agodon't log AUTHENTICATE
Egor [Wed, 24 Jan 2024 07:20:17 +0000 (09:20 +0200)]
don't log AUTHENTICATE

2 years agoadd SASL auth support
Egor [Wed, 24 Jan 2024 07:15:51 +0000 (09:15 +0200)]
add SASL auth support

2 years agoirccloud.lua: minor fixes
Egor [Wed, 24 Jan 2024 07:06:43 +0000 (09:06 +0200)]
irccloud.lua: minor fixes

2 years agoadd all the caps to CAP LS
Egor [Wed, 24 Jan 2024 03:02:47 +0000 (05:02 +0200)]
add all the caps to CAP LS

2 years agomove all of ctcp probing into ctcp.lua
Egor [Tue, 23 Jan 2024 11:51:13 +0000 (13:51 +0200)]
move all of ctcp probing into ctcp.lua

2 years agoadd associated lua data for clients
Egor [Tue, 23 Jan 2024 11:14:19 +0000 (13:14 +0200)]
add associated lua data for clients

2 years agomove spam filtering to a separate module
Egor [Tue, 23 Jan 2024 10:50:25 +0000 (12:50 +0200)]
move spam filtering to a separate module

2 years agomove ctcp probing to a separate module
Egor [Tue, 23 Jan 2024 10:48:56 +0000 (12:48 +0200)]
move ctcp probing to a separate module

2 years agoadd irccloud authentication lua script
Egor [Tue, 23 Jan 2024 10:38:25 +0000 (12:38 +0200)]
add irccloud authentication lua script

2 years agoallow running only half of refreshctcp
Egor [Tue, 23 Jan 2024 08:25:10 +0000 (10:25 +0200)]
allow running only half of refreshctcp

2 years agofix refreshctcp command
Egor [Tue, 23 Jan 2024 05:08:47 +0000 (07:08 +0200)]
fix refreshctcp command

2 years agoadd lua refreshctcp command
Egor [Tue, 23 Jan 2024 05:02:34 +0000 (07:02 +0200)]
add lua refreshctcp command

2 years agoadd lua summon command
Egor [Tue, 23 Jan 2024 04:41:49 +0000 (06:41 +0200)]
add lua summon command

2 years agoadd mask support to the WHO command
Egor [Tue, 23 Jan 2024 04:22:25 +0000 (06:22 +0200)]
add mask support to the WHO command

2 years agoadd ctcp time logging
Egor [Tue, 23 Jan 2024 03:21:16 +0000 (05:21 +0200)]
add ctcp time logging

2 years agomove the password rejection later down the line
Egor [Tue, 23 Jan 2024 02:19:13 +0000 (04:19 +0200)]
move the password rejection later down the line

2 years agoadd ctcp logging
Egor [Tue, 23 Jan 2024 01:59:33 +0000 (03:59 +0200)]
add ctcp logging