#!@RUBY@ -I@opendnsseclibdir@ require 'kasp_checker.rb' require 'optparse' require 'ostruct' include KASPChecker class OptionsParser # # Return a structure describing the options. # def self.parse(args) # The options specified on the command line will be collected in *options*. # We set default values here. path = "@sysconfdir@/opendnssec/".sub("${prefix}", "@prefix@") options = OpenStruct.new options.rng_path = "@opendnssecdatadir@" options.xmllint = "@XMLLINT@" options.default_conf_file = path + "conf.xml" opts = OptionParser.new do |opts| opts.banner = "Usage: ods-kaspcheck [options]" opts.separator "" opts.separator "Specific options:" # conf.xml opts.on("-c", "--conf [PATH_TO_CONF_FILE]", "Path to OpenDNSSEC configuration file", " (defaults to " + options.default_conf_file + ")") do |ext| options.conf_file = ext end # kasp.xml opts.on("-k", "--kasp [PATH_TO_KASP_FILE]", "Path to KASP policy file", " (defaults to the path given in the configuration file)") do |ext| options.kasp_file = ext end opts.on("-v", "--version", # Override default "Display version information") do |x| print "@VERSION@\n" exit end opts.separator "" opts.separator "Common options:" # No argument, shows at tail. This will print an options summary. # Try it and see! opts.on_tail("-h", "-?", "--help", "Show this message") do puts opts exit end end opts.parse!(args) options end # parse() end checker = Checker.new options = OptionsParser.parse(ARGV) if (options.conf_file) checker.conf_file = options.conf_file else checker.conf_file = options.default_conf_file end if (options.kasp_file) checker.kasp_file = options.kasp_file end checker.rng_path = options.rng_path checker.xmllint = options.xmllint checker.check()