# # ChangeLog for trunk in code # # Generated by Trac 1.6 # Jun 8, 2025, 7:18:11 PM Fri, 25 Dec 2020 12:35:20 GMT hubert [437] * trunk/downstream.go (modified) * trunk/user.go (modified) Advertise all caps, CAP DEL them on registration ... so that the ... Mon, 14 Dec 2020 19:54:02 GMT delthas [436] * trunk/doc/soju.1.scd (modified) * trunk/service.go (modified) service: Introduce `channel update` This adds the `channel update` ... Mon, 14 Dec 2020 19:54:02 GMT delthas [435] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add customizable auto-detaching, auto-reattaching, relaying. This ... Mon, 14 Dec 2020 19:54:02 GMT delthas [434] * trunk/db.go (modified) Introduce Channel.{RelayDetached,ReattachOn,DetachAfter,DetachOn} ... Mon, 30 Nov 2020 10:39:41 GMT contact [433] * trunk/.editorconfig (added) Add .editorconfig Thu, 26 Nov 2020 18:27:08 GMT coder.kalyan [432] * trunk/cmd/sojuctl/main.go (modified) sojuctl: change-password: check if user exists When changing the ... Tue, 24 Nov 2020 13:25:19 GMT hubert [431] * trunk/downstream.go (modified) Uphold echo-message even with BouncerServ Fixes ... Tue, 24 Nov 2020 13:22:39 GMT contact [430] * trunk/downstream.go (modified) Fix nickname in ERR_ERRONEOUSNICKNAME Tue, 24 Nov 2020 13:22:18 GMT hubert [429] * trunk/downstream.go (modified) Prevent downstreams from changing their nick to service's This ... Tue, 24 Nov 2020 13:13:24 GMT contact [428] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Implement delivery receipts via PING messages This patch implements ... Fri, 20 Nov 2020 10:37:43 GMT hubert [427] * trunk/downstream.go (modified) Don't send TAGMSG to upstreams that don't support it TAGMSG are (in ... Sun, 25 Oct 2020 17:22:12 GMT contact [426] * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) Don't accept any IP as a proxy by default It's too easy to setup a ... Sun, 25 Oct 2020 17:15:54 GMT contact [425] * trunk/go.mod (modified) * trunk/go.sum (modified) Upgrade dependencies Sun, 25 Oct 2020 17:10:50 GMT contact [424] * trunk/config/config.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) Switch to go-scfg We don't use child directives yet, but likely ... Sun, 25 Oct 2020 16:47:38 GMT contact [423] * trunk/downstream.go (modified) * trunk/logger.go (deleted) * trunk/msgstore.go (added) * trunk/upstream.go (modified) * trunk/user.go (modified) Add message store abstraction Introduce a messageStore type, which ... Sat, 24 Oct 2020 13:47:53 GMT contact [422] * trunk/db.go (modified) Switch to sql.NullString Not really better than what we had before, ... Sat, 24 Oct 2020 13:14:23 GMT contact [421] * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Switch DB API to user IDs This commit changes the Network schema to ... Sat, 24 Oct 2020 12:52:55 GMT contact [420] * trunk/db.go (modified) Add id column to User table We used rowid before, but an explicit ... Thu, 10 Sep 2020 22:10:58 GMT delthas [419] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for the extended-join capability This simple ... Mon, 07 Sep 2020 19:28:24 GMT contact [418] * trunk/cmd/soju/main.go (modified) * trunk/go.mod (modified) * trunk/go.sum (modified) Add support for the PROXY protocol IPs whitelisted in ... Mon, 07 Sep 2020 18:58:49 GMT contact [417] * trunk/cmd/soju/main.go (modified) Set Server.AcceptProxyIPs Mon, 07 Sep 2020 09:40:18 GMT hubert [416] * trunk/db.go (modified) * trunk/user.go (modified) Make DB.DeleteChannel take the channel ID ... to allow the caller ... Wed, 02 Sep 2020 15:09:32 GMT hubert [415] * trunk/conn.go (modified) Make sure that WebSocket messages are valid UTF-8 ... by replacing ... Fri, 28 Aug 2020 11:35:55 GMT contact [414] * trunk/upstream.go (modified) Don't update history when msgID is empty in appendLog Log files ... Wed, 26 Aug 2020 13:28:10 GMT contact [413] * trunk/downstream.go (modified) Fix panic in downstreamConn.sendNetworkHistory This panic happens ... Wed, 26 Aug 2020 13:18:57 GMT contact [412] * trunk/downstream.go (modified) Fix downstream PING argument handling The PONG message should have ... Tue, 25 Aug 2020 09:49:22 GMT contact [411] * trunk/downstream.go (modified) Allow '/' in nickname This allows to specify a network name in the ... Mon, 24 Aug 2020 17:05:56 GMT contact [410] * trunk/go.mod (modified) * trunk/go.sum (modified) Update dependencies Thu, 20 Aug 2020 18:05:01 GMT contact [409] * trunk/downstream.go (modified) * trunk/ring.go (deleted) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Nuke in-memory ring buffer Instead, always read chat history from ... Thu, 20 Aug 2020 18:05:01 GMT contact [408] * trunk/logger.go (modified) Introduce loadHistoryLatestID This loads latest messages from logs ... Thu, 20 Aug 2020 18:05:01 GMT contact [407] * trunk/logger.go (modified) * trunk/upstream.go (modified) Introduce internal message IDs For now, these can be used as ... Thu, 20 Aug 2020 15:38:57 GMT contact [406] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Replace networkHistory.offlineClients with clients Keep the ring ... Thu, 20 Aug 2020 09:12:54 GMT hubert [405] * trunk/bridge.go (modified) * trunk/upstream.go (modified) Forward RPL_TOPICWHOTIME to downstreams Thu, 20 Aug 2020 08:00:58 GMT hubert [404] * trunk/downstream.go (modified) Reject downstream NICK with illegal characters This should avoid ... Thu, 20 Aug 2020 07:15:47 GMT hubert [403] * trunk/upstream.go (modified) Fix marshalling of channel name in RPL_CREATIONTIME Thu, 20 Aug 2020 07:13:56 GMT contact [402] * trunk/conn.go (modified) * trunk/upstream.go (modified) go fmt Thu, 20 Aug 2020 07:13:38 GMT hubert [401] * trunk/downstream.go (modified) More explicit error message on INVITE with the wrong network Wed, 19 Aug 2020 21:57:25 GMT hubert [400] * trunk/downstream.go (modified) More explicit error message on KICK with the wrong network Wed, 19 Aug 2020 21:35:12 GMT contact [399] * trunk/upstream.go (modified) * trunk/user.go (modified) Improve registration error messages - Don't print the raw IRC ... Wed, 19 Aug 2020 17:42:33 GMT contact [398] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Implement rate limiting for upstream messages Allow up to 10 ... Wed, 19 Aug 2020 10:22:32 GMT contact [397] * trunk/logger.go (modified) Escape user/network/entity characters in log file path ZNC replaces ... Wed, 19 Aug 2020 09:50:19 GMT contact [396] * trunk/upstream.go (modified) Strip message tags in error message The time tag was causing the ... Wed, 19 Aug 2020 09:24:25 GMT contact [395] * trunk/user.go (modified) Encode idents to hex instead of base64 base64 strings may contain ... Tue, 18 Aug 2020 15:57:12 GMT contact [394] * trunk/ident.go (modified) ident: remove leftover debug log Mon, 17 Aug 2020 22:26:59 GMT dan.shick [393] * trunk/db.go (modified) Fix store user query values Mon, 17 Aug 2020 13:01:53 GMT contact [392] * trunk/irc.go (modified) * trunk/logger.go (modified) Format CTCP ACTION messages in logs Mon, 17 Aug 2020 11:55:22 GMT contact [391] * trunk/logger.go (modified) Parse NOTICE messages from logs Thu, 13 Aug 2020 13:31:07 GMT contact [390] * trunk/upstream.go (modified) Handle upstream ERROR messages Thu, 13 Aug 2020 13:31:03 GMT contact [389] * trunk/upstream.go (modified) Handle ERR_NOPERMFORHOST and ERR_YOUREBANNEDCREEP Thu, 13 Aug 2020 10:58:29 GMT contact [388] * trunk/ident.go (added) Add missing ident.go Forgot to check in this file. Fixes: ... Tue, 11 Aug 2020 13:58:50 GMT contact [387] * trunk/downstream.go (modified) * trunk/logger.go (modified) Extract history loading into functions These will get re-used for ... Tue, 11 Aug 2020 09:03:20 GMT contact [386] * trunk/doc/soju.1.scd (modified) doc: add ident server to man page Tue, 11 Aug 2020 08:59:06 GMT contact [385] * trunk/cmd/soju/main.go (modified) * trunk/server.go (modified) * trunk/user.go (modified) Add an ident server Closes: https://todo.sr.ht/~emersion/soju/69 Tue, 11 Aug 2020 08:35:05 GMT contact [384] * trunk/conn.go (modified) Add conn.{Local,Remote}Addr Tue, 11 Aug 2020 08:34:38 GMT contact [383] * trunk/conn.go (modified) Add ircConn.LocalAddr Tue, 11 Aug 2020 08:26:42 GMT contact [382] * trunk/db.go (modified) Add User.ID For now it's just a new field that'll be useful to ... Tue, 11 Aug 2020 08:24:54 GMT contact [381] * trunk/upstream.go (modified) Don't perform TLS handshake in connectToUpstream This defers TLS ... Tue, 11 Aug 2020 08:21:49 GMT contact [380] * trunk/cmd/sojuctl/main.go (modified) cmd/sojuctl: read user from DB before updating it This makes sure ... Mon, 10 Aug 2020 13:04:01 GMT contact [379] * trunk/service.go (modified) Add `user delete` command References: ... Mon, 10 Aug 2020 13:03:38 GMT contact [378] * trunk/server.go (modified) Remove user from Server map when stopped Mon, 10 Aug 2020 13:03:38 GMT contact [377] * trunk/user.go (modified) Make user.stop block This allows callers to wait until the user has ... Mon, 10 Aug 2020 13:03:38 GMT contact [376] * trunk/user.go (modified) Add user.stop Mon, 03 Aug 2020 16:43:39 GMT contact [375] * trunk/db.go (modified) Add DB.DeleteUser Mon, 03 Aug 2020 09:03:39 GMT hubert [374] * trunk/service.go (modified) Fix help message for BouncerServ's network update It was missing ... Fri, 24 Jul 2020 07:49:54 GMT contact [373] * trunk/README.md (modified) readme: update mailing list link Thu, 23 Jul 2020 21:31:37 GMT admin [372] * trunk/doc/soju.1.scd (modified) doc: fix typo in man page Wed, 22 Jul 2020 16:07:55 GMT contact [371] * trunk/config/config.go (modified) config: make http-origin directive overwrite previous list Let's be ... Wed, 22 Jul 2020 15:03:01 GMT contact [370] * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/server.go (modified) Add accept-proxy-ip config directive This allows to set the list of ... Wed, 22 Jul 2020 13:44:19 GMT contact [369] * trunk/doc/soju.1.scd (modified) * trunk/upstream.go (modified) Change unix:// to irc+unix:// When Unix socket support will be ... Wed, 22 Jul 2020 13:43:22 GMT contact [368] * trunk/doc/soju.1.scd (modified) doc: add example config file in man page Wed, 22 Jul 2020 11:36:19 GMT contact [367] * trunk/README.md (modified) readme: mention the znc-import tool Wed, 22 Jul 2020 11:06:03 GMT nomeji [366] * trunk/README.md (modified) readme: expand usage Wed, 22 Jul 2020 10:51:32 GMT contact [365] * trunk/doc/soju.1.scd (modified) doc: mention SASL EXTERNAL in the CertFP docs Wed, 22 Jul 2020 10:20:52 GMT contact [364] * trunk/doc/soju.1.scd (modified) * trunk/service.go (modified) Rename `certfp reset` to `sasl reset` And make it reset all SASL ... Wed, 22 Jul 2020 10:16:13 GMT contact [363] * trunk/doc/soju.1.scd (modified) * trunk/service.go (modified) Add a `sasl set-plain` command This allows to manually set the SASL ... Wed, 22 Jul 2020 10:16:01 GMT contact [362] * trunk/downstream.go (modified) * trunk/logger.go (modified) go fmt Wed, 22 Jul 2020 10:04:26 GMT contact [361] * trunk/doc/soju.1.scd (modified) doc: document the network update command Wed, 15 Jul 2020 15:47:57 GMT contact [360] * trunk/downstream.go (modified) * trunk/logger.go (modified) Implement CHATHISTORY AFTER References: ... Thu, 09 Jul 2020 12:20:23 GMT contact [359] * trunk/user.go (modified) Prevent error handler from falling through in user.run Thu, 09 Jul 2020 10:19:51 GMT contact [358] * trunk/service.go (modified) Add unix as supported upstream URL scheme to service Thu, 09 Jul 2020 09:25:25 GMT contact [357] * trunk/contrib (added) * trunk/contrib/znc-import.go (added) contrib/znc-import: new utility Allows populating the soju database ... Thu, 09 Jul 2020 09:23:51 GMT contact [356] * trunk/db.go (modified) Fix deadlock in DB.Close This method was calling itself, instead of ... Wed, 08 Jul 2020 16:21:52 GMT contact [355] * trunk/upstream.go (modified) Broadcast unhandled messages to downstream connections In case ... Mon, 06 Jul 2020 16:13:40 GMT contact [354] * trunk/downstream.go (modified) Strip network name from nickname when auto-saving network Mon, 06 Jul 2020 15:31:11 GMT contact [353] * trunk/doc/soju.1.scd (modified) * trunk/upstream.go (modified) Add support for upstream Unix socket connections References: ... Mon, 06 Jul 2020 15:18:13 GMT contact [352] * trunk/upstream.go (modified) Parse upstream URLs with net/url This allows us to ignore the path ... Mon, 06 Jul 2020 14:04:56 GMT contact [351] * trunk/upstream.go (modified) Check upstream address with net.SplitHostPort Looking for a colon ... Mon, 06 Jul 2020 09:06:20 GMT contact [350] * trunk/irc.go (modified) * trunk/upstream.go (modified) Sort and split JOIN messages Sort channels so that channels with a ... Mon, 06 Jul 2020 08:59:34 GMT contact [349] * trunk/bridge.go (modified) Make length check clearer in sendNames Thu, 02 Jul 2020 09:05:49 GMT contact [348] * trunk/server.go (modified) Accept "irc" WebSocket subprotocol Wed, 01 Jul 2020 15:02:37 GMT contact [347] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) Add RemoteAddr to ircConn interface Tue, 30 Jun 2020 08:28:05 GMT hubert [346] * trunk/bridge.go (modified) * trunk/irc.go (modified) Send compact channel name lists This commit resolves `sendNames`' TODO. Mon, 29 Jun 2020 16:33:23 GMT contact [345] * trunk/server.go (modified) Only read X-Forwarded-* if remote address is loopback Mon, 29 Jun 2020 16:27:43 GMT contact [344] * trunk/server.go (modified) Extract X-Forwarded-* headers for WebSocket connections Mon, 29 Jun 2020 16:09:48 GMT contact [343] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Reply to WHO BouncerServ Closes: https://todo.sr.ht/~emersion/soju/75 Mon, 29 Jun 2020 15:52:49 GMT contact [342] * trunk/upstream.go (modified) Handle registration failures References: ... Mon, 29 Jun 2020 08:24:41 GMT contact [341] * trunk/conn.go (modified) Return io.EOF on websocket connection closure Wed, 24 Jun 2020 21:02:46 GMT hubert [340] * trunk/downstream.go (modified) Don't save corrupted NickServ credentials soju saved most NickServ ... Wed, 24 Jun 2020 10:08:35 GMT contact [339] * trunk/service.go (modified) service: list commands in lexicographic order Fri, 12 Jun 2020 12:43:45 GMT delthas [338] * trunk/upstream.go (modified) Fix sending messages from detached channels Currently, a downstream ...