mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-25 01:02:24 +00:00
Finer granularity of config box handling. SSH packet logging should
now not show up when it's meaningless (in PuTTYtel, in pterm, and in the middle of any non-SSH session), and the Connection panel is inhibited completely in pterm. [originally from svn r3146]
This commit is contained in:
parent
3a3e4d1818
commit
79426308bf
87
config.c
87
config.c
@ -849,14 +849,27 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
|
|||||||
ctrl_settitle(b, "Session/Logging", "Options controlling session logging");
|
ctrl_settitle(b, "Session/Logging", "Options controlling session logging");
|
||||||
|
|
||||||
s = ctrl_getset(b, "Session/Logging", "main", NULL);
|
s = ctrl_getset(b, "Session/Logging", "main", NULL);
|
||||||
ctrl_radiobuttons(s, "Session logging:", NO_SHORTCUT, 1,
|
/*
|
||||||
HELPCTX(logging_main),
|
* The logging buttons change depending on whether SSH packet
|
||||||
dlg_stdradiobutton_handler, I(offsetof(Config, logtype)),
|
* logging can sensibly be available.
|
||||||
"Logging turned off completely", 't', I(LGTYP_NONE),
|
*/
|
||||||
"Log printable output only", 'p', I(LGTYP_ASCII),
|
{
|
||||||
"Log all session output", 'l', I(LGTYP_DEBUG),
|
char *sshlogname;
|
||||||
"Log SSH packet data", 's', I(LGTYP_PACKETS),
|
if ((midsession && protocol == PROT_SSH) ||
|
||||||
NULL);
|
(!midsession && backends[3].name != NULL))
|
||||||
|
sshlogname = "Log SSH packet data";
|
||||||
|
else
|
||||||
|
sshlogname = NULL; /* this will disable the button */
|
||||||
|
ctrl_radiobuttons(s, "Session logging:", NO_SHORTCUT, 1,
|
||||||
|
HELPCTX(logging_main),
|
||||||
|
dlg_stdradiobutton_handler,
|
||||||
|
I(offsetof(Config, logtype)),
|
||||||
|
"Logging turned off completely", 't', I(LGTYP_NONE),
|
||||||
|
"Log printable output only", 'p', I(LGTYP_ASCII),
|
||||||
|
"Log all session output", 'l', I(LGTYP_DEBUG),
|
||||||
|
sshlogname, 's', I(LGTYP_PACKETS),
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
ctrl_filesel(s, "Log file name:", 'f',
|
ctrl_filesel(s, "Log file name:", 'f',
|
||||||
NULL, TRUE, "Select session log file name",
|
NULL, TRUE, "Select session log file name",
|
||||||
HELPCTX(logging_filename),
|
HELPCTX(logging_filename),
|
||||||
@ -1237,36 +1250,42 @@ void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
|
|||||||
ctrl_columns(s, 1, 100);
|
ctrl_columns(s, 1, 100);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The Connection panel.
|
* The Connection panel. This doesn't show up if we're in a
|
||||||
|
* non-network utility such as pterm. We tell this by being
|
||||||
|
* passed a protocol < 0.
|
||||||
*/
|
*/
|
||||||
ctrl_settitle(b, "Connection", "Options controlling the connection");
|
if (protocol >= 0) {
|
||||||
|
ctrl_settitle(b, "Connection", "Options controlling the connection");
|
||||||
|
|
||||||
if (!midsession) {
|
if (!midsession) {
|
||||||
s = ctrl_getset(b, "Connection", "data", "Data to send to the server");
|
s = ctrl_getset(b, "Connection", "data",
|
||||||
ctrl_editbox(s, "Terminal-type string", 't', 50,
|
"Data to send to the server");
|
||||||
HELPCTX(connection_termtype),
|
ctrl_editbox(s, "Terminal-type string", 't', 50,
|
||||||
dlg_stdeditbox_handler, I(offsetof(Config,termtype)),
|
HELPCTX(connection_termtype),
|
||||||
I(sizeof(((Config *)0)->termtype)));
|
dlg_stdeditbox_handler, I(offsetof(Config,termtype)),
|
||||||
ctrl_editbox(s, "Auto-login username", 'u', 50,
|
I(sizeof(((Config *)0)->termtype)));
|
||||||
HELPCTX(connection_username),
|
ctrl_editbox(s, "Auto-login username", 'u', 50,
|
||||||
dlg_stdeditbox_handler, I(offsetof(Config,username)),
|
HELPCTX(connection_username),
|
||||||
I(sizeof(((Config *)0)->username)));
|
dlg_stdeditbox_handler, I(offsetof(Config,username)),
|
||||||
}
|
I(sizeof(((Config *)0)->username)));
|
||||||
|
}
|
||||||
|
|
||||||
s = ctrl_getset(b, "Connection", "keepalive",
|
s = ctrl_getset(b, "Connection", "keepalive",
|
||||||
"Sending of null packets to keep session active");
|
"Sending of null packets to keep session active");
|
||||||
ctrl_editbox(s, "Seconds between keepalives (0 to turn off)", 'k', 20,
|
ctrl_editbox(s, "Seconds between keepalives (0 to turn off)", 'k', 20,
|
||||||
HELPCTX(connection_keepalive),
|
HELPCTX(connection_keepalive),
|
||||||
dlg_stdeditbox_handler, I(offsetof(Config,ping_interval)),
|
dlg_stdeditbox_handler, I(offsetof(Config,ping_interval)),
|
||||||
I(-1));
|
I(-1));
|
||||||
|
|
||||||
|
if (!midsession) {
|
||||||
|
s = ctrl_getset(b, "Connection", "tcp",
|
||||||
|
"Low-level TCP connection options");
|
||||||
|
ctrl_checkbox(s, "Disable Nagle's algorithm (TCP_NODELAY option)",
|
||||||
|
'n', HELPCTX(connection_nodelay),
|
||||||
|
dlg_stdcheckbox_handler,
|
||||||
|
I(offsetof(Config,tcp_nodelay)));
|
||||||
|
}
|
||||||
|
|
||||||
if (!midsession) {
|
|
||||||
s = ctrl_getset(b, "Connection", "tcp",
|
|
||||||
"Low-level TCP connection options");
|
|
||||||
ctrl_checkbox(s, "Disable Nagle's algorithm (TCP_NODELAY option)", 'n',
|
|
||||||
HELPCTX(connection_nodelay),
|
|
||||||
dlg_stdcheckbox_handler,
|
|
||||||
I(offsetof(Config,tcp_nodelay)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!midsession) {
|
if (!midsession) {
|
||||||
|
@ -1969,7 +1969,7 @@ int do_config_box(const char *title, Config *cfg, int midsession)
|
|||||||
window = gtk_dialog_new();
|
window = gtk_dialog_new();
|
||||||
|
|
||||||
ctrlbox = ctrl_new_box();
|
ctrlbox = ctrl_new_box();
|
||||||
setup_config_box(ctrlbox, &sl, midsession, 0);
|
setup_config_box(ctrlbox, &sl, midsession, cfg->protocol);
|
||||||
unix_setup_config_box(ctrlbox, midsession, window);
|
unix_setup_config_box(ctrlbox, midsession, window);
|
||||||
|
|
||||||
gtk_window_set_title(GTK_WINDOW(window), title);
|
gtk_window_set_title(GTK_WINDOW(window), title);
|
||||||
|
@ -18,7 +18,13 @@ Backend *select_backend(Config *cfg)
|
|||||||
|
|
||||||
int cfgbox(Config *cfg)
|
int cfgbox(Config *cfg)
|
||||||
{
|
{
|
||||||
return 1; /* no-op in pterm */
|
/*
|
||||||
|
* This is a no-op in pterm, except that we'll ensure the
|
||||||
|
* protocol is set to -1 to inhibit the useless Connection
|
||||||
|
* panel in the config box.
|
||||||
|
*/
|
||||||
|
cfg->protocol = -1;
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void cleanup_exit(int code)
|
void cleanup_exit(int code)
|
||||||
@ -42,6 +48,7 @@ int main(int argc, char **argv)
|
|||||||
extern void pty_pre_init(void); /* declared in pty.c */
|
extern void pty_pre_init(void); /* declared in pty.c */
|
||||||
|
|
||||||
cmdline_tooltype = TOOLTYPE_NONNETWORK;
|
cmdline_tooltype = TOOLTYPE_NONNETWORK;
|
||||||
|
default_protocol = -1;
|
||||||
|
|
||||||
pty_pre_init();
|
pty_pre_init();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user