mirror of
				https://github.com/drwetter/testssl.sh.git
				synced 2025-10-29 21:05:26 +01:00 
			
		
		
		
	JSON and CSV output problem with mass testing
There is currently a problem if mass testing is being performed, JSON and/or CSV output is to be produced, the parent process calls fileout(), and each child process have its own output file for the JSON and/or CSV output. The can be seen, for example, with the following: testssl.sh --openssl=openssl_1.1.1 --file test_servers.txt --csvfile output_dir --jsonfile output_dir A call will be made in the parent process to report that openssl_1.1.1 has "No engine or GOST support via engine." fileout() will try to write to output_dir, which will result in an error. This PR fixes the problem by checking the the file to be written to is not a directory (as is already done in html_out() for HTML output).
This commit is contained in:
		| @@ -867,8 +867,8 @@ fileout() { | |||||||
|  |  | ||||||
|      if ( "$do_pretty_json" && [[ "$1" == "service" ]] ) || show_finding "$severity"; then |      if ( "$do_pretty_json" && [[ "$1" == "service" ]] ) || show_finding "$severity"; then | ||||||
|          local finding=$(strip_lf "$(newline_to_spaces "$(strip_quote "$3")")") |          local finding=$(strip_lf "$(newline_to_spaces "$(strip_quote "$3")")") | ||||||
|          [[ -e "$JSONFILE" ]] && (fileout_json_finding "$1" "$severity" "$finding" "$cve" "$cwe" "$hint") |          [[ -e "$JSONFILE" ]] && [[ ! -d "$JSONFILE" ]] && (fileout_json_finding "$1" "$severity" "$finding" "$cve" "$cwe" "$hint") | ||||||
|          "$do_csv" && \ |          "$do_csv" && [[ -n "$CSVFILE" ]] && [[ ! -d "$CSVFILE" ]] && \ | ||||||
|               echo -e \""$1\"",\"$NODE/$NODEIP\",\"$PORT"\",\""$severity"\",\""$finding"\",\""$cve"\",\""$cwe"\",\""$hint"\"" >> "$CSVFILE" |               echo -e \""$1\"",\"$NODE/$NODEIP\",\"$PORT"\",\""$severity"\",\""$finding"\",\""$cve"\",\""$cwe"\",\""$hint"\"" >> "$CSVFILE" | ||||||
|      "$FIRST_FINDING" && FIRST_FINDING=false |      "$FIRST_FINDING" && FIRST_FINDING=false | ||||||
|      fi |      fi | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 David Cooper
					David Cooper