New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
unreal4 wants SID, not SERVER, for remote server introductions #791
base: master
Are you sure you want to change the base?
Conversation
else sid[i]++; | ||
break; | ||
} | ||
} while (server_find(sid)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
generally we like to be explicit about the NULL check
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I see a few potential problems here:
- This algorithm will try generating
sid
s likeA00
after9ZZ
, which is invalid. sid
is static, meaning it will eventually exceed9ZZ
(even though nobody will run services that long and jupe that many servers.)
I also wonder why don't reuse the original server sid
(if found) and only generate a new sid
when one is proactively jupe'ing servers before they were even introduced?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this SID generation was directly stolen from the other protocol modules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is correct other than the style change (or at least it was back in the ustream days)
I think this is currently in a state that is technically correct and works but it will still fail on atypically complex networks (i.e. pissnet) and I'm not certain why. I think we ought to be doing this via |
b2cfe87
to
a5c49d2
Compare
draft because this has only been tested live on pissnet so I'd like to run it by people more responsible than me
the problem here is
SERVER
is for direct server introductions and those expect passwords, so Atheme will be disconnected when it tries to jupe withSERVER
due to"Missing password"