- (dtucker) [auth-skey.c defines.h monitor.c] Make skeychallenge explicitly

4-arg, with compatibility for 3-arg versions.  From djm@, ok me.
This commit is contained in:
Darren Tucker 2004-04-14 17:24:30 +10:00
parent 3b908f65b4
commit 06a8cfe796
4 changed files with 14 additions and 9 deletions

View File

@ -3,6 +3,8 @@
from bug #701 (text from jfh at cise.ufl.edu).
- (dtucker) [acconfig.h configure.ac defines.h] Bug #673: check for 4-arg
skeychallenge(), eg on NetBSD. ok mouring@
- (dtucker) [auth-skey.c defines.h monitor.c] Make skeychallenge explicitly
4-arg, with compatibility for 3-arg versions. From djm@, ok me.
20040408
- (dtucker) [loginrec.c] Use UT_LINESIZE if available, prevents truncating
@ -963,4 +965,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
$Id: ChangeLog,v 1.3309 2004/04/14 05:26:39 dtucker Exp $
$Id: ChangeLog,v 1.3310 2004/04/14 07:24:30 dtucker Exp $

View File

@ -47,7 +47,8 @@ skey_query(void *ctx, char **name, char **infotxt,
int len;
struct skey skey;
if (skeychallenge(&skey, authctxt->user, challenge) == -1)
if (_compat_skeychallenge(&skey, authctxt->user, challenge,
sizeof(challenge)) == -1)
return -1;
*name = xstrdup("");

View File

@ -25,7 +25,7 @@
#ifndef _DEFINES_H
#define _DEFINES_H
/* $Id: defines.h,v 1.114 2004/04/14 05:26:39 dtucker Exp $ */
/* $Id: defines.h,v 1.115 2004/04/14 07:24:30 dtucker Exp $ */
/* Constants */
@ -538,6 +538,12 @@ struct winsize {
# define krb5_get_err_text(context,code) error_message(code)
#endif
#if defined(SKEYCHALLENGE_4ARG)
# define _compat_skeychallenge(a,b,c,d) skeychallenge(a,b,c,d)
#else
# define _compat_skeychallenge(a,b,c,d) skeychallenge(a,b,c)
#endif
/* Maximum number of file descriptors available */
#ifdef HAVE_SYSCONF
# define SSH_SYSFDMAX sysconf(_SC_OPEN_MAX)
@ -546,11 +552,6 @@ struct winsize {
#endif
/* Some platforms, eg NetBSD, have a 4th argument for skeychallenge() */
#ifdef SKEYCHALLENGE_4ARG
# define skeychallenge(a,b,c) skeychallenge((a), (b), (c), (sizeof(c)))
#endif
/*
* Define this to use pipes instead of socketpairs for communicating with the
* client program. Socketpairs do not seem to work on all systems.

View File

@ -744,7 +744,8 @@ mm_answer_skeyquery(int socket, Buffer *m)
char challenge[1024];
u_int success;
success = skeychallenge(&skey, authctxt->user, challenge) < 0 ? 0 : 1;
success = _compat_skeychallenge(&skey, authctxt->user, challenge,
sizeof(challenge)) < 0 ? 0 : 1;
buffer_clear(m);
buffer_put_int(m, success);