|
Lines 89-94
Link Here
|
| 89 |
#include "ssh2.h" |
89 |
#include "ssh2.h" |
| 90 |
#include "jpake.h" |
90 |
#include "jpake.h" |
| 91 |
#include "roaming.h" |
91 |
#include "roaming.h" |
|
|
92 |
#include "audit.h" |
| 92 |
|
93 |
|
| 93 |
#ifdef GSSAPI |
94 |
#ifdef GSSAPI |
| 94 |
static Gssctxt *gsscontext = NULL; |
95 |
static Gssctxt *gsscontext = NULL; |
|
Lines 177-182
int mm_answer_gss_checkmic(int, Buffer *
Link Here
|
| 177 |
#ifdef SSH_AUDIT_EVENTS |
178 |
#ifdef SSH_AUDIT_EVENTS |
| 178 |
int mm_answer_audit_event(int, Buffer *); |
179 |
int mm_answer_audit_event(int, Buffer *); |
| 179 |
int mm_answer_audit_command(int, Buffer *); |
180 |
int mm_answer_audit_command(int, Buffer *); |
|
|
181 |
int mm_answer_audit_unsupported_body(int, Buffer *); |
| 182 |
int mm_answer_audit_kex_body(int, Buffer *); |
| 180 |
#endif |
183 |
#endif |
| 181 |
|
184 |
|
| 182 |
static Authctxt *authctxt; |
185 |
static Authctxt *authctxt; |
|
Lines 209-214
struct mon_table {
Link Here
|
| 209 |
#define MON_PERMIT 0x1000 /* Request is permitted */ |
212 |
#define MON_PERMIT 0x1000 /* Request is permitted */ |
| 210 |
|
213 |
|
| 211 |
struct mon_table mon_dispatch_proto20[] = { |
214 |
struct mon_table mon_dispatch_proto20[] = { |
|
|
215 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 216 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 212 |
{MONITOR_REQ_MODULI, MON_ONCE, mm_answer_moduli}, |
217 |
{MONITOR_REQ_MODULI, MON_ONCE, mm_answer_moduli}, |
| 213 |
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign}, |
218 |
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign}, |
| 214 |
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, |
219 |
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, |
|
Lines 266-271
struct mon_table mon_dispatch_postauth20
Link Here
|
| 266 |
}; |
271 |
}; |
| 267 |
|
272 |
|
| 268 |
struct mon_table mon_dispatch_proto15[] = { |
273 |
struct mon_table mon_dispatch_proto15[] = { |
|
|
274 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 275 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 269 |
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, |
276 |
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow}, |
| 270 |
{MONITOR_REQ_SESSKEY, MON_ONCE, mm_answer_sesskey}, |
277 |
{MONITOR_REQ_SESSKEY, MON_ONCE, mm_answer_sesskey}, |
| 271 |
{MONITOR_REQ_SESSID, MON_ONCE, mm_answer_sessid}, |
278 |
{MONITOR_REQ_SESSID, MON_ONCE, mm_answer_sessid}, |
|
Lines 2207-2209
mm_answer_jpake_check_confirm(int sock,
Link Here
|
| 2207 |
} |
2214 |
} |
| 2208 |
|
2215 |
|
| 2209 |
#endif /* JPAKE */ |
2216 |
#endif /* JPAKE */ |
|
|
2217 |
|
| 2218 |
#ifdef SSH_AUDIT_EVENTS |
| 2219 |
int |
| 2220 |
mm_answer_audit_unsupported_body(int sock, Buffer *m) |
| 2221 |
{ |
| 2222 |
int what; |
| 2223 |
|
| 2224 |
what = buffer_get_int(m); |
| 2225 |
|
| 2226 |
audit_unsupported_body(what); |
| 2227 |
|
| 2228 |
buffer_clear(m); |
| 2229 |
|
| 2230 |
mm_request_send(sock, MONITOR_ANS_AUDIT_UNSUPPORTED, m); |
| 2231 |
return 0; |
| 2232 |
} |
| 2233 |
|
| 2234 |
int |
| 2235 |
mm_answer_audit_kex_body(int sock, Buffer *m) |
| 2236 |
{ |
| 2237 |
int ctos, len; |
| 2238 |
char *cipher, *mac, *compress; |
| 2239 |
|
| 2240 |
ctos = buffer_get_int(m); |
| 2241 |
cipher = buffer_get_string(m, &len); |
| 2242 |
mac = buffer_get_string(m, &len); |
| 2243 |
compress = buffer_get_string(m, &len); |
| 2244 |
|
| 2245 |
audit_kex_body(ctos, cipher, mac, compress); |
| 2246 |
|
| 2247 |
buffer_clear(m); |
| 2248 |
|
| 2249 |
mm_request_send(sock, MONITOR_ANS_AUDIT_KEX, m); |
| 2250 |
return 0; |
| 2251 |
} |
| 2252 |
|
| 2253 |
#endif /* SSH_AUDIT_EVENTS */ |