The encoding of negative ASN1 INTEGERs and the conversion of BNs to negative
[openssl.git] / crypto / asn1 / d2i_s_pu.c
index 1002f41cd8fd7f277a4b01ca2476b8683e183523..94ea1c313b686fecb836024b7634fbe69a432e78 100644 (file)
  * [including the GNU Public Licence.]
  */
 
-/* Origional version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
+/* Original version from Steven Schoch <schoch@sheba.arc.nasa.gov> */
 
+#ifndef NO_DSA
 #include <stdio.h>
 #include "cryptlib.h"
-#include "bn.h"
-#include "dsa.h"
-#include "objects.h"
-#include "asn1_mac.h"
+#include <openssl/bn.h>
+#include <openssl/dsa.h>
+#include <openssl/objects.h>
+#include <openssl/asn1_mac.h>
 
-/*
- * ASN1err(ASN1_F_D2I_DSAPUBLICKEY,ASN1_R_LENGTH_MISMATCH);
- * ASN1err(ASN1_F_I2D_DSAPUBLICKEY,ASN1_R_UNKNOWN_ATTRIBUTE_TYPE);
- */
+#ifdef NEG_PUBKEY_BUG
+#define d2i_ASN1_INTEGER d2i_ASN1_UINTEGER
+#endif
 
-DSA *d2i_DSAPublicKey(a,pp,length)
-DSA **a;
-unsigned char **pp;
-long length;
+DSA *d2i_DSAPublicKey(DSA **a, unsigned char **pp, long length)
        {
        int i=ASN1_R_PARSING;
        ASN1_INTEGER *bs=NULL;
@@ -121,4 +118,4 @@ err:
        if (bs != NULL) ASN1_INTEGER_free(bs);
        return(NULL);
        }
-
+#endif