diff --git a/ChangeLog b/ChangeLog index e10a3c425..ba3e56d8d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,9 @@ - markus@cvs.openbsd.org 2003/08/22 20:55:06 [LICENCE] add Simon Wilkinson + - deraadt@cvs.openbsd.org 2003/08/24 17:36:52 + [monitor.c monitor_wrap.c sshconnect2.c] + 64 bit cleanups; markus ok - (dtucker) [Makefile.in acconfig.h auth-krb5.c auth-pam.c auth-pam.h configure.ac defines.h gss-serv-krb5.c session.c ssh-gss.h sshconnect1.c sshconnect2.c] Add Portable GSSAPI support, patch by Simon Wilkinson. @@ -894,4 +897,4 @@ - Fix sshd BindAddress and -b options for systems using fake-getaddrinfo. Report from murple@murple.net, diagnosis from dtucker@zip.com.au -$Id: ChangeLog,v 1.2911 2003/08/26 02:09:53 dtucker Exp $ +$Id: ChangeLog,v 1.2912 2003/08/26 02:10:48 dtucker Exp $ diff --git a/monitor.c b/monitor.c index f90a90461..e08181f74 100644 --- a/monitor.c +++ b/monitor.c @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor.c,v 1.46 2003/08/22 10:56:09 markus Exp $"); +RCSID("$OpenBSD: monitor.c,v 1.47 2003/08/24 17:36:52 deraadt Exp $"); #include @@ -1817,8 +1817,10 @@ mm_answer_gss_accept_ctx(int socket, Buffer *m) gss_buffer_desc out = GSS_C_EMPTY_BUFFER; OM_uint32 major,minor; OM_uint32 flags = 0; /* GSI needs this */ + u_int len; - in.value = buffer_get_string(m, &in.length); + in.value = buffer_get_string(m, &len); + in.length = len; major = ssh_gssapi_accept_ctx(gsscontext, &in, &out, &flags); xfree(in.value); diff --git a/monitor_wrap.c b/monitor_wrap.c index 4073905f6..82649a7cc 100644 --- a/monitor_wrap.c +++ b/monitor_wrap.c @@ -25,7 +25,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: monitor_wrap.c,v 1.29 2003/08/22 10:56:09 markus Exp $"); +RCSID("$OpenBSD: monitor_wrap.c,v 1.30 2003/08/24 17:36:52 deraadt Exp $"); #include #include @@ -1134,6 +1134,7 @@ mm_ssh_gssapi_accept_ctx(Gssctxt *ctx, gss_buffer_desc *in, { Buffer m; OM_uint32 major; + u_int len; buffer_init(&m); buffer_put_string(&m, in->value, in->length); @@ -1142,7 +1143,8 @@ mm_ssh_gssapi_accept_ctx(Gssctxt *ctx, gss_buffer_desc *in, mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_GSSSTEP, &m); major = buffer_get_int(&m); - out->value = buffer_get_string(&m, &out->length); + out->value = buffer_get_string(&m, &len); + out->length = len; if (flags) *flags = buffer_get_int(&m); diff --git a/sshconnect2.c b/sshconnect2.c index 558a0a749..22795395e 100644 --- a/sshconnect2.c +++ b/sshconnect2.c @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: sshconnect2.c,v 1.122 2003/08/22 13:20:03 markus Exp $"); +RCSID("$OpenBSD: sshconnect2.c,v 1.123 2003/08/24 17:36:52 deraadt Exp $"); #include "openbsd-compat/sys-queue.h" @@ -647,12 +647,14 @@ input_gssapi_errtok(int type, u_int32_t plen, void *ctxt) gss_buffer_desc send_tok = GSS_C_EMPTY_BUFFER; gss_buffer_desc recv_tok; OM_uint32 status, ms; + u_int len; if (authctxt == NULL) fatal("input_gssapi_response: no authentication context"); gssctxt = authctxt->methoddata; - recv_tok.value = packet_get_string(&recv_tok.length); + recv_tok.value = packet_get_string(&len); + recv_tok.length = len; packet_check_eom();