contact
164a26f6b8
Allow CAP command when registered
...
git-svn-id: file:///srv/svn/repo/suika/trunk@111 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 14:12:46 +00:00
contact
6d755b782f
Log downstream messages before registration
...
git-svn-id: file:///srv/svn/repo/suika/trunk@110 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 14:10:16 +00:00
contact
de72ae8f31
Protect upstreamConn.history with a lock
...
git-svn-id: file:///srv/svn/repo/suika/trunk@109 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 14:08:56 +00:00
contact
65f45675ec
Add CAP support for downstream connections
...
git-svn-id: file:///srv/svn/repo/suika/trunk@108 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 14:05:24 +00:00
contact
b013602e14
Don't reply to PING when client is unregistered
...
git-svn-id: file:///srv/svn/repo/suika/trunk@107 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 13:32:38 +00:00
contact
656f73b959
Make downstreamConn.runUntilegistered exit with an error on EOF
...
git-svn-id: file:///srv/svn/repo/suika/trunk@106 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 13:30:49 +00:00
contact
7515b2a1da
Echo downstream PRIVMSGs to other downstream connections
...
git-svn-id: file:///srv/svn/repo/suika/trunk@105 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 13:28:45 +00:00
contact
4c1c98048c
Rename consumption to ringMessage
...
git-svn-id: file:///srv/svn/repo/suika/trunk@104 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 13:05:48 +00:00
contact
55f987eb29
Per-user dispatcher goroutine
...
This allows message handlers to read upstream/downstream connection
information without causing any race condition.
References: https://todo.sr.ht/~emersion/soju/1
git-svn-id: file:///srv/svn/repo/suika/trunk@103 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 11:44:59 +00:00
contact
137eef6768
Rename messages channels to outgoing
...
git-svn-id: file:///srv/svn/repo/suika/trunk@102 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 10:26:54 +00:00
contact
80d5aefb7b
Strip client & network name from username
...
git-svn-id: file:///srv/svn/repo/suika/trunk@100 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 08:32:18 +00:00
contact
1a9d6a58a0
Rename project to soju
...
git-svn-id: file:///srv/svn/repo/suika/trunk@98 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 17:13:03 +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
ad42226219
Auto-save IRC networks
...
git-svn-id: file:///srv/svn/repo/suika/trunk@91 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 20:28:09 +00:00
contact
9eb7349674
Store NICK changes in the DB
...
git-svn-id: file:///srv/svn/repo/suika/trunk@90 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 18:17:06 +00:00
contact
9eee83f69d
Update DB on JOIN and PART
...
git-svn-id: file:///srv/svn/repo/suika/trunk@89 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 17:33:03 +00:00
contact
63645c26ca
Fix nil dereference when network is specified in username
...
git-svn-id: file:///srv/svn/repo/suika/trunk@88 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 17:21:41 +00:00
contact
ebad23e080
Add support for PASS to downstream
...
git-svn-id: file:///srv/svn/repo/suika/trunk@85 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-11 18:09:32 +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
b8a8be5d01
Rename network to upstreamName
...
git-svn-id: file:///srv/svn/repo/suika/trunk@76 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 15:02:45 +00:00
contact
1d0f4c3577
Remove unused user.getChannel, move getUpstream to user
...
git-svn-id: file:///srv/svn/repo/suika/trunk@75 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 15:00:19 +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
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
c88867e28f
Fix panic when closing downstream connection
...
git-svn-id: file:///srv/svn/repo/suika/trunk@63 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-18 14:08:06 +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
48ac93422a
Document Ring
...
git-svn-id: file:///srv/svn/repo/suika/trunk@59 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 15:09:35 +00:00
contact
e3ecbd8410
Forward PRIVMSG coming from downstream
...
git-svn-id: file:///srv/svn/repo/suika/trunk@58 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 14:56:18 +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
68300060dc
Add downstreamConn.writeMessages
...
This logic will become more complicated in upcoming commits.
git-svn-id: file:///srv/svn/repo/suika/trunk@56 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-17 11:41:27 +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
155c149e56
Add names to consumers
...
git-svn-id: file:///srv/svn/repo/suika/trunk@51 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 16:35:57 +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
4c94bee6f5
Handle downstream PART messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@49 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 12:36:32 +00:00
contact
c0c85ba8bf
Handle downstream JOIN messages
...
git-svn-id: file:///srv/svn/repo/suika/trunk@48 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 12:31:09 +00:00
contact
e1d601ffef
Send fake RPL_CREATED message
...
git-svn-id: file:///srv/svn/repo/suika/trunk@47 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 12:23:09 +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
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
b5b0ce6144
Add user.forEachUpstream
...
git-svn-id: file:///srv/svn/repo/suika/trunk@39 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:46:44 +00:00
contact
7afd236470
Add Server.getUser
...
git-svn-id: file:///srv/svn/repo/suika/trunk@38 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-07 10:39:56 +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
240fc1d12c
Remove downstreamConn.WriteMessage
...
It wasn't clear what this function was doing
git-svn-id: file:///srv/svn/repo/suika/trunk@31 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-02-06 21:35:24 +00:00