Gregory Anders
cacbd48949
Slightly relax new log file permissions
...
Make new log files group-readable by default. To retain the prior
behavior, soju can be started with a umask set to 0077.
2021-06-14 17:58:36 +02:00
Simon Ser
387338e499
contrib/clients: add reference to Weechat script
2021-06-12 14:48:32 +02:00
Simon Ser
520ed76adf
doc/soju.1: explain http-origin defaults
2021-06-11 10:26:22 +02:00
Simon Ser
0557ca5871
Don't suggest users to /motd in multi-upstream mode
2021-06-10 12:16:33 +02:00
Simon Ser
2b3782a507
Make user MODE commands fail in multi-upstream mode
...
References: https://todo.sr.ht/~emersion/soju/20
2021-06-10 11:24:10 +02:00
Gregory Anders
0e9ef1f97c
Forward user mode changes in single-upstream mode
...
References: https://todo.sr.ht/~emersion/soju/20
2021-06-10 11:17:00 +02:00
Gregory Anders
2fe0a57e43
Forward MOTD messages downstream
...
The first MOTD upon connection is ignored, but subsequent MOTD messages
(requested by the "MOTD" message from the client, typically using a
/motd command) are forwarded.
2021-06-09 21:29:36 +02:00
Simon Ser
0081c96ec0
Add downstreamConn.SendBatch helper
2021-06-05 12:38:52 +02:00
Simon Ser
bd41e3bd2b
Prune detached channels from CHATHISTORY TARGETS
2021-06-04 11:27:59 +02:00
Simon Ser
18439f0de5
Implement CHATHISTORY TARGETS
...
References: https://github.com/ircv3/ircv3-specifications/pull/450
2021-06-02 20:32:11 +02:00
Simon Ser
95ae92860f
doc/ext/bouncer-networks: fix typo
2021-05-29 13:18:06 +02:00
Simon Ser
0f3dd2f2b1
Forward unknown commands to upstream in single-upstream mode
2021-05-28 11:15:15 +02:00
Simon Ser
b0b913293e
Send placeholder when no network/channel is returned by BouncerServ
2021-05-26 11:27:59 +02:00
Simon Ser
517be78868
Reject JOIN with invalid channel names
...
This prevents us from storing typo'ed channel names in the DB.
2021-05-26 11:23:09 +02:00
Simon Ser
4b6a529b69
Fix typo in BOUNCER notifications: s/status/state/
2021-05-26 11:08:10 +02:00
Simon Ser
b0349caada
Broadcast BOUNCER notifications to all downstream connections
...
We weren't sending them to downstreams which weren't bound to a
network.
2021-05-26 11:04:33 +02:00
Simon Ser
7d648f702e
Allow networks to be disabled
2021-05-26 10:51:02 +02:00
Simon Ser
d9a40addf7
doc/getting-started: s/Freenode/Libera Chat/
2021-05-26 08:39:06 +02:00
Simon Ser
47c514a9cf
Add support for IRCv3 setname
...
References: https://todo.sr.ht/~emersion/soju/41
2021-05-25 20:24:45 +02:00
Simon Ser
1b43b05588
Add channel status service command
2021-05-25 19:22:22 +02:00
Simon Ser
2d4b686af6
contrib/clients: add note about bouncer-networks
2021-05-25 18:54:16 +02:00
Simon Ser
4cf9804e89
Vendor BATCH bouncer-networks type
...
And add the prefix throughout the spec, to make it clear the unprefixed
version is not to be used.
2021-05-25 16:56:38 +02:00
Simon Ser
f37a47cc4e
Don't send connection status NOTICEs with bouncer-networks
2021-05-25 16:42:51 +02:00
Simon Ser
31f2d28508
Introduce the soju.im/bouncer-networks-notify capability
2021-05-25 16:42:51 +02:00
Simon Ser
29ad541ac7
Send network settings in LISTNETWORKS
2021-05-25 16:42:51 +02:00
Simon Ser
60c566e721
Add pass to bouncer network attributes
2021-05-25 16:42:51 +02:00
Simon Ser
db0f745193
Implement the soju.im/bouncer-networks extension
2021-05-25 16:42:51 +02:00
Drew DeVault
61b68d6dfb
db: refactor into interface
...
This refactors the SQLite-specific bits into db_sqlite.go. A future
patch will add PostgreSQL support.
2021-05-25 16:35:39 +02:00
Hubert Hirtz
647fb9ed9e
Don't build soju when calling "make install"
...
Otherwise soju would be rebuilt as the user who runs "make install"
(typically root).
2021-05-25 16:31:06 +02:00
Philip K
b3bc9614f8
Directly return self-messages to user in multi-upstream mode
2021-05-24 13:31:24 +02:00
Simon Ser
68463d3e8b
Pass-through the BOT ISUPPORT token
...
References: https://github.com/ircv3/ircv3-specifications/pull/439
2021-05-24 11:41:04 +02:00
Simon Ser
314da0ab3e
readme: link to rendered man page
2021-05-23 21:41:01 +02:00
Hubert Hirtz
03288d16f1
Don't forward label tags
...
We don't want to have the label tag when calling uc.produce, otherwise
downstream will end up with junk labels.
2021-05-23 12:32:27 +02:00
Simon Ser
697bdd32dd
doc/soju.1: document user delete command
2021-05-22 10:44:36 +02:00
Simon Ser
95b9493310
doc/soju.1: document -connect-command
2021-05-22 10:40:36 +02:00
Simon Ser
bbc51c00be
readme: add link to IRC channel
2021-05-22 00:04:22 +02:00
Simon Ser
53e876eba5
readme: move quickstart to dedicated doc page
2021-05-22 00:01:06 +02:00
Hubert Hirtz
3b41c87a41
Fix CAP LIST listing disabled capabilities
2021-05-21 10:03:39 +02:00
Simon Ser
ec26117c08
Relay self-WHO/WHOIS in single-upstream mode
...
In multi-upstream mode, we can't relay WHO/WHOIS messages for the
current user, because we can't decide which upstream server the
message should be relayed to.
In single-upstream server, we do know which upstream server to use,
so we can just blindly relay the message.
This allows users to send a self-WHO/WHOIS to check their cloak and
other information.
2021-05-20 11:13:14 +02:00
Simon Ser
c8a54235d0
Silence net.ErrClosed errors
2021-05-20 00:07:44 +02:00
Simon Ser
7e6ce23dac
contrib/clients: add gamja and senpai
2021-05-19 16:42:03 +02:00
Simon Ser
f6875521ea
Check message stores implement expected interfaces
2021-05-18 14:19:34 +02:00
Hubert Hirtz
b078ccaf7a
Implement CHATHISTORY BETWEEN
2021-05-18 10:44:10 +02:00
Simon Ser
bede274f32
Add more context to chathistory errors
2021-05-11 12:42:12 +02:00
Alexey Yerin
463e234ebc
contrib/weechat: fix typo
2021-05-04 00:06:02 +02:00
Simon Ser
ecf5b40d65
contrib/weechat: explain how to enable IRCv3 features
2021-05-01 18:52:28 +02:00
Hubert Hirtz
9e04b3899b
Don't directly reply to network-specific NICK
...
The NICK must only apply to the specific network, not to the downstream
connection.
2021-04-30 12:17:23 +02:00
Hubert Hirtz
e84fad3eda
Handle casemapping on BouncerServ
2021-04-30 12:10:49 +02:00
Alexey Yerin
bc74478f80
Makefile: mark soju and sojuctl as .PHONY
...
Otherwise running `make` didn't do anything on a non-clean state. Go
deals with changed files automatically, and there's no real need to
explicitly specify them.
2021-04-27 19:06:16 +02:00
Alexey Yerin
cc83da4cd1
db: match placeholders with columns
...
Soju inserts 9 columns but only with 8 placeholders. This causes
channels not being saved properly and also logging errors like this:
downstream ...: failed to create or update channel ...: 8 values for 9 columns
2021-04-27 09:22:44 +02:00