Sprinkle const and rk_UNCONST throughout the tests.
This commit is contained in:
committed by
Nicolas Williams
parent
814f03ad7f
commit
5589cf96c7
@@ -390,7 +390,7 @@ fuzz_stdin(krb5_context contextp)
|
||||
memset(&realm_params, 0, sizeof(realm_params));
|
||||
realm_params.mask = KADM5_CONFIG_REALM | KADM5_CONFIG_DBNAME |
|
||||
KADM5_CONFIG_ACL_FILE | KADM5_CONFIG_STASH_FILE;
|
||||
realm_params.realm = realm ? realm : "FUZZ.REALM";
|
||||
realm_params.realm = realm ? realm : rk_UNCONST("FUZZ.REALM");
|
||||
realm_params.dbname = dbname;
|
||||
realm_params.acl_file = acl_file;
|
||||
realm_params.stash_file = stash_file;
|
||||
|
||||
18
kdc/bx509d.c
18
kdc/bx509d.c
@@ -307,9 +307,9 @@ static krb5_error_code bad_req(struct bx509_request_desc *, krb5_error_code, int
|
||||
HEIMDAL_PRINTF_ATTRIBUTE((__printf__, 4, 5));
|
||||
|
||||
static krb5_error_code bad_enomem(struct bx509_request_desc *, krb5_error_code);
|
||||
static krb5_error_code bad_400(struct bx509_request_desc *, krb5_error_code, char *);
|
||||
static krb5_error_code bad_401(struct bx509_request_desc *, char *);
|
||||
static krb5_error_code bad_403(struct bx509_request_desc *, krb5_error_code, char *);
|
||||
static krb5_error_code bad_400(struct bx509_request_desc *, krb5_error_code, const char *);
|
||||
static krb5_error_code bad_401(struct bx509_request_desc *, const char *);
|
||||
static krb5_error_code bad_403(struct bx509_request_desc *, krb5_error_code, const char *);
|
||||
static krb5_error_code bad_404(struct bx509_request_desc *, const char *);
|
||||
static krb5_error_code bad_405(struct bx509_request_desc *, const char *);
|
||||
static krb5_error_code bad_500(struct bx509_request_desc *, krb5_error_code, const char *);
|
||||
@@ -360,7 +360,7 @@ validate_token(struct bx509_request_desc *r)
|
||||
r->sname = strdup(host); /* No need to check for ENOMEM here */
|
||||
|
||||
ret = kdc_validate_token(r->context, NULL /* realm */, token_type, &tok,
|
||||
(const char **)&audiences.strings[i], 1,
|
||||
(const char *const *)&audiences.strings[i], 1,
|
||||
&cprinc, &r->token_times);
|
||||
if (ret)
|
||||
return bad_403(r, ret, "Token validation failed");
|
||||
@@ -665,19 +665,19 @@ bad_enomem(struct bx509_request_desc *r, krb5_error_code ret)
|
||||
}
|
||||
|
||||
static krb5_error_code
|
||||
bad_400(struct bx509_request_desc *r, int ret, char *reason)
|
||||
bad_400(struct bx509_request_desc *r, int ret, const char *reason)
|
||||
{
|
||||
return bad_req(r, ret, MHD_HTTP_BAD_REQUEST, "%s", reason);
|
||||
}
|
||||
|
||||
static krb5_error_code
|
||||
bad_401(struct bx509_request_desc *r, char *reason)
|
||||
bad_401(struct bx509_request_desc *r, const char *reason)
|
||||
{
|
||||
return bad_req(r, EACCES, MHD_HTTP_UNAUTHORIZED, "%s", reason);
|
||||
}
|
||||
|
||||
static krb5_error_code
|
||||
bad_403(struct bx509_request_desc *r, krb5_error_code ret, char *reason)
|
||||
bad_403(struct bx509_request_desc *r, krb5_error_code ret, const char *reason)
|
||||
{
|
||||
return bad_req(r, ret, MHD_HTTP_FORBIDDEN, "%s", reason);
|
||||
}
|
||||
@@ -995,7 +995,7 @@ set_req_desc(struct MHD_Connection *connection,
|
||||
r->connection = connection;
|
||||
r->response = NULL;
|
||||
r->pp = NULL;
|
||||
r->request.data = "<HTTP-REQUEST>";
|
||||
r->request.data = rk_UNCONST("<HTTP-REQUEST>");
|
||||
r->request.length = sizeof("<HTTP-REQUEST>");
|
||||
r->from = r->frombuf;
|
||||
r->tgt_addresses.len = 0;
|
||||
@@ -2841,7 +2841,7 @@ load_plugins(krb5_context context)
|
||||
#endif
|
||||
|
||||
/* XXX kdc? */
|
||||
_krb5_load_plugins(context, "kdc", (const char **)dirs);
|
||||
_krb5_load_plugins(context, "kdc", (const char * const *)dirs);
|
||||
|
||||
#ifndef _WIN32
|
||||
krb5_config_free_strings(cfdirs);
|
||||
|
||||
@@ -512,7 +512,7 @@ validate_token(kadmin_request_desc r)
|
||||
r->sname = strdup(host); /* No need to check for ENOMEM here */
|
||||
|
||||
ret = kdc_validate_token(r->context, NULL /* realm */, token_type, &tok,
|
||||
(const char **)&audiences.strings[i], 1,
|
||||
(const char * const *)&audiences.strings[i], 1,
|
||||
&r->cprinc, &r->token_times);
|
||||
if (ret)
|
||||
return bad_403(r, ret, "Token validation failed");
|
||||
@@ -1726,7 +1726,7 @@ set_req_desc(struct MHD_Connection *connection,
|
||||
return ret;
|
||||
}
|
||||
/* HEIM_SVC_REQUEST_DESC_COMMON_ELEMENTS fields */
|
||||
r->request.data = "<HTTP-REQUEST>";
|
||||
r->request.data = rk_UNCONST("<HTTP-REQUEST>");
|
||||
r->request.length = sizeof("<HTTP-REQUEST>");
|
||||
r->from = r->frombuf;
|
||||
r->free_list = NULL;
|
||||
@@ -1862,7 +1862,7 @@ get_config(kadmin_request_desc r)
|
||||
const char *pname;
|
||||
/* Default configuration for principals that have none set: */
|
||||
size_t bodylen = sizeof("include /etc/krb5.conf\n") - 1;
|
||||
void *body = "include /etc/krb5.conf\n";
|
||||
const char *body = "include /etc/krb5.conf\n";
|
||||
int freeit = 0;
|
||||
|
||||
if (r->cname == NULL || r->cprinc == NULL)
|
||||
@@ -2423,7 +2423,7 @@ load_plugins(krb5_context context)
|
||||
#endif
|
||||
|
||||
/* XXX kdc? */
|
||||
_krb5_load_plugins(context, "kdc", (const char **)dirs);
|
||||
_krb5_load_plugins(context, "kdc", (const char * const *)dirs);
|
||||
|
||||
#ifndef _WIN32
|
||||
krb5_config_free_strings(cfdirs);
|
||||
|
||||
@@ -1205,7 +1205,7 @@ _kdc_encode_reply(krb5_context context,
|
||||
* Hide client name for privacy reasons
|
||||
*/
|
||||
if (r->fast.flags.requested_hidden_names) {
|
||||
const Realm anon_realm = KRB5_ANON_REALM;
|
||||
const Realm anon_realm = rk_UNCONST(KRB5_ANON_REALM);
|
||||
|
||||
free_Realm(&rep->crealm);
|
||||
ret = copy_Realm(&anon_realm, &rep->crealm);
|
||||
@@ -2445,7 +2445,7 @@ _kdc_as_rep(astgs_request_t r)
|
||||
|
||||
if (!config->historical_anon_realm &&
|
||||
_kdc_is_anonymous(r->context, r->client_princ)) {
|
||||
const Realm anon_realm = KRB5_ANON_REALM;
|
||||
const Realm anon_realm = rk_UNCONST(KRB5_ANON_REALM);
|
||||
|
||||
ret = copy_Realm(&anon_realm, &rep->crealm);
|
||||
} else if (f.canonicalize || r->client->flags.force_canonicalize)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
RCSID("$Id$");
|
||||
|
||||
static const unsigned char *contentdata = (unsigned char *)
|
||||
static const unsigned char *contentdata = (const unsigned char *)
|
||||
"\x30\x80\x06\x09\x2a\x86\x48\x86\xf7\x0d\x01\x07\x02\xa0\x80\x30"
|
||||
"\x80\x02\x01\x03\x31\x0b\x30\x09\x06\x05\x2b\x0e\x03\x02\x1a\x05"
|
||||
"\x00\x30\x80\x06\x07\x2b\x06\x01\x05\x02\x03\x01\xa0\x80\x24\x80"
|
||||
|
||||
@@ -167,8 +167,8 @@ print_bytes (unsigned const char *buf, size_t len)
|
||||
#define MAP_FAILED (-1)
|
||||
#endif
|
||||
|
||||
static char *current_test = "<uninit>";
|
||||
static char *current_state = "<uninit>";
|
||||
static const char *current_test = "<uninit>";
|
||||
static const char *current_state = "<uninit>";
|
||||
|
||||
static RETSIGTYPE
|
||||
segv_handler(int sig)
|
||||
@@ -196,11 +196,11 @@ int
|
||||
generic_test (const struct test_case *tests,
|
||||
unsigned ntests,
|
||||
size_t data_size,
|
||||
int (ASN1CALL *encode)(unsigned char *, size_t, void *, size_t *),
|
||||
size_t (ASN1CALL *length)(void *),
|
||||
int (ASN1CALL *encode)(unsigned char *, size_t, const void *, size_t *),
|
||||
size_t (ASN1CALL *length)(const void *),
|
||||
int (ASN1CALL *decode)(unsigned char *, size_t, void *, size_t *),
|
||||
void (ASN1CALL *free_data)(void *),
|
||||
int (*cmp)(void *a, void *b),
|
||||
int (*cmp)(const void *a, const void *b),
|
||||
int (ASN1CALL *copy)(const void *from, void *to))
|
||||
{
|
||||
unsigned char *buf, *buf2;
|
||||
@@ -266,7 +266,8 @@ generic_test (const struct test_case *tests,
|
||||
if (memcmp (buf, tests[i].bytes, tests[i].byte_len) != 0) {
|
||||
printf ("encoding of %s has bad bytes:\n"
|
||||
"correct: ", tests[i].name);
|
||||
print_bytes ((unsigned char *)tests[i].bytes, tests[i].byte_len);
|
||||
print_bytes ((const unsigned char *)tests[i].bytes,
|
||||
tests[i].byte_len);
|
||||
printf ("\nactual: ");
|
||||
print_bytes (buf, sz);
|
||||
printf ("\n");
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
do { if ((ac)->e.length != (bc)->e.length || memcmp((ac)->e.data, (bc)->e.data, (ac)->e.length) != 0) return 1; } while(0)
|
||||
|
||||
struct test_case {
|
||||
void *val;
|
||||
const void *val;
|
||||
ssize_t byte_len;
|
||||
const char *bytes;
|
||||
char *name;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
typedef int (ASN1CALL *generic_encode)(unsigned char *, size_t, void *, size_t *);
|
||||
typedef size_t (ASN1CALL *generic_length)(void *);
|
||||
typedef int (ASN1CALL *generic_encode)(unsigned char *, size_t, const void *, size_t *);
|
||||
typedef size_t (ASN1CALL *generic_length)(const void *);
|
||||
typedef int (ASN1CALL *generic_decode)(unsigned char *, size_t, void *, size_t *);
|
||||
typedef void (ASN1CALL *generic_free)(void *);
|
||||
typedef int (ASN1CALL *generic_copy)(const void *, void *);
|
||||
@@ -68,11 +68,11 @@ int
|
||||
generic_test (const struct test_case *tests,
|
||||
unsigned ntests,
|
||||
size_t data_size,
|
||||
int (ASN1CALL *encode)(unsigned char *, size_t, void *, size_t *),
|
||||
size_t (ASN1CALL *length)(void *),
|
||||
int (ASN1CALL *encode)(unsigned char *, size_t, const void *, size_t *),
|
||||
size_t (ASN1CALL *length)(const void *),
|
||||
int (ASN1CALL *decode)(unsigned char *, size_t, void *, size_t *),
|
||||
void (ASN1CALL *free_data)(void *),
|
||||
int (*cmp)(void *a, void *b),
|
||||
int (*cmp)(const void *a, const void *b),
|
||||
int (ASN1CALL *copy)(const void *a, void *b));
|
||||
|
||||
int
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
RCSID("$Id$");
|
||||
|
||||
static int
|
||||
cmp_integer (void *a, void *b)
|
||||
cmp_integer (const void *a, const void *b)
|
||||
{
|
||||
int *ia = (int *)a;
|
||||
int *ib = (int *)b;
|
||||
const int *ia = a;
|
||||
const int *ib = b;
|
||||
|
||||
return *ib - *ia;
|
||||
}
|
||||
@@ -77,23 +77,25 @@ test_integer (void)
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "integer %d", values[i]) < 0)
|
||||
if (asprintf(&name, "integer %d", values[i]) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(int),
|
||||
(generic_encode)der_put_integer,
|
||||
(generic_length) der_length_integer,
|
||||
(generic_length)der_length_integer,
|
||||
(generic_decode)der_get_integer,
|
||||
(generic_free)NULL,
|
||||
cmp_integer,
|
||||
NULL);
|
||||
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free (tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -176,9 +178,9 @@ test_integer_more (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_unsigned (void *a, void *b)
|
||||
cmp_unsigned (const void *a, const void *b)
|
||||
{
|
||||
return *(unsigned int*)b - *(unsigned int*)a;
|
||||
return *(const unsigned int*)b - *(const unsigned int*)a;
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -201,11 +203,13 @@ test_unsigned (void)
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "unsigned %u", values[i]) < 0)
|
||||
if (asprintf(&name, "unsigned %u", values[i]) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(int),
|
||||
@@ -216,12 +220,12 @@ test_unsigned (void)
|
||||
cmp_unsigned,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free (tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_octet_string (void *a, void *b)
|
||||
cmp_octet_string (const void *a, const void *b)
|
||||
{
|
||||
return der_heim_octet_string_cmp(a, b);
|
||||
}
|
||||
@@ -229,20 +233,14 @@ cmp_octet_string (void *a, void *b)
|
||||
static int
|
||||
test_octet_string (void)
|
||||
{
|
||||
heim_octet_string s1 = {8, "\x01\x23\x45\x67\x89\xab\xcd\xef"};
|
||||
heim_octet_string s1 = {8, rk_UNCONST("\x01\x23\x45\x67\x89\xab\xcd\xef")};
|
||||
|
||||
struct test_case tests[] = {
|
||||
{NULL, 8, "\x01\x23\x45\x67\x89\xab\xcd\xef", NULL }
|
||||
{&s1, 8, "\x01\x23\x45\x67\x89\xab\xcd\xef", "a octet string" }
|
||||
};
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
int ret;
|
||||
|
||||
tests[0].val = &s1;
|
||||
if (asprintf (&tests[0].name, "a octet string") < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[0].name == NULL)
|
||||
errx(1, "malloc");
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_octet_string),
|
||||
(generic_encode)der_put_octet_string,
|
||||
(generic_length)der_length_octet_string,
|
||||
@@ -250,15 +248,14 @@ test_octet_string (void)
|
||||
(generic_free)der_free_octet_string,
|
||||
cmp_octet_string,
|
||||
NULL);
|
||||
free(tests[0].name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_bmp_string (void *a, void *b)
|
||||
cmp_bmp_string (const void *a, const void *b)
|
||||
{
|
||||
heim_bmp_string *oa = (heim_bmp_string *)a;
|
||||
heim_bmp_string *ob = (heim_bmp_string *)b;
|
||||
const heim_bmp_string *oa = a;
|
||||
const heim_bmp_string *ob = b;
|
||||
|
||||
return der_heim_bmp_string_cmp(oa, ob);
|
||||
}
|
||||
@@ -273,23 +270,12 @@ test_bmp_string (void)
|
||||
heim_bmp_string s2 = { 2, bmp_d2 };
|
||||
|
||||
struct test_case tests[] = {
|
||||
{NULL, 2, "\x00\x20", NULL },
|
||||
{NULL, 4, "\x00\x20\x00\x20", NULL }
|
||||
{&s1, 2, "\x00\x20", "a bmp string" },
|
||||
{&s2, 4, "\x00\x20\x00\x20", "second bmp string" }
|
||||
};
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
int ret;
|
||||
|
||||
tests[0].val = &s1;
|
||||
if (asprintf (&tests[0].name, "a bmp string") < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[0].name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[1].val = &s2;
|
||||
if (asprintf (&tests[1].name, "second bmp string") < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[1].name == NULL)
|
||||
errx(1, "malloc");
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_bmp_string),
|
||||
(generic_encode)der_put_bmp_string,
|
||||
(generic_length)der_length_bmp_string,
|
||||
@@ -297,16 +283,14 @@ test_bmp_string (void)
|
||||
(generic_free)der_free_bmp_string,
|
||||
cmp_bmp_string,
|
||||
NULL);
|
||||
free(tests[0].name);
|
||||
free(tests[1].name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_universal_string (void *a, void *b)
|
||||
cmp_universal_string (const void *a, const void *b)
|
||||
{
|
||||
heim_universal_string *oa = (heim_universal_string *)a;
|
||||
heim_universal_string *ob = (heim_universal_string *)b;
|
||||
const heim_universal_string *oa = a;
|
||||
const heim_universal_string *ob = b;
|
||||
|
||||
return der_heim_universal_string_cmp(oa, ob);
|
||||
}
|
||||
@@ -321,23 +305,12 @@ test_universal_string (void)
|
||||
heim_universal_string s2 = { 2, universal_d2 };
|
||||
|
||||
struct test_case tests[] = {
|
||||
{NULL, 4, "\x00\x00\x00\x20", NULL },
|
||||
{NULL, 8, "\x00\x00\x00\x20\x00\x00\x00\x20", NULL }
|
||||
{&s1, 4, "\x00\x00\x00\x20", "a universal string" },
|
||||
{&s2, 8, "\x00\x00\x00\x20\x00\x00\x00\x20", "second universal string" }
|
||||
};
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
int ret;
|
||||
|
||||
tests[0].val = &s1;
|
||||
if (asprintf (&tests[0].name, "a universal string") < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[0].name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[1].val = &s2;
|
||||
if (asprintf (&tests[1].name, "second universal string") < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[1].name == NULL)
|
||||
errx(1, "malloc");
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_universal_string),
|
||||
(generic_encode)der_put_universal_string,
|
||||
(generic_length)der_length_universal_string,
|
||||
@@ -345,16 +318,14 @@ test_universal_string (void)
|
||||
(generic_free)der_free_universal_string,
|
||||
cmp_universal_string,
|
||||
NULL);
|
||||
free(tests[0].name);
|
||||
free(tests[1].name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_general_string (void *a, void *b)
|
||||
cmp_general_string (const void *a, const void *b)
|
||||
{
|
||||
char **sa = (char **)a;
|
||||
char **sb = (char **)b;
|
||||
const char *const *sa = a;
|
||||
const char *const *sb = b;
|
||||
|
||||
return strcmp (*sa, *sb);
|
||||
}
|
||||
@@ -362,18 +333,20 @@ cmp_general_string (void *a, void *b)
|
||||
static int
|
||||
test_general_string (void)
|
||||
{
|
||||
char *s1 = "Test User 1";
|
||||
const char *s1 = "Test User 1";
|
||||
|
||||
struct test_case tests[] = {
|
||||
{NULL, 11, "\x54\x65\x73\x74\x20\x55\x73\x65\x72\x20\x31", NULL }
|
||||
};
|
||||
char *name;
|
||||
int ret, ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
tests[0].val = &s1;
|
||||
if (asprintf (&tests[0].name, "the string \"%s\"", s1) < 0)
|
||||
if (asprintf(&name, "the string \"%s\"", s1) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[0].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[0].name = name;
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(unsigned char *),
|
||||
(generic_encode)der_put_general_string,
|
||||
@@ -382,15 +355,15 @@ test_general_string (void)
|
||||
(generic_free)der_free_general_string,
|
||||
cmp_general_string,
|
||||
NULL);
|
||||
free(tests[0].name);
|
||||
free(name);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_generalized_time (void *a, void *b)
|
||||
cmp_generalized_time (const void *a, const void *b)
|
||||
{
|
||||
time_t *ta = (time_t *)a;
|
||||
time_t *tb = (time_t *)b;
|
||||
const time_t *ta = a;
|
||||
const time_t *tb = b;
|
||||
|
||||
return (int)(*tb - *ta);
|
||||
}
|
||||
@@ -407,11 +380,13 @@ test_generalized_time (void)
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "time %d", (int)values[i]) < 0)
|
||||
if (asprintf(&name, "time %d", (int)values[i]) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(time_t),
|
||||
@@ -422,14 +397,16 @@ test_generalized_time (void)
|
||||
cmp_generalized_time,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free(tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
test_cmp_oid (void *a, void *b)
|
||||
test_cmp_oid(const void *a, const void *b)
|
||||
{
|
||||
return der_heim_oid_cmp((heim_oid *)a, (heim_oid *)b);
|
||||
const heim_oid *oa = a;
|
||||
const heim_oid *ob = b;
|
||||
return der_heim_oid_cmp(oa, ob);
|
||||
}
|
||||
|
||||
static unsigned oid_comp1[] = { 1, 1, 1 };
|
||||
@@ -456,11 +433,13 @@ test_oid (void)
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "oid %d", i) < 0)
|
||||
if (asprintf(&name, "oid %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_oid),
|
||||
@@ -471,14 +450,17 @@ test_oid (void)
|
||||
test_cmp_oid,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free(tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
test_cmp_bit_string (void *a, void *b)
|
||||
test_cmp_bit_string(const void *a, const void *b)
|
||||
{
|
||||
return der_heim_bit_string_cmp((heim_bit_string *)a, (heim_bit_string *)b);
|
||||
const heim_bit_string *sa = a;
|
||||
const heim_bit_string *sb = a;
|
||||
|
||||
return der_heim_bit_string_cmp(sa, sb);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -488,17 +470,19 @@ test_bit_string (void)
|
||||
{NULL, 1, "\x00", NULL }
|
||||
};
|
||||
heim_bit_string values[] = {
|
||||
{ 0, "" }
|
||||
{ 0, rk_UNCONST("") }
|
||||
};
|
||||
int i, ret;
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "bit_string %d", i) < 0)
|
||||
if (asprintf(&name, "bit_string %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_bit_string),
|
||||
@@ -509,14 +493,16 @@ test_bit_string (void)
|
||||
test_cmp_bit_string,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free(tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
test_cmp_heim_integer (void *a, void *b)
|
||||
test_cmp_heim_integer(const void *a, const void *b)
|
||||
{
|
||||
return der_heim_integer_cmp((heim_integer *)a, (heim_integer *)b);
|
||||
const heim_integer *ia = a;
|
||||
const heim_integer *ib = b;
|
||||
return der_heim_integer_cmp(ia, ib);
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -535,15 +521,15 @@ test_heim_integer (void)
|
||||
};
|
||||
|
||||
heim_integer values[] = {
|
||||
{ 1, "\x01", 1 },
|
||||
{ 1, "\xff", 1 },
|
||||
{ 2, "\x01\xff", 1 },
|
||||
{ 2, "\x10\xff", 1 },
|
||||
{ 2, "\xff\x01", 1 },
|
||||
{ 2, "\xff\x00", 1 },
|
||||
{ 0, "", 0 },
|
||||
{ 1, "\x01", 0 },
|
||||
{ 1, "\x80", 0 },
|
||||
{ 1, rk_UNCONST("\x01"), 1 },
|
||||
{ 1, rk_UNCONST("\xff"), 1 },
|
||||
{ 2, rk_UNCONST("\x01\xff"), 1 },
|
||||
{ 2, rk_UNCONST("\x10\xff"), 1 },
|
||||
{ 2, rk_UNCONST("\xff\x01"), 1 },
|
||||
{ 2, rk_UNCONST("\xff\x00"), 1 },
|
||||
{ 0, rk_UNCONST(""), 0 },
|
||||
{ 1, rk_UNCONST("\x01"), 0 },
|
||||
{ 1, rk_UNCONST("\x80"), 0 },
|
||||
};
|
||||
int i, ret;
|
||||
int ntests = sizeof(tests) / sizeof(tests[0]);
|
||||
@@ -551,11 +537,13 @@ test_heim_integer (void)
|
||||
heim_integer i2;
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "heim_integer %d", i) < 0)
|
||||
if (asprintf(&name, "heim_integer %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(heim_integer),
|
||||
@@ -566,7 +554,7 @@ test_heim_integer (void)
|
||||
test_cmp_heim_integer,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free (tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -582,9 +570,9 @@ test_heim_integer (void)
|
||||
}
|
||||
|
||||
static int
|
||||
test_cmp_boolean (void *a, void *b)
|
||||
test_cmp_boolean(const void *a, const void *b)
|
||||
{
|
||||
return !!*(int *)a != !!*(int *)b;
|
||||
return !!*(const int *)a != !!*(const int *)b;
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -602,11 +590,13 @@ test_boolean (void)
|
||||
heim_integer i2;
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "heim_boolean %d", i) < 0)
|
||||
if (asprintf(&name, "heim_boolean %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(int),
|
||||
@@ -617,7 +607,7 @@ test_boolean (void)
|
||||
test_cmp_boolean,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free (tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
@@ -822,10 +812,10 @@ check_heim_integer_same(const char *p, const char *norm_p, heim_integer *i)
|
||||
static int
|
||||
test_heim_int_format(void)
|
||||
{
|
||||
heim_integer i = { 1, "\x10", 0 };
|
||||
heim_integer i2 = { 1, "\x10", 1 };
|
||||
heim_integer i3 = { 1, "\01", 0 };
|
||||
char *p =
|
||||
heim_integer i = { 1, rk_UNCONST("\x10"), 0 };
|
||||
heim_integer i2 = { 1, rk_UNCONST("\x10"), 1 };
|
||||
heim_integer i3 = { 1, rk_UNCONST("\01"), 0 };
|
||||
const char *p =
|
||||
"FFFFFFFF" "FFFFFFFF" "C90FDAA2" "2168C234" "C4C6628B" "80DC1CD1"
|
||||
"29024E08" "8A67CC74" "020BBEA6" "3B139B22" "514A0879" "8E3404DD"
|
||||
"EF9519B3" "CD3A431B" "302B0A6D" "F25F1437" "4FE1356D" "6D51C245"
|
||||
@@ -834,7 +824,7 @@ test_heim_int_format(void)
|
||||
"FFFFFFFF" "FFFFFFFF";
|
||||
heim_integer bni = {
|
||||
128,
|
||||
"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC9\x0F\xDA\xA2"
|
||||
rk_UNCONST("\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xC9\x0F\xDA\xA2"
|
||||
"\x21\x68\xC2\x34\xC4\xC6\x62\x8B\x80\xDC\x1C\xD1"
|
||||
"\x29\x02\x4E\x08\x8A\x67\xCC\x74\x02\x0B\xBE\xA6"
|
||||
"\x3B\x13\x9B\x22\x51\x4A\x08\x79\x8E\x34\x04\xDD"
|
||||
@@ -844,7 +834,7 @@ test_heim_int_format(void)
|
||||
"\xA6\x37\xED\x6B\x0B\xFF\x5C\xB6\xF4\x06\xB7\xED"
|
||||
"\xEE\x38\x6B\xFB\x5A\x89\x9F\xA5\xAE\x9F\x24\x11"
|
||||
"\x7C\x4B\x1F\xE6\x49\x28\x66\x51\xEC\xE6\x53\x81"
|
||||
"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF",
|
||||
"\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"),
|
||||
0
|
||||
};
|
||||
heim_integer f;
|
||||
@@ -971,28 +961,32 @@ test_misc_cmp(void)
|
||||
|
||||
/* diffrent lengths are diffrent */
|
||||
{
|
||||
const heim_octet_string os1 = { 1, "a" } , os2 = { 0, NULL };
|
||||
const heim_octet_string os1 = { 1, rk_UNCONST("a") };
|
||||
const heim_octet_string os2 = { 0, NULL };
|
||||
ret = der_heim_octet_string_cmp(&os1, &os2);
|
||||
if (ret == 0)
|
||||
return 1;
|
||||
}
|
||||
/* diffrent data are diffrent */
|
||||
{
|
||||
const heim_octet_string os1 = { 1, "a" } , os2 = { 1, "b" };
|
||||
const heim_octet_string os1 = { 1, rk_UNCONST("a") };
|
||||
const heim_octet_string os2 = { 1, rk_UNCONST("b") };
|
||||
ret = der_heim_octet_string_cmp(&os1, &os2);
|
||||
if (ret == 0)
|
||||
return 1;
|
||||
}
|
||||
/* diffrent lengths are diffrent */
|
||||
{
|
||||
const heim_bit_string bs1 = { 8, "a" } , bs2 = { 7, "a" };
|
||||
const heim_bit_string bs1 = { 8, rk_UNCONST("a") };
|
||||
const heim_bit_string bs2 = { 7, rk_UNCONST("a") };
|
||||
ret = der_heim_bit_string_cmp(&bs1, &bs2);
|
||||
if (ret == 0)
|
||||
return 1;
|
||||
}
|
||||
/* diffrent data are diffrent */
|
||||
{
|
||||
const heim_bit_string bs1 = { 7, "\x0f" } , bs2 = { 7, "\x02" };
|
||||
const heim_bit_string bs1 = { 7, rk_UNCONST("\x0f") };
|
||||
const heim_bit_string bs2 = { 7, rk_UNCONST("\x02") };
|
||||
ret = der_heim_bit_string_cmp(&bs1, &bs2);
|
||||
if (ret == 0)
|
||||
return 1;
|
||||
|
||||
@@ -75,16 +75,16 @@ my_free_vers(my_vers *v)
|
||||
v->v = -1;
|
||||
}
|
||||
|
||||
static char *lha_principal[] = { "lha" };
|
||||
static char *lharoot_princ[] = { "lha", "root" };
|
||||
static char *datan_princ[] = { "host", "nutcracker.e.kth.se" };
|
||||
static char *nada_tgt_principal[] = { "krbtgt", "NADA.KTH.SE" };
|
||||
static const char *const lha_principal[] = { "lha" };
|
||||
static const char *const lharoot_princ[] = { "lha", "root" };
|
||||
static const char *const datan_princ[] = { "host", "nutcracker.e.kth.se" };
|
||||
static const char *const nada_tgt_principal[] = { "krbtgt", "NADA.KTH.SE" };
|
||||
|
||||
static int
|
||||
cmp_principal (void *a, void *b)
|
||||
cmp_principal(const void *a, const void *b)
|
||||
{
|
||||
Principal *pa = a;
|
||||
Principal *pb = b;
|
||||
const Principal *pa = a;
|
||||
const Principal *pb = b;
|
||||
int i;
|
||||
|
||||
COMPARE_STRING(pa,pb,realm);
|
||||
@@ -124,19 +124,24 @@ test_principal (void)
|
||||
|
||||
|
||||
Principal values[] = {
|
||||
{ { KRB5_NT_PRINCIPAL, { 1, lha_principal } }, "SU.SE", NULL },
|
||||
{ { KRB5_NT_PRINCIPAL, { 2, lharoot_princ } }, "SU.SE", NULL },
|
||||
{ { KRB5_NT_SRV_HST, { 2, datan_princ } }, "E.KTH.SE", NULL }
|
||||
{ { KRB5_NT_PRINCIPAL, { 1, rk_UNCONST(lha_principal) } },
|
||||
rk_UNCONST("SU.SE"), NULL },
|
||||
{ { KRB5_NT_PRINCIPAL, { 2, rk_UNCONST(lharoot_princ) } },
|
||||
rk_UNCONST("SU.SE"), NULL },
|
||||
{ { KRB5_NT_SRV_HST, { 2, rk_UNCONST(datan_princ) } },
|
||||
rk_UNCONST("E.KTH.SE"), NULL }
|
||||
};
|
||||
int i, ret;
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "Principal %d", i) < 0)
|
||||
if (asprintf(&name, "Principal %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(Principal),
|
||||
@@ -147,16 +152,16 @@ test_principal (void)
|
||||
cmp_principal,
|
||||
NULL);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free (tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_authenticator (void *a, void *b)
|
||||
cmp_authenticator(const void *a, const void *b)
|
||||
{
|
||||
Authenticator *aa = a;
|
||||
Authenticator *ab = b;
|
||||
const Authenticator *aa = a;
|
||||
const Authenticator *ab = b;
|
||||
int i;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,authenticator_vno);
|
||||
@@ -195,20 +200,24 @@ test_authenticator (void)
|
||||
};
|
||||
|
||||
Authenticator values[] = {
|
||||
{ 5, "E.KTH.SE", { KRB5_NT_PRINCIPAL, { 1, lha_principal } },
|
||||
{ 5, rk_UNCONST("E.KTH.SE"),
|
||||
{ KRB5_NT_PRINCIPAL, { 1, rk_UNCONST(lha_principal) } },
|
||||
NULL, 10, 99, NULL, NULL, NULL },
|
||||
{ 5, "SU.SE", { KRB5_NT_PRINCIPAL, { 2, lharoot_princ } },
|
||||
{ 5, rk_UNCONST("SU.SE"),
|
||||
{ KRB5_NT_PRINCIPAL, { 2, rk_UNCONST(lharoot_princ) } },
|
||||
NULL, 292, 999, NULL, NULL, NULL }
|
||||
};
|
||||
int i, ret;
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "Authenticator %d", i) < 0)
|
||||
if (asprintf(&name, "Authenticator %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(Authenticator),
|
||||
@@ -219,16 +228,16 @@ test_authenticator (void)
|
||||
cmp_authenticator,
|
||||
(generic_copy)copy_Authenticator);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free(tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_KRB_ERROR (void *a, void *b)
|
||||
cmp_KRB_ERROR(const void *a, const void *b)
|
||||
{
|
||||
KRB_ERROR *aa = a;
|
||||
KRB_ERROR *ab = b;
|
||||
const KRB_ERROR *aa = a;
|
||||
const KRB_ERROR *ab = b;
|
||||
int i;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,pvno);
|
||||
@@ -286,9 +295,10 @@ test_krb_error (void)
|
||||
};
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
KRB_ERROR e1;
|
||||
PrincipalName lhaprincipalname = { 1, { 1, lha_principal } };
|
||||
PrincipalName tgtprincipalname = { 1, { 2, nada_tgt_principal } };
|
||||
char *realm = "NADA.KTH.SE";
|
||||
PrincipalName lhaprincipalname = { 1, { 1, rk_UNCONST(lha_principal) } };
|
||||
PrincipalName tgtprincipalname = { 1, { 2, rk_UNCONST(nada_tgt_principal) } };
|
||||
char *realm = strdup("NADA.KTH.SE");
|
||||
int ret;
|
||||
|
||||
e1.pvno = 5;
|
||||
e1.msg_type = 30;
|
||||
@@ -299,27 +309,29 @@ test_krb_error (void)
|
||||
e1.error_code = 31;
|
||||
e1.crealm = &realm;
|
||||
e1.cname = &lhaprincipalname;
|
||||
e1.realm = "NADA.KTH.SE";
|
||||
e1.realm = rk_UNCONST("NADA.KTH.SE");
|
||||
e1.sname = tgtprincipalname;
|
||||
e1.e_text = NULL;
|
||||
e1.e_data = NULL;
|
||||
|
||||
tests[0].val = &e1;
|
||||
|
||||
return generic_test (tests, ntests, sizeof(KRB_ERROR),
|
||||
ret = generic_test (tests, ntests, sizeof(KRB_ERROR),
|
||||
(generic_encode)encode_KRB_ERROR,
|
||||
(generic_length)length_KRB_ERROR,
|
||||
(generic_decode)decode_KRB_ERROR,
|
||||
(generic_free)free_KRB_ERROR,
|
||||
cmp_KRB_ERROR,
|
||||
(generic_copy)copy_KRB_ERROR);
|
||||
free(realm);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_Name (void *a, void *b)
|
||||
cmp_Name(const void *a, const void *b)
|
||||
{
|
||||
Name *aa = a;
|
||||
Name *ab = b;
|
||||
const Name *aa = a;
|
||||
const Name *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,element);
|
||||
|
||||
@@ -363,13 +375,13 @@ test_Name (void)
|
||||
atv1[0].type.length = sizeof(cmp_CN)/sizeof(cmp_CN[0]);
|
||||
atv1[0].type.components = cmp_CN;
|
||||
atv1[0].value.element = choice_DirectoryString_printableString;
|
||||
atv1[0].value.u.printableString.data = "Love";
|
||||
atv1[0].value.u.printableString.data = rk_UNCONST("Love");
|
||||
atv1[0].value.u.printableString.length = 4;
|
||||
|
||||
atv1[1].type.length = sizeof(cmp_L)/sizeof(cmp_L[0]);
|
||||
atv1[1].type.components = cmp_L;
|
||||
atv1[1].value.element = choice_DirectoryString_printableString;
|
||||
atv1[1].value.u.printableString.data = "STOCKHOLM";
|
||||
atv1[1].value.u.printableString.data = rk_UNCONST("STOCKHOLM");
|
||||
atv1[1].value.u.printableString.length = 9;
|
||||
|
||||
/* n2 */
|
||||
@@ -382,13 +394,13 @@ test_Name (void)
|
||||
atv2[0].type.length = sizeof(cmp_L)/sizeof(cmp_L[0]);
|
||||
atv2[0].type.components = cmp_L;
|
||||
atv2[0].value.element = choice_DirectoryString_printableString;
|
||||
atv2[0].value.u.printableString.data = "STOCKHOLM";
|
||||
atv2[0].value.u.printableString.data = rk_UNCONST("STOCKHOLM");
|
||||
atv2[0].value.u.printableString.length = 9;
|
||||
|
||||
atv2[1].type.length = sizeof(cmp_CN)/sizeof(cmp_CN[0]);
|
||||
atv2[1].type.components = cmp_CN;
|
||||
atv2[1].value.element = choice_DirectoryString_printableString;
|
||||
atv2[1].value.u.printableString.data = "Love";
|
||||
atv2[1].value.u.printableString.data = rk_UNCONST("Love");
|
||||
atv2[1].value.u.printableString.length = 4;
|
||||
|
||||
/* */
|
||||
@@ -405,10 +417,10 @@ test_Name (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_KeyUsage (void *a, void *b)
|
||||
cmp_KeyUsage(const void *a, const void *b)
|
||||
{
|
||||
KeyUsage *aa = a;
|
||||
KeyUsage *ab = b;
|
||||
const KeyUsage *aa = a;
|
||||
const KeyUsage *ab = b;
|
||||
|
||||
return KeyUsage2int(*aa) != KeyUsage2int(*ab);
|
||||
}
|
||||
@@ -465,10 +477,10 @@ test_bit_string (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TicketFlags (void *a, void *b)
|
||||
cmp_TicketFlags(const void *a, const void *b)
|
||||
{
|
||||
TicketFlags *aa = a;
|
||||
TicketFlags *ab = b;
|
||||
const TicketFlags *aa = a;
|
||||
const TicketFlags *ab = b;
|
||||
|
||||
return TicketFlags2int(*aa) != TicketFlags2int(*ab);
|
||||
}
|
||||
@@ -525,10 +537,10 @@ test_bit_string_rfc1510 (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_KerberosTime (void *a, void *b)
|
||||
cmp_KerberosTime(const void *a, const void *b)
|
||||
{
|
||||
KerberosTime *aa = a;
|
||||
KerberosTime *ab = b;
|
||||
const KerberosTime *aa = a;
|
||||
const KerberosTime *ab = b;
|
||||
|
||||
return *aa != *ab;
|
||||
}
|
||||
@@ -669,7 +681,7 @@ test_cert(void)
|
||||
|
||||
for (i = 0; i < sizeof(certs)/sizeof(certs[0]); i++) {
|
||||
|
||||
ret = decode_Certificate((unsigned char *)certs[i].cert,
|
||||
ret = decode_Certificate((const unsigned char *)certs[i].cert,
|
||||
certs[i].len, &c, &size);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -759,7 +771,7 @@ test_SignedData(void)
|
||||
|
||||
for (i = 0; i < sizeof(signeddata) / sizeof(signeddata[0]); i++) {
|
||||
|
||||
ret = decode_SignedData((unsigned char *)signeddata[i].sd,
|
||||
ret = decode_SignedData((const unsigned char *)signeddata[i].sd,
|
||||
signeddata[i].len, &sd, &size);
|
||||
if (ret)
|
||||
return ret;
|
||||
@@ -772,10 +784,10 @@ test_SignedData(void)
|
||||
|
||||
|
||||
static int
|
||||
cmp_TESTLargeTag (void *a, void *b)
|
||||
cmp_TESTLargeTag(const void *a, const void *b)
|
||||
{
|
||||
TESTLargeTag *aa = a;
|
||||
TESTLargeTag *ab = b;
|
||||
const TESTLargeTag *aa = a;
|
||||
const TESTLargeTag *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,foo);
|
||||
COMPARE_INTEGER(aa,ab,bar);
|
||||
@@ -811,7 +823,7 @@ struct test_data {
|
||||
int ok;
|
||||
size_t len;
|
||||
size_t expected_len;
|
||||
void *data;
|
||||
const void *data;
|
||||
};
|
||||
|
||||
static int
|
||||
@@ -993,7 +1005,7 @@ check_tag_length64s(void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTChoice (void *a, void *b)
|
||||
cmp_TESTChoice(const void *a, const void *b)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -1031,7 +1043,7 @@ test_choice (void)
|
||||
|
||||
memset(&c2_2, 0, sizeof(c2_2));
|
||||
c2_2.element = choice_TESTChoice2_asn1_ellipsis;
|
||||
c2_2.u.asn1_ellipsis.data = "\xa2\x03\x02\x01\x02";
|
||||
c2_2.u.asn1_ellipsis.data = rk_UNCONST("\xa2\x03\x02\x01\x02");
|
||||
c2_2.u.asn1_ellipsis.length = 5;
|
||||
tests[1].val = &c2_2;
|
||||
|
||||
@@ -1142,7 +1154,7 @@ test_extensible_choice(void)
|
||||
free_PA_FX_FAST_REQUEST(&r2);
|
||||
|
||||
r.element = 0;
|
||||
r.u.asn1_ellipsis.data = "hello";
|
||||
r.u.asn1_ellipsis.data = rk_UNCONST("hello");
|
||||
r.u.asn1_ellipsis.length = sizeof("hello") - 1;
|
||||
ret = copy_PA_FX_FAST_REQUEST(&r, &r2);
|
||||
if (ret)
|
||||
@@ -1261,10 +1273,10 @@ test_decorated_choice(void)
|
||||
|
||||
|
||||
static int
|
||||
cmp_TESTImplicit (void *a, void *b)
|
||||
cmp_TESTImplicit(const void *a, const void *b)
|
||||
{
|
||||
TESTImplicit *aa = a;
|
||||
TESTImplicit *ab = b;
|
||||
const TESTImplicit *aa = a;
|
||||
const TESTImplicit *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,ti1);
|
||||
COMPARE_INTEGER(aa,ab,ti2.foo);
|
||||
@@ -1273,10 +1285,10 @@ cmp_TESTImplicit (void *a, void *b)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTImplicit2 (void *a, void *b)
|
||||
cmp_TESTImplicit2(const void *a, const void *b)
|
||||
{
|
||||
TESTImplicit2 *aa = a;
|
||||
TESTImplicit2 *ab = b;
|
||||
const TESTImplicit2 *aa = a;
|
||||
const TESTImplicit2 *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,ti1);
|
||||
COMPARE_INTEGER(aa,ab,ti3);
|
||||
@@ -1287,10 +1299,10 @@ cmp_TESTImplicit2 (void *a, void *b)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTImplicit3 (void *a, void *b)
|
||||
cmp_TESTImplicit3(const void *a, const void *b)
|
||||
{
|
||||
TESTImplicit3 *aa = a;
|
||||
TESTImplicit3 *ab = b;
|
||||
const TESTImplicit3 *aa = a;
|
||||
const TESTImplicit3 *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,element);
|
||||
if (aa->element == choice_TESTImplicit3_ti1) {
|
||||
@@ -1303,10 +1315,10 @@ cmp_TESTImplicit3 (void *a, void *b)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTImplicit4 (void *a, void *b)
|
||||
cmp_TESTImplicit4(const void *a, const void *b)
|
||||
{
|
||||
TESTImplicit4 *aa = a;
|
||||
TESTImplicit4 *ab = b;
|
||||
const TESTImplicit4 *aa = a;
|
||||
const TESTImplicit4 *ab = b;
|
||||
|
||||
COMPARE_INTEGER(aa,ab,element);
|
||||
if (aa->element == choice_TESTImplicit4_ti1) {
|
||||
@@ -1445,10 +1457,10 @@ test_implicit (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTAlloc (void *a, void *b)
|
||||
cmp_TESTAlloc(const void *a, const void *b)
|
||||
{
|
||||
TESTAlloc *aa = a;
|
||||
TESTAlloc *ab = b;
|
||||
const TESTAlloc *aa = a;
|
||||
const TESTAlloc *ab = b;
|
||||
|
||||
IF_OPT_COMPARE(aa,ab,tagless) {
|
||||
COMPARE_INTEGER(aa,ab,tagless->ai);
|
||||
@@ -1516,7 +1528,7 @@ test_taglessalloc (void)
|
||||
c3.tagless = NULL;
|
||||
c3.three = 4;
|
||||
c3.tagless2 = &any3;
|
||||
any3.data = "\x02\x01\x05";
|
||||
any3.data = rk_UNCONST("\x02\x01\x05");
|
||||
any3.length = 3;
|
||||
tests[2].val = &c3;
|
||||
|
||||
@@ -1534,10 +1546,10 @@ test_taglessalloc (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTOptional (void *a, void *b)
|
||||
cmp_TESTOptional(const void *a, const void *b)
|
||||
{
|
||||
TESTOptional *aa = a;
|
||||
TESTOptional *ab = b;
|
||||
const TESTOptional *aa = a;
|
||||
const TESTOptional *ab = b;
|
||||
|
||||
IF_OPT_COMPARE(aa,ab,zero) {
|
||||
COMPARE_OPT_INTEGER(aa,ab,zero);
|
||||
@@ -1867,10 +1879,10 @@ check_TESTMechTypeList(void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_TESTSeqOf4(void *a, void *b)
|
||||
cmp_TESTSeqOf4(const void *a, const void *b)
|
||||
{
|
||||
TESTSeqOf4 *aa = a;
|
||||
TESTSeqOf4 *ab = b;
|
||||
const TESTSeqOf4 *aa = a;
|
||||
const TESTSeqOf4 *ab = b;
|
||||
int i;
|
||||
|
||||
IF_OPT_COMPARE(aa, ab, b1) {
|
||||
@@ -1987,33 +1999,33 @@ test_seq4 (void)
|
||||
c[2].b3 = NULL;
|
||||
tests[2].val = &c[2];
|
||||
|
||||
b1val[3].s1.data = "";
|
||||
b1val[3].s1.data = rk_UNCONST("");
|
||||
b1val[3].s1.length = 0;
|
||||
b1val[3].u1 = 1LL;
|
||||
b1val[3].s2.data = "\x01\x02";
|
||||
b1val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b1val[3].s2.length = 2;
|
||||
b1val[3].u2 = -1LL;
|
||||
|
||||
b2val[3].s1.data = "";
|
||||
b2val[3].s1.data = rk_UNCONST("");
|
||||
b2val[3].s1.length = 0;
|
||||
b2val[3].u1 = 1LL;
|
||||
b2val[3].s2.data = "\x01\x02";
|
||||
b2val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b2val[3].s2.length = 2;
|
||||
b2val[3].u2 = -1LL;
|
||||
b2val[3].s3.data = "\x00\x01\x02\x03";
|
||||
b2val[3].s3.data = rk_UNCONST("\x00\x01\x02\x03");
|
||||
b2val[3].s3.length = 4;
|
||||
b2val[3].u3 = 1LL<<63;
|
||||
|
||||
b3val[3].s1.data = "";
|
||||
b3val[3].s1.data = rk_UNCONST("");
|
||||
b3val[3].s1.length = 0;
|
||||
b3val[3].u1 = 1LL;
|
||||
b3val[3].s2.data = "\x01\x02";
|
||||
b3val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b3val[3].s2.length = 2;
|
||||
b3val[3].u2 = -1LL;
|
||||
b3val[3].s3.data = "\x00\x01\x02\x03";
|
||||
b3val[3].s3.data = rk_UNCONST("\x00\x01\x02\x03");
|
||||
b3val[3].s3.length = 4;
|
||||
b3val[3].u3 = 1LL<<63;
|
||||
b3val[3].s4.data = "\x00";
|
||||
b3val[3].s4.data = rk_UNCONST("\x00");
|
||||
b3val[3].s4.length = 1;
|
||||
b3val[3].u4 = 1LL<<32;
|
||||
|
||||
@@ -2039,10 +2051,10 @@ test_seq4 (void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_test_seqof5 (void *a, void *b)
|
||||
cmp_test_seqof5(const void *a, const void *b)
|
||||
{
|
||||
TESTSeqOf5 *aval = a;
|
||||
TESTSeqOf5 *bval = b;
|
||||
const TESTSeqOf5 *aval = a;
|
||||
const TESTSeqOf5 *bval = b;
|
||||
|
||||
IF_OPT_COMPARE(aval, bval, outer) {
|
||||
COMPARE_INTEGER(&aval->outer->inner, &bval->outer->inner, u0);
|
||||
@@ -2133,10 +2145,10 @@ test_seqof5(void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_default(void *a, void *b)
|
||||
cmp_default(const void *a, const void *b)
|
||||
{
|
||||
TESTDefault *aa = a;
|
||||
TESTDefault *ab = b;
|
||||
const TESTDefault *aa = a;
|
||||
const TESTDefault *ab = b;
|
||||
|
||||
COMPARE_STRING(aa,ab,name);
|
||||
COMPARE_INTEGER(aa,ab,version);
|
||||
@@ -2173,23 +2185,25 @@ test_default(void)
|
||||
|
||||
TESTDefault values[] = {
|
||||
#ifndef DISABLE_TEST_64
|
||||
{ "Heimdal", 8, 9223372036854775807LL, 1 },
|
||||
{ rk_UNCONST("Heimdal"), 8, 9223372036854775807LL, 1 },
|
||||
#endif
|
||||
{ "heimdal", 7, 2147483647, 0 },
|
||||
{ rk_UNCONST("heimdal"), 7, 2147483647, 0 },
|
||||
#ifndef DISABLE_TEST_64
|
||||
{ "Heimdal", 7, 9223372036854775807LL, 0 },
|
||||
{ rk_UNCONST("Heimdal"), 7, 9223372036854775807LL, 0 },
|
||||
#endif
|
||||
{ "heimdal", 8, 2147483647, 1 },
|
||||
{ rk_UNCONST("heimdal"), 8, 2147483647, 1 },
|
||||
};
|
||||
int i, ret;
|
||||
int ntests = sizeof(tests) / sizeof(*tests);
|
||||
|
||||
for (i = 0; i < ntests; ++i) {
|
||||
char *name;
|
||||
tests[i].val = &values[i];
|
||||
if (asprintf (&tests[i].name, "TESTDefault %d", i) < 0)
|
||||
if (asprintf(&name, "TESTDefault %d", i) < 0)
|
||||
errx(1, "malloc");
|
||||
if (tests[i].name == NULL)
|
||||
if (name == NULL)
|
||||
errx(1, "malloc");
|
||||
tests[i].name = name;
|
||||
}
|
||||
|
||||
ret = generic_test (tests, ntests, sizeof(TESTDefault),
|
||||
@@ -2200,7 +2214,7 @@ test_default(void)
|
||||
cmp_default,
|
||||
(generic_copy)copy_TESTDefault);
|
||||
for (i = 0; i < ntests; ++i)
|
||||
free(tests[i].name);
|
||||
free(rk_UNCONST(tests[i].name));
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@ my_free_vers(my_vers *v)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_dummy (void *a, void *b)
|
||||
cmp_dummy(const void *a, const void *b)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -169,8 +169,8 @@ test_seqofseq2(void)
|
||||
TESTSeqOfSeq2 c0, c1, c2;
|
||||
struct TESTSeqOfSeq2_val i[2];
|
||||
|
||||
i[0].string = "ett";
|
||||
i[1].string = "tvaa";
|
||||
i[0].string = rk_UNCONST("ett");
|
||||
i[1].string = rk_UNCONST("tvaa");
|
||||
|
||||
c0.len = 0;
|
||||
c0.val = NULL;
|
||||
@@ -213,8 +213,8 @@ test_seqof2(void)
|
||||
TESTSeqOf2 c0, c1, c2;
|
||||
heim_general_string i[2];
|
||||
|
||||
i[0] = "foo";
|
||||
i[1] = "bar";
|
||||
i[0] = rk_UNCONST("foo");
|
||||
i[1] = rk_UNCONST("bar");
|
||||
|
||||
c0.strings.val = NULL;
|
||||
c0.strings.len = 0;
|
||||
@@ -261,8 +261,8 @@ test_seqof3(void)
|
||||
struct TESTSeqOf3_strings s1, s2, s3;
|
||||
heim_general_string i[2];
|
||||
|
||||
i[0] = "foo";
|
||||
i[1] = "bar";
|
||||
i[0] = rk_UNCONST("foo");
|
||||
i[1] = rk_UNCONST("bar");
|
||||
|
||||
c0.strings = NULL;
|
||||
tests[0].val = &c0;
|
||||
@@ -370,33 +370,33 @@ test_seqof4(void)
|
||||
c[2].b3 = NULL;
|
||||
tests[2].val = &c[2];
|
||||
|
||||
b1val[3].s1.data = "";
|
||||
b1val[3].s1.data = rk_UNCONST("");
|
||||
b1val[3].s1.length = 0;
|
||||
b1val[3].u1 = 1LL;
|
||||
b1val[3].s2.data = "\x01\x02";
|
||||
b1val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b1val[3].s2.length = 2;
|
||||
b1val[3].u2 = (TESTuint64)-1LL;
|
||||
|
||||
b2val[3].s1.data = "";
|
||||
b2val[3].s1.data = rk_UNCONST("");
|
||||
b2val[3].s1.length = 0;
|
||||
b2val[3].u1 = 1LL;
|
||||
b2val[3].s2.data = "\x01\x02";
|
||||
b2val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b2val[3].s2.length = 2;
|
||||
b2val[3].u2 = (TESTuint64)-1LL;
|
||||
b2val[3].s3.data = "\x00\x01\x02\x03";
|
||||
b2val[3].s3.data = rk_UNCONST("\x00\x01\x02\x03");
|
||||
b2val[3].s3.length = 4;
|
||||
b2val[3].u3 = 1ULL<<63;
|
||||
|
||||
b3val[3].s1.data = "";
|
||||
b3val[3].s1.data = rk_UNCONST("");
|
||||
b3val[3].s1.length = 0;
|
||||
b3val[3].u1 = 1LL;
|
||||
b3val[3].s2.data = "\x01\x02";
|
||||
b3val[3].s2.data = rk_UNCONST("\x01\x02");
|
||||
b3val[3].s2.length = 2;
|
||||
b3val[3].u2 = (TESTuint64)-1LL;
|
||||
b3val[3].s3.data = "\x00\x01\x02\x03";
|
||||
b3val[3].s3.data = rk_UNCONST("\x00\x01\x02\x03");
|
||||
b3val[3].s3.length = 4;
|
||||
b3val[3].u3 = 1ULL<<63;
|
||||
b3val[3].s4.data = "\x00";
|
||||
b3val[3].s4.data = rk_UNCONST("\x00");
|
||||
b3val[3].s4.length = 1;
|
||||
b3val[3].u4 = 1LL<<32;
|
||||
|
||||
@@ -422,10 +422,10 @@ test_seqof4(void)
|
||||
}
|
||||
|
||||
static int
|
||||
cmp_test_seqof5 (void *a, void *b)
|
||||
cmp_test_seqof5(const void *a, const void *b)
|
||||
{
|
||||
TESTSeqOf5 *aval = a;
|
||||
TESTSeqOf5 *bval = b;
|
||||
const TESTSeqOf5 *aval = a;
|
||||
const TESTSeqOf5 *bval = b;
|
||||
|
||||
IF_OPT_COMPARE(aval, bval, outer) {
|
||||
COMPARE_INTEGER(&aval->outer->inner, &bval->outer->inner, u0);
|
||||
|
||||
@@ -102,7 +102,7 @@ gss_err(int exitval,
|
||||
|
||||
#define MAKE_URN(tail) \
|
||||
{ sizeof(GSS_KRB5_NAME_ATTRIBUTE_BASE_URN tail) - 1, \
|
||||
GSS_KRB5_NAME_ATTRIBUTE_BASE_URN tail }
|
||||
rk_UNCONST(GSS_KRB5_NAME_ATTRIBUTE_BASE_URN tail) }
|
||||
|
||||
/*
|
||||
* Test RFC6680 name attributes for Kerberos.
|
||||
@@ -161,7 +161,7 @@ check_name_attrs(void)
|
||||
|
||||
/* Test the attributes we expect it to have */
|
||||
v.length = sizeof("TEST.H5L.SE") - 1;
|
||||
v.value = "TEST.H5L.SE";
|
||||
v.value = rk_UNCONST("TEST.H5L.SE");
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "realm", GSS_S_COMPLETE,
|
||||
&v, "TEST.H5L.SE", 0, 1, 0);
|
||||
|
||||
@@ -172,7 +172,7 @@ check_name_attrs(void)
|
||||
GSS_S_COMPLETE, &v, "1", 0, 1, 0);
|
||||
|
||||
v.length = sizeof("someuser") - 1;
|
||||
v.value = "someuser";
|
||||
v.value = rk_UNCONST("someuser");
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "name-ncomp#0",
|
||||
GSS_S_COMPLETE, &v, "someuser", 0, 1, 0);
|
||||
|
||||
@@ -216,7 +216,7 @@ check_name_attrs(void)
|
||||
make_composite_name(&p, &n);
|
||||
|
||||
v.length = sizeof("TEST.H5L.SE") - 1;
|
||||
v.value = "TEST.H5L.SE";
|
||||
v.value = rk_UNCONST("TEST.H5L.SE");
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "realm", GSS_S_COMPLETE,
|
||||
&v, "TEST.H5L.SE", 1, 1, 0);
|
||||
|
||||
@@ -227,7 +227,7 @@ check_name_attrs(void)
|
||||
GSS_S_COMPLETE, &v, "1", 1, 1, 0);
|
||||
|
||||
v.length = sizeof("someuser") - 1;
|
||||
v.value = "someuser";
|
||||
v.value = rk_UNCONST("someuser");
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "name-ncomp#0",
|
||||
GSS_S_COMPLETE, &v, "someuser", 1, 1, 0);
|
||||
|
||||
@@ -240,7 +240,7 @@ check_name_attrs(void)
|
||||
make_composite_name(&p, &n);
|
||||
|
||||
v.length = sizeof("FOO.TEST.H5L.SE") - 1;
|
||||
v.value = "FOO.TEST.H5L.SE";
|
||||
v.value = rk_UNCONST("FOO.TEST.H5L.SE");
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "peer-realm",
|
||||
GSS_S_COMPLETE, &v, "FOO.TEST.H5L.SE", 1, 1, 0);
|
||||
attr_set.count = 4;
|
||||
@@ -280,7 +280,7 @@ check_name_attrs(void)
|
||||
|
||||
assert_attr(n, GSS_KRB5_NAME_ATTRIBUTE_BASE_URN "ticket-authz-data",
|
||||
GSS_S_COMPLETE, &v, NULL, 0, 1, 0);
|
||||
free(v.value);
|
||||
free(v.value); /* XXX !!! ??? */
|
||||
|
||||
attr_set.count = 7;
|
||||
assert_attr_set(n, &attr_set);
|
||||
|
||||
@@ -303,7 +303,7 @@ init_openssl_hx509_with_propq(hx509_context context,
|
||||
|
||||
/* Try to publish */
|
||||
ossl->next = first;
|
||||
if ((old = heim_base_cas_pointer((void *)&cached_ossl_hx509,
|
||||
if ((old = heim_base_cas_pointer((void * _Atomic *)&cached_ossl_hx509,
|
||||
first, ossl)) == first) {
|
||||
/*
|
||||
* Published! Take one more ref for the reference from the global
|
||||
|
||||
@@ -3443,7 +3443,7 @@ jwt_verify(struct jwt_verify_options *opt, int argc, char **argv)
|
||||
|
||||
ret = hx509_jwt_verify(context,
|
||||
token,
|
||||
(const char **)pem_keys,
|
||||
(const char * const *)pem_keys,
|
||||
num_keys,
|
||||
opt->audience_string,
|
||||
0, /* use current time */
|
||||
|
||||
@@ -309,7 +309,7 @@ verify_signature(hx509_jws_alg alg, EVP_PKEY *pkey,
|
||||
if (use_sig == NULL)
|
||||
goto out;
|
||||
} else {
|
||||
use_sig = (unsigned char *)sig;
|
||||
use_sig = (unsigned char *)rk_UNCONST(sig);
|
||||
use_sig_len = sig_len;
|
||||
}
|
||||
|
||||
@@ -498,7 +498,7 @@ key_matches_alg(EVP_PKEY *pkey, hx509_jws_alg alg)
|
||||
HX509_LIB_FUNCTION int HX509_LIB_CALL
|
||||
hx509_jws_verify(hx509_context context,
|
||||
const char *token,
|
||||
const char **pem_keys,
|
||||
const char * const *pem_keys,
|
||||
size_t num_keys,
|
||||
void **payload_out,
|
||||
size_t *payload_len_out)
|
||||
@@ -1035,7 +1035,7 @@ out:
|
||||
HX509_LIB_FUNCTION int HX509_LIB_CALL
|
||||
hx509_jwt_verify(hx509_context context,
|
||||
const char *token,
|
||||
const char **pem_keys,
|
||||
const char * const *pem_keys,
|
||||
size_t num_keys,
|
||||
const char *required_aud,
|
||||
time_t time_now,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
struct foo {
|
||||
int val;
|
||||
char *str;
|
||||
const char *str;
|
||||
} foo[] = {
|
||||
{ 0, "FALSE" },
|
||||
{ 1, "TRUE" },
|
||||
|
||||
@@ -40,14 +40,14 @@ static CK_FUNCTION_LIST_PTR func;
|
||||
|
||||
static CK_RV
|
||||
find_object(CK_SESSION_HANDLE session,
|
||||
char *id,
|
||||
const char *id,
|
||||
CK_OBJECT_CLASS key_class,
|
||||
CK_OBJECT_HANDLE_PTR object)
|
||||
{
|
||||
CK_ULONG object_count;
|
||||
CK_RV ret;
|
||||
CK_ATTRIBUTE search_data[] = {
|
||||
{CKA_ID, id, 0 },
|
||||
{CKA_ID, rk_UNCONST(id), 0 },
|
||||
{CKA_CLASS, &key_class, sizeof(key_class)}
|
||||
};
|
||||
CK_ULONG num_search_data = sizeof(search_data)/sizeof(search_data[0]);
|
||||
@@ -73,7 +73,7 @@ find_object(CK_SESSION_HANDLE session,
|
||||
return CKR_OK;
|
||||
}
|
||||
|
||||
static char *sighash = "hej";
|
||||
static const char *sighash = "hej";
|
||||
static char signature[1024];
|
||||
|
||||
|
||||
@@ -130,7 +130,7 @@ main(int argc, char **argv)
|
||||
|
||||
if (token_info.flags & CKF_LOGIN_REQUIRED) {
|
||||
ret = (*func->C_Login)(session, CKU_USER,
|
||||
(unsigned char*)"foobar", 6);
|
||||
(unsigned char *)rk_UNCONST("foobar"), 6);
|
||||
if (ret != CKR_OK)
|
||||
errx(1, "C_Login failed: %d", (int)ret);
|
||||
}
|
||||
@@ -161,7 +161,8 @@ main(int argc, char **argv)
|
||||
return 1;
|
||||
|
||||
ck_sigsize = sizeof(signature);
|
||||
ret = (*func->C_Sign)(session, (CK_BYTE *)sighash, strlen(sighash),
|
||||
ret = (*func->C_Sign)(session,
|
||||
(CK_BYTE *)rk_UNCONST(sighash), strlen(sighash),
|
||||
(CK_BYTE *)signature, &ck_sigsize);
|
||||
if (ret != CKR_OK) {
|
||||
printf("C_Sign failed with: %d\n", (int)ret);
|
||||
@@ -173,7 +174,7 @@ main(int argc, char **argv)
|
||||
return 1;
|
||||
|
||||
ret = (*func->C_Verify)(session, (CK_BYTE *)signature, ck_sigsize,
|
||||
(CK_BYTE *)sighash, strlen(sighash));
|
||||
(CK_BYTE *)rk_UNCONST(sighash), strlen(sighash));
|
||||
if (ret != CKR_OK) {
|
||||
printf("message: %d\n", (int)ret);
|
||||
return 1;
|
||||
|
||||
@@ -47,15 +47,15 @@ hex_dump_data(const void *data, size_t length)
|
||||
free(p);
|
||||
}
|
||||
|
||||
struct {
|
||||
char *password;
|
||||
char *salt;
|
||||
const struct {
|
||||
const char *password;
|
||||
const char *salt;
|
||||
int saltlen;
|
||||
int iterations;
|
||||
krb5_enctype enctype;
|
||||
size_t keylen;
|
||||
char *pbkdf2;
|
||||
char *key;
|
||||
const char *pbkdf2;
|
||||
const char *key;
|
||||
} keys[] = {
|
||||
{
|
||||
"password",
|
||||
@@ -223,11 +223,11 @@ string_to_key_test(krb5_context context)
|
||||
|
||||
for (i = 0; i < sizeof(keys)/sizeof(keys[0]); i++) {
|
||||
|
||||
password.data = keys[i].password;
|
||||
password.data = rk_UNCONST(keys[i].password);
|
||||
password.length = strlen(password.data);
|
||||
|
||||
salt.salttype = KRB5_PW_SALT;
|
||||
salt.saltvalue.data = keys[i].salt;
|
||||
salt.saltvalue.data = rk_UNCONST(keys[i].salt);
|
||||
if (keys[i].saltlen == -1)
|
||||
salt.saltvalue.length = strlen(salt.saltvalue.data);
|
||||
else
|
||||
@@ -590,17 +590,17 @@ krb_enc_mit(krb5_context context,
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct {
|
||||
const struct {
|
||||
krb5_enctype enctype;
|
||||
unsigned usage;
|
||||
size_t keylen;
|
||||
void *key;
|
||||
const void *key;
|
||||
size_t elen;
|
||||
void* edata;
|
||||
const void *edata;
|
||||
size_t plen;
|
||||
void *pdata;
|
||||
const void *pdata;
|
||||
size_t clen; /* checksum length */
|
||||
void *cdata; /* checksum data */
|
||||
const void *cdata; /* checksum data */
|
||||
} krbencs[] = {
|
||||
{
|
||||
ETYPE_AES256_CTS_HMAC_SHA1_96,
|
||||
@@ -753,7 +753,7 @@ krb_enc_test(krb5_context context)
|
||||
|
||||
kb.keytype = krbencs[i].enctype;
|
||||
kb.keyvalue.length = krbencs[i].keylen;
|
||||
kb.keyvalue.data = krbencs[i].key;
|
||||
kb.keyvalue.data = rk_UNCONST(krbencs[i].key);
|
||||
|
||||
ret = krb5_crypto_init(context, &kb, krbencs[i].enctype, &crypto);
|
||||
if (ret)
|
||||
@@ -761,9 +761,9 @@ krb_enc_test(krb5_context context)
|
||||
ret, i);
|
||||
|
||||
cipher.length = krbencs[i].elen;
|
||||
cipher.data = krbencs[i].edata;
|
||||
cipher.data = rk_UNCONST(krbencs[i].edata);
|
||||
plain.length = krbencs[i].plen;
|
||||
plain.data = krbencs[i].pdata;
|
||||
plain.data = rk_UNCONST(krbencs[i].pdata);
|
||||
|
||||
ret = krb_enc(context, crypto, krbencs[i].usage, &cipher, &plain);
|
||||
|
||||
@@ -791,7 +791,7 @@ krb_enc_test(krb5_context context)
|
||||
krb5_data checksum;
|
||||
|
||||
checksum.length = krbencs[i].clen;
|
||||
checksum.data = krbencs[i].cdata;
|
||||
checksum.data = rk_UNCONST(krbencs[i].cdata);
|
||||
|
||||
ret = krb_checksum_iov(context, crypto, krbencs[i].usage,
|
||||
&plain, &checksum);
|
||||
@@ -837,12 +837,12 @@ iov_test(krb5_context context, krb5_enctype enctype)
|
||||
if (ret)
|
||||
krb5_err(context, 1, ret, "krb5_crypto_length");
|
||||
|
||||
signonly.data = "This should be signed";
|
||||
signonly.data = rk_UNCONST("This should be signed");
|
||||
signonly.length = strlen(signonly.data);
|
||||
in.data = "inputdata";
|
||||
in.data = rk_UNCONST("inputdata");
|
||||
in.length = strlen(in.data);
|
||||
|
||||
in2.data = "INPUTDATA";
|
||||
in2.data = rk_UNCONST("INPUTDATA");
|
||||
in2.length = strlen(in2.data);
|
||||
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ init_openssl_with_propq(krb5_context context,
|
||||
krb5_context_ossl old = first;
|
||||
|
||||
/* Try to publish */
|
||||
if ((old = heim_base_cas_pointer((void *)&cached_ossl,
|
||||
if ((old = heim_base_cas_pointer((void * _Atomic *)&cached_ossl,
|
||||
first, ossl)) == first) {
|
||||
/*
|
||||
* Published! Take one more ref for the reference from the global
|
||||
|
||||
@@ -152,7 +152,7 @@ _krb5_evp_hmac_iov(krb5_context context,
|
||||
const char *mdname = EVP_MD_get0_name(md); // can't be NULL can it
|
||||
krb5_data current = {0, NULL};
|
||||
OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, (char *)mdname, 0),
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, rk_UNCONST(mdname), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
size_t outlen = 0;
|
||||
|
||||
@@ -342,7 +342,7 @@ _krb5_hmac_start_ossl(krb5_context context,
|
||||
{
|
||||
const char *mdname = EVP_MD_get0_name(md); // can't be NULL can it
|
||||
OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, (char *)mdname, 0),
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, rk_UNCONST(mdname), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
EVP_MAC *mac;
|
||||
|
||||
@@ -1305,7 +1305,6 @@ is_default_collection(krb5_context context, const char *name,
|
||||
const char * const *def_locs, int *res)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
const char *def_loc[2] = { KRB5_DEFAULT_CCNAME_FILE, NULL };
|
||||
const char *const def_loc[2] = { KRB5_DEFAULT_CCNAME_FILE, NULL };
|
||||
const char *sep;
|
||||
size_t namelen;
|
||||
|
||||
@@ -777,7 +777,7 @@ mk_kx509_req(krb5_context context,
|
||||
const char *mdname = EVP_MD_get0_name(md);
|
||||
const char *hostname;
|
||||
OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, (char *)mdname, 0),
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, rk_UNCONST(mdname), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
char *start_realm = NULL;
|
||||
@@ -1002,7 +1002,7 @@ rd_kx509_resp(krb5_context context,
|
||||
const EVP_MD *md = EVP_sha1();
|
||||
const char *mdname = EVP_MD_get0_name(md);
|
||||
OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, (char *)mdname, 0),
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, rk_UNCONST(mdname), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
size_t hdr_len = sizeof(version_2_0);
|
||||
|
||||
@@ -38,9 +38,9 @@ enum { MAX_COMPONENTS = 3 };
|
||||
static struct testcase {
|
||||
const char *input_string;
|
||||
const char *output_string;
|
||||
krb5_realm realm;
|
||||
krb5_const_realm realm;
|
||||
unsigned ncomponents;
|
||||
char *comp_val[MAX_COMPONENTS];
|
||||
const char *comp_val[MAX_COMPONENTS];
|
||||
int realmp;
|
||||
} tests[] = {
|
||||
{"", "@", "", 1, {""}, FALSE},
|
||||
|
||||
@@ -193,7 +193,7 @@ _krb5_pkinit_make_ecdh_key(krb5_context context,
|
||||
|
||||
OSSL_PARAM p[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME,
|
||||
(char *)curve, 0),
|
||||
rk_UNCONST(curve), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
|
||||
@@ -207,7 +207,7 @@ pkinit_make_dh_key(krb5_context context,
|
||||
EVP_PKEY *params = NULL;
|
||||
OSSL_PARAM p[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME,
|
||||
(char *)group, 0),
|
||||
rk_UNCONST(group), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@ _krb5_SP800_108_HMAC_KDF(krb5_context context,
|
||||
EVP_MAC_CTX *ctx = NULL;
|
||||
const char *mdname = EVP_MD_get0_name(md);
|
||||
OSSL_PARAM params[] = {
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, (char *)mdname, 0),
|
||||
OSSL_PARAM_construct_utf8_string(OSSL_MAC_PARAM_DIGEST, rk_UNCONST(mdname), 0),
|
||||
OSSL_PARAM_END
|
||||
};
|
||||
unsigned char *p = kdf_K0->data;
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
#include "krb5_locl.h"
|
||||
|
||||
static void
|
||||
print_data(unsigned char *data, size_t len)
|
||||
print_data(const unsigned char *data, size_t len)
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < len; i++) {
|
||||
@@ -45,7 +45,7 @@ print_data(unsigned char *data, size_t len)
|
||||
}
|
||||
|
||||
static int
|
||||
compare(const char *name, krb5_storage *sp, void *expected, size_t len)
|
||||
compare(const char *name, krb5_storage *sp, const void *expected, size_t len)
|
||||
{
|
||||
int ret = 0;
|
||||
krb5_data data;
|
||||
@@ -94,7 +94,7 @@ main(int argc, char **argv)
|
||||
krb5_store_int32(sp, 0x01020304);
|
||||
{
|
||||
int test = 1;
|
||||
void *data;
|
||||
const void *data;
|
||||
if(*(char*)&test)
|
||||
data = "\x4\x3\x2\x1";
|
||||
else
|
||||
|
||||
@@ -58,7 +58,7 @@ main(int argc, char **argv)
|
||||
char *hostname = NULL;
|
||||
char *unparsed = NULL;
|
||||
char *unparsed_canon = NULL;
|
||||
char *during;
|
||||
const char *during;
|
||||
char *cmp_to = NULL;;
|
||||
int do_kt = 0;
|
||||
int do_get_creds = 0;
|
||||
|
||||
@@ -415,10 +415,10 @@ test_mcc_default(void)
|
||||
}
|
||||
}
|
||||
|
||||
struct {
|
||||
char *str;
|
||||
const struct {
|
||||
const char *str;
|
||||
int fail;
|
||||
char *res;
|
||||
const char *res;
|
||||
} cc_names[] = {
|
||||
{ "foo", 0, "foo" },
|
||||
{ "foo%}", 0, "foo%}" },
|
||||
|
||||
@@ -35,7 +35,8 @@
|
||||
#include <err.h>
|
||||
|
||||
static int
|
||||
check_config_file(krb5_context context, char *filelist, char **res, int def)
|
||||
check_config_file(krb5_context context, const char *filelist,
|
||||
const char *const *res, int def)
|
||||
{
|
||||
krb5_error_code ret;
|
||||
char **pp;
|
||||
@@ -83,13 +84,13 @@ check_config_file(krb5_context context, char *filelist, char **res, int def)
|
||||
return 0;
|
||||
}
|
||||
|
||||
char *list0[] = { "/tmp/foo", NULL };
|
||||
char *list1[] = { "/tmp/foo", "/tmp/foo/bar", NULL };
|
||||
char *list2[] = { "", NULL };
|
||||
const char *const list0[] = { "/tmp/foo", NULL };
|
||||
const char *const list1[] = { "/tmp/foo", "/tmp/foo/bar", NULL };
|
||||
const char *const list2[] = { "", NULL };
|
||||
|
||||
struct {
|
||||
char *fl;
|
||||
char **res;
|
||||
const char *fl;
|
||||
const char *const *res;
|
||||
} test[] = {
|
||||
{ "/tmp/foo", NULL },
|
||||
{ "/tmp/foo" PATH_SEP "/tmp/foo/bar", NULL },
|
||||
@@ -119,47 +120,47 @@ check_config_files(void)
|
||||
krb5_free_context(context);
|
||||
}
|
||||
|
||||
const char *config_string_result0[] = {
|
||||
const char *const config_string_result0[] = {
|
||||
"A", "B", "C", "D", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result1[] = {
|
||||
const char *const config_string_result1[] = {
|
||||
"A", "B", "C D", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result2[] = {
|
||||
const char *const config_string_result2[] = {
|
||||
"A", "B", "", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result3[] = {
|
||||
const char *const config_string_result3[] = {
|
||||
"A B;C: D", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result4[] = {
|
||||
const char *const config_string_result4[] = {
|
||||
"\"\"", "", "\"\"", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result5[] = {
|
||||
const char *const config_string_result5[] = {
|
||||
"A\"BQd", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result6[] = {
|
||||
const char *const config_string_result6[] = {
|
||||
"efgh\"", "ABC", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result7[] = {
|
||||
const char *const config_string_result7[] = {
|
||||
"SnapeKills\\", "Dumbledore", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result8[] = {
|
||||
const char *const config_string_result8[] = {
|
||||
"\"TownOf Sandwich: Massachusetts\"Oldest", "Town", "In", "Cape Cod", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result9[] = {
|
||||
const char *const config_string_result9[] = {
|
||||
"\"Begins and\"ends", "In", "One", "String", NULL
|
||||
};
|
||||
|
||||
const char *config_string_result10[] = {
|
||||
const char *const config_string_result10[] = {
|
||||
"Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:",
|
||||
"1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.",
|
||||
"2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.",
|
||||
@@ -171,7 +172,7 @@ const char *config_string_result10[] = {
|
||||
|
||||
const struct {
|
||||
const char * name;
|
||||
const char ** expected;
|
||||
const char *const * expected;
|
||||
} config_strings_tests[] = {
|
||||
{ "foo", config_string_result0 },
|
||||
{ "bar", config_string_result1 },
|
||||
@@ -204,8 +205,8 @@ check_escaped_strings(void)
|
||||
|
||||
for (i=0; i < sizeof(config_strings_tests)/sizeof(config_strings_tests[0]); i++) {
|
||||
char **ps;
|
||||
const char **s;
|
||||
const char **e;
|
||||
const char *const *s;
|
||||
const char *const *e;
|
||||
|
||||
ps = krb5_config_get_strings(context, c, "escapes", config_strings_tests[i].name,
|
||||
NULL);
|
||||
@@ -214,7 +215,8 @@ check_escaped_strings(void)
|
||||
|
||||
e = config_strings_tests[i].expected;
|
||||
|
||||
for (s = (const char **)ps; *s && *e; s++, e++) {
|
||||
/* XXX strict aliasing violation */
|
||||
for (s = (const char *const *)ps; *s && *e; s++, e++) {
|
||||
if (strcmp(*s, *e))
|
||||
errx(1,
|
||||
"Unexpected configuration string at value [%s].\n"
|
||||
|
||||
@@ -34,15 +34,15 @@
|
||||
#include <err.h>
|
||||
#include <getarg.h>
|
||||
|
||||
struct {
|
||||
char *p1;
|
||||
char *pepper1;
|
||||
const struct {
|
||||
const char *p1;
|
||||
const char *pepper1;
|
||||
krb5_enctype e1;
|
||||
char *p2;
|
||||
char *pepper2;
|
||||
const char *p2;
|
||||
const char *pepper2;
|
||||
krb5_enctype e2;
|
||||
krb5_enctype e3;
|
||||
char *key;
|
||||
const char *key;
|
||||
size_t len;
|
||||
} cf2[] = {
|
||||
{
|
||||
@@ -127,10 +127,10 @@ test_cf2(krb5_context context)
|
||||
krb5_err(context, 1, ret, "krb5_allow_weak_crypto");
|
||||
|
||||
for (i = 0; i < sizeof(cf2)/sizeof(cf2[0]); i++) {
|
||||
pw.data = cf2[i].p1;
|
||||
pw.data = rk_UNCONST(cf2[i].p1);
|
||||
pw.length = strlen(cf2[i].p1);
|
||||
salt.salttype = (krb5_salttype)KRB5_PADATA_PW_SALT;
|
||||
salt.saltvalue.data = cf2[i].p1;
|
||||
salt.saltvalue.data = rk_UNCONST(cf2[i].p1);
|
||||
salt.saltvalue.length = strlen(cf2[i].p1);
|
||||
|
||||
ret = krb5_string_to_key_data_salt(context,
|
||||
@@ -145,9 +145,9 @@ test_cf2(krb5_context context)
|
||||
if (ret)
|
||||
krb5_err(context, 1, ret, "krb5_crypto_init");
|
||||
|
||||
pw.data = cf2[i].p2;
|
||||
pw.data = rk_UNCONST(cf2[i].p2);
|
||||
pw.length = strlen(cf2[i].p2);
|
||||
salt.saltvalue.data = cf2[i].p2;
|
||||
salt.saltvalue.data = rk_UNCONST(cf2[i].p2);
|
||||
salt.saltvalue.length = strlen(cf2[i].p2);
|
||||
|
||||
ret = krb5_string_to_key_data_salt(context,
|
||||
@@ -163,10 +163,10 @@ test_cf2(krb5_context context)
|
||||
krb5_err(context, 1, ret, "krb5_crypto_init");
|
||||
|
||||
|
||||
p1.data = cf2[i].pepper1;
|
||||
p1.data = rk_UNCONST(cf2[i].pepper1);
|
||||
p1.length = strlen(cf2[i].pepper1);
|
||||
|
||||
p2.data = cf2[i].pepper2;
|
||||
p2.data = rk_UNCONST(cf2[i].pepper2);
|
||||
p2.length = strlen(cf2[i].pepper2);
|
||||
|
||||
ret = krb5_crypto_fx_cf2(context, c1, c2, &p1, &p2, cf2[i].e3, &k3);
|
||||
|
||||
@@ -84,12 +84,14 @@ static int type_1_length = 472;
|
||||
|
||||
static const krb5_keyblock kdc_keyblock = {
|
||||
ETYPE_ARCFOUR_HMAC_MD5,
|
||||
{ 16, "\xB2\x86\x75\x71\x48\xAF\x7F\xD2\x52\xC5\x36\x03\xA1\x50\xB7\xE7" }
|
||||
{ 16, rk_UNCONST(
|
||||
"\xB2\x86\x75\x71\x48\xAF\x7F\xD2\x52\xC5\x36\x03\xA1\x50\xB7\xE7") }
|
||||
};
|
||||
|
||||
static const krb5_keyblock member_keyblock = {
|
||||
ETYPE_ARCFOUR_HMAC_MD5,
|
||||
{ 16, "\xD2\x17\xFA\xEA\xE5\xE6\xB5\xF9\x5C\xCC\x94\x07\x7A\xB8\xA5\xFC" }
|
||||
{ 16, rk_UNCONST(
|
||||
"\xD2\x17\xFA\xEA\xE5\xE6\xB5\xF9\x5C\xCC\x94\x07\x7A\xB8\xA5\xFC") }
|
||||
};
|
||||
|
||||
static time_t authtime = 1120440609;
|
||||
@@ -150,7 +152,7 @@ static const unsigned char saved_pac2[] =
|
||||
|
||||
static const krb5_keyblock member_keyblock2 = {
|
||||
ETYPE_DES_CBC_MD5,
|
||||
{ 8, "\x9e\x37\x83\x25\x4a\x7f\xf2\xf8" }
|
||||
{ 8, rk_UNCONST("\x9e\x37\x83\x25\x4a\x7f\xf2\xf8") }
|
||||
};
|
||||
|
||||
static time_t authtime2 = 1225304188;
|
||||
@@ -161,29 +163,34 @@ static const char *user2 = "openmsp";
|
||||
|
||||
static const krb5_keyblock rwdc_tgt_key = {
|
||||
ENCTYPE_AES256_CTS_HMAC_SHA1_96,
|
||||
{ 32, "\x27\x86\x34\x1d\xd3\x15\x06\x0d\x6f\xd6\x40\xfa\x03\xb1\x95\x32"
|
||||
"\x91\x22\xe8\x6b\x0f\x47\xe0\xb5\xfe\xda\xef\x54\x98\xdc\x07\x5a" }
|
||||
{ 32, rk_UNCONST(
|
||||
"\x27\x86\x34\x1d\xd3\x15\x06\x0d\x6f\xd6\x40\xfa\x03\xb1\x95\x32"
|
||||
"\x91\x22\xe8\x6b\x0f\x47\xe0\xb5\xfe\xda\xef\x54\x98\xdc\x07\x5a") }
|
||||
};
|
||||
|
||||
static const krb5_keyblock rwdc_tgt_pac_key = {
|
||||
ENCTYPE_ARCFOUR_HMAC,
|
||||
{ 16, "\xb9\xf0\x39\x8d\xe9\x60\xb8\x40\x8c\x54\x0b\x61\xf9\xd2\xf1\x16" }
|
||||
{ 16, rk_UNCONST(
|
||||
"\xb9\xf0\x39\x8d\xe9\x60\xb8\x40\x8c\x54\x0b\x61\xf9\xd2\xf1\x16") }
|
||||
};
|
||||
|
||||
static const krb5_keyblock rodc_tgt_key = {
|
||||
ENCTYPE_AES256_CTS_HMAC_SHA1_96,
|
||||
{ 32, "\x0c\x7e\x63\x47\xc8\x70\x7f\x58\x7c\x91\x59\xba\xc9\xbf\x50\xb4"
|
||||
"\xe2\xd6\x49\xb6\x85\xd3\xd9\xf3\x80\xba\xe9\x02\x46\x51\xab\x23" }
|
||||
{ 32, rk_UNCONST(
|
||||
"\x0c\x7e\x63\x47\xc8\x70\x7f\x58\x7c\x91\x59\xba\xc9\xbf\x50\xb4"
|
||||
"\xe2\xd6\x49\xb6\x85\xd3\xd9\xf3\x80\xba\xe9\x02\x46\x51\xab\x23") }
|
||||
};
|
||||
|
||||
static const krb5_keyblock rodc_tgt_pac_key = {
|
||||
ENCTYPE_ARCFOUR_HMAC,
|
||||
{ 16, "\x80\x5d\x66\xb9\x5f\x66\xd6\x80\xc3\x5a\x07\x41\xe8\x97\xcc\x66" }
|
||||
{ 16, rk_UNCONST(
|
||||
"\x80\x5d\x66\xb9\x5f\x66\xd6\x80\xc3\x5a\x07\x41\xe8\x97\xcc\x66") }
|
||||
};
|
||||
|
||||
static const krb5_keyblock server_key = {
|
||||
ENCTYPE_ARCFOUR_HMAC,
|
||||
{ 16, "\xed\x23\x11\x20\x7a\x21\x44\x20\xbf\xc0\x8d\x36\xf7\xf6\xb2\x3e" }
|
||||
{ 16, rk_UNCONST(
|
||||
"\xed\x23\x11\x20\x7a\x21\x44\x20\xbf\xc0\x8d\x36\xf7\xf6\xb2\x3e") }
|
||||
};
|
||||
|
||||
|
||||
@@ -1142,7 +1149,7 @@ main(int argc, char **argv)
|
||||
krb5_err(context, 1, ret, "krb5_pac_init");
|
||||
|
||||
{
|
||||
const krb5_data cdata = { 2, "\x00\x01" } ;
|
||||
const krb5_data cdata = { 2, rk_UNCONST("\x00\x01") };
|
||||
|
||||
ret = krb5_pac_add_buffer(context, pac, 1, &cdata);
|
||||
if (ret)
|
||||
@@ -1158,7 +1165,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
{
|
||||
const krb5_data cdata = { 2, "\x02\x00" } ;
|
||||
const krb5_data cdata = { 2, rk_UNCONST("\x02\x00") } ;
|
||||
|
||||
ret = krb5_pac_add_buffer(context, pac, 2, &cdata);
|
||||
if (ret)
|
||||
|
||||
@@ -63,10 +63,9 @@ test_dh2key(int i,
|
||||
}
|
||||
|
||||
|
||||
struct {
|
||||
const struct {
|
||||
krb5_enctype type;
|
||||
krb5_data X;
|
||||
krb5_data key;
|
||||
struct { size_t length; const void *data; } X, key;
|
||||
} tests[] = {
|
||||
/* 0 */
|
||||
{
|
||||
@@ -206,8 +205,9 @@ main(int argc, char **argv)
|
||||
errx (1, "krb5_init_context failed: %d", ret);
|
||||
|
||||
for (i = 0; i < sizeof(tests)/sizeof(tests[0]); i++) {
|
||||
test_dh2key(i, context, &tests[i].X, NULL, NULL,
|
||||
tests[i].type, &tests[i].key);
|
||||
krb5_data X = { tests[i].X.length, rk_UNCONST(tests[i].X.data) };
|
||||
krb5_data key = { tests[i].key.length, rk_UNCONST(tests[i].key.data) };
|
||||
test_dh2key(i, context, &X, NULL, NULL, tests[i].type, &key);
|
||||
}
|
||||
|
||||
krb5_free_context(context);
|
||||
|
||||
@@ -40,14 +40,11 @@ static int verbose_flag = 0;
|
||||
|
||||
struct testcase {
|
||||
const heim_oid *oid;
|
||||
krb5_data Z;
|
||||
struct { size_t length; const void *data; } Z;
|
||||
const char *client;
|
||||
const char *server;
|
||||
krb5_enctype enctype;
|
||||
krb5_data as_req;
|
||||
krb5_data pk_as_rep;
|
||||
|
||||
krb5_data key;
|
||||
struct { size_t length; const void *data; } as_req, pk_as_rep, key;
|
||||
} tests[] = {
|
||||
/* 0 */
|
||||
{
|
||||
@@ -283,8 +280,8 @@ test_dh2key(krb5_context context, int i, struct testcase *c)
|
||||
server,
|
||||
c->enctype,
|
||||
NULL, NULL, /* We lack test vectors for RFC 4556 */
|
||||
&c->as_req,
|
||||
&c->pk_as_rep,
|
||||
(krb5_data *)&c->as_req,
|
||||
(krb5_data *)&c->pk_as_rep,
|
||||
&key, NULL);
|
||||
krb5_free_principal(context, client);
|
||||
krb5_free_principal(context, server);
|
||||
|
||||
@@ -43,7 +43,7 @@ main(int argc, char **argv)
|
||||
int numtest = 1;
|
||||
struct test {
|
||||
int preserve_order;
|
||||
void *data;
|
||||
const void *data;
|
||||
size_t len;
|
||||
const char *result;
|
||||
} *t, tests[] = {
|
||||
|
||||
@@ -42,7 +42,7 @@ main(int argc, char **argv)
|
||||
int numerr = 0;
|
||||
int numtest = 1;
|
||||
struct test {
|
||||
void *data;
|
||||
const void *data;
|
||||
size_t len;
|
||||
const char *result;
|
||||
} *t, tests[] = {
|
||||
|
||||
@@ -42,7 +42,7 @@ main(int argc, char **argv)
|
||||
int numerr = 0;
|
||||
int numtest = 1;
|
||||
struct test {
|
||||
void *data;
|
||||
const void *data;
|
||||
ssize_t len;
|
||||
const char *result;
|
||||
} *t, tests[] = {
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
static struct testcase {
|
||||
size_t size;
|
||||
int val;
|
||||
char *str;
|
||||
int val;
|
||||
const char *str;
|
||||
} tests[] = {
|
||||
{ 8, 1, "1 second" },
|
||||
{ 17, 61, "1 minute 1 second" },
|
||||
|
||||
@@ -95,7 +95,7 @@ segv_handler(int sig)
|
||||
|
||||
ROKEN_LIB_FUNCTION void * ROKEN_LIB_CALL
|
||||
rk_test_mem_alloc(enum rk_test_mem_type type, const char *name,
|
||||
void *buf, size_t size)
|
||||
const void *buf, size_t size)
|
||||
{
|
||||
#ifndef HAVE_MMAP
|
||||
unsigned char *p;
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
enum rk_test_mem_type { RK_TM_OVERRUN, RK_TM_UNDERRUN };
|
||||
|
||||
ROKEN_LIB_FUNCTION void * ROKEN_LIB_CALL
|
||||
rk_test_mem_alloc(enum rk_test_mem_type, const char *, void *, size_t);
|
||||
rk_test_mem_alloc(enum rk_test_mem_type, const char *, const void *,
|
||||
size_t);
|
||||
ROKEN_LIB_FUNCTION void ROKEN_LIB_CALL
|
||||
rk_test_mem_free(const char *);
|
||||
|
||||
@@ -36,13 +36,13 @@
|
||||
#include "roken.h"
|
||||
#include "test-mem.h"
|
||||
|
||||
char *s1 = "VAR1=VAL1#comment\n\
|
||||
const char *s1 = "VAR1=VAL1#comment\n\
|
||||
VAR2=VAL2 VAL2 #comment\n\
|
||||
#this another comment\n\
|
||||
\n\
|
||||
VAR3=FOO";
|
||||
|
||||
char *s2 = "VAR1=ENV2\n\
|
||||
const char *s2 = "VAR1=ENV2\n\
|
||||
";
|
||||
|
||||
static void
|
||||
|
||||
Reference in New Issue
Block a user