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);
}
-void verify_ssh_host_key(char *host, int port, char *keytype,
+void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
char *keystr, char *fingerprint)
{
int ret;
* below the configured 'warn' threshold).
* cs: 0 = both ways, 1 = client->server, 2 = server->client
*/
-void askcipher(char *ciphername, int cs)
+void askcipher(void *frontend, char *ciphername, int cs)
{
HANDLE hin;
DWORD savemode, i;
* 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(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);
/*
* Warn about the obsolescent key file format.
+ *
+ * Uniquely among these functions, this one does _not_ expect a
+ * frontend handle. This means that if PuTTY is ported to a
+ * platform which requires frontend handles, this function will be
+ * an anomaly. Fortunately, the problem it addresses will not have
+ * been present on that platform, so it can plausibly be
+ * implemented as an empty function.
*/
void old_keyfile_warning(void)
{
fputs(message, stderr);
}
-void logevent(char *string)
+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,
return 1;
}
-void frontend_keypress(void)
+void frontend_keypress(void *handle)
{
/*
* This is nothing but a stub, in console code.