|
Lines 97-102
Link Here
|
| 97 |
#include "ssh2.h" |
97 |
#include "ssh2.h" |
| 98 |
#include "jpake.h" |
98 |
#include "jpake.h" |
| 99 |
#include "roaming.h" |
99 |
#include "roaming.h" |
|
|
100 |
#include "audit.h" |
| 100 |
|
101 |
|
| 101 |
#ifdef GSSAPI |
102 |
#ifdef GSSAPI |
| 102 |
static Gssctxt *gsscontext = NULL; |
103 |
static Gssctxt *gsscontext = NULL; |
|
Lines 187-192
int mm_answer_gss_checkmic(int, Buffer *
Link Here
|
| 187 |
int mm_answer_audit_event(int, Buffer *); |
188 |
int mm_answer_audit_event(int, Buffer *); |
| 188 |
int mm_answer_audit_command(int, Buffer *); |
189 |
int mm_answer_audit_command(int, Buffer *); |
| 189 |
int mm_answer_audit_end_command(int, Buffer *); |
190 |
int mm_answer_audit_end_command(int, Buffer *); |
|
|
191 |
int mm_answer_audit_unsupported_body(int, Buffer *); |
| 192 |
int mm_answer_audit_kex_body(int, Buffer *); |
| 190 |
#endif |
193 |
#endif |
| 191 |
|
194 |
|
| 192 |
static int monitor_read_log(struct monitor *); |
195 |
static int monitor_read_log(struct monitor *); |
|
Lines 237-242
struct mon_table mon_dispatch_proto20[]
Link Here
|
| 237 |
#endif |
240 |
#endif |
| 238 |
#ifdef SSH_AUDIT_EVENTS |
241 |
#ifdef SSH_AUDIT_EVENTS |
| 239 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
242 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
|
|
243 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 244 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 240 |
#endif |
245 |
#endif |
| 241 |
#ifdef BSD_AUTH |
246 |
#ifdef BSD_AUTH |
| 242 |
{MONITOR_REQ_BSDAUTHQUERY, MON_ISAUTH, mm_answer_bsdauthquery}, |
247 |
{MONITOR_REQ_BSDAUTHQUERY, MON_ISAUTH, mm_answer_bsdauthquery}, |
|
Lines 275-280
struct mon_table mon_dispatch_postauth20
Link Here
|
| 275 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
280 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
| 276 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT, mm_answer_audit_command}, |
281 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT, mm_answer_audit_command}, |
| 277 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
282 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
|
|
283 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 284 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 278 |
#endif |
285 |
#endif |
| 279 |
{0, 0, NULL} |
286 |
{0, 0, NULL} |
| 280 |
}; |
287 |
}; |
|
Lines 306-311
struct mon_table mon_dispatch_proto15[]
Link Here
|
| 306 |
#endif |
313 |
#endif |
| 307 |
#ifdef SSH_AUDIT_EVENTS |
314 |
#ifdef SSH_AUDIT_EVENTS |
| 308 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
315 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
|
|
316 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 317 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 309 |
#endif |
318 |
#endif |
| 310 |
{0, 0, NULL} |
319 |
{0, 0, NULL} |
| 311 |
}; |
320 |
}; |
|
Lines 318-323
struct mon_table mon_dispatch_postauth15
Link Here
|
| 318 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
327 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
| 319 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT|MON_ONCE, mm_answer_audit_command}, |
328 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT|MON_ONCE, mm_answer_audit_command}, |
| 320 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
329 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
|
|
330 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 331 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 321 |
#endif |
332 |
#endif |
| 322 |
{0, 0, NULL} |
333 |
{0, 0, NULL} |
| 323 |
}; |
334 |
}; |
|
Lines 2383-2385
mm_answer_jpake_check_confirm(int sock,
Link Here
|
| 2383 |
} |
2394 |
} |
| 2384 |
|
2395 |
|
| 2385 |
#endif /* JPAKE */ |
2396 |
#endif /* JPAKE */ |
|
|
2397 |
|
| 2398 |
#ifdef SSH_AUDIT_EVENTS |
| 2399 |
int |
| 2400 |
mm_answer_audit_unsupported_body(int sock, Buffer *m) |
| 2401 |
{ |
| 2402 |
int what; |
| 2403 |
|
| 2404 |
what = buffer_get_int(m); |
| 2405 |
|
| 2406 |
audit_unsupported_body(what); |
| 2407 |
|
| 2408 |
buffer_clear(m); |
| 2409 |
|
| 2410 |
mm_request_send(sock, MONITOR_ANS_AUDIT_UNSUPPORTED, m); |
| 2411 |
return 0; |
| 2412 |
} |
| 2413 |
|
| 2414 |
int |
| 2415 |
mm_answer_audit_kex_body(int sock, Buffer *m) |
| 2416 |
{ |
| 2417 |
int ctos, len; |
| 2418 |
char *cipher, *mac, *compress; |
| 2419 |
pid_t pid; |
| 2420 |
uid_t uid; |
| 2421 |
|
| 2422 |
ctos = buffer_get_int(m); |
| 2423 |
cipher = buffer_get_string(m, &len); |
| 2424 |
mac = buffer_get_string(m, &len); |
| 2425 |
compress = buffer_get_string(m, &len); |
| 2426 |
pid = buffer_get_int64(m); |
| 2427 |
uid = buffer_get_int64(m); |
| 2428 |
|
| 2429 |
audit_kex_body(ctos, cipher, mac, compress, pid, uid); |
| 2430 |
|
| 2431 |
xfree(cipher); |
| 2432 |
xfree(mac); |
| 2433 |
xfree(compress); |
| 2434 |
buffer_clear(m); |
| 2435 |
|
| 2436 |
mm_request_send(sock, MONITOR_ANS_AUDIT_KEX, m); |
| 2437 |
return 0; |
| 2438 |
} |
| 2439 |
|
| 2440 |
#endif /* SSH_AUDIT_EVENTS */ |