|
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 178-183
int mm_answer_gss_checkmic(int, Buffer *
Link Here
|
| 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 *); |
| 180 |
int mm_answer_audit_end_command(int, Buffer *); |
181 |
int mm_answer_audit_end_command(int, Buffer *); |
|
|
182 |
int mm_answer_audit_unsupported_body(int, Buffer *); |
| 183 |
int mm_answer_audit_kex_body(int, Buffer *); |
| 181 |
#endif |
184 |
#endif |
| 182 |
|
185 |
|
| 183 |
static Authctxt *authctxt; |
186 |
static Authctxt *authctxt; |
|
Lines 226-231
struct mon_table mon_dispatch_proto20[]
Link Here
|
| 226 |
#endif |
229 |
#endif |
| 227 |
#ifdef SSH_AUDIT_EVENTS |
230 |
#ifdef SSH_AUDIT_EVENTS |
| 228 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
231 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
|
|
232 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 233 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 229 |
#endif |
234 |
#endif |
| 230 |
#ifdef BSD_AUTH |
235 |
#ifdef BSD_AUTH |
| 231 |
{MONITOR_REQ_BSDAUTHQUERY, MON_ISAUTH, mm_answer_bsdauthquery}, |
236 |
{MONITOR_REQ_BSDAUTHQUERY, MON_ISAUTH, mm_answer_bsdauthquery}, |
|
Lines 263-268
struct mon_table mon_dispatch_postauth20
Link Here
|
| 263 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
268 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
| 264 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT, mm_answer_audit_command}, |
269 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT, mm_answer_audit_command}, |
| 265 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
270 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
|
|
271 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 272 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 266 |
#endif |
273 |
#endif |
| 267 |
{0, 0, NULL} |
274 |
{0, 0, NULL} |
| 268 |
}; |
275 |
}; |
|
Lines 294-299
struct mon_table mon_dispatch_proto15[]
Link Here
|
| 294 |
#endif |
301 |
#endif |
| 295 |
#ifdef SSH_AUDIT_EVENTS |
302 |
#ifdef SSH_AUDIT_EVENTS |
| 296 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
303 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
|
|
304 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 305 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 297 |
#endif |
306 |
#endif |
| 298 |
{0, 0, NULL} |
307 |
{0, 0, NULL} |
| 299 |
}; |
308 |
}; |
|
Lines 306-311
struct mon_table mon_dispatch_postauth15
Link Here
|
| 306 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
315 |
{MONITOR_REQ_AUDIT_EVENT, MON_PERMIT, mm_answer_audit_event}, |
| 307 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT|MON_ONCE, mm_answer_audit_command}, |
316 |
{MONITOR_REQ_AUDIT_COMMAND, MON_PERMIT|MON_ONCE, mm_answer_audit_command}, |
| 308 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
317 |
{MONITOR_REQ_AUDIT_END_COMMAND, MON_PERMIT, mm_answer_audit_end_command}, |
|
|
318 |
{MONITOR_REQ_AUDIT_UNSUPPORTED, MON_PERMIT, mm_answer_audit_unsupported_body}, |
| 319 |
{MONITOR_REQ_AUDIT_KEX, MON_PERMIT, mm_answer_audit_kex_body}, |
| 309 |
#endif |
320 |
#endif |
| 310 |
{0, 0, NULL} |
321 |
{0, 0, NULL} |
| 311 |
}; |
322 |
}; |
|
Lines 2252-2254
mm_answer_jpake_check_confirm(int sock,
Link Here
|
| 2252 |
} |
2263 |
} |
| 2253 |
|
2264 |
|
| 2254 |
#endif /* JPAKE */ |
2265 |
#endif /* JPAKE */ |
|
|
2266 |
|
| 2267 |
#ifdef SSH_AUDIT_EVENTS |
| 2268 |
int |
| 2269 |
mm_answer_audit_unsupported_body(int sock, Buffer *m) |
| 2270 |
{ |
| 2271 |
int what; |
| 2272 |
|
| 2273 |
what = buffer_get_int(m); |
| 2274 |
|
| 2275 |
audit_unsupported_body(what); |
| 2276 |
|
| 2277 |
buffer_clear(m); |
| 2278 |
|
| 2279 |
mm_request_send(sock, MONITOR_ANS_AUDIT_UNSUPPORTED, m); |
| 2280 |
return 0; |
| 2281 |
} |
| 2282 |
|
| 2283 |
int |
| 2284 |
mm_answer_audit_kex_body(int sock, Buffer *m) |
| 2285 |
{ |
| 2286 |
int ctos, len; |
| 2287 |
char *cipher, *mac, *compress; |
| 2288 |
pid_t pid; |
| 2289 |
uid_t uid; |
| 2290 |
|
| 2291 |
ctos = buffer_get_int(m); |
| 2292 |
cipher = buffer_get_string(m, &len); |
| 2293 |
mac = buffer_get_string(m, &len); |
| 2294 |
compress = buffer_get_string(m, &len); |
| 2295 |
pid = buffer_get_int64(m); |
| 2296 |
uid = buffer_get_int64(m); |
| 2297 |
|
| 2298 |
audit_kex_body(ctos, cipher, mac, compress, pid, uid); |
| 2299 |
|
| 2300 |
buffer_clear(m); |
| 2301 |
|
| 2302 |
mm_request_send(sock, MONITOR_ANS_AUDIT_KEX, m); |
| 2303 |
return 0; |
| 2304 |
} |
| 2305 |
|
| 2306 |
#endif /* SSH_AUDIT_EVENTS */ |