+ if (ret == 1) { /* key was absent */
+ ParamText(pkeytype, pfingerprint, pappname, NULL);
+ alertret=CautionAlert(wAbsent, NULL);
+ if (alertret == 7) {
+ /* Cancel */
+ goto cancel;
+ } else if (alertret == 8) {
+ /* Connect Just Once */
+ } else {
+ /* Update Key */
+ store_host_key(host, port, keytype, keystr);
+ }
+ }
+
+ return;
+
+ cancel:
+ /*
+ * User chose "Cancel". Unfortunately, if I tear the
+ * connection down here, Bad Things happen when I return. I
+ * think this function should actually return something
+ * telling the SSH code to abandon the connection.
+ */
+ return;