Some Qualsys results can be returned without a grade, causing an exception.
TheMysteriousX opened this issue · comments
This can happen when a domain resolves to multiple addresses, but only some of them are responsive.
My initial thought (and my fix on my own system) was just to compact ssl_grades
before sorting it.
Some users might not want errors like that to be handled silently though, so I'm not sure what solution you'd want to implement.
The current behaviour though is just to throw an exception:
Check failed to run: comparison of NilClass with 7 failed, [
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `sort_by'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `sort_by!'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:120:in `lowest_grade'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugins-ssl-1.0.0/bin/check-ssl-qualys.rb:124:in `run'",
"/opt/sensu/embedded/lib/ruby/gems/2.3.0/gems/sensu-plugin-1.3.0/lib/sensu-plugin/cli.rb:57:in `block in <class:CLI>'"
]
Throwing an exception isn't great. Perhaps we should add an option to discard ungraded results.
@TheMysteriousX could you put together a pr for this?