]>
PatchyGit - patchyircd.git/log
Egor [Sun, 8 Feb 2026 14:49:30 +0000 (16:49 +0200)]
ircfmt: declutter numeric replies
Egor [Sun, 8 Feb 2026 13:42:42 +0000 (15:42 +0200)]
REUSE: adjust licensing info for some non-code files
Egor [Sun, 8 Feb 2026 13:32:24 +0000 (15:32 +0200)]
main: add a message for when initialization is done
Egor [Sun, 8 Feb 2026 13:28:45 +0000 (15:28 +0200)]
map: get rid of map_base2
Egor [Sun, 8 Feb 2026 12:14:15 +0000 (14:14 +0200)]
map: reduce api surface
Egor [Sun, 8 Feb 2026 01:26:11 +0000 (03:26 +0200)]
ircfmt: 64-bit time_t formatting
Egor [Sun, 8 Feb 2026 01:17:59 +0000 (03:17 +0200)]
map: fix rename UB
Egor [Sun, 8 Feb 2026 00:40:36 +0000 (02:40 +0200)]
admin: error for channel_new
Egor [Sun, 8 Feb 2026 00:38:53 +0000 (02:38 +0200)]
map: add heterogeneous insertion
Egor [Sun, 8 Feb 2026 00:35:53 +0000 (02:35 +0200)]
admin: construct query results in a pcall
Egor [Wed, 4 Feb 2026 14:09:12 +0000 (16:09 +0200)]
admin: c++fication for Client/Channel bindings
Egor [Wed, 4 Feb 2026 13:07:26 +0000 (15:07 +0200)]
admin: rework lua bindings to map
Egor [Tue, 3 Feb 2026 14:49:51 +0000 (16:49 +0200)]
map: make stringset return std::string
Egor [Tue, 3 Feb 2026 13:58:56 +0000 (15:58 +0200)]
map: reorganize stuff to more directly use FlatSet
Egor [Tue, 3 Feb 2026 01:34:54 +0000 (03:34 +0200)]
map: make map_base virtual
Egor [Tue, 3 Feb 2026 00:36:51 +0000 (02:36 +0200)]
map: use a flat_map (except it's not std:: for now)
Egor [Mon, 2 Feb 2026 23:59:28 +0000 (01:59 +0200)]
getaddrinfo_one: fix use-after-free
Egor [Mon, 2 Feb 2026 23:53:40 +0000 (01:53 +0200)]
autojoin.lua: fix chankey argument
Egor [Sun, 1 Feb 2026 12:36:25 +0000 (14:36 +0200)]
map: use <=> for case insensitive comparisons
Egor [Sat, 31 Jan 2026 21:02:53 +0000 (23:02 +0200)]
job: use std::move_only_function
Egor [Sat, 31 Jan 2026 20:58:21 +0000 (22:58 +0200)]
switch to c++23
Egor [Wed, 28 Jan 2026 15:08:26 +0000 (17:08 +0200)]
remove channel_kill
Egor [Wed, 28 Jan 2026 14:28:24 +0000 (16:28 +0200)]
autojoin: rewrite in lua
Egor [Wed, 28 Jan 2026 13:53:31 +0000 (15:53 +0200)]
ctor/dtor improvements
Egor [Sun, 25 Jan 2026 01:00:18 +0000 (03:00 +0200)]
irc: tighten up nick validation
Egor [Sun, 25 Jan 2026 00:34:54 +0000 (02:34 +0200)]
irc: use bool for irc_process_line return type
Egor [Thu, 22 Jan 2026 15:02:40 +0000 (17:02 +0200)]
main: ensure hostname is FQDN
Egor [Thu, 22 Jan 2026 14:43:14 +0000 (16:43 +0200)]
map: add case-insensitive look up
Egor [Thu, 22 Jan 2026 13:22:47 +0000 (15:22 +0200)]
job: templateize job_password_check
Egor [Thu, 22 Jan 2026 11:10:53 +0000 (13:10 +0200)]
job: move hash retrieval here
Egor [Wed, 21 Jan 2026 16:31:38 +0000 (18:31 +0200)]
admin: make lua mandatory dependency
Egor [Tue, 20 Jan 2026 22:20:37 +0000 (00:20 +0200)]
use new/delete instead of malloc/free
Egor [Tue, 20 Jan 2026 20:11:10 +0000 (22:11 +0200)]
util: use std::to_chars
Egor [Tue, 20 Jan 2026 19:22:13 +0000 (21:22 +0200)]
db: remove db_read_rhs
Egor [Tue, 20 Jan 2026 18:58:33 +0000 (20:58 +0200)]
admin: add database support
Egor [Tue, 20 Jan 2026 17:28:36 +0000 (19:28 +0200)]
job: use lambdas
Egor [Fri, 16 Jan 2026 15:09:52 +0000 (17:09 +0200)]
.gitignore: add dbtool
Egor [Fri, 16 Jan 2026 15:04:27 +0000 (17:04 +0200)]
add sqlite database support
Egor [Fri, 4 Jul 2025 23:08:13 +0000 (02:08 +0300)]
spam.lua: yet ANOTHER supernets variation
Egor [Sun, 15 Jun 2025 09:39:38 +0000 (12:39 +0300)]
irc: use a perfect hash function for command matching
Egor [Sun, 15 Jun 2025 09:36:00 +0000 (12:36 +0300)]
irc: more match macros
Egor [Sun, 15 Jun 2025 08:26:44 +0000 (11:26 +0300)]
irc: use string_view for command matching
Egor [Sun, 15 Jun 2025 07:57:48 +0000 (10:57 +0300)]
irc: use a macro for command matching
Egor [Sun, 15 Jun 2025 07:35:53 +0000 (10:35 +0300)]
configure.ac: check for a bunch of warning flags
Egor [Sun, 15 Jun 2025 06:45:08 +0000 (09:45 +0300)]
Makefile.am: use $() instead of @@
Egor [Sun, 15 Jun 2025 06:39:28 +0000 (09:39 +0300)]
net: add gnu::format attribute for log_client
Egor [Sun, 15 Jun 2025 06:26:57 +0000 (09:26 +0300)]
netpoll: use uv_poll_t.data for downcasting
Egor [Sun, 15 Jun 2025 06:21:54 +0000 (09:21 +0300)]
fix a bunch of extra warnings
Egor [Sun, 15 Jun 2025 05:04:08 +0000 (08:04 +0300)]
setpass: add error messages
Egor [Fri, 13 Jun 2025 08:38:17 +0000 (11:38 +0300)]
add pch.mk to .gitignore
Egor [Fri, 13 Jun 2025 06:42:30 +0000 (09:42 +0300)]
fix AC_CONFIG_SRCDIR
Egor [Fri, 13 Jun 2025 06:26:59 +0000 (09:26 +0300)]
split data structures out of common.hpp
Egor [Fri, 13 Jun 2025 06:19:58 +0000 (09:19 +0300)]
s/client_data/Client/g;s/channel/Channel/g
capitalization to avoid shadowing issues
Egor [Fri, 13 Jun 2025 06:11:44 +0000 (09:11 +0300)]
s/.h/.hpp/g
Egor [Fri, 13 Jun 2025 06:05:25 +0000 (09:05 +0300)]
actually include common.h at the top of every file
just to be consistent with pch stuff, even though setpass stuff ideally
should be separate
Egor [Fri, 13 Jun 2025 05:59:35 +0000 (08:59 +0300)]
client_data: remove type field
this went entirely unused
Egor [Fri, 13 Jun 2025 05:51:12 +0000 (08:51 +0300)]
nicer make output for pch
Egor [Fri, 13 Jun 2025 05:47:38 +0000 (08:47 +0300)]
automatically rebuild pch
Egor [Fri, 13 Jun 2025 05:17:58 +0000 (08:17 +0300)]
add precompiled header build option
Egor [Fri, 13 Jun 2025 04:49:16 +0000 (07:49 +0300)]
passwd: don't use strcpy
Egor [Fri, 13 Jun 2025 04:27:23 +0000 (07:27 +0300)]
more header reorg
Egor [Fri, 13 Jun 2025 03:35:01 +0000 (06:35 +0300)]
consolidate standard headers inclusions
Egor [Fri, 13 Jun 2025 03:08:19 +0000 (06:08 +0300)]
net: recvProc clean up
make it more in line with the original version of the code I wrote back
in 2022
Egor [Fri, 13 Jun 2025 02:26:20 +0000 (05:26 +0300)]
net: use rbuf/rlen/wbuf/wlen names as originally intended
Egor [Fri, 13 Jun 2025 01:38:21 +0000 (04:38 +0300)]
remove allocClient
Egor [Fri, 13 Jun 2025 01:10:45 +0000 (04:10 +0300)]
replace dynarr with a vector<char>
Egor [Fri, 13 Jun 2025 00:40:42 +0000 (03:40 +0300)]
check EAGAIN/EWOULDBLOCK directly
Egor [Fri, 13 Jun 2025 00:37:02 +0000 (03:37 +0300)]
centralize all client-related logging
and get rid of PRISocket
Egor [Fri, 13 Jun 2025 00:15:00 +0000 (03:15 +0300)]
just use perror and close
Egor [Fri, 13 Jun 2025 00:07:58 +0000 (03:07 +0300)]
don't redefine FD_SETSIZE and don't include poll.h
we no longer use select or poll
Egor [Fri, 13 Jun 2025 00:07:00 +0000 (03:07 +0300)]
consistently use uv_os_sock_t and -1
Egor [Thu, 12 Jun 2025 23:49:47 +0000 (02:49 +0300)]
assume FOPEN_CLOEXEC exists
Egor [Thu, 12 Jun 2025 23:42:25 +0000 (02:42 +0300)]
netsock: getaddrinfo abstraction deux
we just need one result, so simply copy it out
also move setsockint back to main, to get rid of netsock.cpp
Egor [Thu, 12 Jun 2025 23:18:56 +0000 (02:18 +0300)]
net: set NONBLOCK at socket creation time
works on all relevant unices
Egor [Thu, 12 Jun 2025 23:13:09 +0000 (02:13 +0300)]
net: remove old windows stuff
Egor [Thu, 12 Jun 2025 23:05:59 +0000 (02:05 +0300)]
main: move getaddrinfo stuff into a separate function
Egor [Thu, 12 Jun 2025 22:14:48 +0000 (01:14 +0300)]
better perror messages
Egor [Thu, 12 Jun 2025 22:10:00 +0000 (01:10 +0300)]
main: fix listeners on clang 14
Egor [Thu, 12 Jun 2025 05:53:46 +0000 (08:53 +0300)]
setpass: replace getpass with my own impl
Egor [Thu, 12 Jun 2025 03:18:31 +0000 (06:18 +0300)]
use vector for listeners
Egor [Wed, 11 Jun 2025 09:59:42 +0000 (12:59 +0300)]
use PACKAGE_* defines
Egor [Wed, 11 Jun 2025 09:04:42 +0000 (12:04 +0300)]
Make IRCDDATADIR and IRCDLUADIR configurable
Egor [Wed, 11 Jun 2025 07:00:05 +0000 (10:00 +0300)]
Makefile.am: distribute all files in the source control
Egor [Wed, 11 Jun 2025 04:45:25 +0000 (07:45 +0300)]
move the valgrind command into the makefile
Egor [Wed, 11 Jun 2025 04:37:26 +0000 (07:37 +0300)]
use automake
Egor [Thu, 5 Jun 2025 17:58:25 +0000 (20:58 +0300)]
map: use algorithms
Egor [Thu, 5 Jun 2025 17:34:14 +0000 (20:34 +0300)]
netpoll: merge pollfd and polldata structures
Egor [Thu, 5 Jun 2025 16:54:34 +0000 (19:54 +0300)]
netpoll: store pollfds in a vector
Egor [Thu, 5 Jun 2025 16:33:33 +0000 (19:33 +0300)]
poll: change the net_pollfd public interface
Since we're copying the structure out in ::get we might as well keep it
separate from the internal structure (which really should be combined
with polldata).
Also rename it to just pollfd since we no longer have name conflict with
poll.h.
Egor [Thu, 5 Jun 2025 15:01:10 +0000 (18:01 +0300)]
netpoll: flatten add_impl/del_impl
Egor [Thu, 5 Jun 2025 14:57:57 +0000 (17:57 +0300)]
netpoll: use UV_READABLE constants directly
Egor [Thu, 5 Jun 2025 14:52:17 +0000 (17:52 +0300)]
netpoll: factor out a bunch of search checks
Egor [Thu, 5 Jun 2025 14:12:03 +0000 (17:12 +0300)]
job: use a deuque to store jobents
Egor [Thu, 5 Jun 2025 13:38:35 +0000 (16:38 +0300)]
job/netpoll: clean up remnants of the old SIGCHLD handling
Egor [Wed, 4 Jun 2025 23:22:20 +0000 (02:22 +0300)]
make libuv required dependency
Egor [Wed, 4 Jun 2025 21:45:54 +0000 (00:45 +0300)]
Makefile: rework to use object files
Egor [Wed, 4 Jun 2025 19:33:38 +0000 (22:33 +0300)]
REUSE compliance
Egor [Wed, 4 Jun 2025 13:51:03 +0000 (16:51 +0300)]
COPYING: update FSF address
Egor [Wed, 4 Jun 2025 12:42:46 +0000 (15:42 +0300)]
add copyright information to all source files
Egor [Wed, 4 Jun 2025 12:33:19 +0000 (15:33 +0300)]
add admin.txt to .gitignore