v3_sxnet.c (openssl-1.1.1o) | : | v3_sxnet.c (openssl-1.1.1p) | ||
---|---|---|---|---|
/* | /* | |||
* Copyright 1999-2016 The OpenSSL Project Authors. All Rights Reserved. | * Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved. | |||
* | * | |||
* Licensed under the OpenSSL license (the "License"). You may not use | * Licensed under the OpenSSL license (the "License"). You may not use | |||
* this file except in compliance with the License. You can obtain a copy | * this file except in compliance with the License. You can obtain a copy | |||
* in the file LICENSE in the source distribution or at | * in the file LICENSE in the source distribution or at | |||
* https://www.openssl.org/source/license.html | * https://www.openssl.org/source/license.html | |||
*/ | */ | |||
#include <stdio.h> | #include <stdio.h> | |||
#include "internal/cryptlib.h" | #include "internal/cryptlib.h" | |||
#include <openssl/conf.h> | #include <openssl/conf.h> | |||
skipping to change at line 60 | skipping to change at line 60 | |||
ASN1_SEQUENCE(SXNET) = { | ASN1_SEQUENCE(SXNET) = { | |||
ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | ASN1_SIMPLE(SXNET, version, ASN1_INTEGER), | |||
ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | ASN1_SEQUENCE_OF(SXNET, ids, SXNETID) | |||
} ASN1_SEQUENCE_END(SXNET) | } ASN1_SEQUENCE_END(SXNET) | |||
IMPLEMENT_ASN1_FUNCTIONS(SXNET) | IMPLEMENT_ASN1_FUNCTIONS(SXNET) | |||
static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, | static int sxnet_i2r(X509V3_EXT_METHOD *method, SXNET *sx, BIO *out, | |||
int indent) | int indent) | |||
{ | { | |||
long v; | int64_t v; | |||
char *tmp; | char *tmp; | |||
SXNETID *id; | SXNETID *id; | |||
int i; | int i; | |||
v = ASN1_INTEGER_get(sx->version); | ||||
BIO_printf(out, "%*sVersion: %ld (0x%lX)", indent, "", v + 1, v); | /* | |||
* Since we add 1 to the version number to display it, we don't support | ||||
* LONG_MAX since that would cause on overflow. | ||||
*/ | ||||
if (!ASN1_INTEGER_get_int64(&v, sx->version) | ||||
|| v >= LONG_MAX | ||||
|| v < LONG_MIN) { | ||||
BIO_printf(out, "%*sVersion: <unsupported>", indent, ""); | ||||
} else { | ||||
long vl = (long)v; | ||||
BIO_printf(out, "%*sVersion: %ld (0x%lX)", indent, "", vl + 1, vl); | ||||
} | ||||
for (i = 0; i < sk_SXNETID_num(sx->ids); i++) { | for (i = 0; i < sk_SXNETID_num(sx->ids); i++) { | |||
id = sk_SXNETID_value(sx->ids, i); | id = sk_SXNETID_value(sx->ids, i); | |||
tmp = i2s_ASN1_INTEGER(NULL, id->zone); | tmp = i2s_ASN1_INTEGER(NULL, id->zone); | |||
BIO_printf(out, "\n%*sZone: %s, User: ", indent, "", tmp); | BIO_printf(out, "\n%*sZone: %s, User: ", indent, "", tmp); | |||
OPENSSL_free(tmp); | OPENSSL_free(tmp); | |||
ASN1_STRING_print(out, id->user); | ASN1_STRING_print(out, id->user); | |||
} | } | |||
return 1; | return 1; | |||
} | } | |||
End of changes. 3 change blocks. | ||||
4 lines changed or deleted | 16 lines changed or added |