version 1.95, 2002/02/03 17:59:23 |
version 1.96, 2002/02/24 19:14:59 |
|
|
|
|
typedef int sign_cb_fn( |
typedef int sign_cb_fn( |
Authctxt *authctxt, Key *key, |
Authctxt *authctxt, Key *key, |
u_char **sigp, int *lenp, u_char *data, int datalen); |
u_char **sigp, u_int *lenp, u_char *data, u_int datalen); |
|
|
struct Authctxt { |
struct Authctxt { |
const char *server_user; |
const char *server_user; |
|
|
Authctxt *authctxt = ctxt; |
Authctxt *authctxt = ctxt; |
Key *key = NULL; |
Key *key = NULL; |
Buffer b; |
Buffer b; |
int pktype, alen, blen, sent = 0; |
int pktype, sent = 0; |
char *pkalg, *pkblob, *fp; |
u_int alen, blen; |
|
char *pkalg, *fp; |
|
u_char *pkblob; |
|
|
if (authctxt == NULL) |
if (authctxt == NULL) |
fatal("input_userauth_pk_ok: no authentication context"); |
fatal("input_userauth_pk_ok: no authentication context"); |
|
|
{ |
{ |
Buffer b; |
Buffer b; |
u_char *blob, *signature; |
u_char *blob, *signature; |
int bloblen, slen; |
u_int bloblen, slen; |
int skip = 0; |
int skip = 0; |
int ret = -1; |
int ret = -1; |
int have_sig = 1; |
int have_sig = 1; |
|
|
} |
} |
|
|
static int |
static int |
identity_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, int *lenp, |
identity_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, u_int *lenp, |
u_char *data, int datalen) |
u_char *data, u_int datalen) |
{ |
{ |
Key *private; |
Key *private; |
int idx, ret; |
int idx, ret; |
|
|
} |
} |
|
|
static int |
static int |
agent_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, int *lenp, |
agent_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, u_int *lenp, |
u_char *data, int datalen) |
u_char *data, u_int datalen) |
{ |
{ |
return ssh_agent_sign(authctxt->agent, key, sigp, lenp, data, datalen); |
return ssh_agent_sign(authctxt->agent, key, sigp, lenp, data, datalen); |
} |
} |
|
|
static int |
static int |
key_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, int *lenp, |
key_sign_cb(Authctxt *authctxt, Key *key, u_char **sigp, u_int *lenp, |
u_char *data, int datalen) |
u_char *data, u_int datalen) |
{ |
{ |
return key_sign(key, sigp, lenp, data, datalen); |
return key_sign(key, sigp, lenp, data, datalen); |
} |
} |