version 1.88, 2006/08/12 20:46:46 |
version 1.89, 2006/11/07 10:31:31 |
|
|
/* The first few requests do not require asynchronous access */ |
/* The first few requests do not require asynchronous access */ |
while (!authenticated) { |
while (!authenticated) { |
auth_method = "unknown"; |
auth_method = "unknown"; |
authenticated = monitor_read(pmonitor, mon_dispatch, &ent); |
authenticated = (monitor_read(pmonitor, mon_dispatch, &ent) == 1); |
if (authenticated) { |
if (authenticated) { |
if (!(ent->flags & MON_AUTHDECIDE)) |
if (!(ent->flags & MON_AUTHDECIDE)) |
fatal("%s: unexpected authentication from %d", |
fatal("%s: unexpected authentication from %d", |
|
|
|
|
verified = key_verify(key, signature, signaturelen, data, datalen); |
verified = key_verify(key, signature, signaturelen, data, datalen); |
debug3("%s: key %p signature %s", |
debug3("%s: key %p signature %s", |
__func__, key, verified ? "verified" : "unverified"); |
__func__, key, (verified == 1) ? "verified" : "unverified"); |
|
|
key_free(key); |
key_free(key); |
xfree(blob); |
xfree(blob); |
|
|
buffer_put_int(m, verified); |
buffer_put_int(m, verified); |
mm_request_send(sock, MONITOR_ANS_KEYVERIFY, m); |
mm_request_send(sock, MONITOR_ANS_KEYVERIFY, m); |
|
|
return (verified); |
return (verified == 1); |
} |
} |
|
|
static void |
static void |