22 Aug, 2009, Kaene wrote in the 1st comment:
Votes: 0
Just stumbled across a serious bug with QuickMUD (and possibly any derivs of it, I didn't look).

Since QuickMUD changes the prelogin connected states to negative numbers, copyover fails to boot people off that are logging in or are creating characters.

This creates a situation of winding up with corrupt characters if a copyover occurs while someone is making a new char (this is how I discovered said bug) or, far worse, allowing someone to login as another player without having the password (this one I found after some testing).

The fix is simple enough… in do_copyover(), find this:
if (!d->character || d->connected > CON_PLAYING)

and change it to:
if (!d->character || d->connected < CON_PLAYING)

An obvious oversight when the states were changed, but a pretty huge one!

That should take care of it if you haven't added any new states… but if you have, you should take a closer look and do what needs doing to fix it. Though you should probably take a closer look even if you haven't added any new states… I know I will be. :)
13 May, 2015, Rhien wrote in the 2nd comment:
Votes: 0
Good catch, I just found this bug, fixed it and then found your thread after the fact. :D