summaryrefslogtreecommitdiff
path: root/lib/libcrypto/asn1/asn1_mac.h
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>2000-03-19 11:13:56 +0000
committerBob Beck <beck@cvs.openbsd.org>2000-03-19 11:13:56 +0000
commit49f56637dd22e4a7b21187190845bdf93f225b6c (patch)
tree53fb7836f5f49958bff0a86c3daad74163301583 /lib/libcrypto/asn1/asn1_mac.h
parent3fcaa7468f9b0354a53219db5fef7803a96ef49e (diff)
OpenSSL 0.9.5 merge
*warning* this bumps shared lib minors for libssl and libcrypto from 2.1 to 2.2 if you are using the ssl26 packages for ssh and other things to work you will need to get new ones (see ~beck/libsslsnap/<arch>) on cvs or ~beck/src-patent.tar.gz on cvs
Diffstat (limited to 'lib/libcrypto/asn1/asn1_mac.h')
-rw-r--r--lib/libcrypto/asn1/asn1_mac.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/libcrypto/asn1/asn1_mac.h b/lib/libcrypto/asn1/asn1_mac.h
index 93f9c5193c5..4f2a82d340e 100644
--- a/lib/libcrypto/asn1/asn1_mac.h
+++ b/lib/libcrypto/asn1/asn1_mac.h
@@ -106,6 +106,20 @@ err:\
#define M_ASN1_D2I_start_sequence() \
if (!asn1_GetSequence(&c,&length)) \
{ c.line=__LINE__; goto err; }
+/* Begin reading ASN1 without a surrounding sequence */
+#define M_ASN1_D2I_begin() \
+ c.slen = length;
+
+/* End reading ASN1 with no check on length */
+#define M_ASN1_D2I_Finish_nolen(a, func, e) \
+ *pp=c.p; \
+ if (a != NULL) (*a)=ret; \
+ return(ret); \
+err:\
+ ASN1_MAC_H_err((e),c.error,c.line); \
+ asn1_add_error(*pp,(int)(c.q- *pp)); \
+ if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \
+ return(NULL)
#define M_ASN1_D2I_end_sequence() \
(((c.inf&1) == 0)?(c.slen <= 0): \