Add a preference list for SSH-2 key exchange algorithms, on a new "Kex" panel
[u/mdw/putty] / mac / mac.c
index 91fa2fc..8dde3e1 100644 (file)
--- a/mac/mac.c
+++ b/mac/mac.c
@@ -1,4 +1,4 @@
-/* $Id: mac.c,v 1.55 2003/03/17 19:00:36 ben Exp $ */
+/* $Id$ */
 /*
  * Copyright (c) 1999, 2003 Ben Harris
  * All rights reserved.
@@ -31,6 +31,7 @@
 #include <MacTypes.h>
 #include <AEDataModel.h>
 #include <AppleEvents.h>
+#include <Controls.h>
 #include <Quickdraw.h>
 #include <Fonts.h>
 #include <MacWindows.h>
@@ -269,6 +270,8 @@ static void mac_eventloop(void) {
        sk_poll();
        if (!gotevent)
            mac_pollterm();
+       if (mac_gestalts.apprvers >= 0x100 && mac_frontwindow() != NULL)
+           IdleControls(mac_frontwindow());
     }
     DisposeRgn(cursrgn);
 }
@@ -658,27 +661,22 @@ int agent_exists(void)
     return FALSE;
 }
 
-void agent_query(void *in, int inlen, void **out, int *outlen)
+int agent_query(void *in, int inlen, void **out, int *outlen,
+               void (*callback)(void *, void *, int), void *callback_ctx)
 {
 
     *out = NULL;
     *outlen = 0;
+    return 1;
 }
 
 /* Temporary null routines for testing. */
 
-/*
- * FIXME: verify_ssh_host_key() should be passed a frontend handle,
- * but backends have to have a terminal handle instead, because they
- * pass it to from_backend(), so we accept a terminal handle here as
- * well, and hope no-one tries to call us with sensible arguments.
- */
 void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
                         char *keystr, char *fingerprint)
 {
     Str255 stuff;
-    Terminal *term = frontend;
-    Session *s = term->frontend;
+    Session *s = frontend;
 
     /*
      * This function is horribly wrong.  For one thing, the alert
@@ -687,9 +685,9 @@ void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
      * should use the Notification Manager to wake up the user.  In
      * any case, we shouldn't hold up processing of other connections'
      * data just because this one's waiting for the user.  It should
-     * also handle a host key cache, of course, and see the note above
-     * about the "frontend" argument and the one below about closing
-     * the connection.  All in all, a bit of a mess really.
+     * also handle a host key cache, of course, and see the note below
+     * about closing the connection.  All in all, a bit of a mess
+     * really.
      */
 
     stuff[0] = sprintf((char *)(&stuff[1]),
@@ -706,7 +704,7 @@ void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype,
     }
 }
 
-void askcipher(void *frontend, char *ciphername, int cs)
+void askalg(void *frontend, const char *algtype, const char *algname)
 {
 
 }
@@ -776,6 +774,16 @@ void platform_get_x11_auth(char *display, int *proto,
     /* SGT: I have no idea whether Mac X servers need anything here. */
 }
 
+void update_specials_menu(void *frontend)
+{
+    Session *s = frontend;
+    WindowPtr front;
+
+    front = mac_frontwindow();
+    if (front != NULL && mac_windowsession(front) == s)
+       mac_adjustmenus();
+}
+
 /*
  * Local Variables:
  * c-file-style: "simon"