Most of these are trivial getters. Only X509_TRUST_add(3),
X509_PURPOSE_get_by_sname(3) and X509_PURPOSE_add(3) require a bit more
work.
Again part of sthen's bulk.
Index: lib/libcrypto/x509/x509.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/x509/x509.h,v
retrieving revision 1.50
diff -u -p -r1.50 x509.h
--- lib/libcrypto/x509/x509.h 18 May 2018 14:19:46 -0000 1.50
+++ lib/libcrypto/x509/x509.h 18 May 2018 15:02:53 -0000
@@ -1164,16 +1164,21 @@ void * X509_CRL_get_ext_d2i(const X509_C
int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value,
int crit, unsigned long flags);
-int X509_REVOKED_get_ext_count(X509_REVOKED *x);
-int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int
lastpos);
-int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x,ASN1_OBJECT
*obj,int lastpos);
-int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int
lastpos);
-X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc);
+int X509_REVOKED_get_ext_count(const X509_REVOKED *x);
+int X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid,
+ int lastpos);
+int X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x,
+ const ASN1_OBJECT *obj, int lastpos);
+int X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x,
+ int crit, int lastpos);
+X509_EXTENSION *X509_REVOKED_get_ext(const X509_REVOKED *x, int loc);
X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc);
-int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int
loc);
-void * X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit,
int *idx);
-int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void
*value, int crit,
- unsigned long flags);
+int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex,
+ int loc);
+void * X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid,
+ int *crit, int *idx);
+int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value,
+ int crit, unsigned long flags);
X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex,
int nid, int crit, ASN1_OCTET_STRING *data);
@@ -1310,11 +1315,11 @@ int X509_TRUST_get_count(void);
X509_TRUST * X509_TRUST_get0(int idx);
int X509_TRUST_get_by_id(int id);
int X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int),
- char *name, int arg1, void *arg2);
+ const char *name, int arg1, void *arg2);
void X509_TRUST_cleanup(void);
-int X509_TRUST_get_flags(X509_TRUST *xp);
-char *X509_TRUST_get0_name(X509_TRUST *xp);
-int X509_TRUST_get_trust(X509_TRUST *xp);
+int X509_TRUST_get_flags(const X509_TRUST *xp);
+char *X509_TRUST_get0_name(const X509_TRUST *xp);
+int X509_TRUST_get_trust(const X509_TRUST *xp);
int X509_up_ref(X509 *x);
STACK_OF(X509) *X509_chain_up_ref(STACK_OF(X509) *chain);
Index: lib/libcrypto/x509/x509_ext.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/x509/x509_ext.c,v
retrieving revision 1.10
diff -u -p -r1.10 x509_ext.c
--- lib/libcrypto/x509/x509_ext.c 18 May 2018 14:19:46 -0000 1.10
+++ lib/libcrypto/x509/x509_ext.c 18 May 2018 15:02:53 -0000
@@ -177,31 +177,32 @@ X509_add1_ext_i2d(X509 *x, int nid, void
}
int
-X509_REVOKED_get_ext_count(X509_REVOKED *x)
+X509_REVOKED_get_ext_count(const X509_REVOKED *x)
{
return (X509v3_get_ext_count(x->extensions));
}
int
-X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos)
+X509_REVOKED_get_ext_by_NID(const X509_REVOKED *x, int nid, int lastpos)
{
return (X509v3_get_ext_by_NID(x->extensions, nid, lastpos));
}
int
-X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x, ASN1_OBJECT *obj, int lastpos)
+X509_REVOKED_get_ext_by_OBJ(const X509_REVOKED *x, const ASN1_OBJECT *obj,
+ int lastpos)
{
return (X509v3_get_ext_by_OBJ(x->extensions, obj, lastpos));
}
int
-X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos)
+X509_REVOKED_get_ext_by_critical(const X509_REVOKED *x, int crit, int lastpos)
{
return (X509v3_get_ext_by_critical(x->extensions, crit, lastpos));
}
X509_EXTENSION *
-X509_REVOKED_get_ext(X509_REVOKED *x, int loc)
+X509_REVOKED_get_ext(const X509_REVOKED *x, int loc)
{
return (X509v3_get_ext(x->extensions, loc));
}
@@ -219,7 +220,7 @@ X509_REVOKED_add_ext(X509_REVOKED *x, X5
}
void *
-X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit, int *idx)
+X509_REVOKED_get_ext_d2i(const X509_REVOKED *x, int nid, int *crit, int *idx)
{
return X509V3_get_d2i(x->extensions, nid, crit, idx);
}
Index: lib/libcrypto/x509/x509_trs.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/x509/x509_trs.c,v
retrieving revision 1.22
diff -u -p -r1.22 x509_trs.c
--- lib/libcrypto/x509/x509_trs.c 29 Jan 2017 17:49:23 -0000 1.22
+++ lib/libcrypto/x509/x509_trs.c 18 May 2018 15:02:53 -0000
@@ -187,7 +187,7 @@ X509_TRUST_set(int *t, int trust)
int
X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int),
- char *name, int arg1, void *arg2)
+ const char *name, int arg1, void *arg2)
{
int idx;
X509_TRUST *trtmp;
@@ -274,19 +274,19 @@ X509_TRUST_cleanup(void)
}
int
-X509_TRUST_get_flags(X509_TRUST *xp)
+X509_TRUST_get_flags(const X509_TRUST *xp)
{
return xp->flags;
}
char *
-X509_TRUST_get0_name(X509_TRUST *xp)
+X509_TRUST_get0_name(const X509_TRUST *xp)
{
return xp->name;
}
int
-X509_TRUST_get_trust(X509_TRUST *xp)
+X509_TRUST_get_trust(const X509_TRUST *xp)
{
return xp->trust;
}
Index: lib/libcrypto/x509v3/v3_purp.c
===================================================================
RCS file: /cvs/src/lib/libcrypto/x509v3/v3_purp.c,v
retrieving revision 1.30
diff -u -p -r1.30 v3_purp.c
--- lib/libcrypto/x509v3/v3_purp.c 22 Jun 2017 17:28:00 -0000 1.30
+++ lib/libcrypto/x509v3/v3_purp.c 18 May 2018 15:02:53 -0000
@@ -172,7 +172,7 @@ X509_PURPOSE_get0(int idx)
}
int
-X509_PURPOSE_get_by_sname(char *sname)
+X509_PURPOSE_get_by_sname(const char *sname)
{
int i;
X509_PURPOSE *xptmp;
@@ -204,8 +204,8 @@ X509_PURPOSE_get_by_id(int purpose)
int
X509_PURPOSE_add(int id, int trust, int flags,
- int (*ck)(const X509_PURPOSE *, const X509 *, int), char *name,
- char *sname, void *arg)
+ int (*ck)(const X509_PURPOSE *, const X509 *, int), const char *name,
+ const char *sname, void *arg)
{
int idx;
X509_PURPOSE *ptmp;
@@ -302,25 +302,25 @@ X509_PURPOSE_cleanup(void)
}
int
-X509_PURPOSE_get_id(X509_PURPOSE *xp)
+X509_PURPOSE_get_id(const X509_PURPOSE *xp)
{
return xp->purpose;
}
char *
-X509_PURPOSE_get0_name(X509_PURPOSE *xp)
+X509_PURPOSE_get0_name(const X509_PURPOSE *xp)
{
return xp->name;
}
char *
-X509_PURPOSE_get0_sname(X509_PURPOSE *xp)
+X509_PURPOSE_get0_sname(const X509_PURPOSE *xp)
{
return xp->sname;
}
int
-X509_PURPOSE_get_trust(X509_PURPOSE *xp)
+X509_PURPOSE_get_trust(const X509_PURPOSE *xp)
{
return xp->trust;
}
Index: lib/libcrypto/x509v3/x509v3.h
===================================================================
RCS file: /cvs/src/lib/libcrypto/x509v3/x509v3.h,v
retrieving revision 1.25
diff -u -p -r1.25 x509v3.h
--- lib/libcrypto/x509v3/x509v3.h 13 May 2018 17:49:03 -0000 1.25
+++ lib/libcrypto/x509v3/x509v3.h 18 May 2018 15:02:53 -0000
@@ -782,16 +782,16 @@ int X509_check_issued(X509 *issuer, X509
int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid);
int X509_PURPOSE_get_count(void);
X509_PURPOSE * X509_PURPOSE_get0(int idx);
-int X509_PURPOSE_get_by_sname(char *sname);
+int X509_PURPOSE_get_by_sname(const char *sname);
int X509_PURPOSE_get_by_id(int id);
int X509_PURPOSE_add(int id, int trust, int flags,
int (*ck)(const X509_PURPOSE *, const X509 *, int),
- char *name, char *sname, void *arg);
-char *X509_PURPOSE_get0_name(X509_PURPOSE *xp);
-char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp);
-int X509_PURPOSE_get_trust(X509_PURPOSE *xp);
+ const char *name, const char *sname, void *arg);
+char *X509_PURPOSE_get0_name(const X509_PURPOSE *xp);
+char *X509_PURPOSE_get0_sname(const X509_PURPOSE *xp);
+int X509_PURPOSE_get_trust(const X509_PURPOSE *xp);
void X509_PURPOSE_cleanup(void);
-int X509_PURPOSE_get_id(X509_PURPOSE *);
+int X509_PURPOSE_get_id(const X509_PURPOSE *);
STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x);
STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x);