Sprinkle const and rk_UNCONST throughout the tests.

This commit is contained in:
Taylor R Campbell
2023-06-20 23:06:56 +00:00
committed by Nicolas Williams
parent 814f03ad7f
commit 5589cf96c7
41 changed files with 396 additions and 380 deletions

View File

@@ -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;

View File

@@ -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);

View File

@@ -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);

View File

@@ -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)

View File

@@ -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"

View File

@@ -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");

View File

@@ -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

View File

@@ -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;

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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 */

View File

@@ -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,

View File

@@ -4,7 +4,7 @@
struct foo {
int val;
char *str;
const char *str;
} foo[] = {
{ 0, "FALSE" },
{ 1, "TRUE" },

View File

@@ -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;

View File

@@ -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);

View File

@@ -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

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);

View File

@@ -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},

View File

@@ -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
};

View File

@@ -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
};

View File

@@ -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;

View File

@@ -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

View File

@@ -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;

View File

@@ -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%}" },

View File

@@ -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"

View File

@@ -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);

View File

@@ -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)

View File

@@ -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);

View File

@@ -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);

View File

@@ -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[] = {

View File

@@ -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[] = {

View File

@@ -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[] = {

View File

@@ -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" },

View File

@@ -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;

View File

@@ -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 *);

View File

@@ -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