# # ChangeLog for trunk/downstream.go in code # # Generated by Trac 1.6 # Jun 8, 2025, 7:10:00 PM Tue, 21 Mar 2023 04:45:19 GMT koizumi.aoi [804] * trunk/Makefile (modified) * trunk/bridge.go (modified) * trunk/certfp.go (modified) * trunk/cmd/suika-znc-import/main.go (modified) * trunk/cmd/suika/main.go (modified) * trunk/cmd/suikactl/main.go (modified) * trunk/config/config.go (modified) * trunk/conn.go (modified) * trunk/db.go (modified) * trunk/db_postgres.go (modified) * trunk/db_postgres_test.go (modified) * trunk/db_sqlite.go (modified) * trunk/db_sqlite_test.go (modified) * trunk/downstream.go (modified) * trunk/ident.go (modified) * trunk/irc.go (modified) * trunk/irc_test.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) * trunk/net_go113.go (modified) * trunk/net_go116.go (modified) * trunk/rate.go (modified) * trunk/server.go (modified) * trunk/server_test.go (modified) * trunk/service.go (modified) * trunk/service_test.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Drunk as I like Signed-off-by: Aoi K Thu, 03 Mar 2022 09:54:21 GMT contact [794] * trunk/downstream.go (modified) downstream: disallow '.' in nicknames See [1] and [2]. [1]: ... Thu, 03 Mar 2022 09:53:33 GMT contact [793] * trunk/downstream.go (modified) downstream: re-format illegalNickChars doc comment Thu, 03 Mar 2022 08:08:51 GMT contact [792] * trunk/downstream.go (modified) downstream: fix network name msimatch check being too strict The ... Thu, 03 Mar 2022 07:50:37 GMT contact [790] * trunk/downstream.go (modified) downstream: fail on client or network name mismatch This probably ... Thu, 03 Mar 2022 07:35:34 GMT contact [789] * trunk/downstream.go (modified) downstream: be less strict when picking up client name Allow e.g. ... Thu, 03 Mar 2022 07:33:10 GMT contact [788] * trunk/downstream.go (modified) downstream: panic when registering twice This would be a soju bug. Wed, 16 Feb 2022 13:45:09 GMT contact [784] * trunk/bridge.go (modified) * trunk/db_sqlite.go (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/msgstore_fs.go (modified) * trunk/upstream.go (modified) Introduce formatServerTime It's too easy to forget to convert to UTC. Sat, 12 Feb 2022 18:07:30 GMT contact [783] * trunk/downstream.go (modified) Ignore READ commands for service Fri, 11 Feb 2022 18:41:46 GMT delthas [781] * trunk/bridge.go (modified) * trunk/db.go (modified) * trunk/db_postgres.go (modified) * trunk/db_sqlite.go (modified) * trunk/doc/read.md (added) * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for the wip soju.im/read capability and READ command ... Wed, 09 Feb 2022 15:58:54 GMT delthas [780] * trunk/downstream.go (modified) Fix echo-message for TAGMSG A previous fix (d4b7bb02da1c) only ... Fri, 04 Feb 2022 13:01:27 GMT contact [768] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Drop user.forEachNetwork It's a trivial for loop. Fri, 10 Dec 2021 09:46:41 GMT contact [761] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Handle upstream multi-line SASL References: ... Thu, 09 Dec 2021 22:21:08 GMT contact [760] * trunk/downstream.go (modified) Add support for downstream multi-line AUTHENTICATE commands Useful ... Wed, 08 Dec 2021 17:23:46 GMT contact [758] * trunk/downstream.go (modified) Don't forward duplicate JOIN commands Closes: ... Wed, 08 Dec 2021 17:03:40 GMT contact [757] * trunk/conn.go (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Add context to {conn,upstreamConn}.SendMessage This avoids blocking ... Tue, 07 Dec 2021 08:42:32 GMT contact [754] * trunk/downstream.go (modified) Use dc.nick instead of "*" for RPL_* messages Makes it clearer what ... Tue, 07 Dec 2021 08:40:02 GMT contact [753] * trunk/downstream.go (modified) Improve error message when downstream doesn't authenticate Mon, 06 Dec 2021 18:23:28 GMT contact [751] * trunk/downstream.go (modified) Disallow ',' in nicknames It breaks lists as in `PRIVMSG a,b,c :foo`. Mon, 06 Dec 2021 17:56:00 GMT contact [750] * trunk/downstream.go (modified) Add username to downstreamConn log messages Sat, 04 Dec 2021 18:29:39 GMT contact [742] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Avoid forwarding MONITOR requests if upstream doesn't support it ... Tue, 30 Nov 2021 11:02:54 GMT contact [729] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for draft/account-registration proxying This adds ... Mon, 29 Nov 2021 15:41:52 GMT contact [727] * trunk/downstream.go (modified) downstream: improve unmarshalEntityNetwork error message Closes: ... Mon, 29 Nov 2021 12:14:16 GMT contact [726] * trunk/downstream.go (modified) Return more descriptive auth failure errors Sun, 21 Nov 2021 15:28:38 GMT contact [725] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Remove sasl cap after registration if network doesn't support it ... Sun, 21 Nov 2021 15:10:54 GMT contact [724] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for post-connection-registration upstream SASL auth ... Sun, 21 Nov 2021 10:00:57 GMT contact [723] * trunk/downstream.go (modified) Send RPL_LOGGEDIN with bouncer account in multi-upstream mode Fri, 19 Nov 2021 18:21:48 GMT contact [722] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Use RPL_LOGGEDIN/OUT to mirror upstream status This will allow ... Fri, 19 Nov 2021 17:55:07 GMT contact [721] * trunk/downstream.go (modified) Abort SASL if in-progress while completing registration Implements ... Fri, 19 Nov 2021 10:55:22 GMT contact [720] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add missing account-notify to permanentUpstreamCaps Thu, 18 Nov 2021 20:06:26 GMT tomvig38 [719] * trunk/downstream.go (modified) Add CHATHISTORY LATEST support This patch adds a bit more ... Thu, 18 Nov 2021 08:44:33 GMT contact [717] * trunk/downstream.go (modified) Disallow empty string for nick Thu, 18 Nov 2021 08:40:23 GMT hubert [716] * trunk/downstream.go (modified) Allow AUTHENTICATE before NICK Now that dc.nick is not blank during ... Wed, 17 Nov 2021 14:58:19 GMT contact [711] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Add message counter metrics Wed, 17 Nov 2021 14:27:34 GMT contact [706] * trunk/downstream.go (modified) Update downstream caps/nick/realname before sending MOTD The MOTD ... Wed, 17 Nov 2021 13:54:03 GMT contact [704] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/user.go (modified) Add timeout for downstream connection registration Wed, 17 Nov 2021 12:13:55 GMT contact [703] * trunk/conn.go (modified) * trunk/downstream.go (modified) Introduce conn.NewContext This function wraps a parent context, and ... Wed, 17 Nov 2021 11:38:08 GMT contact [702] * trunk/downstream.go (modified) Lift up context to downstreamConn.handleMessage Wed, 17 Nov 2021 11:33:30 GMT contact [701] * trunk/downstream.go (modified) * trunk/user.go (modified) Add context arg to downstreamConn.welcome() Wed, 17 Nov 2021 11:29:23 GMT contact [700] * trunk/downstream.go (modified) Add context to downstreamConn.handleMessageUnregistered Wed, 17 Nov 2021 11:12:40 GMT contact [699] * trunk/downstream.go (modified) Lower sanityCheckServer timeout to 15s Should still be more than ... Wed, 17 Nov 2021 11:10:56 GMT contact [698] * trunk/downstream.go (modified) Add context arg to sanityCheckServer As a bonus, the timeout now ... Wed, 17 Nov 2021 10:41:11 GMT contact [694] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) Add config option to globally disable multi-upstream mode Closes: ... Wed, 17 Nov 2021 10:22:26 GMT contact [693] * trunk/downstream.go (modified) * trunk/user.go (modified) Set isMultiUpstream flag in downstreamConn.welcome() This will make ... Wed, 17 Nov 2021 10:17:09 GMT contact [692] * trunk/downstream.go (modified) * trunk/user.go (modified) Add downstreamConn.isMultiUpstream Mon, 15 Nov 2021 23:38:04 GMT contact [691] * trunk/cmd/soju/main.go (modified) * trunk/conn.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Allow most config options to be reloaded Closes: ... Mon, 15 Nov 2021 22:53:25 GMT contact [690] * trunk/downstream.go (modified) Don't send user in prefix for echo messages This is not very useful ... Mon, 15 Nov 2021 20:30:04 GMT delthas [688] * trunk/downstream.go (modified) Return an empty CHATHISTORY TARGETS batch when in multi-upstream ... Mon, 15 Nov 2021 16:45:23 GMT delthas [686] * trunk/downstream.go (modified) Send the downstream host for PRIVMSG echo messages If a downstream ... Mon, 15 Nov 2021 13:38:19 GMT delthas [685] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for draft/extended-monitor References: ... Mon, 15 Nov 2021 13:34:04 GMT contact [684] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add support for MONITOR Add support for MONITOR in single-upstream ... Tue, 09 Nov 2021 21:12:46 GMT contact [683] * trunk/downstream.go (modified) Add ELIST support in single-upstream mode We just forward the ... Tue, 09 Nov 2021 21:09:17 GMT contact [682] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add a queue for WHO commands This has the following upsides: - We ... Tue, 09 Nov 2021 20:32:26 GMT contact [681] * trunk/downstream.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Remove support for mixed multi-upstream LIST Multi-upstream ... Mon, 08 Nov 2021 18:40:48 GMT contact [677] * trunk/downstream.go (modified) * trunk/service.go (modified) Add context support to service References: ... Mon, 08 Nov 2021 18:36:10 GMT contact [676] * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/user.go (modified) Add context support to user and network mutations References: ... Mon, 08 Nov 2021 17:11:24 GMT contact [675] * trunk/downstream.go (modified) * trunk/server.go (modified) Plumb context in downstreamConn.handleMessageRegistered References: ... Wed, 03 Nov 2021 21:02:19 GMT contact [672] * trunk/downstream.go (modified) Add plus sign in RPL_UMODEIS reply Wed, 03 Nov 2021 20:42:42 GMT contact [671] * trunk/downstream.go (modified) Set mode +o on admins for bouncer-only connections Wed, 03 Nov 2021 17:29:21 GMT contact [670] * trunk/downstream.go (modified) * trunk/server.go (modified) Turn CHATHISTORY and backlog limits into constants Wed, 03 Nov 2021 17:21:05 GMT contact [667] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) * trunk/server.go (modified) msgstore: add context to messageStore methods This allows setting a ... Wed, 03 Nov 2021 15:37:01 GMT contact [666] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) msgstore: take Network as arg instead of network The message stores ... Wed, 03 Nov 2021 14:17:16 GMT delthas [665] * trunk/downstream.go (modified) * trunk/msgstore.go (modified) * trunk/msgstore_fs.go (modified) * trunk/msgstore_memory.go (modified) Add support for draft/event-playback Tue, 02 Nov 2021 22:33:17 GMT contact [664] * trunk/db.go (modified) * trunk/db_postgres.go (modified) * trunk/db_sqlite.go (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) Make Network.Nick optional Make Network.Nick optional, default to ... Tue, 02 Nov 2021 21:38:07 GMT contact [662] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/server.go (modified) Add title config option Closes: https://todo.sr.ht/~emersion/soju/146 Tue, 02 Nov 2021 17:32:39 GMT contact [661] * trunk/downstream.go (modified) * trunk/irc.go (modified) Mark bouncer users and BouncerServ as authenticated in WHOX/WHOIS Tue, 02 Nov 2021 17:25:43 GMT contact [660] * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/upstream.go (modified) Add support for WHOX This adds support for WHOX, without bothering ... Mon, 01 Nov 2021 17:36:21 GMT contact [659] * trunk/downstream.go (modified) Fix operator flag in RPL_WHOREPLY @ and + indicate channel ... Mon, 01 Nov 2021 17:32:01 GMT contact [658] * trunk/downstream.go (modified) Mark admins as server operators in self WHO/WHOIS replies Mon, 01 Nov 2021 17:28:19 GMT contact [657] * trunk/downstream.go (modified) Mark BouncerServ as server operator That's what some widely used ... Fri, 29 Oct 2021 14:03:04 GMT contact [655] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) Get rid of io.EOF errors in logs Closes: ... Fri, 29 Oct 2021 13:51:13 GMT contact [654] * trunk/downstream.go (modified) Unify BOUNCER ADDNETWORK and CHANGENETWORK Thu, 28 Oct 2021 09:29:34 GMT contact [653] * trunk/downstream.go (modified) Always reply ERR_SASLABORTED on SASL abort Some clients (Hexchat) ... Mon, 18 Oct 2021 17:15:15 GMT contact [652] * trunk/cmd/sojuctl/main.go (modified) * trunk/contrib/znc-import.go (modified) * trunk/db.go (modified) * trunk/db_postgres.go (modified) * trunk/db_sqlite.go (modified) * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/server_test.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add context args to Database interface This is a mecanical change, ... Mon, 18 Oct 2021 07:20:11 GMT contact [651] * trunk/downstream.go (modified) Remove unnecessary downstream cap checks downstreamConn.SendMessage ... Mon, 18 Oct 2021 07:08:52 GMT contact [650] * trunk/downstream.go (modified) Remove incorrect AWAY TODO in downstreamConn.SendMessage ... Sun, 17 Oct 2021 19:54:18 GMT contact [649] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Unify away-notify and account-notify handling Sun, 17 Oct 2021 19:54:18 GMT contact [648] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for account-notify Sat, 16 Oct 2021 09:42:32 GMT contact [647] * trunk/downstream.go (modified) Remove unused REGISTRATION_IS_COMPLETED in handleMessageUnregistered ... Sat, 16 Oct 2021 09:41:37 GMT contact [646] * trunk/downstream.go (modified) Send BOUNCER REGISTRATION_IS_COMPLETED error Thu, 14 Oct 2021 14:03:14 GMT yyp [641] * trunk/downstream.go (modified) downstream: handle name=... in BOUNCER Wed, 13 Oct 2021 08:58:34 GMT contact [636] * trunk/cmd/soju/main.go (modified) * trunk/config/config.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/irc.go (modified) * trunk/server.go (modified) Add bouncer MOTD Closes: https://todo.sr.ht/~emersion/soju/137 Tue, 12 Oct 2021 17:28:44 GMT contact [629] * trunk/downstream.go (modified) Stop sending RPL_CREATED There's no point in sending this numeric ... Tue, 12 Oct 2021 15:36:00 GMT contact [627] * trunk/downstream.go (modified) Fix printf formatting in error message Sun, 10 Oct 2021 10:05:41 GMT hubert [618] * trunk/downstream.go (modified) Correctly send back PRIVMSGs and NOTICEs to self Sun, 10 Oct 2021 10:05:41 GMT hubert [617] * trunk/downstream.go (modified) Send back TAGMSGs to self Sun, 10 Oct 2021 10:05:40 GMT hubert [616] * trunk/downstream.go (modified) Dismiss TAGMSGs directed to BouncerServ Wed, 06 Oct 2021 09:50:12 GMT contact [609] * trunk/downstream.go (modified) Add WHOIS reply for BouncerServ Sun, 19 Sep 2021 14:50:47 GMT hubert [590] * trunk/downstream.go (modified) Allow CAP negotiation to happen with CAP REQ See ... Mon, 13 Sep 2021 09:36:25 GMT contact [586] * trunk/downstream.go (modified) Send empty history for service Fixes error when fetching chat ... Mon, 13 Sep 2021 09:25:38 GMT contact [585] * trunk/downstream.go (modified) Don't require upstream to be connected for CHATHISTORY Closes: ... Mon, 13 Sep 2021 09:14:47 GMT contact [584] * trunk/downstream.go (modified) Split unmarshalEntity into two functions Some command handlers need ... Fri, 09 Jul 2021 20:48:58 GMT contact [580] * trunk/downstream.go (modified) Pass-through CLIENTTAGDENY in ISUPPORT Fri, 25 Jun 2021 18:33:13 GMT contact [568] * trunk/db.go (modified) * trunk/db_sqlite.go (modified) * trunk/doc/soju.1.scd (modified) * trunk/downstream.go (modified) * trunk/service.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Add per-user realname setting This allows users to set a default ... Wed, 23 Jun 2021 17:54:22 GMT contact [565] * trunk/downstream.go (modified) Disallow '$' in nicks Wed, 23 Jun 2021 17:23:09 GMT contact [563] * trunk/downstream.go (modified) * trunk/server.go (modified) * trunk/upstream.go (modified) * trunk/user.go (modified) Allow admins to broadcast message to all bouncer users Typically ... Wed, 23 Jun 2021 16:17:30 GMT contact [562] * trunk/downstream.go (modified) Unify downstream PRIVMSG and NOTICE handling We were doing some ... Tue, 15 Jun 2021 13:48:10 GMT contact [560] * trunk/downstream.go (modified) Add support for utf8-only Mon, 14 Jun 2021 19:44:38 GMT contact [559] * trunk/downstream.go (modified) * trunk/upstream.go (modified) Add support for account-tag Thu, 10 Jun 2021 10:16:33 GMT contact [555] * trunk/downstream.go (modified) Don't suggest users to /motd in multi-upstream mode