825 Commits

Author SHA1 Message Date
contact
b7f48f8766 Remove some IRCv3 constants
go-irc v3.1.2 adds some missing IRCv3 constants.

git-svn-id: file:///srv/svn/repo/suika/trunk@125 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:51:45 +00:00
contact
2030b6aefd Fix history name
dc.username contains the raw account username, not the username supplied
by the client.

git-svn-id: file:///srv/svn/repo/suika/trunk@124 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:44:49 +00:00
contact
2c31125439 readme: add ref to man page, add link to GitHub repo
git-svn-id: file:///srv/svn/repo/suika/trunk@123 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:33:49 +00:00
contact
f1d7602a37 man: fix typo
git-svn-id: file:///srv/svn/repo/suika/trunk@122 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:18:31 +00:00
contact
1137cd48d1 man: add basic man page
git-svn-id: file:///srv/svn/repo/suika/trunk@121 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 13:16:39 +00:00
delthas
c4fc09cea0 Add create-network bouncer service command
git-svn-id: file:///srv/svn/repo/suika/trunk@120 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-19 00:14:44 +00:00
delthas
cbb0e4e8fa Add suffixing for multi-upstream connections
git-svn-id: file:///srv/svn/repo/suika/trunk@119 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 23:06:48 +00:00
delthas
0b5e3e828a schema: add Network.name
git-svn-id: file:///srv/svn/repo/suika/trunk@118 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 23:06:48 +00:00
contact
0504ff78cf Add basic infrastructure for bouncer service
git-svn-id: file:///srv/svn/repo/suika/trunk@117 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 11:23:08 +00:00
contact
075fed636d ci: add builds.sr.ht manifest
git-svn-id: file:///srv/svn/repo/suika/trunk@116 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 09:28:58 +00:00
delthas
5bb7c8bf6d Add upstream INVITE support
git-svn-id: file:///srv/svn/repo/suika/trunk@115 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-18 09:26:25 +00:00
contact
57eaf243fa Fix typo
git-svn-id: file:///srv/svn/repo/suika/trunk@114 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-17 15:17:39 +00:00
contact
be09463daa Fix echo PRIVMSG messages
git-svn-id: file:///srv/svn/repo/suika/trunk@113 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-17 15:15:54 +00:00
contact
3edc848651 Add downstream SASL support
git-svn-id: file:///srv/svn/repo/suika/trunk@112 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 15:16:27 +00:00
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
f169a0a35a Split user logic into its own file
git-svn-id: file:///srv/svn/repo/suika/trunk@101 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-16 10:18:41 +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
b6135cf1cb Add sojuctl to .gitignore
git-svn-id: file:///srv/svn/repo/suika/trunk@99 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 17:14:14 +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
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
e0962406e4 schema: add Channel.key
git-svn-id: file:///srv/svn/repo/suika/trunk@94 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-13 11:30:01 +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
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
7a61e91057 schema: add UNIQUE constraints
git-svn-id: file:///srv/svn/repo/suika/trunk@87 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 14:33:49 +00:00
contact
4b38c644b2 schema: make User.password NOT NULL
git-svn-id: file:///srv/svn/repo/suika/trunk@86 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-12 14:23:46 +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
79f3b73eab cmd/jouncectl: new command
Allows to create users.

git-svn-id: file:///srv/svn/repo/suika/trunk@84 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-11 18:01:03 +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
b6d2338737 Use a RWMutex for DB
git-svn-id: file:///srv/svn/repo/suika/trunk@81 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 19:15:38 +00:00
contact
9de66e9cb0 readme: pipe commands into sqlite3 instead of using -init
This makes it so sqlite3 exits after executing the file.

git-svn-id: file:///srv/svn/repo/suika/trunk@80 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 19:13:20 +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
4d15bbafe3 readme: add instructions to initialize database
git-svn-id: file:///srv/svn/repo/suika/trunk@78 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2020-03-04 17:27:33 +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