mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Jun 2026
Posts: 4
N
Self-satisfied door
OP Offline
Self-satisfied door
N
Joined: Jun 2026
Posts: 4
Hi everyone,

I'm trying to connect to an Ergo IRC server that requires SASL PLAIN authentication before registration.

Environment
mIRC 7.84
TLS connection on port 6697
Login Method set to SASL (/CAP)

The raw debug output only shows:

-> CAP LS 302
-> NICK ...
-> USER ...

It never sends:

CAP REQ :sasl
AUTHENTICATE PLAIN

As a result, the server rejects the connection because SASL authentication never takes place.

Things I've verified
TLS handshake succeeds (TLS 1.3).
DNS and connectivity are working correctly.
The same account and password authenticate successfully using:
the server's web IRC client
Goguma (mobile IRC client)
The server administrator confirmed the server is using standard Ergo SASL PLAIN authentication.

I also tested placing the password in the upper "Password" field with Login Method set to None. In that case, mIRC sends:

PASS <password>
NICK ...
USER ...

which appears to be expected behavior for the IRC PASS command.

Question

Is there any known reason why mIRC 7.84 would not send CAP REQ :sasl after CAP LS when Login Method is set to SASL (/CAP)?

Is there another setting that enables SASL negotiation, or is this a known issue?

Joined: Dec 2002
Posts: 3,914
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 3,914
I use SASL for several of my regular connections. I just tried connecting to the ERGO testnet.ergo.chat test server and it worked fine for me. I don't have an account there, so the authentication failed, but it initiated and handled the SASL process correctly as far as I can tell.

Quote
-> testnet.ergo.chat CAP LS 302
-> testnet.ergo.chat NICK nickname
-> testnet.ergo.chat USER user 0 * :...
<- :testnet.ergo.chat CAP * LS * :account-notify account-tag away-notify batch cap-notify chghost draft/account-registration=before-connect draft/channel-rename draft/chathistory draft/event-playback draft/extended-isupport draft/languages=17,en,~bs,~de,~el,~en-AU,~es,~fi,~fr-FR,~it,~nl,~no,~pl,~pt-BR,~ro,~sq-AL,~tr-TR,~zh-CN draft/message-redaction draft/metadata-2=before-connect,max-subs=100,max-keys=100 draft/multiline=max-bytes=4096,max-lines=24 draft/no-implicit-names draft/persistence draft/pre-away
-> testnet.ergo.chat CAP REQ :account-notify account-tag away-notify batch chghost
<- :testnet.ergo.chat CAP * LS :draft/read-marker draft/relaymsg=/ draft/webpush echo-message ergo.chat/nope extended-join extended-monitor invite-notify labeled-response message-tags multi-prefix sasl=PLAIN,EXTERNAL server-time setname soju.im/webpush standard-replies sts=duration=86400,port=6697 userhost-in-names znc.in/playback znc.in/self-message
-> testnet.ergo.chat CAP REQ :extended-join extended-monitor invite-notify labeled-response message-tags multi-prefix sasl server-time setname standard-replies userhost-in-names
<- :testnet.ergo.chat CAP * ACK :account-notify account-tag away-notify batch chghost
<- @time=2026-06-28T07:48:06.528Z :testnet.ergo.chat CAP * ACK :extended-join extended-monitor invite-notify labeled-response message-tags multi-prefix sasl server-time setname standard-replies userhost-in-names
-> testnet.ergo.chat AUTHENTICATE PLAIN
<- AUTHENTICATE +
-> testnet.ergo.chat AUTHENTICATE mimenecodedtext
<- @time=2026-06-28T07:48:06.733Z :testnet.ergo.chat 904 * :SASL authentication failed: Account does not exist
-> testnet.ergo.chat AUTHENTICATE *
-> testnet.ergo.chat CAP LIST
-> testnet.ergo.chat CAP END
<- @time=2026-06-28T07:48:06.839Z :testnet.ergo.chat 906 * :SASL authentication aborted

Can you provide the raw /debug output up to before the MOTD is sent so we can see the sequence you are seeing?

Joined: Jun 2026
Posts: 4
N
Self-satisfied door
OP Offline
Self-satisfied door
N
Joined: Jun 2026
Posts: 4
Thats what is puzzling to me. The log simply shows the following:

Quote
[03:17] * Connecting to irc.social.lol (6697)
-
[03:17] * Disconnected
-
[03:17] * Connect retry #1 irc.social.lol (6697)
-
[03:17] * Disconnected
-
[03:18] * Connect cancelled

That is as far as it gets for me. I don't get to see the MOTD. Now when I test on the testnet.ergo.chat it allows me to connect there fine.

I am puzzled.

Joined: Jun 2026
Posts: 4
N
Self-satisfied door
OP Offline
Self-satisfied door
N
Joined: Jun 2026
Posts: 4
((Sorry for the additional post, after the last reply as its pending, I coudln't add to it))

I did some additional diagnostics outside of mIRC.

Using a minimal PowerShell client built on .NET `SslStream`, I successfully connected to the same server (`irc.social.lol:6697`).

The client completed the following successfully:

* TLS 1.3 handshake
* `CAP LS 302`
* Received the server's split `CAP LS` replies
* `CAP REQ :sasl`
* `AUTHENTICATE PLAIN`
* SASL authentication (`900` / `903`)
* `CAP END`
* Received `001` through the MOTD
* Joined `#general`

So the server is responding correctly to a native TLS IRC client on Windows.

With mIRC 7.84 against the same server, `/debug @raw` only ever shows:

```
-> CAP LS 302
-> NICK *censored*
-> USER *censored* 0 * :...
```

There are never any incoming (`<-`) lines before the client disconnects approximately one second later.

Another Windows user using mIRC is reportedly seeing the same behavior against this server.

This seems to indicate that the server is sending the CAP responses correctly, but mIRC never processes or displays them before disconnecting.

Last edited by Nimrauko; 28/06/26 10:35 AM.
Joined: Dec 2002
Posts: 3,914
Hoopy frood
Offline
Hoopy frood
Joined: Dec 2002
Posts: 3,914
Okay, this is likely not related to SASL.

If you want to connect with SSL, you need to use the -e switch or prefix the port number with a + sign:

/server -e irc.social.lol 6697

/server irc.social.lol:+6697

A port number without a + sign is treated as a non-SSL connection.

Does that resolve your issue?

Joined: Jun 2026
Posts: 4
N
Self-satisfied door
OP Offline
Self-satisfied door
N
Joined: Jun 2026
Posts: 4
It did! I feel exceedingly dumb at the moment, but connected! I have used mIRC since 2003, I swore there used to be a check box for SSL xD But things change and now I will be making a mental note about the (+) for future. Thank you!


Link Copied to Clipboard