Opened 18 years ago

Closed 17 years ago

Last modified 17 years ago

#1928 closed defect (fixed)

password encryption can't be used on 64bit platform.

Reported by: gis@… Owned by: dmorissette
Priority: low Milestone: 5.0 release
Component: Command Line Utilties Version: 4.10
Severity: minor Keywords:
Cc:

Description (last modified by dmorissette)

I'm using mapserver on Fedora Core 5 (x86-64).
I wanna use password encryption(RFC18) on x86-64.
but this function only works on 32bit platform.

the explanation patch is here.
http://oi.nu/mapcrypto.c.diff

--
IIDA Tetsushi.(hogeman)

Attachments (1)

mapcrypto.c.diff (3.5 KB ) - added by dmorissette 17 years ago.
mapcrypto.c.diff (copy of http://oi.nu/mapcrypto.c.diff)

Download all attachments as: .zip

Change History (5)

comment:1 by sdlime, 18 years ago

Cc: dmorissette@… added
Owner: changed from sdlime to dmorissette
Dan: This should really be yours...

Steve

by dmorissette, 17 years ago

Attachment: mapcrypto.c.diff added

mapcrypto.c.diff (copy of http://oi.nu/mapcrypto.c.diff)

comment:2 by dmorissette, 17 years ago

Description: modified (diff)
Milestone: 5.0 release
Status: newassigned

comment:3 by dmorissette, 17 years ago

Resolution: fixed
Status: assignedclosed

Applied the patch in r6139 (4.99 trunk)

Note that I merged the U4BYTES definition from the provided patch with the ms_int32 definitions from map.h and put the whole thing in map.h. Hopefully that won't cause side-effects on any platform:

/* definition of ms_int32/ms_uint32 */ #include <limits.h> #if ULONG_MAX == 0xffffffff typedef long ms_int32; typedef unsigned long ms_uint32; #elif UINT_MAX == 0xffffffff typedef int ms_uint32; typedef unsigned int ms_uint32; #else #include <stdint.h> typedef int32_t ms_int32; typedef uint32_t ms_uint32; #endif

in reply to:  3 comment:4 by dmorissette, 17 years ago

Here is the map.h definition again:

/* definition of  ms_int32/ms_uint32 */
#include <limits.h>
#if ULONG_MAX == 0xffffffff
typedef long            ms_int32;
typedef unsigned long   ms_uint32;
#elif UINT_MAX == 0xffffffff
typedef int             ms_uint32;
typedef unsigned int    ms_uint32;
#else
#include <stdint.h>
typedef int32_t         ms_int32;
typedef uint32_t        ms_uint32;
#endif
Note: See TracTickets for help on using tickets.