Skip to content

Commit 9d78aa9

Browse files
committed
Add output of API errors to console
1 parent 45f8738 commit 9d78aa9

File tree

1 file changed

+25
-17
lines changed

1 file changed

+25
-17
lines changed

modules/auxiliary/gather/ssllabs_scan.rb

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -52,17 +52,17 @@ def request(name, params = {})
5252

5353
case res.code.to_i
5454
when 400
55-
fail InvocationError, "invalid parameters"
55+
fail InvocationError
5656
when 429
57-
fail RequestRateTooHigh, "request rate is too high, please slow down"
57+
fail RequestRateTooHigh
5858
when 500
59-
fail InternalError, "service encountered an error, sleep 5 minutes"
59+
fail InternalError
6060
when 503
61-
fail ServiceNotAvailable, "service is not available, sleep 15 minutes"
61+
fail ServiceNotAvailable
6262
when 529
63-
fail ServiceOverloaded, "service is overloaded, sleep 30 minutes"
63+
fail ServiceOverloaded
6464
else
65-
fail StandardError, "http error code #{r.code}"
65+
fail StandardError, "HTTP error code #{r.code}", caller
6666
end
6767
end
6868

@@ -429,16 +429,13 @@ def initialize(info = {})
429429
], self.class)
430430
end
431431

432-
def contain?(dictionary, b)
433-
end
434-
435432
def output_endpoint_data(r)
436433
ssl_protocols = [
437-
{id: 771, name: "TLS", version: "1.2", secure: true, active: false},
438-
{id: 770, name: "TLS", version: "1.1", secure: true, active: false},
439-
{id: 769, name: "TLS", version: "1.0", secure: true, active: false},
440-
{id: 768, name: "SSL", version: "3.0", secure: false, active: false},
441-
{id: 2, name: "SSL", version: "2.0", secure: false, active: false}
434+
{ id: 771, name: "TLS", version: "1.2", secure: true, active: false },
435+
{ id: 770, name: "TLS", version: "1.1", secure: true, active: false },
436+
{ id: 769, name: "TLS", version: "1.0", secure: true, active: false },
437+
{ id: 768, name: "SSL", version: "3.0", secure: false, active: false },
438+
{ id: 2, name: "SSL", version: "2.0", secure: false, active: false }
442439
]
443440

444441
print_status "-----------------------------------------------------------------"
@@ -447,7 +444,7 @@ def output_endpoint_data(r)
447444

448445
case r.grade.to_s
449446
when "A+", "A", "A-"
450-
print_good "Overal rating: #{r.grade}"
447+
print_good "Overal rating: #{r.grade}"
451448
when "B"
452449
print_warning "Overal rating: #{r.grade}"
453450
when "C", "D", "E", "F"
@@ -460,15 +457,15 @@ def output_endpoint_data(r)
460457

461458
# Supported protocols
462459
r.details.protocols.each do |i|
463-
p = ssl_protocols.detect {|x| x[:id] == i.id }
460+
p = ssl_protocols.detect { |x| x[:id] == i.id }
464461
p.store(:active, true) if p
465462
end
466463

467464
ssl_protocols.each do |proto|
468465
if proto[:active]
469466
if proto[:secure]
470467
print_good "#{proto[:name]} #{proto[:version]} - Yes"
471-
elsif
468+
else
472469
print_error "#{proto[:name]} #{proto[:version]} - Yes"
473470
end
474471
else
@@ -760,5 +757,16 @@ def run
760757
sleep delay
761758
r = api.analyse(host: hostname, all: 'done')
762759
end
760+
761+
rescue
762+
print_error "Invalid parameters"
763+
rescue RequestRateTooHigh
764+
print_error "Request rate is too high, please slow down"
765+
rescue InternalError
766+
print_error "Service encountered an error, sleep 5 minutes"
767+
rescue ServiceNotAvailable
768+
print_error "Service is not available, sleep 15 minutes"
769+
rescue ServiceOverloaded
770+
print_error "Service is overloaded, sleep 30 minutes"
763771
end
764772
end

0 commit comments

Comments
 (0)