MCPcopy Create free account
hub / github.com/SenseUnit/dumbproxy / newSerialNumberSetFromReader

Function newSerialNumberSetFromReader

auth/cert.go:216–242  ·  view source on GitHub ↗
(r io.Reader, bad func(error))

Source from the content-addressed store, hash-verified

214}
215
216func newSerialNumberSetFromReader(r io.Reader, bad func(error)) (*serialNumberSet, error) {
217 set := make(map[serialNumberKey]struct{})
218 scanner := bufio.NewScanner(r)
219 for scanner.Scan() {
220 line, _, _ := bytes.Cut(scanner.Bytes(), []byte{'#'})
221 line = bytes.TrimSpace(line)
222 if len(line) == 0 {
223 continue
224 }
225 serial, err := parseSerialBytes(line)
226 if err != nil {
227 if bad != nil {
228 bad(fmt.Errorf("bad serial number line %q: %w", line, err))
229 }
230 continue
231 }
232 set[us.Make(cutLeadingZeroes(serial))] = struct{}{}
233 }
234
235 if err := scanner.Err(); err != nil {
236 return nil, fmt.Errorf("unable to load serial number set: %w", err)
237 }
238
239 return &serialNumberSet{
240 sns: set,
241 }, nil
242}
243
244func parseSerialBytes(serial []byte) ([]byte, error) {
245 res := make([]byte, (len(serial)+2)/3)

Callers 3

TestSerialNumberSetSmokeFunction · 0.85
TestSerialNumberSetEmptyFunction · 0.85
reloadMethod · 0.85

Calls 3

parseSerialBytesFunction · 0.85
cutLeadingZeroesFunction · 0.85
ErrorfMethod · 0.80

Tested by 2

TestSerialNumberSetSmokeFunction · 0.68
TestSerialNumberSetEmptyFunction · 0.68