mirror of
				https://github.com/SSLMate/certspotter.git
				synced 2025-07-03 10:47:17 +02:00 
			
		
		
		
	Make error message for missing watch list more friendly
This commit is contained in:
		
							parent
							
								
									69be2f890a
								
							
						
					
					
						commit
						d08ad53464
					
				@ -64,6 +64,10 @@ func certspotterVersion() string {
 | 
				
			|||||||
	return "unknown"
 | 
						return "unknown"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func fileExists(filename string) bool {
 | 
				
			||||||
 | 
						_, err := os.Lstat(filename)
 | 
				
			||||||
 | 
						return err == nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
func homedir() string {
 | 
					func homedir() string {
 | 
				
			||||||
	homedir, err := os.UserHomeDir()
 | 
						homedir, err := os.UserHomeDir()
 | 
				
			||||||
	if err != nil {
 | 
						if err != nil {
 | 
				
			||||||
@ -85,6 +89,16 @@ func defaultConfigDir() string {
 | 
				
			|||||||
		return filepath.Join(homedir(), ".certspotter")
 | 
							return filepath.Join(homedir(), ".certspotter")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					func defaultWatchListPath() string {
 | 
				
			||||||
 | 
						return filepath.Join(defaultConfigDir(), "watchlist")
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					func defaultWatchListPathIfExists() string {
 | 
				
			||||||
 | 
						if fileExists(defaultWatchListPath()) {
 | 
				
			||||||
 | 
							return defaultWatchListPath()
 | 
				
			||||||
 | 
						} else {
 | 
				
			||||||
 | 
							return ""
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func readWatchListFile(filename string) (monitor.WatchList, error) {
 | 
					func readWatchListFile(filename string) (monitor.WatchList, error) {
 | 
				
			||||||
	file, err := os.Open(filename)
 | 
						file, err := os.Open(filename)
 | 
				
			||||||
@ -136,13 +150,17 @@ func main() {
 | 
				
			|||||||
	flag.BoolVar(&flags.stdout, "stdout", false, "Write matching certificates to stdout")
 | 
						flag.BoolVar(&flags.stdout, "stdout", false, "Write matching certificates to stdout")
 | 
				
			||||||
	flag.BoolVar(&flags.verbose, "verbose", false, "Be verbose")
 | 
						flag.BoolVar(&flags.verbose, "verbose", false, "Be verbose")
 | 
				
			||||||
	flag.BoolVar(&flags.version, "version", false, "Print version and exit")
 | 
						flag.BoolVar(&flags.version, "version", false, "Print version and exit")
 | 
				
			||||||
	flag.StringVar(&flags.watchlist, "watchlist", filepath.Join(defaultConfigDir(), "watchlist"), "File containing domain names to watch")
 | 
						flag.StringVar(&flags.watchlist, "watchlist", defaultWatchListPathIfExists(), "File containing domain names to watch")
 | 
				
			||||||
	flag.Parse()
 | 
						flag.Parse()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if flags.version {
 | 
						if flags.version {
 | 
				
			||||||
		fmt.Fprintf(os.Stdout, "certspotter version %s\n", certspotterVersion())
 | 
							fmt.Fprintf(os.Stdout, "certspotter version %s\n", certspotterVersion())
 | 
				
			||||||
		os.Exit(0)
 | 
							os.Exit(0)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						if flags.watchlist == "" {
 | 
				
			||||||
 | 
							fmt.Fprintf(os.Stderr, "%s: watch list not found: please create %s or specify alternative path using -watchlist\n", programName, defaultWatchListPath())
 | 
				
			||||||
 | 
							os.Exit(2)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if len(flags.email) == 0 && len(flags.script) == 0 && flags.stdout == false {
 | 
						if len(flags.email) == 0 && len(flags.script) == 0 && flags.stdout == false {
 | 
				
			||||||
		fmt.Fprintf(os.Stderr, "%s: at least one of -email, -script, or -stdout must be specified (see -help for details)\n", programName)
 | 
							fmt.Fprintf(os.Stderr, "%s: at least one of -email, -script, or -stdout must be specified (see -help for details)\n", programName)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user