From 2c2bce14fdc3076f357ac1841761a8717e590d22 Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 1 Dec 2008 21:18:29 +0000 Subject: [PATCH] Change the Unix version of Ssh_gss_name to be a gss_name_t rather than void *, and hence eliminate a few casts. The Windows definition is unchanged, but I daresay I've managed to stop it compiling nonetheless. git-svn-id: svn://svn.tartarus.org/sgt/putty@8359 cda61777-01e9-0310-a592-d414129be87e --- sshgss.h | 1 - unix/unix.h | 1 + unix/uxgss.c | 7 +++---- windows/winstuff.h | 1 + 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/sshgss.h b/sshgss.h index 5aa91bb9..2115cb12 100644 --- a/sshgss.h +++ b/sshgss.h @@ -2,7 +2,6 @@ #define SSH2_GSS_OIDTYPE 0x06 typedef void *Ssh_gss_ctx; -typedef void *Ssh_gss_name; typedef enum Ssh_gss_stat { SSH_GSS_OK = 0, diff --git a/unix/unix.h b/unix/unix.h index a5bf8dc5..0e61faab 100644 --- a/unix/unix.h +++ b/unix/unix.h @@ -67,6 +67,7 @@ extern long tickcount_offset; #include typedef gss_buffer_desc Ssh_gss_buf; #define SSH_GSS_EMPTY_BUF GSS_C_EMPTY_BUFFER +typedef gss_name_t Ssh_gss_name; #endif /* diff --git a/unix/uxgss.c b/unix/uxgss.c index db653f3c..f0992863 100644 --- a/unix/uxgss.c +++ b/unix/uxgss.c @@ -46,8 +46,7 @@ Ssh_gss_stat ssh_gss_import_name(char *host, host_buf.length = strlen(pStr); maj_stat = gss_import_name(&min_stat, &host_buf, - GSS_C_NT_HOSTBASED_SERVICE, - (gss_name_t *)srv_name); + GSS_C_NT_HOSTBASED_SERVICE, srv_name); /* Release buffer */ sfree(pStr); if (maj_stat == GSS_S_COMPLETE) return SSH_GSS_OK; @@ -78,7 +77,7 @@ Ssh_gss_stat ssh_gss_init_sec_context(Ssh_gss_ctx *ctx, uxctx->maj_stat = gss_init_sec_context(&uxctx->min_stat, GSS_C_NO_CREDENTIAL, &uxctx->ctx, - (gss_name_t) srv_name, + srv_name, (gss_OID) putty_gss_mech_krb5, GSS_C_MUTUAL_FLAG | GSS_C_INTEG_FLAG | to_deleg, @@ -164,7 +163,7 @@ Ssh_gss_stat ssh_gss_release_cred(Ssh_gss_ctx *ctx) Ssh_gss_stat ssh_gss_release_name(Ssh_gss_name *srv_name) { OM_uint32 min_stat,maj_stat; - maj_stat = gss_release_name(&min_stat, (gss_name_t *) srv_name); + maj_stat = gss_release_name(&min_stat, srv_name); if (maj_stat == GSS_S_COMPLETE) return SSH_GSS_OK; return SSH_GSS_FAILURE; diff --git a/windows/winstuff.h b/windows/winstuff.h index 2846fdf0..6308ea68 100644 --- a/windows/winstuff.h +++ b/windows/winstuff.h @@ -118,6 +118,7 @@ typedef struct Ssh_gss_buf { } Ssh_gss_buf; #define SSH_GSS_EMPTY_BUF (Ssh_gss_buf) {0,NULL} +typedef void *Ssh_gss_name; #endif /* -- 2.11.0