824 Commits

Author SHA1 Message Date
yakumo.izuru
5a31c05f71 Remove spurious part from the docs
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@824 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-09-15 04:24:25 +00:00
yakumo.izuru
03bc2f38fa Use asciidoctor for generating manpages.
Rename suikactl to suikadb.

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@823 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-09-15 04:20:11 +00:00
yakumo.izuru
154d055f9f Prefer immortal.run over runit and rc.d, use vendored modules
for convenience.

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@822 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-08-20 14:36:11 +00:00
yakumo.izuru
30c1d14e36 Move runit script to rc.d, remove duplicate service unit
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@821 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-06-10 03:03:05 +00:00
yakumo.izuru
c97f69143e Allow the configuration directory to be elsewhere, add
system startup scripts

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@820 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-06-10 02:48:43 +00:00
yakumo.izuru
cd3885aa94 Same logic as c5fa22a71d but in reverse
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@819 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-05-19 19:45:14 +00:00
yakumo.izuru
afc3fa4d08 Do some tidying
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@818 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-05-05 00:50:19 +00:00
yakumo.izuru
8ebdc7f3ad See you in Hell, scdoc!
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@817 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-05-02 23:49:50 +00:00
yakumo.izuru
60ccab91fa Attempt to reduce executable sizes further
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@816 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-04-28 23:23:45 +00:00
yakumo.izuru
d916bab2bc Support existing Postgres database schemas (if switching from SQLite)
and other minor changes.

Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@815 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-04-28 22:23:47 +00:00
koizumi.aoi
3fa92e48c2 Enable cross-compilation via the usual GOARCH/GOOS pair for use with make, also enable static builds
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@814 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-23 22:05:09 +00:00
koizumi.aoi
d7acf334ba feat: replace mattn/go-sqlite3 with modernc.org/sqlite - this also means CGo is not needed anymore
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@813 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-23 19:27:39 +00:00
koizumi.aoi
dd8ef5d055 Update README
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@812 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 19:06:45 +00:00
koizumi.aoi
b036d213b6 Add package description for godoc
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@811 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 19:02:34 +00:00
koizumi.aoi
12cdd1e7d7 Add a 'version' subcommand to suikactl, show version on suika daemon
startup.

Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@810 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 12:17:57 +00:00
koizumi.aoi
526d067cc2 Use internal versioning
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@809 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 11:47:03 +00:00
koizumi.aoi
b4caef0619 Update go.mod
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@808 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-22 01:16:21 +00:00
koizumi.aoi
d7b01232aa Use vanity module path
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@807 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 23:43:07 +00:00
koizumi.aoi
5eacad857b Removed build.sr.ht stuff, update Makefile
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@806 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 11:06:12 +00:00
koizumi.aoi
4b9cedf938 You know the drill
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@805 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 04:54:42 +00:00
koizumi.aoi
90d97ebe18 Drunk as I like
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@804 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 04:45:19 +00:00
koizumi.aoi
a7c29f5711 Add runit and systemd unit files
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@803 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 03:16:08 +00:00
koizumi.aoi
238b1999c1 Update references
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@802 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 03:06:55 +00:00
koizumi.aoi
71fc998251 Rename to suika
Signed-off-by: Aoi K <koizumi.aoi@chaotic.ninja>

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@801 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 03:00:04 +00:00
koizumi.aoi
741ab64dc3 dev: move contrib/znc-import.go to cmd/soju-znc-import
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@800 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 02:29:26 +00:00
koizumi.aoi
441b3b5d2d Add -v to $GOFLAGS. Scratch the original module URI with another one.
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@799 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 02:20:07 +00:00
koizumi.aoi
bc26f08775 dev: move import uris to this repository
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@798 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2023-03-21 01:50:04 +00:00
contact
fc89fe0f4d contrib/clients: add goguma
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@797 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-05 22:35:17 +00:00
contact
589db05e63 contrib/clients: warn about catgirl
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@796 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-05 22:35:17 +00:00
contact
a98f0cb6f9 doc/ext: add README
All authors have acknowledged the dual license.

The second license is the same as the one used by the IRCv3 working
group.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@795 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-04 09:36:41 +00:00
contact
f952d4ca09 downstream: disallow '.' in nicknames
See [1] and [2].

[1]: https://github.com/ircdocs/modern-irc/pull/148
[2]: eff6dd242b/irc/strings.go (L29)

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@794 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 09:54:21 +00:00
contact
86a45a72bf downstream: re-format illegalNickChars doc comment
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@793 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 09:53:33 +00:00
contact
6ba69ed9fe downstream: fix network name msimatch check being too strict
The network name can be set via BOUNCER BIND. In that case we
don't want to error out when fallbackNetworkName == "".

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@792 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 08:08:51 +00:00
contact
0b277a77e6 Upgrade dependencies
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@791 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 08:00:36 +00:00
contact
49c862ce95 downstream: fail on client or network name mismatch
This probably indicates a mis-configuration.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@790 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 07:50:37 +00:00
contact
04d2579cf8 downstream: be less strict when picking up client name
Allow e.g. the SASL username to contain "username/network" and the
raw username to contain "username@client", for instance.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@789 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 07:35:34 +00:00
contact
7aefac7901 downstream: panic when registering twice
This would be a soju bug.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@788 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-03-03 07:33:10 +00:00
contact
fb0f931644 msgstore_fs: fix direct message targets
When fetching messages via draft/chathistory from a conversation
with another user, soju would send the following:

    :sender PRIVMSG sender :hey

instead of

    :sender PRIVMSG recipient :hey

because the file-system message store format doesn't contain the
original PRIVMSG target.

Fix this by doing some guesswork.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@787 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-25 20:05:10 +00:00
contact
0ed23b1c58 irc: simplify isHighlight
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@786 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-25 10:32:09 +00:00
contact
33c34e7463 irc: add isHighlight tests
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@785 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-25 10:31:41 +00:00
contact
ea3ac7c8d4 Introduce formatServerTime
It's too easy to forget to convert to UTC.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@784 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-16 13:45:09 +00:00
contact
034b81e4ae Ignore READ commands for service
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@783 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-12 18:07:30 +00:00
contact
6a2cb960f1 doc: move read spec to ext/
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@782 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-11 18:49:21 +00:00
delthas
2f6303ecc2 Add support for the wip soju.im/read capability and READ command
READ lets downstream clients share information between each other about
what messages have been read by other downstreams.

Each target/entity has an optional corresponding read receipt, which is
stored as a timestamp.

- When a downstream sends:
  READ #chan timestamp=2020-01-01T01:23:45.000Z
  the read receipt for that target is set to that date
- soju sends READ to downstreams:
  - on JOIN, if the client uses the soju.im/read capability
  - when the read receipt timestamp is set by any downstream

The read receipt date is clamped by the previous receipt date and the
current time.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@781 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-11 18:41:46 +00:00
delthas
ef34c4c211 Fix echo-message for TAGMSG
A previous fix (d4b7bb02da1c) only fixed sending echo-message for
TAGMSG to self. We also need to send echo-message for TAGMSG to
other targets.

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

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@780 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-09 15:58:54 +00:00
contact
e9686fd960 Fix flags variable name in RPL_WHOREPLY handler
This param doesn't contain modes, it contains user flags (such as
H/G for away status).

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@779 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-09 14:20:32 +00:00
contact
e431b98f61 Refactor generateWHOXReply
Isolate the field letter -> value logic into a separate function.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@778 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-09 14:16:54 +00:00
contact
727c8acd04 Add context to upstreamConn.register
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@777 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-08 15:38:34 +00:00
contact
03383ab5ea Add context to upstreamConn.runUntilRegistered
git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@776 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-08 15:37:31 +00:00
contact
b0bf498093 makefile: switch to BSD/GNU make
Let's stop using POSIX make, it's too much of a pain.

git-svn-id: https://svn.yakumo.dev/yakumo.izuru/suika/trunk@775 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2022-02-08 15:10:19 +00:00