2006-04-23 18:26:03 +00:00
|
|
|
/*
|
2021-04-23 05:19:05 +00:00
|
|
|
* putty-rc.h - constants shared between putty-common.rc2 and the C code.
|
2006-04-23 18:26:03 +00:00
|
|
|
*/
|
|
|
|
|
1999-01-08 13:02:13 +00:00
|
|
|
#ifndef PUTTY_WIN_RES_H
|
|
|
|
#define PUTTY_WIN_RES_H
|
|
|
|
|
|
|
|
#define IDI_MAINICON 200
|
2001-05-13 10:45:56 +00:00
|
|
|
#define IDI_CFGICON 201
|
1999-01-08 13:02:13 +00:00
|
|
|
|
|
|
|
#define IDD_MAINBOX 102
|
|
|
|
#define IDD_LOGBOX 110
|
|
|
|
#define IDD_ABOUTBOX 111
|
|
|
|
#define IDD_RECONF 112
|
|
|
|
#define IDD_LICENCEBOX 113
|
Centralise most details of host-key prompting.
The text of the host key warnings was replicated in three places: the
Windows rc file, the GTK dialog setup function, and the console.c
shared between both platforms' CLI tools. Now it lives in just one
place, namely ssh/common.c where the rest of the centralised host-key
checking is done, so it'll be easier to adjust the wording in future.
This comes with some extra automation. Paragraph wrapping is no longer
done by hand in any version of these prompts. (Previously we let GTK
do the wrapping on GTK, but on Windows the resource file contained a
bunch of pre-wrapped LTEXT lines, and console.c had pre-wrapped
terminal messages.) And the dialog heights in Windows are determined
automatically based on the amount of stuff in the window.
The main idea of all this is that it'll be easier to set up more
elaborate kinds of host key prompt that deal with certificates (if,
e.g., a server sends us a certified host key which we don't trust the
CA for). But there are side benefits of this refactoring too: each
tool now reliably inserts its own appname in the prompts, and also, on
Windows the entire prompt text is copy-pastable.
Details of implementation: there's a new type SeatDialogText which
holds a set of (type, string) pairs describing the contents of a
prompt. Type codes distinguish ordinary text paragraphs, paragraphs to
be displayed prominently (like key fingerprints), the extra-bold scary
title at the top of the 'host key changed' version of the dialog, and
the various information that lives in the subsidiary 'more info' box.
ssh/common.c constructs this, and passes it to the Seat to present the
actual prompt.
In order to deal with the different UI for answering the prompt, I've
added an extra Seat method 'prompt_descriptions' which returns some
snippets of text to interpolate into the messages. ssh/common.c calls
that while it's still constructing the text, and incorporates the
resulting snippets into the SeatDialogText.
For the moment, this refactoring only affects the host key prompts.
The warnings about outmoded crypto are still done the old-fashioned
way; they probably ought to be similarly refactored to use this new
SeatDialogText system, but it's not immediately critical for the
purpose I have right now.
2022-07-07 16:25:15 +00:00
|
|
|
#define IDD_HOSTKEY 114
|
2021-03-13 11:06:32 +00:00
|
|
|
#define IDD_HK_MOREINFO 116
|
Initial support for host certificates.
Now we offer the OpenSSH certificate key types in our KEXINIT host key
algorithm list, so that if the server has a certificate, they can send
it to us.
There's a new storage.h abstraction for representing a list of trusted
host CAs, and which ones are trusted to certify hosts for what
domains. This is stored outside the normal saved session data, because
the whole point of host certificates is to avoid per-host faffing.
Configuring this set of trusted CAs is done via a new GUI dialog box,
separate from the main PuTTY config box (because it modifies a single
set of settings across all saved sessions), which you can launch by
clicking a button in the 'Host keys' pane. The GUI is pretty crude for
the moment, and very much at a 'just about usable' stage right now. It
will want some polishing.
If we have no CA configured that matches the hostname, we don't offer
to receive certified host keys in the first place. So for existing
users who haven't set any of this up yet, nothing will immediately
change.
Currently, if we do offer to receive certified host keys and the
server presents one signed by a CA we don't trust, PuTTY will bomb out
unconditionally with an error, instead of offering a confirmation box.
That's an unfinished part which I plan to fix before this goes into a
release.
2022-04-22 11:07:24 +00:00
|
|
|
#define IDD_CA_CONFIG 117
|
1999-01-08 13:02:13 +00:00
|
|
|
|
|
|
|
#define IDN_LIST 1001
|
2000-09-22 14:46:26 +00:00
|
|
|
#define IDN_COPY 1002
|
1999-01-08 13:02:13 +00:00
|
|
|
|
|
|
|
#define IDA_ICON 1001
|
2015-12-22 10:18:48 +00:00
|
|
|
#define IDA_TEXT 1002
|
|
|
|
#define IDA_LICENCE 1003
|
|
|
|
#define IDA_WEB 1004
|
1999-01-08 13:02:13 +00:00
|
|
|
|
|
|
|
#define IDC_TAB 1001
|
2000-10-05 17:19:04 +00:00
|
|
|
#define IDC_TABSTATIC1 1002
|
|
|
|
#define IDC_TABSTATIC2 1003
|
|
|
|
#define IDC_TABLIST 1004
|
2001-12-06 13:28:02 +00:00
|
|
|
#define IDC_HELPBTN 1005
|
|
|
|
#define IDC_ABOUT 1006
|
1999-11-08 11:08:09 +00:00
|
|
|
|
2021-02-28 13:40:22 +00:00
|
|
|
#define IDC_HK_ICON 98
|
|
|
|
#define IDC_HK_TITLE 99
|
Centralise most details of host-key prompting.
The text of the host key warnings was replicated in three places: the
Windows rc file, the GTK dialog setup function, and the console.c
shared between both platforms' CLI tools. Now it lives in just one
place, namely ssh/common.c where the rest of the centralised host-key
checking is done, so it'll be easier to adjust the wording in future.
This comes with some extra automation. Paragraph wrapping is no longer
done by hand in any version of these prompts. (Previously we let GTK
do the wrapping on GTK, but on Windows the resource file contained a
bunch of pre-wrapped LTEXT lines, and console.c had pre-wrapped
terminal messages.) And the dialog heights in Windows are determined
automatically based on the amount of stuff in the window.
The main idea of all this is that it'll be easier to set up more
elaborate kinds of host key prompt that deal with certificates (if,
e.g., a server sends us a certified host key which we don't trust the
CA for). But there are side benefits of this refactoring too: each
tool now reliably inserts its own appname in the prompts, and also, on
Windows the entire prompt text is copy-pastable.
Details of implementation: there's a new type SeatDialogText which
holds a set of (type, string) pairs describing the contents of a
prompt. Type codes distinguish ordinary text paragraphs, paragraphs to
be displayed prominently (like key fingerprints), the extra-bold scary
title at the top of the 'host key changed' version of the dialog, and
the various information that lives in the subsidiary 'more info' box.
ssh/common.c constructs this, and passes it to the Seat to present the
actual prompt.
In order to deal with the different UI for answering the prompt, I've
added an extra Seat method 'prompt_descriptions' which returns some
snippets of text to interpolate into the messages. ssh/common.c calls
that while it's still constructing the text, and incorporates the
resulting snippets into the SeatDialogText.
For the moment, this refactoring only affects the host key prompts.
The warnings about outmoded crypto are still done the old-fashioned
way; they probably ought to be similarly refactored to use this new
SeatDialogText system, but it's not immediately critical for the
purpose I have right now.
2022-07-07 16:25:15 +00:00
|
|
|
#define IDC_HK_TEXT 100
|
2021-02-28 13:40:22 +00:00
|
|
|
#define IDC_HK_ACCEPT 1001
|
|
|
|
#define IDC_HK_ONCE 1000
|
2021-09-15 13:41:00 +00:00
|
|
|
#define IDC_HK_HOST 1002
|
|
|
|
#define IDC_HK_FINGERPRINT 1003
|
|
|
|
#define IDC_HK_MOREINFO 1004
|
2021-03-13 11:06:32 +00:00
|
|
|
|
|
|
|
#define IDC_HKI_SHA256 1000
|
|
|
|
#define IDC_HKI_MD5 1001
|
|
|
|
#define IDC_HKI_PUBKEY 1002
|
2021-02-28 13:40:22 +00:00
|
|
|
|
2019-01-26 20:26:09 +00:00
|
|
|
#define ID_CUSTOM_CHMFILE 2000
|
|
|
|
#define TYPE_CUSTOM_CHMFILE 2000
|
|
|
|
|
1999-01-08 13:02:13 +00:00
|
|
|
#endif
|