mIRC Home    About    Download    Register    News    Help

Print Thread
Joined: Feb 2011
Posts: 423
K
KindOne Offline OP
Pan-dimensional mouse
OP Offline
Pan-dimensional mouse
K
Joined: Feb 2011
Posts: 423
mIRC's $status seems to get messed up when a ZNC to IRCd connection is severed, while the mIRC to ZNC connection continues.
This of course can easily mess with scripts that use $status to see if a connected to a network or not.
While connected to a active network (sending/receiving privmsgs), the "//echo -a $status" still reported "disconnecting"

Requirements:
1. NickServ Account
2. ZNC (software)

How to replicate:
1. Connect to a ZNC.
2. Have ZNC connect to a network
3. Join a channel.
4. Enter this commend from another connection: /msg NickServ ghost <NICK>
5. Let ZNC reconnect to IRCd.
6. //echo -a $status
7. "disconnecting"

My settings:
[check] Rejoin channels on kicked
[check] Rejoin channels on connect
[check] Keep channels open

A workaround is to disconnect/connect mIRC to the ZNC and the issue goes away.

Joined: Dec 2002
Posts: 2,962
S
Hoopy frood
Offline
Hoopy frood
S
Joined: Dec 2002
Posts: 2,962
mIRC is designed to connect to IRC servers. ZNC is designed to act as a middleman between IRC clients and servers. If this behaviour is only occurring when mIRC is connected via ZNC then this is a bug in ZNC since it isn't passing some necessary information to mIRC.


Spelling mistakes, grammatical errors, and stupid comments are intentional.
Joined: Oct 2003
Posts: 3,918
A
Hoopy frood
Offline
Hoopy frood
A
Joined: Oct 2003
Posts: 3,918
My guess is mIRC received a QUIT but the socket is still active; mIRC still thinks it's in the process of disconnecting.

As starbucks_mafia said, mIRC is designed to connect to IRC servers. When a QUIT message is received the only other valid operation according to the protocol is a closed socket-- initiating another connection on a socket that was flagged as disconnecting is not valid in the context of IRC. This would be expected behaviour of any client that implements the proper IRC protocol, and not a bug.

That said, it seems trivial for mIRC to allow for mIRC to be able to restart a connection in a "disconnecting" state. There is precedent for mIRC breaking pure protocol implementation for popular functionality, and I don't see any compatibility issues with such a change. But this would be a new feature, not a bug fix.


- argv[0] on EFnet #mIRC
- "Life is a pointer to an integer without a cast"

Link Copied to Clipboard