1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 01:02:24 +00:00
putty-source/windows
Simon Tatham 7339e00f4a windows/utils/registry.c: allow opening reg keys RO.
These handy wrappers on the verbose underlying Win32 registry API have
to lose some expressiveness, and one thing they lost was the ability
to open a registry key without asking for both read and write access.
This meant they couldn't be used for accessing keys not owned by the
calling user.

So far, I've only used them for accessing PuTTY's own saved data,
which means that hasn't been a problem. But I want to use them
elsewhere in an upcoming commit, so I need to fix that.

The obvious thing would be to change the meaning of the existing
'create' boolean flag so that if it's false, we also don't request
write access. The rationale would be that you're either reading or
writing, and if you're writing you want both RW access and to create
keys that don't already exist. But in fact that's not true: you do
want to set create==false and have write access in the case where
you're _deleting_ things from the key (or the whole key). So we really
do need three ways to call the wrapper function.

Rather than add another boolean field to every call site or mess about
with an 'access type' enum, I've taken an in-between route: the
underlying open_regkey_fn *function* takes a 'create' and a 'write'
flag, but at call sites, it's wrapped with a macro anyway (to append
NULL to the variadic argument list), so I've just made three macros
whose names request different access. That makes call sites marginally
_less_ verbose, while still
2022-09-14 16:09:37 +01:00
..
utils windows/utils/registry.c: allow opening reg keys RO. 2022-09-14 16:09:37 +01:00
agent-client.c Formatting: standardise on "func(\n", not "func\n(". 2022-08-03 20:48:46 +01:00
cliloop.c Reorganise Windows HANDLE management. 2021-05-24 15:27:38 +01:00
CMakeLists.txt Windows: move GUI timer handling into a utils module. 2022-09-13 11:26:57 +01:00
config.c Macro wrapper on ctrl_radiobuttons to fill in the NULL. 2022-06-01 11:14:21 +01:00
conpty.c pterm.exe: load the ConPTY API at run time. 2022-05-21 09:53:03 +01:00
console.c New Seat method, seat_nonfatal(). 2022-09-13 11:26:57 +01:00
controls.c Windows: move the right control for align_next_to. 2022-09-06 11:37:30 +01:00
cryptoapi.h Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
dialog.c New Seat method, seat_nonfatal(). 2022-09-13 11:26:57 +01:00
gss.c Remove a completely unused global variable. 2022-09-03 12:02:58 +01:00
handle-io.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
handle-socket.c New facility, platform_start_subprocess. 2022-09-01 20:43:23 +01:00
handle-wait.c Fix an unused variable. 2021-05-27 09:48:32 +01:00
help.c windows/storage.c: factor out low-level Registry access. 2022-04-24 08:38:27 +01:00
help.h New feature: k-i authentication helper plugins. 2022-09-01 20:43:23 +01:00
help.rc2 Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
installer.wxs Configurable CHM path in installer source. 2021-05-03 17:01:55 +01:00
jump-list.c Formatting: miscellaneous. 2022-08-03 20:48:46 +01:00
local-proxy.c New facility, platform_start_subprocess. 2022-09-01 20:43:23 +01:00
make_install_images.sh Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
msifixup.py Remove white dialog background in MSI user interface. 2020-06-21 16:39:47 +01:00
named-pipe-client.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
named-pipe-server.c Formatting: standardise on "func(\n", not "func\n(". 2022-08-03 20:48:46 +01:00
network.c Add a batch of missing 'static's. 2022-09-03 12:02:48 +01:00
no-jump-list.c Add some missing #includes. 2022-09-03 11:59:12 +01:00
nohelp.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
noise.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pageant-rc.h winpgnt: say 'click to focus' in async passphrase prompt. 2021-04-22 20:00:46 +01:00
pageant.c Windows Pageant: add a missing null-pointer check (maybe). 2022-09-07 14:47:54 +01:00
pageant.ico
pageant.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
pageant.rc Certificate-aware handling of key fingerprints. 2022-08-05 18:08:59 +01:00
pageants.ico
platform.h windows/utils/registry.c: allow opening reg keys RO. 2022-09-14 16:09:37 +01:00
plink.c New Seat method, seat_nonfatal(). 2022-09-13 11:26:57 +01:00
plink.rc
printing.c Formatting: realign labels and case/default statements. 2022-08-03 20:48:46 +01:00
pscp.ico
pscp.rc
psftp.rc
psocks.c Rename most of the platform source files. 2021-04-26 18:00:01 +01:00
pterm.c pterm.exe: run command-line options through cmdline.c. 2022-05-21 10:34:17 +01:00
pterm.ico Make Windows versions of the pterm icons. 2021-05-08 17:33:25 +01:00
pterm.rc New application: a Windows version of 'pterm'! 2021-05-08 17:51:27 +01:00
ptermcfg.ico Make Windows versions of the pterm icons. 2021-05-08 17:33:25 +01:00
putty-common.rc2 Centralise most details of host-key prompting. 2022-07-07 18:05:32 +01:00
putty-rc.h Centralise most details of host-key prompting. 2022-07-07 18:05:32 +01:00
putty.c Merge assorted pterm fixes from 'pre-0.77'. 2022-05-21 10:59:31 +01:00
putty.ico
putty.mft Windows 10: add per monitor DPI awareness support. 2021-04-02 19:04:19 +01:00
putty.rc Move icon declarations out of putty-common.rc2. 2021-05-08 17:33:25 +01:00
puttycfg.ico
puttygen-rc.h PuTTYgen: option to control Argon2 flavour. 2021-02-23 18:26:50 +00:00
puttygen.c Fix a batch of resource leaks spotted by Coverity. 2022-09-07 14:28:52 +01:00
puttygen.ico
puttygen.mft Whitespace rationalisation of entire code base. 2019-09-08 20:29:21 +01:00
puttygen.rc Windows PuTTYgen: also display certificate info. 2022-07-30 17:16:55 +01:00
puttyins.ico
puttytel.mft Windows 10: add per monitor DPI awareness support. 2021-04-02 19:04:19 +01:00
puttytel.rc Move icon declarations out of putty-common.rc2. 2021-05-08 17:33:25 +01:00
rcstuff.h Replace mkfiles.pl with a CMake build system. 2021-04-17 13:53:02 +01:00
README-msi.txt Remove note about .CHM on network drives. 2019-03-18 21:53:45 +00:00
security-api.h Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
select-cli.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00
select-gui.c Handle WM_NETEVENT in Windows Pageant. 2022-02-04 19:32:47 +00:00
serial.c Add memsets after allocation of all Backend implementors. 2021-10-30 17:28:28 +01:00
sftp.c Formatting: realign labels and case/default statements. 2022-08-03 20:48:46 +01:00
sharing.c Windows: factor out mutex lock/unlock from sharing.c. 2022-01-03 12:12:05 +00:00
sizetip.c Formatting change to braces around one case of a switch. 2020-02-16 11:26:21 +00:00
storage.c windows/utils/registry.c: allow opening reg keys RO. 2022-09-14 16:09:37 +01:00
test_screenshot.c Standalone screenshot utility. 2022-04-02 17:26:24 +01:00
unicode.c windows/unicode.c: tighten up a bounds check. 2022-09-07 14:47:54 +01:00
version.rc2 FIXME about Windows resource CHMfulness hint. 2019-03-18 22:02:13 +00:00
website.url Switch chiark URLs to https. 2017-05-07 16:29:01 +01:00
win-gui-seat.h windows/window.c: move (most) static vars into WinGuiSeat. 2022-09-13 11:47:39 +01:00
window.c Merge resizing NACK fix from 'pre-0.78'. 2022-09-13 12:34:49 +01:00
x11.c Update source file names in comments and docs. 2022-01-22 15:51:31 +00:00