~mdw
/
sgt
/
putty
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Disable window title reporting by default, since it's a security
[sgt/putty]
/
config.c
diff --git
a/config.c
b/config.c
index
5488031
..
58881ca
100644
(file)
--- a/
config.c
+++ b/
config.c
@@
-162,7
+162,7
@@
static void codepage_handler(union control *ctrl, void *dlg,
Config *cfg = (Config *)data;
if (event == EVENT_REFRESH) {
int i;
Config *cfg = (Config *)data;
if (event == EVENT_REFRESH) {
int i;
- char *cp;
+ c
onst c
har *cp;
dlg_update_start(ctrl, dlg);
strcpy(cfg->line_codepage,
cp_name(decode_codepage(cfg->line_codepage)));
dlg_update_start(ctrl, dlg);
strcpy(cfg->line_codepage,
cp_name(decode_codepage(cfg->line_codepage)));
@@
-256,8
+256,12
@@
static void sessionsaver_handler(union control *ctrl, void *dlg,
* allocate space to store the current contents of the saved
* session edit box (since it must persist even when we switch
* panels, but is not part of the Config).
* allocate space to store the current contents of the saved
* session edit box (since it must persist even when we switch
* panels, but is not part of the Config).
+ *
+ * Of course, this doesn't need to be done mid-session.
*/
*/
- if (!dlg_get_privdata(ssd->editbox, dlg)) {
+ if (!ssd->editbox) {
+ savedsession = NULL;
+ } else if (!dlg_get_privdata(ssd->editbox, dlg)) {
savedsession = (char *)
dlg_alloc_privdata(ssd->editbox, dlg, SAVEDSESSION_LEN);
savedsession[0] = '\0';
savedsession = (char *)
dlg_alloc_privdata(ssd->editbox, dlg, SAVEDSESSION_LEN);
savedsession[0] = '\0';
@@
-333,6
+337,11
@@
static void sessionsaver_handler(union control *ctrl, void *dlg,
dlg_refresh(ssd->listbox, dlg);
}
} else if (ctrl == ssd->okbutton) {
dlg_refresh(ssd->listbox, dlg);
}
} else if (ctrl == ssd->okbutton) {
+ if (!savedsession) {
+ /* In a mid-session Change Settings, Apply is always OK. */
+ dlg_end(dlg, 1);
+ return;
+ }
/*
* Annoying special case. If the `Open' button is
* pressed while no host name is currently set, _and_
/*
* Annoying special case. If the `Open' button is
* pressed while no host name is currently set, _and_
@@
-726,9
+735,11
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
struct environ_data *ed;
struct portfwd_data *pfd;
union control *c;
struct environ_data *ed;
struct portfwd_data *pfd;
union control *c;
+ char *str;
ssd = (struct sessionsaver_data *)
ctrl_alloc(b, sizeof(struct sessionsaver_data));
ssd = (struct sessionsaver_data *)
ctrl_alloc(b, sizeof(struct sessionsaver_data));
+ memset(ssd, 0, sizeof(*ssd));
ssd->sesslist = (midsession ? NULL : sesslist);
/*
ssd->sesslist = (midsession ? NULL : sesslist);
/*
@@
-754,7
+765,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
/*
* The Session panel.
*/
/*
* The Session panel.
*/
- ctrl_settitle(b, "Session", "Basic options for your PuTTY session");
+ str = dupprintf("Basic options for your %s session", appname);
+ ctrl_settitle(b, "Session", str);
+ sfree(str);
if (!midsession) {
s = ctrl_getset(b, "Session", "hostport",
if (!midsession) {
s = ctrl_getset(b, "Session", "hostport",
@@
-1001,6
+1014,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
HELPCTX(features_retitle),
dlg_stdcheckbox_handler,
I(offsetof(Config,no_remote_wintitle)));
HELPCTX(features_retitle),
dlg_stdcheckbox_handler,
I(offsetof(Config,no_remote_wintitle)));
+ ctrl_checkbox(s, "Disable remote window title querying (SECURITY)",
+ 'q', HELPCTX(features_qtitle), dlg_stdcheckbox_handler,
+ I(offsetof(Config,no_remote_qtitle)));
ctrl_checkbox(s, "Disable destructive backspace on server sending ^?",'b',
HELPCTX(features_dbackspace),
dlg_stdcheckbox_handler, I(offsetof(Config,no_dbackspace)));
ctrl_checkbox(s, "Disable destructive backspace on server sending ^?",'b',
HELPCTX(features_dbackspace),
dlg_stdcheckbox_handler, I(offsetof(Config,no_dbackspace)));
@@
-1011,7
+1027,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
/*
* The Window panel.
*/
/*
* The Window panel.
*/
- ctrl_settitle(b, "Window", "Options controlling PuTTY's window");
+ str = dupprintf("Options controlling %s's window", appname);
+ ctrl_settitle(b, "Window", str);
+ sfree(str);
s = ctrl_getset(b, "Window", "size", "Set the size of the window");
ctrl_columns(s, 2, 50, 50);
s = ctrl_getset(b, "Window", "size", "Set the size of the window");
ctrl_columns(s, 2, 50, 50);
@@
-1047,8
+1065,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
/*
* The Window/Appearance panel.
*/
/*
* The Window/Appearance panel.
*/
- ctrl_settitle(b, "Window/Appearance",
- "Configure the appearance of PuTTY's window");
+ str = dupprintf("Configure the appearance of %s's window", appname);
+ ctrl_settitle(b, "Window/Appearance", str);
+ sfree(str);
s = ctrl_getset(b, "Window/Appearance", "cursor",
"Adjust the use of the cursor");
s = ctrl_getset(b, "Window/Appearance", "cursor",
"Adjust the use of the cursor");
@@
-1085,8
+1104,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
/*
* The Window/Behaviour panel.
*/
/*
* The Window/Behaviour panel.
*/
- ctrl_settitle(b, "Window/Behaviour",
- "Configure the behaviour of PuTTY's window");
+ str = dupprintf("Configure the behaviour of %s's window", appname);
+ ctrl_settitle(b, "Window/Behaviour", str);
+ sfree(str);
s = ctrl_getset(b, "Window/Behaviour", "title",
"Adjust the behaviour of the window title");
s = ctrl_getset(b, "Window/Behaviour", "title",
"Adjust the behaviour of the window title");
@@
-1116,8
+1136,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
'r', 100, HELPCTX(translation_codepage),
codepage_handler, P(NULL), P(NULL));
'r', 100, HELPCTX(translation_codepage),
codepage_handler, P(NULL), P(NULL));
- s = ctrl_getset(b, "Window/Translation", "linedraw",
- "Adjust how PuTTY displays line drawing characters");
+ str = dupprintf("Adjust how %s displays line drawing characters", appname);
+ s = ctrl_getset(b, "Window/Translation", "linedraw", str);
+ sfree(str);
ctrl_radiobuttons(s, "Handling of line drawing characters:", NO_SHORTCUT,1,
HELPCTX(translation_linedraw),
dlg_stdradiobutton_handler,
ctrl_radiobuttons(s, "Handling of line drawing characters:", NO_SHORTCUT,1,
HELPCTX(translation_linedraw),
dlg_stdradiobutton_handler,
@@
-1187,8
+1208,9
@@
void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
HELPCTX(colours_bold),
dlg_stdcheckbox_handler, I(offsetof(Config,bold_colour)));
HELPCTX(colours_bold),
dlg_stdcheckbox_handler, I(offsetof(Config,bold_colour)));
- s = ctrl_getset(b, "Window/Colours", "adjust",
- "Adjust the precise colours PuTTY displays");
+ str = dupprintf("Adjust the precise colours %s displays", appname);
+ s = ctrl_getset(b, "Window/Colours", "adjust", str);
+ sfree(str);
ctrl_text(s, "Select a colour from the list, and then click the"
" Modify button to change its appearance.",
HELPCTX(colours_config));
ctrl_text(s, "Select a colour from the list, and then click the"
" Modify button to change its appearance.",
HELPCTX(colours_config));