version 1.33, 2021/12/19 22:12:07 |
version 1.34, 2023/03/31 04:22:27 |
|
|
#include "ssh-gss.h" |
#include "ssh-gss.h" |
#include "monitor_wrap.h" |
#include "monitor_wrap.h" |
|
|
|
#define SSH_GSSAPI_MAX_MECHS 2048 |
|
|
extern ServerOptions options; |
extern ServerOptions options; |
|
|
static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh); |
static int input_gssapi_token(int type, u_int32_t plen, struct ssh *ssh); |
|
|
fatal_fr(r, "parse packet"); |
fatal_fr(r, "parse packet"); |
|
|
if (mechs == 0) { |
if (mechs == 0) { |
debug("Mechanism negotiation is not supported"); |
logit_f("mechanism negotiation is not supported"); |
return (0); |
return (0); |
|
} else if (mechs > SSH_GSSAPI_MAX_MECHS) { |
|
logit_f("too many mechanisms requested %u > %u", mechs, |
|
SSH_GSSAPI_MAX_MECHS); |
|
return (0); |
} |
} |
|
|
do { |
do { |
|
|
goid.length = len - 2; |
goid.length = len - 2; |
ssh_gssapi_test_oid_supported(&ms, &goid, &present); |
ssh_gssapi_test_oid_supported(&ms, &goid, &present); |
} else { |
} else { |
logit("Badly formed OID received"); |
logit_f("badly formed OID received"); |
} |
} |
} while (mechs > 0 && !present); |
} while (mechs > 0 && !present); |
|
|