hi,all

i meet a problem.when i plant the DES to my voip gateway for the purpose of 
snmpv3 support, it shows decryption error.
My gateway is running on vxworks and processor is mips32.
i guess it should be something wrong with architecture concerned choice, such 
as big(little)endian?

in md32_common.h 
how should i choose the ROTATE ? 
/*
 * Engage compiler specific rotate intrinsic function if available.
 */
#undef ROTATE
#ifndef PEDANTIC
# if defined(_MSC_VER) || defined(__ICC)
#  define ROTATE(a,n) _lrotl(a,n)
# elif defined(__MWERKS__)
#  if defined(__POWERPC__)
#   define ROTATE(a,n) __rlwinm(a,n,0,31)
#  elif defined(__MC68K__)
    /* Motorola specific tweak. <[EMAIL PROTECTED]> */
#   define ROTATE(a,n) ( n<24 ? __rol(a,n) : __ror(a,32-n) )
#  else 

#ifndef ROTATE
#define ROTATE(a,n) (((a)>>(n))+((a)<<(32-(n))))
#endif


in opensslconf.h  i choose newer mips,but makes error.

#if defined( sun )  /* Newer Sparc's */
#  define DES_PTR
#  define DES_RISC1
#  define DES_UNROLL
#elif defined( __ultrix ) /* Older MIPS */
#  define DES_PTR
#  define DES_RISC2
#  define DES_UNROLL
#elif defined( __osf1__ ) /* Alpha */
#  define DES_PTR
#  define DES_RISC2
#elif defined ( _AIX )  /* RS6000 */
  /* Unknown */
#elif defined( __hpux )  /* HP-PA */
  /* Unknown */
#elif defined( __aux )  /* 68K */
  /* Unknown */
#elif defined( __dgux )  /* 88K (but P6 in latest boxes) */
#  define DES_UNROLL
#elif defined( __sgi )  /* Newer MIPS */
#  define DES_PTR
#  define DES_RISC2
#  define DES_UNROLL
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */
#  define DES_PTR
#  define DES_RISC1
#  define DES_UNROLL
#endif /* Systems-specific speed defines */
#endif


thank you in advance for your help



zhangyao
2007-07-20

Reply via email to