char buf[80];
/*
- * This function works just like the standard edit box handler,
+ * This function works similarly to the standard edit box handler,
* only it has to choose the control's label and text from two
* different places depending on the protocol.
*/
sprintf(buf, "%d", cfg->serspeed);
} else {
dlg_label_change(ctrl, dlg, PORT_BOX_TITLE);
- sprintf(buf, "%d", cfg->port);
+ if (cfg->port != 0)
+ sprintf(buf, "%d", cfg->port);
+ else
+ /* Display an (invalid) port of 0 as blank */
+ buf[0] = '\0';
}
dlg_editbox_set(ctrl, dlg, buf);
} else if (event == EVENT_VALCHANGE) {
Backend *nb = backend_from_proto(cfg->protocol);
assert(ob);
assert(nb);
- /* Iff the user hasn't changed the port from the protocol
- * default (if any), update it with the new protocol's
- * default.
- * (XXX: this isn't perfect; a default can become permanent
- * by going via the serial backend. However, it helps with
- * the common case of tabbing through the controls in order
- * and setting a non-default port.) */
- if (cfg->port == ob->default_port &&
- cfg->port > 0 && nb->default_port > 0)
+ /* Iff the user hasn't changed the port from the old protocol's
+ * default, update it with the new protocol's default.
+ * (This includes a "default" of 0, implying that there is no
+ * sensible default for that protocol; in this case it's
+ * displayed as a blank.)
+ * This helps with the common case of tabbing through the
+ * controls in order and setting a non-default port before
+ * getting to the protocol; we want that non-default port
+ * to be preserved. */
+ if (cfg->port == ob->default_port)
cfg->port = nb->default_port;
}
dlg_refresh(hp->host, dlg);
HELPCTX(ssh_auth_bypass),
dlg_stdcheckbox_handler,
I(offsetof(Config,ssh_no_userauth)));
+ ctrl_checkbox(s, "Display pre-authentication banner (SSH-2 only)",
+ 'd', HELPCTX(ssh_auth_banner),
+ dlg_stdcheckbox_handler,
+ I(offsetof(Config,ssh_show_banner)));
s = ctrl_getset(b, "Connection/SSH/Auth", "methods",
"Authentication methods");
dlg_stdcheckbox_handler,
I(offsetof(Config,try_gssapi_auth)));
- ctrl_checkbox(s, "Allow GSSAPI credential delegation", 'd',
+ ctrl_checkbox(s, "Allow GSSAPI credential delegation", 'l',
HELPCTX(ssh_gssapi_delegation),
dlg_stdcheckbox_handler,
I(offsetof(Config,gssapifwd)));
*/
if (ngsslibs > 1) {
c = ctrl_draglist(s, "Preference order for GSSAPI libraries:",
- 'l', HELPCTX(ssh_gssapi_libraries),
+ 'p', HELPCTX(ssh_gssapi_libraries),
gsslist_handler, P(NULL));
c->listbox.height = ngsslibs;
* displayed.
*/
- ctrl_filesel(s, "User-supplied GSSAPI library path:", 'p',
+ ctrl_filesel(s, "User-supplied GSSAPI library path:", 's',
FILTER_DYNLIB_FILES, FALSE, "Select library file",
HELPCTX(ssh_gssapi_libraries),
dlg_stdfilesel_handler,