mirror of
git://anongit.mindrot.org/openssh.git
synced 2024-12-24 02:42:25 +00:00
- 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.
This commit is contained in:
parent
386f1f3e6c
commit
b7df3af154
@ -35,6 +35,10 @@
|
||||
- markus@cvs.openbsd.org 2003/02/04 09:32:08
|
||||
[key.c]
|
||||
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
|
||||
- (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;
|
||||
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 $
|
||||
|
26
monitor.c
26
monitor.c
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#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>
|
||||
|
||||
@ -634,20 +634,20 @@ mm_answer_bsdauthquery(int socket, Buffer *m)
|
||||
u_int numprompts;
|
||||
u_int *echo_on;
|
||||
char **prompts;
|
||||
int res;
|
||||
u_int success;
|
||||
|
||||
res = bsdauth_query(authctxt, &name, &infotxt, &numprompts,
|
||||
&prompts, &echo_on);
|
||||
success = bsdauth_query(authctxt, &name, &infotxt, &numprompts,
|
||||
&prompts, &echo_on) < 0 ? 0 : 1;
|
||||
|
||||
buffer_clear(m);
|
||||
buffer_put_int(m, res);
|
||||
if (res != -1)
|
||||
buffer_put_int(m, success);
|
||||
if (success)
|
||||
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);
|
||||
|
||||
if (res != -1) {
|
||||
if (success) {
|
||||
xfree(name);
|
||||
xfree(infotxt);
|
||||
xfree(prompts);
|
||||
@ -691,16 +691,16 @@ mm_answer_skeyquery(int socket, Buffer *m)
|
||||
{
|
||||
struct skey skey;
|
||||
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_put_int(m, res);
|
||||
if (res != -1)
|
||||
buffer_put_int(m, success);
|
||||
if (success)
|
||||
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);
|
||||
|
||||
return (0);
|
||||
|
@ -25,7 +25,7 @@
|
||||
*/
|
||||
|
||||
#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/dh.h>
|
||||
@ -714,7 +714,7 @@ mm_bsdauth_query(void *ctx, char **name, char **infotxt,
|
||||
u_int *numprompts, char ***prompts, u_int **echo_on)
|
||||
{
|
||||
Buffer m;
|
||||
int res;
|
||||
u_int success;
|
||||
char *challenge;
|
||||
|
||||
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,
|
||||
&m);
|
||||
res = buffer_get_int(&m);
|
||||
if (res == -1) {
|
||||
success = buffer_get_int(&m);
|
||||
if (success == 0) {
|
||||
debug3("%s: no challenge", __func__);
|
||||
buffer_free(&m);
|
||||
return (-1);
|
||||
@ -771,7 +771,8 @@ mm_skey_query(void *ctx, char **name, char **infotxt,
|
||||
u_int *numprompts, char ***prompts, u_int **echo_on)
|
||||
{
|
||||
Buffer m;
|
||||
int len, res;
|
||||
int len;
|
||||
u_int success;
|
||||
char *p, *challenge;
|
||||
|
||||
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,
|
||||
&m);
|
||||
res = buffer_get_int(&m);
|
||||
if (res == -1) {
|
||||
success = buffer_get_int(&m);
|
||||
if (success == 0) {
|
||||
debug3("%s: no challenge", __func__);
|
||||
buffer_free(&m);
|
||||
return (-1);
|
||||
|
Loading…
Reference in New Issue
Block a user