feat(irc): SASL PLAIN login and IRCv3 server-time
Registration now opens with CAP LS 302 (servers without IRCv3 ignore it and register as before). From the offered capabilities (multi-line LS lists included) the client requests server-time and, when the profile enables it, sasl; then AUTHENTICATE PLAIN with the account (defaulting to the nick) and a stored SASL password (irc-sasl-password), base64 in 400-byte chunks, and CAP END on success or failure — failures are shown on the Server tab and the connection carries on (NickServ still works). server-time tags stamp events with the server's clock, so replayed history shows real times. Tested against the fake IRC server: multi-line LS, REQ/ACK, the PLAIN exchange, 903, CAP END, and a tagged message's timestamp.
This commit is contained in:
@@ -168,6 +168,7 @@ Use Nexus Terminal when you need to:
|
||||
|
||||
### IRC capabilities
|
||||
|
||||
- IRCv3 capability negotiation with SASL PLAIN login and server-time timestamps.
|
||||
- Nick, real name, TLS and an optional server password.
|
||||
- NickServ identification on connect.
|
||||
- Auto-join rooms.
|
||||
|
||||
+2
-1
@@ -180,8 +180,9 @@ The viewer works like the VNC one: click the desktop to give it keyboard focus,
|
||||
### IRC
|
||||
|
||||
- **IRC**: nick, real name, **Use TLS** (port 6697 for most TLS networks) and an optional server password.
|
||||
- **SASL**: log in during registration with SASL PLAIN (account defaults to your nick), which most networks now expect; use TLS or an SSH tunnel so the password isn't sent in the clear. If the network doesn't offer SASL or rejects the login, the Server tab says so and the connection carries on.
|
||||
- **NickServ**: identify on connect, with an optional account name and password.
|
||||
- **Rooms**: rooms to join automatically, one per line or comma-separated.
|
||||
- **Rooms**: rooms to join automatically, one per line or comma-separated. Networks that support IRCv3 server-time stamp messages with the time they were sent, so replayed history shows its real times.
|
||||
- **SSH Tunnel** and **Reconnection** settings.
|
||||
|
||||
The IRC view has a **Server** tab and a tab per room or conversation, with a dot on tabs that have unread messages. Type messages or `/commands` in the composer (`/join`, `/part`, `/msg`, `/me`, `/notice`, `/nick`, `/topic`, `/list`, `/names`, `/whois`, `/who`, `/raw`, `/quit`, `/help`). Press **Tab** to complete a nick, or click a nick to mention it. The side panel lists joined rooms, a room browser with a filter (click a room to join it), and the users in the current room.
|
||||
|
||||
Reference in New Issue
Block a user