Commit Graph
100 Commits
Author SHA1 Message Date
Dirk a27d8b9c31 Update baseline scan for unit test (3.2)
This PR updates the baseline after switching to the new server.  See also #2914 .
2025-10-11 17:39:40 +02:00
Dirk caf7dc561a new IP address 2025-10-09 21:05:58 +02:00
Dirk 2924394160 Don't tigger unit tests whenroff file was changed 2025-10-09 21:03:56 +02:00
Dirk WetterandGitHub a3372ed1a4 Merge pull request #2907 from testssl/fix_file_naming_3.2
Fix file time stamp issue
2025-09-30 20:42:23 +02:00
Dirk ceb24740a3 Fix file time stamp issue
Backport from #2904  (3.3dev). Time stamps for file outputs are now consistent.

Kudos @jdvorak001. Fixes #2901
2025-09-30 17:37:11 +02:00
Dirk WetterandGitHub 6b7aa7a9e6 Merge pull request #2906 from testssl/fix_2884_3.2
Consistency for function ciphers_by_strength() (3.2)
2025-09-30 17:30:46 +02:00
Dirk 43a71b0611 Consistency for function ciphers_by_strength()
This PR ist similar to #2905 for 3.3dev . However for the stable brnach it's
important to note that this is a breaking change as it modifies the output.
That happens only tough when `ciphers_by_strength()` is being used --equivalent
to the command line `./testssl.sh -E` =  `./testssl.sh --cipher-per-proto`. As
this is seldom used and was basically succeeded by `-P, --server-preference`
this looks acceptable as it provides consistency which was overdue.

Details:

* keys now always with `v`, like `supportedciphers_TLSv1_2` and also ciphers
  (e.g. `TLSv1.2   x35     AES256-SHA`)
*  add word "server" to file output so that it reads "NOT a server cipher order configured"

Fixes #2884 for 3.2 .
2025-09-30 16:07:56 +02:00
Dirk WetterandGitHub 2e77f5ea5d Merge pull request #2898 from dcooper16/fix2896_32
Fix #2896
2025-09-22 19:35:27 +02:00
Dirk WetterandGitHub 416de7ef0e Merge pull request #2900 from testssl/backport_32_isHTML_valid
Backport GH runner from 3.3dev
2025-09-22 13:17:36 +02:00
Dirk f29f93ca72 Backport from 3.3dev
... to avoid repeated failures because of heise.de . Looks like there are
server side measures which made some tests fail. Often the MacOS CI runner
is slower and seems to run into that.

See also 56c1e585
2025-09-22 11:06:24 +02:00
Dirk WetterandGitHub c4856bef72 Merge pull request #2890 from testssl/bump_version_3.2
Bump version (3.2)
2025-09-18 11:31:56 +02:00
Dirk WetterandGitHub 73c0ca9f88 Merge pull request #2895 from testssl/update_faq_again_3.2
Restructure, load balancer issue, STARTTLS SMTP better explained
2025-09-18 11:31:24 +02:00
Dirk Wetter 2acba56101 Restructure, load balancer issue, STARTTLS SMTP better explained 2025-09-18 11:14:29 +02:00
Dirk WetterandGitHub 71f60a1317 Merge pull request #2892 from testssl/lucky_phrasing_3.2
Lucky13: improve phrasing for 3.2
2025-09-18 10:24:53 +02:00
Dirk Wetter ae5033a3c7 fix error in baseline (CI) 2025-09-16 19:55:32 +02:00
Dirk WetterandGitHub 13c7977c7c Merge pull request #2889 from testssl/fix_indentation
Fix indentation @ Intermediate cert validity (3.2)
2025-09-16 19:53:05 +02:00
Dirk Wetter 892e95a6ca Rephrase Lucky13 finding for 3.2
see also #2537 .
2025-09-16 14:11:39 +02:00
Dirk Wetter 1504961a8e Bump version (3.2) 2025-09-16 12:58:58 +02:00
Dirk Wetter 0d0fbe4483 Fix indentation @ Intermediate cert validity (3.2)
... when there were two server and >1 intermediate CA certificates.
2025-09-16 12:54:41 +02:00
Dirk WetterandGitHub 559c089c39 Merge pull request #2887 from testssl/fix_http_age_3.2
Fix garbled screen when HTTP Age is not a non-negative int (branch 3.2)
2025-09-16 09:58:40 +02:00
Dirk 7aa9d30a72 Typos fixed which led to wrong file name
... which was catched in unit tests t/{baseline_ipv4_http.t,23_client_simulation}
2025-09-15 22:43:07 +02:00
Dirk WetterandGitHub a11ad9448a Merge pull request #2888 from testssl/update_faq_3.2
Additions to FAQ (branch 3.2)
2025-09-15 22:40:11 +02:00
Dirk Wetter e30565cf76 Additions to FAQ (branch 3.2)
- STARTTLS + rating
- amend paragraphs
- and try to avoid the word "crypto"
2025-09-15 19:18:09 +02:00
Dirk 7bb7ac8f08 Fix garbled screen when HTTP Age is not a non-negative int (3.2)
As suggested in #2885 parsing of the server determined HTTP age var wasn't strict enough, this is a backport for 3.2.

https://www.rfc-editor.org/rfc/rfc7234#section-1.2.1 requires the variable to be a non-negative integer but testssl.sh assumed it was like that but did't check whether that really was the case. This was labled as a (potential) security problem. Potential as it didn't look exploitable after review -- the header as a whole was already sanitized.

This PR fixes the typs confusion and the garbled screen by checking the variable early in run_http_header() and reset it to NaN. That will be used later in run_http_date() to raise a low severity finding.  Kudos to @Tristanhx for catching this and for the suggested PR.

Also, only when running in debug mode, this PR fixes that during service_detection() parts of the not-yet-sanitized header ended up on the screen. The fix just calls sanitze_http_header() for the temporary variable $TMPFILE.

For 3.2 sanitze_http_header() had to be modified to accept an argument and the callers needed to be changed.
2025-09-15 18:57:59 +02:00
Dirk WetterandGitHub 5d275e5370 Merge pull request #2881 from testssl/faq_3.2
FAQ for 3.2
2025-09-02 15:58:13 +02:00
Dirk Wetter af84055e7d Backport FAQ from 3.3dev 2025-09-02 15:53:21 +02:00
Dirk WetterandGitHub c52e5549ed Merge pull request #2864 from testssl/drwetter-patch-1
Modify OS bullet point + badge param
2025-07-29 12:41:59 +02:00
Dirk WetterandGitHub c8044ab7aa Modify OS point + badge param 2025-07-29 12:37:38 +02:00
Dirk WetterandGitHub 878513e140 Merge pull request #2845 from testssl/fix_misleading_ipv4_msg_3.2
Fix displayed message when IPv6 needs to be tested too (3.2)
2025-07-15 23:30:00 +02:00
Dirk Wetter 853cea8530 Fix displayed message when IPv6 needs to be tested too (3.2)
message: "Testing all IPv4 addresses"

related to #2843.
2025-07-15 20:49:07 +02:00
Dirk WetterandGitHub 0191098432 Merge pull request #2841 from testssl/rollup_improvements
Rollup improvements (3.2)
2025-07-13 08:57:27 +02:00
Dirk Wetter 8d905054f3 fix typos 2025-07-12 18:51:24 +02:00
Dirk Wetter 3812554987 Backport readability and more improvements from 3.3dev
The opossum patch improved http_get() , http_get_header/http_head()
in terms of readability. This was backported to improve maintainability.

Also in pwned keys if not pwned appear now in green/OK and not just
info level.

HAS_UDS2 was renamed to HAS2_UDS.
2025-07-12 18:45:45 +02:00
Dirk WetterandGitHub 9b795df17e Merge pull request #2839 from testssl/no_fulloutput@32_isHTML_valid
do not output the whole output
2025-07-12 14:50:48 +02:00
Dirk c6062a2254 do not output the whole output
text + html , comp_ok --> ok
2025-07-11 14:42:05 +02:00
Dirk WetterandGitHub 137c7e2fbb Merge pull request #2832 from testssl/12_diff_homebrew_(3.2)
For Mac: use homebrew's openssl (3.2)
2025-07-10 11:19:41 +02:00
Dirk WetterandGitHub 9290f819af Merge pull request #2836 from testssl/drwetter-patch-1
rating bump to 2009r
2025-07-10 09:41:52 +02:00
Dirk WetterandGitHub 28514d3a88 rating bump to 2009r 2025-07-10 09:41:19 +02:00
Dirk WetterandGitHub f674cde6de Merge pull request #2834 from magnuslarsen/3.2
feat: bump ssllabs rating guide to 2009r
2025-07-10 09:36:33 +02:00
Dirk Wetter d63617c0f6 make it compatible when run locally 2025-07-10 09:14:08 +02:00
Dirk Wetter 815e737bfe Check the correct file 2025-07-09 18:10:30 +02:00
Dirk Wetter 1f589565c7 we changed above the ECDH bit length already 2025-07-09 16:17:28 +02:00
Dirk Wetter 822c6b31d7 fix stnax errors 2025-07-09 15:22:48 +02:00
Dirk Wetter 4f52cbbedf Copy LibreSSL change of naming scheme from t/61_diff_testsslsh.t
... also if NOW only ciphers seem affected.
2025-07-09 13:31:18 +02:00
Dirk Wetter b8aadef737 For Mac: use homebrew's openssl (3.2)
... so that we have a comparison between OpenSSL and LibreSSL. Otherwise this test would be completely futile for MacOS.
Also change the displayed text.
2025-07-08 23:47:19 +02:00
Dirk WetterandGitHub b783fbc660 Merge pull request #2826 from testssl/fix_2825
Fix not working --disable-rating switch
2025-07-07 14:01:50 +02:00
Dirk Wetter 0b79356357 Fix not working --disable-rating switch
The logic was wrong when calling set_rating_state() in parse_cmd_line()
as do_rating was set before to true through set_scanning_defaults().

This PR fixes that by querying ${SKIP_TESTS[@]} instead and then calling
set_rating_state() when no --disable-rating was supplied .
2025-07-07 12:01:43 +02:00
Dirk WetterandGitHub 8cb32a3db9 Merge pull request #2819 from testssl/perf_improvements
Make code2network() faster by using bash instead of tr
2025-07-03 18:14:54 +02:00
Dirk Wetter 9511f3b9db Fix 52_ocsp_revoked (OCSP --> CRL) 2025-07-03 16:59:54 +02:00
Dirk WetterandGitHub 4b5409122c Merge pull request #2820 from testssl/performance_hint
Performance hint for openssl
2025-07-02 17:37:21 +02:00
Dirk Wetter 6de18d3a22 was 2x first 2025-07-02 17:36:33 +02:00
Dirk Wetter 6083938a47 Performance hint for openssl 2025-07-02 17:34:29 +02:00
Dirk WetterandGitHub 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
Dirk 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
Dirk Wetter d80e0e9f95 Make code2network() faster by using bash only 2025-06-27 19:09:01 +02:00
Dirk WetterandGitHub 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
Dirk 78a613dae3 Remove the scheudule part as it will not work anymore 2025-06-24 12:06:00 +02:00
Dirk WetterandGitHub b56302518b Revert "Revert lowercase conversion for repo" 2025-06-23 23:12:59 +02:00
Dirk WetterandGitHub 6dc26b09fe Merge pull request #2813 from testssl/revert_2772_for_testing
Revert lowercase conversion for repo
2025-06-23 21:38:32 +02:00
Dirk 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
Dirk WetterandGitHub 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
Dirk Wetter 58719e4492 YAML file doesn't need the unit tests 2025-06-23 21:00:33 +02:00
Dirk WetterandGitHub 5fe854b830 Merge pull request #2809 from testssl/improve_2798
Minor improvements to #2798
2025-06-23 20:29:27 +02:00
Dirk WetterandGitHub 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
Dirk Wetter c9a11a9fb0 Minor improvements to #2798
see https://github.com/testssl/testssl.sh/pull/2798#issuecomment-2972834180
2025-06-23 18:43:34 +02:00
Dirk WetterandGitHub 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
Dirk Wetter b4f9e51865 Add lf so that gh action doesn't complain 2025-06-23 18:21:44 +02:00
Dirk Wetter 1403503077 Add Sectigo x46 CAs from recent Debian update 2025-06-23 18:20:14 +02:00
Dirk WetterandGitHub 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
Dirk WetterandGitHub 99a05cb261 Merge pull request #2801 from HarrisonTCodes/fix-readme-deepwiki-link
Fix README DeepWiki Link
2025-06-14 17:14:37 +02:00
Dirk 637fb86c83 typo 2025-06-14 17:11:30 +02:00
Dirk c4ad4d7d42 Reflect version 3.0.10 version is EOL 2025-06-14 17:09:24 +02:00
Dirk WetterandGitHub b6a951d40a Merge pull request #2797 from testssl/bump_version
Bump version
2025-06-13 10:24:25 +02:00
Dirk f2aa87ba66 Bump version
"just" bugfix release.
2025-06-12 17:26:06 +02:00
Dirk WetterandGitHub 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
Dirk 235a6a0f88 add another OPENSSL_CONF='' 2025-06-11 19:02:06 +02:00
Dirk 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
Dirk WetterandGitHub 735cc668c0 Merge pull request #2792 from testssl/fix_issuerCN
Fix missing issuer CN
2025-06-11 11:13:21 +02:00
Dirk Wetter 0a89d5c94f Some cert need 5 lines to reach the CN 2025-06-11 09:06:41 +02:00
Dirk WetterandGitHub fd6dbb22bd Merge pull request #2790 from testssl/FixServerHeaderParser
Fix parser for server header
2025-06-11 08:48:36 +02:00
Dirk Wetter 39029e9995 fix orthographic error 2025-06-10 23:13:00 +02:00
Dirk Wetter 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
Dirk Wetter 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
Dirk WetterandGitHub fbbf68857f Merge pull request #2785 from testssl/stderr
Ensure that stderr is caught / $prg=testssl.sh
2025-05-28 20:16:32 +02:00
Dirk Wetter ba360bae7e remove extra quote sign 2025-05-28 10:21:10 +02:00
Dirk Wetter 7183bb1206 Add changed headers at target ...
... so that runners pass
2025-05-27 22:48:04 +02:00
Dirk Wetter 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
Dirk WetterandGitHub 75d8f8aa90 Merge pull request #2782 from testssl/ccsInjectionFix
Fix CCS injection regression
2025-05-22 00:50:04 +02:00
Dirk 0daf83cf76 fix typo 2025-05-21 14:22:13 +02:00
Dirk cd575526a7 Fix CCS injection regression
The rhs of the pattern was off by one byte and it worked in practise until recent PR #2657.

This fixes #2691 for 3.2 .
2025-05-21 14:17:54 +02:00
Dirk WetterandGitHub 388f3a3321 Merge pull request #2761 from testssl/mac_runner
PoC github action runner macos-14
2025-05-20 17:59:19 +02:00
Dirk Wetter a76e06f887 Polish some sentences
... wrt to the now even better unit testing.
2025-05-20 16:50:39 +02:00
Dirk Wetter f8f00de5a0 Shorten name for badge 2025-05-20 16:43:06 +02:00
Dirk Wetter d87f5f68de Sync runners / rename comments for badge 2025-05-20 16:37:48 +02:00
Dirk Wetter ce96cc5816 Add badge for MacOS rummer 2025-05-20 16:36:29 +02:00
Dirk Wetter 7815b67695 Merge branch '3.2' into mac_runner 2025-05-20 16:31:34 +02:00
Dirk WetterandGitHub 242256bd58 Merge pull request #2778 from testssl/drwetter-patch-1
slight rewording
2025-05-20 12:38:42 +02:00
Dirk WetterandGitHub 81b377bda9 slight rewording 2025-05-20 12:37:57 +02:00
Dirk Wetter d0143b181b Handle space problem 2025-05-20 10:48:54 +02:00
Dirk Wetter 85d8d44fbe Try to fix the renegotiation problem
as suggested, see https://github.com/testssl/testssl.sh/issues/2765#issuecomment-2891140503
2025-05-19 16:24:46 +02:00