int console_batch_mode = FALSE;
+static void *console_logctx = NULL;
+
/*
* Clean up and exit.
*/
sk_cleanup();
WSACleanup();
- if (cfg.protocol == PROT_SSH) {
- random_save_seed();
+ random_save_seed();
#ifdef MSCRYPTOAPI
- crypto_wrapup();
+ crypto_wrapup();
#endif
- }
exit(code);
}
* Ask whether to wipe a session log file before writing to it.
* Returns 2 for wipe, 1 for append, 0 for cancel (don't log).
*/
-int askappend(void *frontend, char *filename)
+int askappend(void *frontend, Filename filename)
{
HANDLE hin;
DWORD savemode, i;
char line[32];
- if (cfg.logxfovr != LGXF_ASK) {
- return ((cfg.logxfovr == LGXF_OVR) ? 2 : 1);
- }
if (console_batch_mode) {
- fprintf(stderr, msgtemplate_batch, FILENAME_MAX, filename);
+ fprintf(stderr, msgtemplate_batch, FILENAME_MAX, filename.path);
fflush(stderr);
return 0;
}
- fprintf(stderr, msgtemplate, FILENAME_MAX, filename);
+ fprintf(stderr, msgtemplate, FILENAME_MAX, filename.path);
fflush(stderr);
hin = GetStdHandle(STD_INPUT_HANDLE);
fputs(message, stderr);
}
+void console_provide_logctx(void *logctx)
+{
+ console_logctx = logctx;
+}
+
void logevent(void *frontend, char *string)
{
+ if (console_logctx)
+ log_eventlog(console_logctx, string);
}
int console_get_line(const char *prompt, char *str,