Open mathieujobin opened 8 years ago
I don't know how to write a proper patch, but I managed to fix this myself, it's relatively easy. Get the source code, then open icq/src/packet-srv.cpp. Look at lines 595 and 646, you'll find the functions that truncate the password to 8 characters.
For example, line 646 pp.:
//-----Logon--------------------------------------------------------------------
CPU_Logon::CPU_Logon(const string& password, const string& accountId, unsigned short _nLogonStatus)
: CSrvPacketTcp(ICQ_CHNxNEW)
{
// truncate password to MAX 8 characters
string pass(password);
if (pass.size() > 8)
{
gLog.warning(tr("Password too long, truncated to 8 Characters!"));
pass.erase(8);
}
Change those 8
s to 16
s, then recompile and reinstall. Passwords will now be truncated to 16 characters.
If you want cosmetic localization support for this as well, you could also edit licq/po/de.po (German), icq/po/es.po (Spanish) and licq/po/be.po (Belarusian), lines 3317-3318, 3370-3371 and 3476-3477 respectively. But it's not necessary for the login to function with >8 characters.
I've tested this fix myself today, and it worked beautifully!
In case you're relying on a precompiled binary package, you'd need to let your package maintainer know about this fix and have them patch and rebuild the code. I just submitted this to the port maintainer for FreeBSD UNIX, let's hope he'll commit it.
(Still not giving up on licq)
writing a patch is easy, you must have cloned this repo, don't you ? did you commit your changes? create a branch, push to your fork and github will offer you to open a pull request, if it does not visit your branches page and hit the new pull requests button
the patch is inside the repo
back in the days, I would have told you to use diff -u
and send that over by email, but eh, this is 2018 isn't it ?
I'm just a user, not a developer. I don't know how to use versioning systems and/or github properly, and I don't understand the terminology of git either ("pull request", "commit changes", "push to my fork", no idea how or what all that is). That's why I posted the necessary changes here instead, hoping that somebody else would do the rest.
My apologies... I haven't even used diff to create patch files, ever.. :(
but from what I tried, I need a 8char long password to be able to use licq
thank you