Commit Graph

5046 Commits

Author SHA1 Message Date
49dcd5b854 First try for QUIC (OpenSSL only)
This is an implementation for QUIC (RFC 9000, RFC 9114). It's purely
OpenSSL based for now. As some distros support newer (>= 3.2) versions
this works on some distros now and will work on more as time goes by.

It has been tested with MacOS and Linux. If there's an OpenSSL version
in /usr/bin/ it will automagically use that version.

A new short sub function named sub_quic() was introduced for handling this as
run_protocols() is already "full".

It appears below TLS 1.3. A check against HTTPS RR #2484 is planned but
not implemented yet. PR #2484 has to be worked on and merged before.

New variables were introduces (HAS_QUIC/ +HAS2_QUIC). Also there's
QUIC_WAIT as we run the connect in the background and we need a wait time.

HAS_UDS2 was renamed to HAS2_UDS as HAS2 should signal this is for OPENSSL2
and UDS2 doesn't make sense.

To clarify:
- check for a proxy and then don't do the check?
- short unit test (t/31_isJSON_valid.t cjecks cloudflare but ...)
2025-07-03 14:36:55 +02:00
6173d80ca2 Merge branch '3.2' into 3.3dev 2025-07-03 09:00:16 +02:00
4b5409122c Merge pull request #2820 from testssl/performance_hint
Performance hint for openssl
2025-07-02 17:37:21 +02:00
6de18d3a22 was 2x first 2025-07-02 17:36:33 +02:00
6083938a47 Performance hint for openssl 2025-07-02 17:34:29 +02:00
2829827cc2 Merge pull request #2817 from testssl/errormsg_2807
Improve error message for sockets fail and Alpine
2025-06-29 17:06:01 +02:00
3792bceeda Improve error message for sockets fail and Alpine
See $2807 .

Also some prln_magenta were modified (see #2816) to pr_warning.
2025-06-29 15:24:44 +02:00
9b1a7ae1f8 Merge pull request #2814 from testssl/revert-2813-revert_2772_for_testing
Revert "Revert lowercase conversion for repo"
2025-06-24 12:07:08 +02:00
78a613dae3 Remove the scheudule part as it will not work anymore 2025-06-24 12:06:00 +02:00
b56302518b Revert "Revert lowercase conversion for repo" 2025-06-23 23:12:59 +02:00
6dc26b09fe Merge pull request #2813 from testssl/revert_2772_for_testing
Revert lowercase conversion for repo
2025-06-23 21:38:32 +02:00
d44692331b Revert lowercase conversion for repo
... which was done in #2772 . This is done for testing as building the container doesn't
work anymore, see #2810 .

Action logs say it was build but it's unclear why it is still based on 3.2rc4 .
Hence this test.

The schedule was commented out as it would not apply either here as 3.3dev is
 now the default version.
2025-06-23 21:17:49 +02:00
bed43df2df Merge pull request #2812 from testssl/ghcr_workflow_no_unittest
YAML file doesn't need the unit tests
2025-06-23 21:04:43 +02:00
58719e4492 YAML file doesn't need the unit tests 2025-06-23 21:00:33 +02:00
4b71d0e2ce Merge pull request #2811 from testssl/docker_action_rename
Change action docker file to 3.3dev
2025-06-23 20:54:24 +02:00
d2eaae79cb rename docker ghcr.io action 2025-06-23 20:52:14 +02:00
5e571b4463 no unit test for yml file changes 2025-06-23 20:51:03 +02:00
f1621600f4 Change file to 3.3dev 2025-06-23 20:40:54 +02:00
da6ec2f695 Merge branch '3.2' into 3.3dev 2025-06-23 20:31:40 +02:00
5fe854b830 Merge pull request #2809 from testssl/improve_2798
Minor improvements to #2798
2025-06-23 20:29:27 +02:00
4d75527a4b Merge pull request #2808 from testssl/fix_sectigo_x46.forLinux
Add sectigo CA E46 and R46 for Linux.pem
2025-06-23 20:29:07 +02:00
c9a11a9fb0 Minor improvements to #2798
see https://github.com/testssl/testssl.sh/pull/2798#issuecomment-2972834180
2025-06-23 18:43:34 +02:00
71f0f32cf5 Merge pull request #2798 from secinto/3.2
Modify grading for incomplete chain. 

suggested corrections will be done after merge
2025-06-23 18:41:00 +02:00
b4f9e51865 Add lf so that gh action doesn't complain 2025-06-23 18:21:44 +02:00
1403503077 Add Sectigo x46 CAs from recent Debian update 2025-06-23 18:20:14 +02:00
81471c3a22 Merge pull request #2805 from testssl/readme_3.3dev
Reflect that this is 3.3dev
2025-06-15 09:48:31 +02:00
aa7d0f4311 typo 2025-06-15 09:47:23 +02:00
7cc605aeaf Reflect that this is 3.3dev
A branch at Docker.io needs to be created, thus that section is commented out.
2025-06-15 09:42:07 +02:00
a209f92d4f Merge pull request #2804 from testssl/readiness_for_new_stuff
Reflect version 3.0.10 version is EOL
2025-06-15 09:28:24 +02:00
99a05cb261 Merge pull request #2801 from HarrisonTCodes/fix-readme-deepwiki-link
Fix README DeepWiki Link
2025-06-14 17:14:37 +02:00
637fb86c83 typo 2025-06-14 17:11:30 +02:00
c4ad4d7d42 Reflect version 3.0.10 version is EOL 2025-06-14 17:09:24 +02:00
246ecbf490 fix deepwiki link 2025-06-14 14:56:37 +01:00
529a373b2e Update testssl.sh
Modified grading for incomplete chain
2025-06-13 10:54:13 +02:00
b6a951d40a Merge pull request #2797 from testssl/bump_version
Bump version
v3.2.1
2025-06-13 10:24:25 +02:00
f2aa87ba66 Bump version
"just" bugfix release.
2025-06-12 17:26:06 +02:00
949042866b Merge pull request #2796 from testssl/plaintext_len_AKA_openssl2conf_problem
Fix OPENSSL_CONF problem for OPENSSL2
2025-06-11 20:38:29 +02:00
235a6a0f88 add another OPENSSL_CONF='' 2025-06-11 19:02:06 +02:00
91a35026b6 Fix OPENSSL_CONF problem for OPENSSL2
In #2727 there were workarounds introduced which sped up processing decryption of
ChaCha20 and and AES-GCM by using OPENSSL2 when it is supporting such functions.

However when OPENSSL2 is called and OPENSSL_CONF still points to the autogenerated
file which works for `~/bin/openssl.$(uname -s).$(uname -m)` the decryption `$plaintext`
will be empty which later on caused a negative value, see #2780 .

This fixes #2780 by prepending `OPENSSL_CONF=''` to each OPENSSL2 instance. Also it
makes `chacha20()` and `gcm-decrypt()` more robust. It is now more readable now.

At other places $OPENSSL2 were prepended by `OPENSSL_CONF=''` also if there weren't
any obvious errors noticed.

Also now all OPENSSL2 vars will appear in /tmp/testssl.XXXXXX/environment.txt when
debugging.

It was also noticed that the `find_socat()` function had room for improvements, it was
not set in any case when `socat was in $PATH or supplied via env SOCAT.
2025-06-11 18:47:14 +02:00
735cc668c0 Merge pull request #2792 from testssl/fix_issuerCN
Fix missing issuer CN
2025-06-11 11:13:21 +02:00
0a89d5c94f Some cert need 5 lines to reach the CN 2025-06-11 09:06:41 +02:00
fd6dbb22bd Merge pull request #2790 from testssl/FixServerHeaderParser
Fix parser for server header
2025-06-11 08:48:36 +02:00
39029e9995 fix orthographic error 2025-06-10 23:13:00 +02:00
61947405e0 Fix missing issuer CN
This fixes a problem which was introduced @ 8d8f83ace5.
It caused for some hosts not to parse / display the issuer CN correctly.

Also it adds some code in testssl.sh and in a unit test to detect
this earlier. In general an output string FIXME will now cause a
unit test to fail. This can + should be used at other places too!

Fixes #2789
2025-06-10 22:54:11 +02:00
889aedc0e4 Fix parser for server header
Do word match and exclude minus sign

This fixes #2787 for 3.2.
2025-06-10 21:59:40 +02:00
fbbf68857f Merge pull request #2785 from testssl/stderr
Ensure that stderr is caught / $prg=testssl.sh
2025-05-28 20:16:32 +02:00
ba360bae7e remove extra quote sign 2025-05-28 10:21:10 +02:00
7183bb1206 Add changed headers at target ...
... so that runners pass
2025-05-27 22:48:04 +02:00
1fb3a2224f Ensure that stderr is caught / $prg=testssl.sh
As suggested in #2780 this PR redirects all stderr on a perl level
to stdout so that we should see all errors which we miss because
we can't redirect (>/dev/null in check) or we haven't redirected yet.

Also old checks are imporved, so that $prg is used as in newer
checks.
2025-05-27 10:54:25 +02:00
75d8f8aa90 Merge pull request #2782 from testssl/ccsInjectionFix
Fix CCS injection regression
2025-05-22 00:50:04 +02:00