contact
63f9c8a3cf
Forward NOTICE messages coming from upstream connections
...
git-svn-id: file:///srv/svn/repo/suika/trunk@97 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 15:39:49 +00:00
contact
68661c503a
Update dependencies
...
go-irc v3.1.1 contains a breaking change.
References: https://github.com/go-irc/irc/issues/76
git-svn-id: file:///srv/svn/repo/suika/trunk@96 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 15:18:53 +00:00
contact
68b7b4461c
Add support for SASL authentication
...
We now store SASL credentials in the database and automatically populate
them on NickServ REGISTER/IDENTIFY.
References: https://todo.sr.ht/~emersion/jounce/10
git-svn-id: file:///srv/svn/repo/suika/trunk@95 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 14:12:44 +00:00
contact
fb60233780
Add support for upstream PASS command
...
git-svn-id: file:///srv/svn/repo/suika/trunk@93 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 11:06:02 +00:00
contact
07c41b00eb
Add upstream CAP LS support
...
git-svn-id: file:///srv/svn/repo/suika/trunk@92 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 10:26:43 +00:00
contact
ff387f021a
Pass-through QUIT messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@83 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-06 17:51:11 +00:00
contact
1037541a30
Pass-through NICK messages for other users
...
git-svn-id: file:///srv/svn/repo/suika/trunk@82 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-06 17:43:56 +00:00
contact
c75d825938
go fmt
...
git-svn-id: file:///srv/svn/repo/suika/trunk@79 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 18:23:24 +00:00
contact
18c962e5c0
Add SQLite database
...
Closes: https://todo.sr.ht/~emersion/jounce/9
git-svn-id: file:///srv/svn/repo/suika/trunk@77 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 17:22:58 +00:00
contact
89c458b92c
Fix TOPIC parsing, broadcast to downstream clients
...
git-svn-id: file:///srv/svn/repo/suika/trunk@74 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 14:45:14 +00:00
contact
47ec2ff976
Allow clients to specify an upstream name in their username
...
git-svn-id: file:///srv/svn/repo/suika/trunk@73 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 14:44:13 +00:00
contact
7c488409a2
Remove upstream prefix for outgoing MODE and PRIVMSG
...
We shouldn't set the prefix when sending these commands.
git-svn-id: file:///srv/svn/repo/suika/trunk@72 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-03 14:33:21 +00:00
contact
c52d54edc7
Add functions to translate between upstream and downstream names
...
git-svn-id: file:///srv/svn/repo/suika/trunk@69 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-19 17:25:19 +00:00
contact
81ffb3748b
Fix PING handlers, again
...
git-svn-id: file:///srv/svn/repo/suika/trunk@68 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-18 19:40:32 +00:00
contact
9edf0cde7e
Enable TCP keep-alive on all connections
...
git-svn-id: file:///srv/svn/repo/suika/trunk@67 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-18 16:26:17 +00:00
contact
e6fad26ac1
Properly handle PING messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@66 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-18 16:07:58 +00:00
contact
d9e356a580
Add a -debug flag
...
git-svn-id: file:///srv/svn/repo/suika/trunk@64 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-18 15:31:18 +00:00
contact
2efaeb272a
Add upstreamConn.SendMessage
...
Allows us to change upstreamConn implementation details without updating
the whole codebase.
git-svn-id: file:///srv/svn/repo/suika/trunk@60 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 15:17:31 +00:00
contact
c326b2708f
Fix issues related to Ring
...
- RingConsumer is now used directly in the goroutine responsible for
writing downstream messages. This allows the ring buffer not to be
consumed on write error.
- RingConsumer now has a channel attached. This allows PRIVMSG messages
to always use RingConsumer, instead of also directly pushing messages
to all downstream connections.
- Multiple clients with the same history name are now supported.
- Ring is now protected by a mutex
git-svn-id: file:///srv/svn/repo/suika/trunk@57 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 14:46:29 +00:00
contact
6c9fb7125b
Abbreviate {upstream,downstream}Conn with uc and dc
...
This makes it clearer than just `c` when we manipulate both kinds at the
same time.
git-svn-id: file:///srv/svn/repo/suika/trunk@55 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 11:36:42 +00:00
contact
b6dfb5b24a
Don't write to downstreamConn.messages directly
...
Use a helper function instead. This will allow us to change
downstreamConn implementation details without having to update the whole
codebase.
git-svn-id: file:///srv/svn/repo/suika/trunk@54 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 11:27:48 +00:00
contact
64dcb3b383
Add an in-memory ring buffer
...
References: https://todo.sr.ht/~emersion/jounce/2
git-svn-id: file:///srv/svn/repo/suika/trunk@50 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 15:43:54 +00:00
contact
41b2a11935
Handle downstream MODE messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@46 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 12:08:27 +00:00
contact
a9bec2045a
Close connection from writer goroutine
...
Connections were being closed from the reader goroutine, causing issues
when sending messages and immediately closing the connection.
git-svn-id: file:///srv/svn/repo/suika/trunk@45 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 11:42:24 +00:00
contact
6f89a1e0f5
Add upstreamConn.register
...
git-svn-id: file:///srv/svn/repo/suika/trunk@44 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 11:37:44 +00:00
contact
16dd0965fb
Add parseMessageParams helper
...
git-svn-id: file:///srv/svn/repo/suika/trunk@43 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 11:36:02 +00:00
contact
fd5b120726
Allow changing nickname
...
git-svn-id: file:///srv/svn/repo/suika/trunk@42 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 11:19:42 +00:00
contact
17d85a3a9e
Add user.forEachDownstream
...
git-svn-id: file:///srv/svn/repo/suika/trunk@40 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:56:36 +00:00
contact
08c05383eb
Per-user connections
...
git-svn-id: file:///srv/svn/repo/suika/trunk@37 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:36:42 +00:00
contact
7fb28b65f8
Forward PRIVMSG messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@36 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:07:01 +00:00
contact
e0e69d10b7
Handle channel mode changes
...
git-svn-id: file:///srv/svn/repo/suika/trunk@35 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:01:53 +00:00
contact
5c2f2af4ac
Handle third-party JOIN and PART messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@34 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 09:54:03 +00:00
contact
f12f2137b1
Use a dedicated goroutine to write upstream messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@33 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 21:46:46 +00:00
contact
4f2a8d542a
Forward channel information
...
git-svn-id: file:///srv/svn/repo/suika/trunk@27 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 21:19:31 +00:00
contact
8fecd67730
Mark channel info as complete on RPL_ENDOFNAMES
...
git-svn-id: file:///srv/svn/repo/suika/trunk@25 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 20:43:22 +00:00
contact
fb1c5c5d02
Allow Server to have access to upstreamConn
...
git-svn-id: file:///srv/svn/repo/suika/trunk@23 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 20:20:22 +00:00
contact
762ec87595
Add per-upstream logger
...
git-svn-id: file:///srv/svn/repo/suika/trunk@21 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 19:26:03 +00:00
contact
6b28c42796
Split IRC helpers to separate file
...
git-svn-id: file:///srv/svn/repo/suika/trunk@20 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 18:24:32 +00:00
contact
1ce61f3942
Join channels on upstream servers
...
git-svn-id: file:///srv/svn/repo/suika/trunk@19 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 18:22:04 +00:00
contact
7a654da242
Handle NOTICE from upstream servers
...
git-svn-id: file:///srv/svn/repo/suika/trunk@18 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 17:10:13 +00:00
contact
6f73e3bdf9
Handle MODE messages from upstream servers
...
git-svn-id: file:///srv/svn/repo/suika/trunk@17 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 17:07:35 +00:00
contact
d360f10590
Handle upstream RPL_MYINFO messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@16 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 16:04:49 +00:00
contact
5d8a9e5f21
Ignore some upstream messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@14 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 15:39:09 +00:00
contact
d1ab250d9d
Split downstram and upstream code into separate files
...
git-svn-id: file:///srv/svn/repo/suika/trunk@13 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 15:18:19 +00:00