664 Commits

Author SHA1 Message Date
contact
70a12fc286 Make Network.Nick optional
Make Network.Nick optional, default to the user's username. This
will allow adding a global setting to set the nickname in the
future, just like we have for the real name.

References: https://todo.sr.ht/~emersion/soju/110

git-svn-id: file:///srv/svn/repo/suika/trunk@664 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-02 22:33:17 +00:00
contact
2e071c0be7 db_sqlite: use TEXT instead of VARCHAR
VARCHAR(n) is pointless in SQLite and is the same as TEXT. Don't
bother with a migration since they're equivalent.

Also remove some unnecessary DEFAULT NULL statements.

git-svn-id: file:///srv/svn/repo/suika/trunk@663 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-02 21:58:50 +00:00
contact
427638fa0d Add title config option
Closes: https://todo.sr.ht/~emersion/soju/146

git-svn-id: file:///srv/svn/repo/suika/trunk@662 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-02 21:38:07 +00:00
contact
622e22593c Mark bouncer users and BouncerServ as authenticated in WHOX/WHOIS
git-svn-id: file:///srv/svn/repo/suika/trunk@661 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-02 17:32:39 +00:00
contact
c5665ceb4a Add support for WHOX
This adds support for WHOX, without bothering about flags and mask2
because Solanum and Ergo [1] don't support it either.

The motivation is to allow clients to reliably query account names.

It's not possible to use WHOX tokens to route replies to the right
client, because RPL_ENDOFWHO doesn't contain it.

[1]: https://github.com/ergochat/ergo/pull/1184

Closes: https://todo.sr.ht/~emersion/soju/135

git-svn-id: file:///srv/svn/repo/suika/trunk@660 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-02 17:25:43 +00:00
contact
956263f0f3 Fix operator flag in RPL_WHOREPLY
@ and + indicate channel privileges. * indicates that the user is
a server operator.

git-svn-id: file:///srv/svn/repo/suika/trunk@659 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-01 17:36:21 +00:00
contact
0b3d82d359 Mark admins as server operators in self WHO/WHOIS replies
git-svn-id: file:///srv/svn/repo/suika/trunk@658 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-01 17:32:01 +00:00
contact
a80cf22771 Mark BouncerServ as server operator
That's what some widely used IRC servers do for their own services
(e.g. NickServ and ChanServ). This adds an additional level of
trust to make sure BouncerServ isn't typo'ed or impersonated.

git-svn-id: file:///srv/svn/repo/suika/trunk@657 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-11-01 17:28:19 +00:00
contact
3169170b8e Fix missing imports in server.go
Oops.

git-svn-id: file:///srv/svn/repo/suika/trunk@656 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-29 14:18:34 +00:00
contact
ba0f309c71 Get rid of io.EOF errors in logs
Closes: https://todo.sr.ht/~emersion/soju/150

git-svn-id: file:///srv/svn/repo/suika/trunk@655 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-29 14:03:04 +00:00
contact
8094bb5252 Unify BOUNCER ADDNETWORK and CHANGENETWORK
git-svn-id: file:///srv/svn/repo/suika/trunk@654 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-29 13:51:13 +00:00
contact
897ad293e6 Always reply ERR_SASLABORTED on SASL abort
Some clients (Hexchat) always expect AUTHENTICATE * to succeed with
ERR_SASLABORTED even if SASL hasn't been started.

git-svn-id: file:///srv/svn/repo/suika/trunk@653 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-28 09:29:34 +00:00
contact
2748715183 Add context args to Database interface
This is a mecanical change, which just lifts up the context.TODO()
calls from inside the DB implementations to the callers.

Future work involves properly wiring up the contexts when it makes
sense.

git-svn-id: file:///srv/svn/repo/suika/trunk@652 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-18 17:15:15 +00:00
contact
9455e04afb Remove unnecessary downstream cap checks
downstreamConn.SendMessage already performs this cap checking.

git-svn-id: file:///srv/svn/repo/suika/trunk@651 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-18 07:20:11 +00:00
contact
2a475dc7fa Remove incorrect AWAY TODO in downstreamConn.SendMessage
PRIVMSG/NOTICE get RPL_AWAY, not AWAY.

git-svn-id: file:///srv/svn/repo/suika/trunk@650 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-18 07:08:52 +00:00
contact
7ed749a0c2 Unify away-notify and account-notify handling
git-svn-id: file:///srv/svn/repo/suika/trunk@649 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-17 19:54:18 +00:00
contact
cbf11ae498 Add support for account-notify
git-svn-id: file:///srv/svn/repo/suika/trunk@648 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-17 19:54:18 +00:00
contact
d98ecb5722 Remove unused REGISTRATION_IS_COMPLETED in handleMessageUnregistered
downstreamConn.handleMessageUnregistered is only called when the
user isn't registered.

git-svn-id: file:///srv/svn/repo/suika/trunk@647 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-16 09:42:32 +00:00
contact
02449246d7 Send BOUNCER REGISTRATION_IS_COMPLETED error
git-svn-id: file:///srv/svn/repo/suika/trunk@646 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-16 09:41:37 +00:00
hubert
753f1704e5 Set hard timeouts on DB transactions
git-svn-id: file:///srv/svn/repo/suika/trunk@645 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-15 20:39:14 +00:00
contact
abc45dc323 msgstore_fs: rename log dir when network is renamed
git-svn-id: file:///srv/svn/repo/suika/trunk@644 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-15 16:11:04 +00:00
contact
b3c38a5719 ci: switch to alpine/latest
We don't need the bleeding edge.

git-svn-id: file:///srv/svn/repo/suika/trunk@643 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-15 07:59:53 +00:00
contact
3b153471b8 msgstore_fs: add reference to ZNC
git-svn-id: file:///srv/svn/repo/suika/trunk@642 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-14 18:51:03 +00:00
yyp
e54608a2cc downstream: handle name=... in BOUNCER
git-svn-id: file:///srv/svn/repo/suika/trunk@641 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-14 14:03:14 +00:00
contact
58dc869a21 db_postgres: remove unnecessary DEFAULT NULL in schema
git-svn-id: file:///srv/svn/repo/suika/trunk@640 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-14 08:09:01 +00:00
contact
1c5ea5026a db_postgres: use tx for all queries in StoreClientDeliveryReceipts
git-svn-id: file:///srv/svn/repo/suika/trunk@639 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 17:15:50 +00:00
contact
090e469fd2 db_postgres: quote table name in StoreClientDeliveryReceipts
git-svn-id: file:///srv/svn/repo/suika/trunk@638 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 15:38:20 +00:00
contact
a4e6f3496b Don't strip spaces at start of MOTD
This breaks ASCII art. Instead, just drop the final newline if any.

git-svn-id: file:///srv/svn/repo/suika/trunk@637 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 10:53:43 +00:00
contact
afd52fc4c3 Add bouncer MOTD
Closes: https://todo.sr.ht/~emersion/soju/137

git-svn-id: file:///srv/svn/repo/suika/trunk@636 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 08:58:34 +00:00
contact
75cc0231be db_postgres: fix constraints errors
Stop using ON CONFLICT DO UPDATE.

Closes: https://todo.sr.ht/~emersion/soju/138

git-svn-id: file:///srv/svn/repo/suika/trunk@635 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 08:12:14 +00:00
hubert
3a20033cc7 db_postgres: handle both constraints on network updates
Closes: https://todo.sr.ht/~emersion/soju/138

git-svn-id: file:///srv/svn/repo/suika/trunk@634 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-13 06:53:49 +00:00
contact
dcba21c7e5 contrib/clients: update IRCv3 caps for Weechat 3.3
git-svn-id: file:///srv/svn/repo/suika/trunk@633 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 19:49:06 +00:00
contact
66229dd5e8 doc.soju.1: fix typo and improve formatting for "certfp generate"
git-svn-id: file:///srv/svn/repo/suika/trunk@632 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 19:34:25 +00:00
contact
7cce9c4a31 doc/soju.1: add descriptions for all flags for "user create"
git-svn-id: file:///srv/svn/repo/suika/trunk@631 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 19:31:12 +00:00
contact
18b7972e80 doc/soju.1: use angle-brackets for URL
Helps a bit terminal emulators to recognize the link.

git-svn-id: file:///srv/svn/repo/suika/trunk@630 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 19:27:48 +00:00
contact
9d5456fb96 Stop sending RPL_CREATED
There's no point in sending this numeric if it doesn't contain any
useful info.

git-svn-id: file:///srv/svn/repo/suika/trunk@629 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 17:28:44 +00:00
contact
75c7442d34 msgstore_fs: fix ListTargets error on missing log dir
Initially, before connecting to the network, the log dir will be
empty. Return an empty list of chat history targets in this case.

git-svn-id: file:///srv/svn/repo/suika/trunk@628 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 15:36:00 +00:00
contact
627f9f74a7 Fix printf formatting in error message
git-svn-id: file:///srv/svn/repo/suika/trunk@627 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 15:36:00 +00:00
contact
bf890cb13a Upgrade dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@626 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 14:54:51 +00:00
contact
c0502705d1 service: allow updating other users
git-svn-id: file:///srv/svn/repo/suika/trunk@625 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-12 07:11:14 +00:00
contact
2de938c585 ci: run PostgreSQL tests
git-svn-id: file:///srv/svn/repo/suika/trunk@624 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 14:06:37 +00:00
contact
c5006e45a7 Fix unused imports in tests
git-svn-id: file:///srv/svn/repo/suika/trunk@623 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 14:01:50 +00:00
contact
76d67ceb78 Run server test with PostgreSQL too
git-svn-id: file:///srv/svn/repo/suika/trunk@622 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 13:57:37 +00:00
contact
d7c72036a1 db_postgres: add migration test
git-svn-id: file:///srv/svn/repo/suika/trunk@621 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 13:55:07 +00:00
hubert
bbe15df672 PostgreSQL support
git-svn-id: file:///srv/svn/repo/suika/trunk@620 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 13:21:04 +00:00
contact
7e56d2149b db_sqlite: add migration test
git-svn-id: file:///srv/svn/repo/suika/trunk@619 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-11 10:26:51 +00:00
hubert
75c35762b2 Correctly send back PRIVMSGs and NOTICEs to self
git-svn-id: file:///srv/svn/repo/suika/trunk@618 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-10 10:05:41 +00:00
hubert
51c6ddf269 Send back TAGMSGs to self
git-svn-id: file:///srv/svn/repo/suika/trunk@617 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-10 10:05:41 +00:00
hubert
83f092720a Dismiss TAGMSGs directed to BouncerServ
git-svn-id: file:///srv/svn/repo/suika/trunk@616 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-10 10:05:40 +00:00
contact
1004b91f55 Add "server notice" command
git-svn-id: file:///srv/svn/repo/suika/trunk@615 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-10-08 08:52:03 +00:00