[IRCServices] EnableAnopeWorkaround doesn't work with db imported
from anope-1.7.18 using enc_old
Andrew Church
achurch at achurch.org
Fri Oct 12 03:00:35 PDT 2007
>Hi
>
>I'm currently running anope-1.7.18 which was earlier upgraded from an older version with the broken md5 encryption.
>In order to use the old db in the new anope I use the enc_old option and that works fine.
>
>No I want to migrate this database to ircservices but I can't get it to recognize the passwords. I made two example users for a test:
Thanks for this report. Can you please try applying the patch below to
your Services source code (save this message to a file and give the command
"patch -p0 <file" in the ircservices-5.1.0 directory, where "file" is the
path of the file you saved the message to), then recompiling and running
the converter again?
--Andrew Church
achurch at achurch.org
http://achurch.org/
Index: tools/convert-epona.c
===================================================================
RCS file: /var/local/cvsroot/ircservices/tools/convert-epona.c,v
retrieving revision 2.40
diff -u -r2.40 convert-epona.c
--- tools/convert-epona.c 10 Oct 2007 05:57:31 -0000 2.40
+++ tools/convert-epona.c 11 Oct 2007 18:03:00 -0000
@@ -116,6 +116,8 @@
ngi->os_priv = NP_SERVADMIN;
else if (tmp32 & 0x00001000) /* NI_SERVICES_OPER */
ngi->os_priv = NP_SERVOPER;
+ if (tmp32 & 0x00004000)
+ ngi->pass.cipher = sstrdup("md5");
if (tmp32 & 0x00080000)
ngi->flags |= NF_NOOP;
SAFE(read_int16(&tmp16, f));
@@ -485,6 +487,8 @@
ci->flags |= CF_SECURE;
if (tmp32 & 0x00000080)
ci->flags |= CF_VERBOTEN;
+ if (tmp32 & 0x00000100)
+ ci->pass.cipher = sstrdup("md5");
if (tmp32 & 0x00000200)
ci->flags |= CF_NOEXPIRE;
if (tmp32 & 0x00000800)