[IRCServices] EnableAnopeWorkaround doesn't work with db imported from anope-1.7.18 using enc_old

Pierre Fagrell pierre at fagrell.net
Thu Oct 11 12:36:11 PDT 2007


Andrew Church skrev:
>> 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)
> ------------------------------------------------------------------
> To unsubscribe or change your subscription options, visit:
> http://lists.ircservices.za.net/mailman/listinfo/ircservices


Thankyou for the patch, the patching goes fine, but it won't compile:

ircd at poller:~/ircservices-5.1.0$ patch -p0 <patchfil
Hmm...  Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|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
--------------------------
Patching file tools/convert-epona.c using Plan A...
Hunk #1 succeeded at 116.
Hunk #2 succeeded at 487.
done

I'm running under freebsd 6.2 using gmake 3.80:
gcc -DSTATIC_MODULES -O2 -fno-strict-aliasing -g -Wall -Wmissing-prototypes -I.. -DCONVERT_DB -c convert-epona.c -o convert-epona.o
convert-epona.c: In function `epona_load_chan':
convert-epona.c:491: error: structure has no member named `pass'
gmake[1]: *** [convert-epona.o] Error 1
gmake[1]: Leaving directory `/usr/home/ircd/ircservices-5.1.0/tools'
gmake: *** [tools] Error 2


//Pierre Fagrell