- Status Closed
- Percent Complete
- Task Type Bug Report
- Category Engine → Guilds/Groups
-
Assigned To
Thom Lanarel Mike Gist Keith Steven Schwartfeger - Operating System
- Severity High
- Priority
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
-
Votes
1
- Andrei Ristea (17.10.2008)
- Private
Attached to Project: PlaneShift
Opened by Ausuna Eleves - 07.10.2008
Last edited by Tuathanach - 27.02.2021
Opened by Ausuna Eleves - 07.10.2008
Last edited by Tuathanach - 27.02.2021
FS#2354 - Server send out my email address instead of character name to buddies
Client crashed during loading and instead of the usual character name, my email address is send out!
And it read @ just logged in in system log.
This is so critical.
Even there is no fix soon, please check the nickname you will send out, and if it is the same as player’s registered email address, do not send it! Please do this asap.
My people like me are not that smart, they only have one of two email boxes and use them for all purposes every day!
what is the exact email address that the char is named now? what name was it before? Kerol can you and the gms look into this?
The name of the char did not change, it just happen once so far. The server send out the email address used to register the char, instead of the char’s name.
Edit: But anyway, most of the times I crash, I have no idea what name is send out.
– link removed displaying email address –
weltall showed me that shot yesterday. Guess that’s enough to make this report “new”.
Aiken and I couldn’t reproduce the bug by randomly killing the client during startup. It has to be a very specific point during loading. I’m removing the link to the screenshot displaying the mail address and make the bug public. We need more information on when the crash happens exactly. Best would be system output when starting the client through commandline.
We tested on trunk and on stable.
When you connect till you select the char the client name variable (which is used to show things in who) is the email adress (actually it’s the account name but as laanx uses emails as username that’s what’s being used) but it isn’t shown because there isn’t an actor “connected” to. So the teorical reason for something like this is that an actor gets associated to the client before changing it’s name (so the fix would be swapping the actor setting to name setting) but i couldn’t find the part of code where this happens…
The only hypothesis I can think of at this time of day is that creationmanager screws up at some point and returns the wrong thing to the server since there are some not-so-clear (at least to me) assignments going on involving client→GetAccountID()
Can someone explain what is send when where? I have no clue what this bug is :). When my client crashes, nothing is send, since it crashed.
a /who would give the email for the char afflicted. the problem is that this bug is extremely difficult to reproduce and quite casual so we can only follow theory to fix this.
removing all assignees as this is public again.
if you try to log in with a second client while you’re at the char selection screen with the first client, you will get “you are already logged in as <youremail@address>”, otherwise you will recieve the character name. Whilst this isn’t a bug, it possibly has to do with the “sending out email address to those who have you in the buddy list”. The server possibly knows your “character ID” already but didn’t set the right name yet, but the ID is used to check in whose buddy lists you are.
In my oppinion the sending of “XYZ just joined PlaneShift” happens too early, the client isn’t really ready yet to recieve tells for example (there’s another report concerning this). There is some mechanism which makes the client request the list of nearby entities not before they moved first. (effect: you don’t see others who are near till you moved.) Maybe that would be a good time to send out that someone joined – however, they could join unnoticed and read the guild chat without being noticed.
..so.. just some suggestion, not a real solution but maybe a better idea will come from that.
In line 319 of authentserver.cpp it indeed does client→SetName(msg.sUser);
A simple way to avoid this bug (no matter what strange thing causes it to appear in who) is to not set name with this. If there is no use for it, maybe a string with the accountid (which is known at this point) would be sufficient.
Weltall is correct. If client→actor is not set, it should not print the name in /who at all. THe buddy list is only notified after the actor is created, which does not happen if there is no character data, which only exists two commands before the name is set. In other words, this should not happen.
However, many of these are done in messages that are send. My guess is, that in very rare cases due to UDP jitter these get out of sync, possibly having an actor without the name being set.
There is one more secure way to test whether the name is set, which is checking if client→getPID()!=0, as this is set directly before all cases where the name is changed.
For /who, this means changing line 894 in usermanager.cpp to
Sending out for community love.
Lanarel’s fix sounds correct; however, we need a consistent way to reproduce this information leak, if we don’t have one already.
Can’t we do this Dr. House style and apply the patch, close it, and then wait for the client to start sending out bank account numbers while frothing at the mouth?
Lanarel I am assigning to you.
I just received an email address in the form “*.*@*.* just joined PlaneShift”, and “*.*@*.* has quit”. Details on request.
Two more players just reported seeing the same thing. Said they have seen this the past two weeks.
Confirmed. I’ve seen this in game while playing, and had the person I was chatting with say “Did you see that?” Tweaking the assign information a bit to try and get this addressed.
Fixed by Vengeance a few days ago. Waiting to see if this can be moved to stable (and game servers), or wait for coming release.
Since we are all pretty sure this is fixed, and just want to make sure this is not forgotten, I will keep this open, but demote to high priority.
Vengeance patched the stable code so it has the line that fixes this. It is on Laanx now, so this bug can be closed!
(I took a screenshot if you want to see it, but I won’t post it in public )
that’s a different bug Minks which already has it’s own report (though that one is private as you can imagine)
Lilura just spotted an email on the server’s char stat page http://62.173.168.9/index.php?page=char_stats