- Don't print the raw IRC message, since we already show the original
error message
- Avoid double-printing "registration failed"
git-svn-id: file:///srv/svn/repo/suika/trunk@399 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Allow up to 10 outgoing messages in a burst, then throttle to 1 message
each 2 seconds.
Closes: https://todo.sr.ht/~emersion/soju/87
git-svn-id: file:///srv/svn/repo/suika/trunk@398 f0ae65fe-ee39-954e-97ec-027ff2717ef4
The time tag was causing the registration error messages to be
continuously sent to downstream connections.
git-svn-id: file:///srv/svn/repo/suika/trunk@396 f0ae65fe-ee39-954e-97ec-027ff2717ef4
base64 strings may contain characters rejected by ident clients such
as "+". Use hex encoding and shorten the string a little.
git-svn-id: file:///srv/svn/repo/suika/trunk@395 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Forgot to check in this file.
Fixes: 65302d3c1e8e ("Add an ident server")
git-svn-id: file:///srv/svn/repo/suika/trunk@388 f0ae65fe-ee39-954e-97ec-027ff2717ef4
These will get re-used for sending history to clients that don't support
the chathistory extension.
git-svn-id: file:///srv/svn/repo/suika/trunk@387 f0ae65fe-ee39-954e-97ec-027ff2717ef4
For now it's just a new field that'll be useful to generate user ident
strings. It uses the SQLite implicit rowid column. In the future the DB
interface will need to be updated to use user IDs instead of usernames.
git-svn-id: file:///srv/svn/repo/suika/trunk@382 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This defers TLS handshake until the first read or write operation. This
allows the upcoming identd server to register the connection before the
TLS handshake is complete, and is necessary because some IRC servers
send an ident request before that.
git-svn-id: file:///srv/svn/repo/suika/trunk@381 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This makes sure we don't overwrite other fields, such as Admin.
Closes: https://todo.sr.ht/~emersion/soju/85
git-svn-id: file:///srv/svn/repo/suika/trunk@380 f0ae65fe-ee39-954e-97ec-027ff2717ef4
Let's be on the safe side and assume the user doesn't meant the union of
all directive values.
git-svn-id: file:///srv/svn/repo/suika/trunk@371 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This allows to set the list of IPs allowed to act as a proxy. This is
only used for WebSockets right now, but will be expanded to TCP as well
once the PROXY protocol is supported.
git-svn-id: file:///srv/svn/repo/suika/trunk@370 f0ae65fe-ee39-954e-97ec-027ff2717ef4
When Unix socket support will be added for listeners, unix:// will be
ambiguous. It won't be clear whether to setup an IRC server, or some
other kind of server (e.g. identd).
unix:// is still recognized to avoid breaking existing DBs.
git-svn-id: file:///srv/svn/repo/suika/trunk@369 f0ae65fe-ee39-954e-97ec-027ff2717ef4
This method was calling itself, instead of the underlying SQLite
database's Close method.
git-svn-id: file:///srv/svn/repo/suika/trunk@356 f0ae65fe-ee39-954e-97ec-027ff2717ef4
In case labelled-response isn't supported, broadcast unhandled messages
to all downstream connections. That's better than silently dropping the
messages.
git-svn-id: file:///srv/svn/repo/suika/trunk@355 f0ae65fe-ee39-954e-97ec-027ff2717ef4