diff options
author | neilbrown <neilbrown> | 2005-08-26 02:04:40 +0000 |
---|---|---|
committer | neilbrown <neilbrown> | 2005-08-26 02:04:40 +0000 |
commit | 651b5d3cf5428cbf1d2cd3ae572453af249bef1e (patch) | |
tree | 8c6c088b0d010db7aa5b8a4e4e5a96287e933f93 /utils/gssd/context_heimdal.c | |
parent | a1b7c0da9e73a607f4bc70ffe3b44b00f5d39938 (diff) | |
download | nfs-utils-651b5d3cf5428cbf1d2cd3ae572453af249bef1e.tar.gz nfs-utils-651b5d3cf5428cbf1d2cd3ae572453af249bef1e.tar.xz nfs-utils-651b5d3cf5428cbf1d2cd3ae572453af249bef1e.zip |
Add option to set rpcsec_gss debugging level (if available)
Changes to allow gssd/svcgssd to build when using Hiemdal Kerberos
libraries. Note that there are still run-time issues preventing
this from working when shared libraries for libgssapi and librpcsecgss
are used.
Diffstat (limited to 'utils/gssd/context_heimdal.c')
-rw-r--r-- | utils/gssd/context_heimdal.c | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/utils/gssd/context_heimdal.c b/utils/gssd/context_heimdal.c index 27c44a3..edd4dfc 100644 --- a/utils/gssd/context_heimdal.c +++ b/utils/gssd/context_heimdal.c @@ -37,9 +37,11 @@ #include <syslog.h> #include <string.h> #include <errno.h> -#include <gssapi.h> #include <krb5.h> +#include <gssapi.h> /* Must use the heimdal copy! */ +#ifdef HAVE_COM_ERR_H #include <com_err.h> +#endif #include "err_util.h" #include "gss_oids.h" #include "write_bytes.h" @@ -83,9 +85,14 @@ int write_heimdal_enc_key(char **p, char *end, gss_ctx_id_t ctx) } memset(&enc_key, 0, sizeof(enc_key)); - printerr(1, "WARN: write_heimdal_enc_key: " - "overriding heimdal keytype\n"); - enc_key.keytype = 4 /* XXX XXX XXX XXX key->keytype */; + enc_key.keytype = key->keytype; + /* XXX current kernel code only handles des-cbc-raw (4) */ + if (enc_key.keytype != 4) { + printerr(1, "WARN: write_heimdal_enc_key: " + "overriding heimdal keytype (%d => %d)\n", + enc_key.keytype, 4); + enc_key.keytype = 4; + } enc_key.keyvalue.length = key->keyvalue.length; if ((enc_key.keyvalue.data = calloc(1, enc_key.keyvalue.length)) == NULL) { @@ -135,9 +142,13 @@ int write_heimdal_seq_key(char **p, char *end, gss_ctx_id_t ctx) goto out_err_free_context; } - printerr(1, "WARN: write_heimdal_seq_key: " - "overriding heimdal keytype\n"); - key->keytype = 4; /* XXX XXX XXX XXX XXX */ + /* XXX current kernel code only handles des-cbc-raw (4) */ + if (key->keytype != 4) { + printerr(1, "WARN: write_heimdal_seq_key: " + "overriding heimdal keytype (%d => %d)\n", + key->keytype, 4); + key->keytype = 4; + } if (write_heimdal_keyblock(p, end, key)) { goto out_err_free_key; |