We don't want to have the label tag when calling uc.produce, otherwise
downstream will end up with junk labels.
git-svn-id: file:///srv/svn/repo/suika/trunk@526 f0ae65fe-ee39-954e-97ec-027ff2717ef4
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.
git-svn-id: file:///srv/svn/repo/suika/trunk@520 f0ae65fe-ee39-954e-97ec-027ff2717ef4
The NICK must only apply to the specific network, not to the downstream
connection.
git-svn-id: file:///srv/svn/repo/suika/trunk@512 f0ae65fe-ee39-954e-97ec-027ff2717ef4
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.
git-svn-id: file:///srv/svn/repo/suika/trunk@510 f0ae65fe-ee39-954e-97ec-027ff2717ef4
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
git-svn-id: file:///srv/svn/repo/suika/trunk@509 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Prior to this, we deleted the user issuing the deletion rather than the
user which should've been deleted.
git-svn-id: file:///srv/svn/repo/suika/trunk@508 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Rename the "sql" directive to "db". Rename the "log" directive to
"log fs".
In the future, we'll maybe support more databases and more message
stores. Make it so it's easy to integrate these new festures to the
config file format.
git-svn-id: file:///srv/svn/repo/suika/trunk@507 f0ae65fe-ee39-954e-97ec-027ff2717ef4
- Do not relay TAGMSG as notices,
- Do not reattach when a TAGMSG is received,
- Do not reset the detach timer when a TAGMSG is received.
git-svn-id: file:///srv/svn/repo/suika/trunk@505 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Instead of ignoring detached channels wehn replaying backlog,
process them as usual and relay messages as BouncerServ NOTICEs
if necessary. Advance the delivery receipts as if the channel was
attached.
Closes: https://todo.sr.ht/~emersion/soju/98
git-svn-id: file:///srv/svn/repo/suika/trunk@499 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Fixes a panic in partialCasemap when the input string was invalid UTF-8.
git-svn-id: file:///srv/svn/repo/suika/trunk@492 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This avoids loosing history on restart for clients that don't
support chathistory.
Closes: https://todo.sr.ht/~emersion/soju/80
git-svn-id: file:///srv/svn/repo/suika/trunk@489 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This allows to have shorter and more future-proof IDs. This also
guarantees the IDs will only use reasonable ASCII characters (no
spaces), removing the need to encode them for PING/PONG tokens.
git-svn-id: file:///srv/svn/repo/suika/trunk@488 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This doesn't contain anything other than just the names. Make this
clearer.
git-svn-id: file:///srv/svn/repo/suika/trunk@487 f0ae65fe-ee39-954e-97ec-027ff2717ef4
messageStore isn't aware of the network's case-mapping. We need
to canonicalize the names before passing them to messageStore.
git-svn-id: file:///srv/svn/repo/suika/trunk@484 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Previous soju versions were storing log without converting the channel
and nick names to their canonical lower-case representation. This could
result in two log directories for the same channel/nick.
This script fixes old log dirs.
git-svn-id: file:///srv/svn/repo/suika/trunk@481 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Adds more semantics to map[string]string. Simplifies the complicated
mapStringStringCasemapMap type.
git-svn-id: file:///srv/svn/repo/suika/trunk@480 f0ae65fe-ee39-954e-97ec-027ff2717ef4