diff options
author | Ken Raeburn <raeburn@mit.edu> | 2004-03-14 06:47:13 +0000 |
---|---|---|
committer | Ken Raeburn <raeburn@mit.edu> | 2004-03-14 06:47:13 +0000 |
commit | bd213527dab6a355867a95c104352fa101a9d2e8 (patch) | |
tree | baf908411bd62c2a8c8bda0edabb3e95ad723772 /src/lib/gssapi/generic | |
parent | 71439f3a47350f331c67b52bfb7dae2d4fb6f79b (diff) | |
download | krb5-bd213527dab6a355867a95c104352fa101a9d2e8.zip krb5-bd213527dab6a355867a95c104352fa101a9d2e8.tar.gz krb5-bd213527dab6a355867a95c104352fa101a9d2e8.tar.bz2 |
Make the set type separate from the set-element (linked list node) type
* generic/gssapiP_generic.h (g_set): New struct type.
(G_SET_INIT): New macro.
* generic/util_validate.c (g_save, g_validate, g_delete): Change first argument
to take a g_set * rather than void **; use the address of the void pointer from
the structure.
(g_save_name, g_save_cred_id, g_save_ctx_id, g_validate_name,
g_validate_cred_id, g_validate_ctx_id, g_delete_name, g_delete_cred_id,
g_delete_ctx_id): Updated first argument type.
* genericgssapiP_generic.h: Declarations updated.
* krb5/gssapi_krb5.c (kg_vdb): Change type to g_set and initialize.
* krb5/gssapiP_krb5.h (kg_vdb): Declaration updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16166 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/gssapi/generic')
-rw-r--r-- | src/lib/gssapi/generic/ChangeLog | 10 | ||||
-rw-r--r-- | src/lib/gssapi/generic/gssapiP_generic.h | 23 | ||||
-rw-r--r-- | src/lib/gssapi/generic/util_validate.c | 37 |
3 files changed, 43 insertions, 27 deletions
diff --git a/src/lib/gssapi/generic/ChangeLog b/src/lib/gssapi/generic/ChangeLog index 48a609d..fb380c2 100644 --- a/src/lib/gssapi/generic/ChangeLog +++ b/src/lib/gssapi/generic/ChangeLog @@ -4,6 +4,16 @@ non-_elt versions. * util_set.c, util_validate.c: Uses updated. + * gssapiP_generic.h (g_set): New struct type. + (G_SET_INIT): New macro. + * util_validate.c (g_save, g_validate, g_delete): Change first + argument to take a g_set * rather than void **; use the address of + the void pointer from the structure. + (g_save_name, g_save_cred_id, g_save_ctx_id, g_validate_name, + g_validate_cred_id, g_validate_ctx_id, g_delete_name, + g_delete_cred_id, g_delete_ctx_id): Updated first argument type. + * gssapiP_generic.h: Declarations updated. + 2004-02-08 Ken Raeburn <raeburn@mit.edu> * util_ordering.c (g_queue_externalize, g_queue_internalize): diff --git a/src/lib/gssapi/generic/gssapiP_generic.h b/src/lib/gssapi/generic/gssapiP_generic.h index 9db3d25..ef2d6dd 100644 --- a/src/lib/gssapi/generic/gssapiP_generic.h +++ b/src/lib/gssapi/generic/gssapiP_generic.h @@ -133,6 +133,11 @@ typedef UINT64_TYPE gssint_uint64; #define g_strdup gssint_g_strdup typedef struct _g_set_elt *g_set_elt; +typedef struct { + /* k5_mutex_t mutex; */ + void *data; +} g_set; +#define G_SET_INIT { /* K5_MUTEX_INITIALIZER, */ 0 } int g_set_init (g_set_elt *s); int g_set_destroy (g_set_elt *s); @@ -140,17 +145,17 @@ int g_set_entry_add (g_set_elt *s, void *key, void *value); int g_set_entry_delete (g_set_elt *s, void *key); int g_set_entry_get (g_set_elt *s, void *key, void **value); -int g_save_name (void **vdb, gss_name_t *name); -int g_save_cred_id (void **vdb, gss_cred_id_t *cred); -int g_save_ctx_id (void **vdb, gss_ctx_id_t *ctx); +int g_save_name (g_set *vdb, gss_name_t *name); +int g_save_cred_id (g_set *vdb, gss_cred_id_t *cred); +int g_save_ctx_id (g_set *vdb, gss_ctx_id_t *ctx); -int g_validate_name (void **vdb, gss_name_t *name); -int g_validate_cred_id (void **vdb, gss_cred_id_t *cred); -int g_validate_ctx_id (void **vdb, gss_ctx_id_t *ctx); +int g_validate_name (g_set *vdb, gss_name_t *name); +int g_validate_cred_id (g_set *vdb, gss_cred_id_t *cred); +int g_validate_ctx_id (g_set *vdb, gss_ctx_id_t *ctx); -int g_delete_name (void **vdb, gss_name_t *name); -int g_delete_cred_id (void **vdb, gss_cred_id_t *cred); -int g_delete_ctx_id (void **vdb, gss_ctx_id_t *ctx); +int g_delete_name (g_set *vdb, gss_name_t *name); +int g_delete_cred_id (g_set *vdb, gss_cred_id_t *cred); +int g_delete_ctx_id (g_set *vdb, gss_ctx_id_t *ctx); int g_make_string_buffer (const char *str, gss_buffer_t buffer); diff --git a/src/lib/gssapi/generic/util_validate.c b/src/lib/gssapi/generic/util_validate.c index da05024..4c0c6d8 100644 --- a/src/lib/gssapi/generic/util_validate.c +++ b/src/lib/gssapi/generic/util_validate.c @@ -35,6 +35,7 @@ #endif #include <fcntl.h> #include <limits.h> + #ifdef HAVE_BSD_DB #include <sys/file.h> #include <db.h> @@ -55,7 +56,7 @@ typedef struct _vkey { /* All these functions return 0 on failure, and non-zero on success */ static int g_save(db, type, ptr) - void **db; + g_set *db; #ifdef HAVE_BSD_DB int type; #else @@ -64,7 +65,7 @@ static int g_save(db, type, ptr) void *ptr; { #ifdef HAVE_BSD_DB - DB **vdb = (DB **) db; + DB **vdb = (DB **) &db->data; vkey vk; DBT key; @@ -79,7 +80,7 @@ static int g_save(db, type, ptr) return((*((*vdb)->put))(*vdb, &key, &dbtone, 0) == 0); #else - g_set_elt *gs = (g_set_elt *) db; + g_set_elt *gs = (g_set_elt *) &db->data; if (!*gs) if (g_set_init(gs)) @@ -90,7 +91,7 @@ static int g_save(db, type, ptr) } static int g_validate(db, type, ptr) - void **db; + g_set *db; #ifdef HAVE_BSD_DB int type; #else @@ -99,7 +100,7 @@ static int g_validate(db, type, ptr) void *ptr; { #ifdef HAVE_BSD_DB - DB **vdb = (DB **) db; + DB **vdb = (DB **) &db->data; vkey vk; DBT key, value; @@ -118,7 +119,7 @@ static int g_validate(db, type, ptr) return((value.size == sizeof(one)) && (*((int *) value.data) == one)); #else - g_set_elt *gs = (g_set_elt *) db; + g_set_elt *gs = (g_set_elt *) &db->data; void *value; if (!*gs) @@ -132,7 +133,7 @@ static int g_validate(db, type, ptr) } static int g_delete(db, type, ptr) - void **db; + g_set *db; #ifdef HAVE_BSD_DB int type; #else @@ -141,7 +142,7 @@ static int g_delete(db, type, ptr) void *ptr; { #ifdef HAVE_BSD_DB - DB **vdb = (DB **) db; + DB **vdb = (DB **) &db->data; vkey vk; DBT key; @@ -156,7 +157,7 @@ static int g_delete(db, type, ptr) return((*((*vdb)->del))(*vdb, &key, 0) == 0); #else - g_set_elt *gs = (g_set_elt *) db; + g_set_elt *gs = (g_set_elt *) &db->data; if (!*gs) return(0); @@ -173,19 +174,19 @@ static int g_delete(db, type, ptr) /* save */ int g_save_name(vdb, name) - void **vdb; + g_set *vdb; gss_name_t *name; { return(g_save(vdb, V_NAME, (void *) name)); } int g_save_cred_id(vdb, cred) - void **vdb; + g_set *vdb; gss_cred_id_t *cred; { return(g_save(vdb, V_CRED_ID, (void *) cred)); } int g_save_ctx_id(vdb, ctx) - void **vdb; + g_set *vdb; gss_ctx_id_t *ctx; { return(g_save(vdb, V_CTX_ID, (void *) ctx)); @@ -194,19 +195,19 @@ int g_save_ctx_id(vdb, ctx) /* validate */ int g_validate_name(vdb, name) - void **vdb; + g_set *vdb; gss_name_t *name; { return(g_validate(vdb, V_NAME, (void *) name)); } int g_validate_cred_id(vdb, cred) - void **vdb; + g_set *vdb; gss_cred_id_t *cred; { return(g_validate(vdb, V_CRED_ID, (void *) cred)); } int g_validate_ctx_id(vdb, ctx) - void **vdb; + g_set *vdb; gss_ctx_id_t *ctx; { return(g_validate(vdb, V_CTX_ID, (void *) ctx)); @@ -215,19 +216,19 @@ int g_validate_ctx_id(vdb, ctx) /* delete */ int g_delete_name(vdb, name) - void **vdb; + g_set *vdb; gss_name_t *name; { return(g_delete(vdb, V_NAME, (void *) name)); } int g_delete_cred_id(vdb, cred) - void **vdb; + g_set *vdb; gss_cred_id_t *cred; { return(g_delete(vdb, V_CRED_ID, (void *) cred)); } int g_delete_ctx_id(vdb, ctx) - void **vdb; + g_set *vdb; gss_ctx_id_t *ctx; { return(g_delete(vdb, V_CTX_ID, (void *) ctx)); |