I think i found some error in the source!
 
In the crypto\asn1\a_strnid.c file there is the following function:
 
int ASN1_STRING_set_default_mask_asc(char *p)
{
 unsigned long mask;
 char *end;
 if(!strncmp(p, "MASK:", 5)) {
  if(!p[5]) return 0;
  mask = strtoul(p + 5, &end, 0);
  if(*end) return 0;
 } else if(!strcmp(p, "nombstr"))
    mask = ~(B_ASN1_BMPSTRING|B_ASN1_UTF8STRING);
 else if(!strcmp(p, "pkix"))
   mask = ~B_ASN1_T61STRING;
 else if(!strcmp(p, "utf8only")) mask = B_ASN1_UTF8STRING;
 else if(!strcmp(p, "default"))
     mask = 0xFFFFFFFFL;
 else return 0;
 ASN1_STRING_set_default_mask(mask);
 return 1;
}
 
I tried to compile by MS-VC it but I got error in the following lines:
 
mask = ~(B_ASN1_BMPSTRING|B_ASN1_UTF8STRING);
mask = ~B_ASN1_T61STRING;
 
The error message was the following:
 
conversion from 'const int ' to 'unsigned long ', signed/unsigned mismatch
 
 
Is a good solution to typecast to unsigned int? Is there someone who maintains the code?
 
Thanks a lot!

Reply via email to