func LoadRevocationsTxtFromFile()

in entryMaker/oneCRL/oneCRL.go [283:326]


func LoadRevocationsTxtFromFile(filename string, loader OneCRLLoader) error {
	var (
		err error
	)
	file, err := os.Open(filename)
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()

	scanner := bufio.NewScanner(file)
	var dn = ""
	for scanner.Scan() {
		// process line
		line := scanner.Text()
		// Ignore comments
		if 0 == strings.Index(line, "#") {
			continue
		}
		if 0 == strings.Index(line, " ") {
			if len(dn) == 0 {
				log.Fatal("A serial number with no issuer is not valid. Exiting.")
			}
			record := Record{IssuerName: dn, SerialNumber: strings.Trim(line, " ")}
			loader.LoadRecord(record)
			continue
		}
		if 0 == strings.Index(line, "\t") {
			if len(dn) == 0 {
				log.Fatal("A public key hash with no subject is not valid. Exiting.")
			}
			record := Record{Subject: dn, PubKeyHash: strings.Trim(line, "\t")}
			loader.LoadRecord(record)
			continue
		}
		dn = line
	}

	if err = scanner.Err(); err != nil {
		log.Fatal(err)
	}

	return nil
}