[monitor.c monitor_wrap.c]
     skey/bsdauth: use 0 to indicate failure instead of -1, because
     the buffer API only supports unsigned ints.
This commit is contained in:
Damien Miller 2003-02-24 11:55:46 +11:00
parent 386f1f3e6c
commit b7df3af154
3 changed files with 26 additions and 21 deletions

View File

@ -35,6 +35,10 @@
- markus@cvs.openbsd.org 2003/02/04 09:32:08 - markus@cvs.openbsd.org 2003/02/04 09:32:08
[key.c] [key.c]
better debug3 message better debug3 message
- markus@cvs.openbsd.org 2003/02/04 09:33:22
[monitor.c monitor_wrap.c]
skey/bsdauth: use 0 to indicate failure instead of -1, because
the buffer API only supports unsigned ints.
20030211 20030211
- (djm) Cygwin needs libcrypt too. Patch from vinschen@redhat.com - (djm) Cygwin needs libcrypt too. Patch from vinschen@redhat.com
@ -1135,4 +1139,4 @@
save auth method before monitor_reset_key_state(); bugzilla bug #284; save auth method before monitor_reset_key_state(); bugzilla bug #284;
ok provos@ ok provos@
$Id: ChangeLog,v 1.2602 2003/02/24 00:54:57 djm Exp $ $Id: ChangeLog,v 1.2603 2003/02/24 00:55:46 djm Exp $

View File

@ -25,7 +25,7 @@
*/ */
#include "includes.h" #include "includes.h"
RCSID("$OpenBSD: monitor.c,v 1.30 2002/11/05 19:45:20 markus Exp $"); RCSID("$OpenBSD: monitor.c,v 1.31 2003/02/04 09:33:22 markus Exp $");
#include <openssl/dh.h> #include <openssl/dh.h>
@ -634,20 +634,20 @@ mm_answer_bsdauthquery(int socket, Buffer *m)
u_int numprompts; u_int numprompts;
u_int *echo_on; u_int *echo_on;
char **prompts; char **prompts;
int res; u_int success;
res = bsdauth_query(authctxt, &name, &infotxt, &numprompts, success = bsdauth_query(authctxt, &name, &infotxt, &numprompts,
&prompts, &echo_on); &prompts, &echo_on) < 0 ? 0 : 1;
buffer_clear(m); buffer_clear(m);
buffer_put_int(m, res); buffer_put_int(m, success);
if (res != -1) if (success)
buffer_put_cstring(m, prompts[0]); buffer_put_cstring(m, prompts[0]);
debug3("%s: sending challenge res: %d", __func__, res); debug3("%s: sending challenge success: %u", __func__, success);
mm_request_send(socket, MONITOR_ANS_BSDAUTHQUERY, m); mm_request_send(socket, MONITOR_ANS_BSDAUTHQUERY, m);
if (res != -1) { if (success) {
xfree(name); xfree(name);
xfree(infotxt); xfree(infotxt);
xfree(prompts); xfree(prompts);
@ -691,16 +691,16 @@ mm_answer_skeyquery(int socket, Buffer *m)
{ {
struct skey skey; struct skey skey;
char challenge[1024]; char challenge[1024];
int res; u_int success;
res = skeychallenge(&skey, authctxt->user, challenge); success = skeychallenge(&skey, authctxt->user, challenge) < 0 ? 0 : 1;
buffer_clear(m); buffer_clear(m);
buffer_put_int(m, res); buffer_put_int(m, success);
if (res != -1) if (success)
buffer_put_cstring(m, challenge); buffer_put_cstring(m, challenge);
debug3("%s: sending challenge res: %d", __func__, res); debug3("%s: sending challenge success: %u", __func__, success);
mm_request_send(socket, MONITOR_ANS_SKEYQUERY, m); mm_request_send(socket, MONITOR_ANS_SKEYQUERY, m);
return (0); return (0);

View File

@ -25,7 +25,7 @@
*/ */
#include "includes.h" #include "includes.h"
RCSID("$OpenBSD: monitor_wrap.c,v 1.20 2002/11/21 23:03:51 deraadt Exp $"); RCSID("$OpenBSD: monitor_wrap.c,v 1.21 2003/02/04 09:33:22 markus Exp $");
#include <openssl/bn.h> #include <openssl/bn.h>
#include <openssl/dh.h> #include <openssl/dh.h>
@ -714,7 +714,7 @@ mm_bsdauth_query(void *ctx, char **name, char **infotxt,
u_int *numprompts, char ***prompts, u_int **echo_on) u_int *numprompts, char ***prompts, u_int **echo_on)
{ {
Buffer m; Buffer m;
int res; u_int success;
char *challenge; char *challenge;
debug3("%s: entering", __func__); debug3("%s: entering", __func__);
@ -724,8 +724,8 @@ mm_bsdauth_query(void *ctx, char **name, char **infotxt,
mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_BSDAUTHQUERY, mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_BSDAUTHQUERY,
&m); &m);
res = buffer_get_int(&m); success = buffer_get_int(&m);
if (res == -1) { if (success == 0) {
debug3("%s: no challenge", __func__); debug3("%s: no challenge", __func__);
buffer_free(&m); buffer_free(&m);
return (-1); return (-1);
@ -771,7 +771,8 @@ mm_skey_query(void *ctx, char **name, char **infotxt,
u_int *numprompts, char ***prompts, u_int **echo_on) u_int *numprompts, char ***prompts, u_int **echo_on)
{ {
Buffer m; Buffer m;
int len, res; int len;
u_int success;
char *p, *challenge; char *p, *challenge;
debug3("%s: entering", __func__); debug3("%s: entering", __func__);
@ -781,8 +782,8 @@ mm_skey_query(void *ctx, char **name, char **infotxt,
mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_SKEYQUERY, mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_SKEYQUERY,
&m); &m);
res = buffer_get_int(&m); success = buffer_get_int(&m);
if (res == -1) { if (success == 0) {
debug3("%s: no challenge", __func__); debug3("%s: no challenge", __func__);
buffer_free(&m); buffer_free(&m);
return (-1); return (-1);