[Solved] FAF client: user not registered in IRC

This is for troubleshooting of problems with the FAF client and Forged Alliance game.

Moderator: DukeOfEarl

[Solved] FAF client: user not registered in IRC

Postby nyov » 15 Apr 2018, 12:26

tl;dr: Where does FAF client store the IRC password (hash) ?

I haven't played FAF in a year, and then I had to port the FAF client settings to "Linux" because latest windows client does not run anymore in wine (needs some win10 crap libs I guess). Anyway, I ported FAF client config ("FA Lobby.ini") and fixed a bug in client code and now everything works dandy, except IRC login.

Now this only seems to be a password issue or account timeout problem. The IRC Server says Nick "<myfafnick>" isn't registered.
But i'm not sure which. Is the IRC auth the same as stored in FA Lobby.ini [user] password? Otherwise maybe I just missed porting it and it tries login without valid password hash.
If not that, it must be server side - though that seems unlikely, that user accounts get removed after 1year inactivity?

Here's the (anonymized) irc client log:

Code: Select all
[privnotice: irc.faforever.com->*] *** Looking up your hostname...
[privnotice: irc.faforever.com->*] *** Found your hostname
[ping: None->518F6EF0] 518F6EF0
[welcome: irc.faforever.com->myfafnick] Welcome to the FAForever IRC Network myfafnick!142478@pXXXXXXXX.dip0.t-ipconnect.de
[yourhost: irc.faforever.com->myfafnick] Your host is irc.faforever.com, running version UnrealIRCd-4.0.1
[created: irc.faforever.com->myfafnick] This server was created Mon Oct 9 2017 at 06:53:13 UTC
[myinfo: irc.faforever.com->myfafnick] irc.faforever.com  |  UnrealIRCd-4.0.1  |  iowrsxzdHtIRqpWGTSB  |  lvhopsmntikraqbeIzMQNRTOVKDdGLPZSCcf
[featurelist: irc.faforever.com->myfafnick] UHNAMES  |  NAMESX  |  SAFELIST  |  HCN  |  MAXCHANNELS=20  |  CHANLIMIT=#:20  |  MAXLIST=b:60,e:60,I:60  |  MAXNICKLEN=30  |  NICKLEN=30  |  CHANNELLEN=32  |  TOPICLEN=307  |  KICKLEN=307  |  AWAYLEN=307  |  are supported by this server
[featurelist: irc.faforever.com->myfafnick] MAXTARGETS=20  |  WALLCHOPS  |  WATCH=128  |  WATCHOPTS=A  |  SILENCE=15  |  MODES=12  |  CHANTYPES=#  |  PREFIX=(qaohv)~&@%+  |  CHANMODES=beI,kLf,l,psmntirzMQNRTOVKDdGPZSCc  |  NETWORK=FAForever  |  CASEMAPPING=ascii  |  EXTBAN=~,SOcaRrnqj  |  ELIST=MNUCT  |  are supported by this server
[featurelist: irc.faforever.com->myfafnick] STATUSMSG=~&@%+  |  EXCEPTS  |  INVEX  |  CMDS=USERIP,STARTTLS,KNOCK,DCCALLOW,MAP  |  are supported by this server
[396: irc.faforever.com->myfafnick] Clk-XXXXXXXX.dip0.t-ipconnect.de  |  is now your displayed host
[luserclient: irc.faforever.com->myfafnick] There are 1 users and 520 invisible on 2 servers
[luserop: irc.faforever.com->myfafnick] 11  |  operator(s) online
[luserchannels: irc.faforever.com->myfafnick] 51  |  channels formed
[luserme: irc.faforever.com->myfafnick] I have 510 clients and 1 servers
[n_local: irc.faforever.com->myfafnick] 510  |  1330  |  Current local users 510, max 1330
[n_global: irc.faforever.com->myfafnick] 521  |  1339  |  Current global users 521, max 1339
[motdstart: irc.faforever.com->myfafnick] - irc.faforever.com Message of the Day -
[motd: irc.faforever.com->myfafnick] - 9/10/2017 4:54
identify myfafnick [password_hash]
[motd: irc.faforever.com->myfafnick] - Welcome to Forged Alliance Forever
identify myfafnick [password_hash]
[endofmotd: irc.faforever.com->myfafnick] End of /MOTD command.
[umode: myfafnick->myfafnick] +iwx
[privnotice: NickServ!services@services.faforever.com->myfafnick] Nick myfafnick isn't registered.
register myfafnick [password_hash]<at>users.faforever.com
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] Nick myfafnick isn't registered.
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] Please try again with a more obscure password. Passwords should be at least
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] five characters long, should not be something easily guessed
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] (e.g. your real name or your nick), and cannot contain the space or tab characters.
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[ping: None->irc.faforever.com] irc.faforever.com
[...]
Last edited by nyov on 18 Apr 2018, 11:13, edited 1 time in total.
nyov
 
Posts: 4
Joined: 02 Apr 2018, 03:57
Has liked: 0 time
Been liked: 1 time

Re: FAF client: user not registered in IRC

Postby Wesmania » 16 Apr 2018, 08:04

It does sound like misconfigured IRC nickserv. The hash saved in the config file is not used for nickserv, it just uses your bare password (and yes, it is horribly insecure).
(No longer) FAF python client dev. You client misbehaves? I might help if in a good mood.
Wesmania
Priest
 
Posts: 336
Joined: 19 Nov 2014, 19:17
Has liked: 1 time
Been liked: 57 times
FAF User Name: MazorNoob

Re: FAF client: user not registered in IRC

Postby nyov » 16 Apr 2018, 11:35

I have automatic login set in the FAF client, but the Lobby.ini only has this password hash stored (and I kinda don't remember the actual password).

So if the IRC auth does NOT use the saved hash from the config, where DOES it get the password from? It must be stored somewhere -since automatic login used to work-, from where I can port it to the new system. Registry or something?

I guess I should just hunt it down in the python code, but I wanted to avoid digging there, if possible. :?
Thanks for the help.
nyov
 
Posts: 4
Joined: 02 Apr 2018, 03:57
Has liked: 0 time
Been liked: 1 time

Re: FAF client: user not registered in IRC

Postby Wesmania » 16 Apr 2018, 17:35

Oh, you're right. IRC sends the password hash indeed. Anyway, nick registration is something the client should do on its own. I'll give you a link to a client release to test, I've recently rewritten chat.

EDIT: Actually it might take a while, since the CI is having some issues. Try this client version.
(No longer) FAF python client dev. You client misbehaves? I might help if in a good mood.
Wesmania
Priest
 
Posts: 336
Joined: 19 Nov 2014, 19:17
Has liked: 1 time
Been liked: 57 times
FAF User Name: MazorNoob

Re: FAF client: user not registered in IRC

Postby nyov » 18 Apr 2018, 11:07

Funny. As I said before that windows version is what broke the whole thing. I guess someone updated the .NET requirements and now it needs windows 10 to run.
At least that "api-ms-win-core-path-l1-1-0.dll" it wants does not exist or is not implemented in wine.

But I have pulled the latest updates from git, however there seem to be not much changes between the 17.2 tag and the 17.3 I have now.
So I dug in the code and did some tcpdumps and fixed the problem.

In fact the problem is actually in the log I posted, i just didn't notice:
Code: Select all
identify myfafnick [password_hash]
[privnotice: NickServ!services@services.faforever.com->myfafnick] Nick myfafnick isn't registered.
register myfafnick [password_hash]<at>users.faforever.com
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] Nick myfafnick isn't registered.
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] Please try again with a more obscure password. Passwords should be at least
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] five characters long, should not be something easily guessed
[privnotice: NickServ!services<at>services.faforever.com->myfafnick] (e.g. your real name or your nick), and cannot contain the space or tab characters.


I pulled out my trusty IRC client and asked nickserv about register (as obviously it wouldn't register the nick), and it said
FAForever -NickServ(services@services.faforever.com)- Syntax: REGISTER password email
FAForever -NickServ(services@services.faforever.com)-
FAForever -NickServ(services@services.faforever.com)- Registers your nickname in the NickServ database.


So obviously the line the client sends -- REGISTER myfafnick passworhash@users.faforever.com -- is wrong. "myfafnick" wasn't obscure enough a password!
I registered the nick using my IRC client and the pw hash I caught through wireshark (it's somehow a different md5sum than my cmdline tool gives), and now the faf client can log in. Fixed :)

So you should fix the REGISTER irc command in the code.
I'm quite astonished nobody else would have had that problem so far. Those IRC client changes in the codebase seem to be from somewhere around sept. 2017.
nyov
 
Posts: 4
Joined: 02 Apr 2018, 03:57
Has liked: 0 time
Been liked: 1 time

Re: [Solved] FAF client: user not registered in IRC

Postby Wesmania » 19 Apr 2018, 07:53

Good catch! I actually realized it's wrong, too, but fixed it incorrectly. I'll get it fixed ASAP, it will be part of the next release. The chat was actually rewritten between 0.17.1 and 0.17.2, so this might be a new bug - and besides, not many people opt in to use development client versions and those that do have their nicks already registered :)
(No longer) FAF python client dev. You client misbehaves? I might help if in a good mood.
Wesmania
Priest
 
Posts: 336
Joined: 19 Nov 2014, 19:17
Has liked: 1 time
Been liked: 57 times
FAF User Name: MazorNoob


Return to Tech Support

Who is online

Users browsing this forum: No registered users and 1 guest