simon-git: putty (main): Simon Tatham
Commits to Tartarus hosted VCS
tartarus-commits at lists.tartarus.org
Sat Jun 25 15:00:06 BST 2022
TL;DR:
3bef6b63 Reindent unix/dialog.c.
e8a8c253 GTK: remove 'entrysig' in struct uctrl.
1a568e35 New function dlg_editbox_select_range.
76205b89 A few more ptrlen functions.
08d58fe1 Routines for %-encoding and %-decoding.
f579b3c0 Certificate trust scope: change to a boolean-expression system.
Repository: https://git.tartarus.org/simon/putty.git
On the web: https://git.tartarus.org/?p=simon/putty.git
Branch updated: main
Committer: Simon Tatham <anakin at pobox.com>
Date: 2022-06-25 15:00:06
commit 3bef6b63f0803623b649d151a142c4a137895b63
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=3bef6b63f0803623b649d151a142c4a137895b63;hp=bc61acc53da1e5d780f4840aeef66d79e2044207
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Jun 23 18:44:07 2022 +0100
Reindent unix/dialog.c.
Large chunks of the GTK setup code had a 2-space indent for some
reason, in place of the usual 4-space in this code base. I've been
meaning to sort it out for ages, because it makes it hard to have a
single set of editor settings suitable for the whole code base.
unix/dialog.c | 208 +++++++++++++++++++++++++++++-----------------------------
1 file changed, 104 insertions(+), 104 deletions(-)
commit e8a8c2535dc198b16569f405caa96f895fce6824
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=e8a8c2535dc198b16569f405caa96f895fce6824;hp=3bef6b63f0803623b649d151a142c4a137895b63
Author: Simon Tatham <anakin at pobox.com>
Date: Thu Jun 23 19:04:43 2022 +0100
GTK: remove 'entrysig' in struct uctrl.
The only *use* of it was removed in commit 6a743399b03e3d6, where
instead of blocking the GTK signal that caused a string to be
overwritten, I switched to making a temporary copy of the string. But
I didn't notice that the declaration and assignments could be cleaned
up too.
unix/dialog.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
commit 1a568e3535a19b75647a7b9e4ac2192b5e9be536
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=1a568e3535a19b75647a7b9e4ac2192b5e9be536;hp=e8a8c2535dc198b16569f405caa96f895fce6824
Author: Simon Tatham <anakin at pobox.com>
Date: Sat Jun 25 13:00:06 2022 +0100
New function dlg_editbox_select_range.
This manipulates the selection inside an edit box, to select a
specific range of characters in the contained text. The idea is that
you can use it as a means of error highlighting, if the user has
entered something invalid in that edit box and you want to draw their
attention to the specific location of the part you're unhappy with.
dialog.h | 2 ++
unix/dialog.c | 21 +++++++++++++++++++++
windows/controls.c | 8 ++++++++
3 files changed, 31 insertions(+)
commit 76205b89e2a7889eb557bb4d86761e21bf04606c
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=76205b89e2a7889eb557bb4d86761e21bf04606c;hp=1a568e3535a19b75647a7b9e4ac2192b5e9be536
Author: Simon Tatham <anakin at pobox.com>
Date: Sun Jun 12 11:27:27 2022 +0100
A few more ptrlen functions.
ptrlen_contains and ptrlen_contains_only are useful for checking that
a string is composed entirely of certain characters, or avoids them.
ptrlen_end makes a pointer to the byte just past the end of the
specified string. And it can be used with make_ptrlen_startend, which
makes a ptrlen out of two pointers instead of a pointer and a length.
misc.h | 17 +++++++++++++++++
utils/ptrlen.c | 16 ++++++++++++++++
2 files changed, 33 insertions(+)
commit 08d58fe13e84a929c72c5d4aa98001279463a79f
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=08d58fe13e84a929c72c5d4aa98001279463a79f;hp=76205b89e2a7889eb557bb4d86761e21bf04606c
Author: Simon Tatham <anakin at pobox.com>
Date: Sun Jun 19 10:36:50 2022 +0100
Routines for %-encoding and %-decoding.
These make a good storage format for mostly-textual data in
configuration, if it can't afford to reserve any character as a
delimiter. Assuming very few characters need to be escaped, the space
cost is lower than base64, and also you can read it by eye.
misc.h | 7 +++++++
utils/CMakeLists.txt | 2 ++
utils/percent_decode.c | 41 +++++++++++++++++++++++++++++++++++++++++
utils/percent_encode.c | 34 ++++++++++++++++++++++++++++++++++
4 files changed, 84 insertions(+)
commit f579b3c01e2bfd439d493be06b934404e13d3376
web diff https://git.tartarus.org/?p=simon/putty.git;a=commitdiff;h=f579b3c01e2bfd439d493be06b934404e13d3376;hp=08d58fe13e84a929c72c5d4aa98001279463a79f
Author: Simon Tatham <anakin at pobox.com>
Date: Sun Jun 12 10:04:26 2022 +0100
Certificate trust scope: change to a boolean-expression system.
This replaces the previous placeholder scheme of having a list of
hostname wildcards with implicit logical-OR semantics (if any wildcard
matched then the certificate would be trusted to sign for that host).
That scheme didn't allow for exceptions within a domain ('everything
in example.com except extra-high-security-machine.example.com'), and
also had no way to specify port numbers.
In the new system, you can still write a hostname wildcard by itself
in the simple case, but now those are just atomic subexpressions in a
boolean-logic domain-specific language I've made up. So if you want
multiple wildcards, you can separate them with || in a single longer
expression, and also you can use && and ! to impose exceptions on top
of that.
Full details of the expression language are in the comment at the top
of utils/cert-expr.c. It'll need documenting properly before release,
of course.
For the sake of backwards compatibility for early adopters who've
already set up configuration in the old system, I've put in some code
that will read the old MatchHosts configuration and automatically
translate it into the equivalent boolean expression (by simply
stringing together the list of wildcards with || between them).
CMakeLists.txt | 5 +
defs.h | 2 +
misc.h | 14 +
ssh/ca-config.c | 138 ++-----
ssh/transport2.c | 13 +-
storage.h | 3 +-
unix/storage.c | 24 +-
utils/CMakeLists.txt | 1 +
utils/cert-expr.c | 967 +++++++++++++++++++++++++++++++++++++++++++++++
utils/host_ca_new_free.c | 4 +-
windows/storage.c | 26 +-
11 files changed, 1057 insertions(+), 140 deletions(-)
More information about the tartarus-commits
mailing list