778 Commits

Author SHA1 Message Date
delthas
eaf5c12d2f contrib/clients: Mention Hexchat
git-svn-id: file:///srv/svn/repo/suika/trunk@578 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-07-07 08:36:02 +00:00
delthas
f4e57fd264 service: Introduce network quote
This command enables sending a raw line to a specific network.

git-svn-id: file:///srv/svn/repo/suika/trunk@577 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-07-07 08:34:46 +00:00
hubert
1d04d94363 Add a C compiler to the list of dependencies
It's needed to build sqlite3.

git-svn-id: file:///srv/svn/repo/suika/trunk@576 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-07-07 08:32:16 +00:00
yyp
d249ea82a1 service: show SHA-512 fingerprint
Closes: https://todo.sr.ht/~emersion/soju/130

git-svn-id: file:///srv/svn/repo/suika/trunk@575 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-07-06 14:34:15 +00:00
contact
3ec1c5d92e ci: add gofmt check
git-svn-id: file:///srv/svn/repo/suika/trunk@574 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-29 20:24:44 +00:00
jake.nelson
8f9d6290c1 Sort channel status channels by name
git-svn-id: file:///srv/svn/repo/suika/trunk@573 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-29 20:19:19 +00:00
contact
b275567411 Introduce user.updateUser
Unify updatePassword and updateRealname into a single function. This
allows "user update" to be atomic.

git-svn-id: file:///srv/svn/repo/suika/trunk@572 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-28 16:05:03 +00:00
contact
3a1ac8372b doc/soju.1: improve "user create" docs
git-svn-id: file:///srv/svn/repo/suika/trunk@571 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-28 14:55:49 +00:00
contact
7bb23b2164 Merge "change-password" into "user update"
Add a -password flag to the "user update" command.

git-svn-id: file:///srv/svn/repo/suika/trunk@570 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-28 14:55:44 +00:00
contact
cafcd21da5 Only update realname if specified in "user udpate"
This will allow adding more flags.

git-svn-id: file:///srv/svn/repo/suika/trunk@569 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-28 14:40:49 +00:00
contact
474d6e3ccd Add per-user realname setting
This allows users to set a default realname used if the per-network
realname isn't set.

A new "user update" command is introduced and can be extended to edit
other user properties and other users in the future.

git-svn-id: file:///srv/svn/repo/suika/trunk@568 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-25 18:33:13 +00:00
contact
d878c6433f readme: list dependencies
git-svn-id: file:///srv/svn/repo/suika/trunk@567 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-24 19:32:54 +00:00
hubert
b29276873f Hand-made word splitter for BouncerServ
Remove the (direct) dependency on shlex (go-scfg still depends on it).

Co-authored-by: Simon Ser <contact@emersion.fr>

git-svn-id: file:///srv/svn/repo/suika/trunk@566 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-24 17:33:46 +00:00
contact
c781bcfa4c Disallow '$' in nicks
git-svn-id: file:///srv/svn/repo/suika/trunk@565 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-23 17:54:22 +00:00
contact
84e9f30865 doc/soju.1: document bouncer-wide broadcasts
git-svn-id: file:///srv/svn/repo/suika/trunk@564 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-23 17:30:47 +00:00
contact
ae0ac7c6f0 Allow admins to broadcast message to all bouncer users
Typically done via:

    /notice $<bouncer> <message>

Or, for a connection not bound to a specific network:

    /notice $* <message>

The message is broadcast as BouncerServ, because that's the only
user that can be trusted to belong to the bouncer by users. Any
other prefix would conflict with the upstream network.

git-svn-id: file:///srv/svn/repo/suika/trunk@563 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-23 17:23:09 +00:00
contact
a649f4acdf Unify downstream PRIVMSG and NOTICE handling
We were doing some things wrong here, e.g. not sending echo messages
for NOTICE.

git-svn-id: file:///srv/svn/repo/suika/trunk@562 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-23 16:17:30 +00:00
contact
645cae89bf Forward LUSERS and STATS messages after initial registration
git-svn-id: file:///srv/svn/repo/suika/trunk@561 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-23 09:45:14 +00:00
contact
bc5ddaefee Add support for utf8-only
git-svn-id: file:///srv/svn/repo/suika/trunk@560 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-15 13:48:10 +00:00
contact
d0fa8cd516 Add support for account-tag
git-svn-id: file:///srv/svn/repo/suika/trunk@559 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-14 19:44:38 +00:00
greg
8680f34d28 Slightly relax new log file permissions
Make new log files group-readable by default. To retain the prior
behavior, soju can be started with a umask set to 0077.

git-svn-id: file:///srv/svn/repo/suika/trunk@558 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-14 15:58:36 +00:00
contact
0883a78089 contrib/clients: add reference to Weechat script
git-svn-id: file:///srv/svn/repo/suika/trunk@557 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-12 12:48:32 +00:00
contact
8a7264f55f doc/soju.1: explain http-origin defaults
git-svn-id: file:///srv/svn/repo/suika/trunk@556 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-11 08:26:22 +00:00
contact
17a115d060 Don't suggest users to /motd in multi-upstream mode
git-svn-id: file:///srv/svn/repo/suika/trunk@555 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-10 10:16:33 +00:00
contact
3172dbeb87 Make user MODE commands fail in multi-upstream mode
References: https://todo.sr.ht/~emersion/soju/20

git-svn-id: file:///srv/svn/repo/suika/trunk@554 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-10 09:24:10 +00:00
greg
594bd5bf30 Forward user mode changes in single-upstream mode
References: https://todo.sr.ht/~emersion/soju/20

git-svn-id: file:///srv/svn/repo/suika/trunk@553 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-10 09:17:00 +00:00
greg
be96d9078b Forward MOTD messages downstream
The first MOTD upon connection is ignored, but subsequent MOTD messages
(requested by the "MOTD" message from the client, typically using a
/motd command) are forwarded.

git-svn-id: file:///srv/svn/repo/suika/trunk@552 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-09 19:29:36 +00:00
contact
5fe3eae580 Add downstreamConn.SendBatch helper
git-svn-id: file:///srv/svn/repo/suika/trunk@551 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-05 10:38:52 +00:00
contact
f8859b0d8a Prune detached channels from CHATHISTORY TARGETS
git-svn-id: file:///srv/svn/repo/suika/trunk@550 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-04 09:27:59 +00:00
contact
522becbe30 Implement CHATHISTORY TARGETS
References: https://github.com/ircv3/ircv3-specifications/pull/450

git-svn-id: file:///srv/svn/repo/suika/trunk@549 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-06-02 18:32:11 +00:00
contact
73e8ea27b7 doc/ext/bouncer-networks: fix typo
git-svn-id: file:///srv/svn/repo/suika/trunk@548 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-29 11:18:06 +00:00
contact
b9249feca3 Forward unknown commands to upstream in single-upstream mode
git-svn-id: file:///srv/svn/repo/suika/trunk@547 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-28 09:15:15 +00:00
contact
62bc41f442 Send placeholder when no network/channel is returned by BouncerServ
git-svn-id: file:///srv/svn/repo/suika/trunk@546 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 09:27:59 +00:00
contact
048bea91ce Reject JOIN with invalid channel names
This prevents us from storing typo'ed channel names in the DB.

git-svn-id: file:///srv/svn/repo/suika/trunk@545 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 09:23:09 +00:00
contact
70e6f1fb5a Fix typo in BOUNCER notifications: s/status/state/
git-svn-id: file:///srv/svn/repo/suika/trunk@544 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 09:08:10 +00:00
contact
b3d039ec5b Broadcast BOUNCER notifications to all downstream connections
We weren't sending them to downstreams which weren't bound to a
network.

git-svn-id: file:///srv/svn/repo/suika/trunk@543 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 09:04:33 +00:00
contact
30c6e9e954 Allow networks to be disabled
git-svn-id: file:///srv/svn/repo/suika/trunk@542 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 08:51:02 +00:00
contact
52add75a86 doc/getting-started: s/Freenode/Libera Chat/
git-svn-id: file:///srv/svn/repo/suika/trunk@541 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-26 06:39:06 +00:00
contact
b4ffea243d Add support for IRCv3 setname
References: https://todo.sr.ht/~emersion/soju/41

git-svn-id: file:///srv/svn/repo/suika/trunk@540 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 18:24:45 +00:00
contact
6de426954b Add channel status service command
git-svn-id: file:///srv/svn/repo/suika/trunk@539 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 17:22:22 +00:00
contact
8e5428aac9 contrib/clients: add note about bouncer-networks
git-svn-id: file:///srv/svn/repo/suika/trunk@538 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 16:54:16 +00:00
contact
ac62ccdfbc Vendor BATCH bouncer-networks type
And add the prefix throughout the spec, to make it clear the unprefixed
version is not to be used.

git-svn-id: file:///srv/svn/repo/suika/trunk@537 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:56:38 +00:00
contact
74c1f24258 Don't send connection status NOTICEs with bouncer-networks
git-svn-id: file:///srv/svn/repo/suika/trunk@536 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:42:51 +00:00
contact
b736ba981b Introduce the soju.im/bouncer-networks-notify capability
git-svn-id: file:///srv/svn/repo/suika/trunk@535 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:42:51 +00:00
contact
8ceceb932c Send network settings in LISTNETWORKS
git-svn-id: file:///srv/svn/repo/suika/trunk@534 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:42:51 +00:00
contact
66c64aa42f Add pass to bouncer network attributes
git-svn-id: file:///srv/svn/repo/suika/trunk@533 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:42:51 +00:00
contact
f00821626a Implement the soju.im/bouncer-networks extension
git-svn-id: file:///srv/svn/repo/suika/trunk@532 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:42:51 +00:00
sir
2f5c2a2edd db: refactor into interface
This refactors the SQLite-specific bits into db_sqlite.go. A future
patch will add PostgreSQL support.

git-svn-id: file:///srv/svn/repo/suika/trunk@531 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:35:39 +00:00
hubert
06ce9f24b6 Don't build soju when calling "make install"
Otherwise soju would be rebuilt as the user who runs "make install"
(typically root).

git-svn-id: file:///srv/svn/repo/suika/trunk@530 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-25 14:31:06 +00:00
philipk
63e19e8add Directly return self-messages to user in multi-upstream mode
git-svn-id: file:///srv/svn/repo/suika/trunk@529 f0ae65fe-ee39-954e-97ec-027ff2717ef4
2021-05-24 11:31:24 +00:00