func NewSksPeer(s *hkp.Service) (*SksPeer, error) { reconSettings := recon.NewSettings(Config().Settings.TomlTree) ptree, err := NewSksPTree(reconSettings) if err != nil { return nil, err } peer := recon.NewPeer(reconSettings, ptree) sksPeer := &SksPeer{ Peer: peer, Service: s, KeyChanges: make(KeyChangeChan, Config().NumWorkers()*4), RecoverKey: make(chan RecoverKey, Config().NumWorkers()*4), recoverAttempts: make(KeyRecoveryCounter), } return sksPeer, nil }
func (ec *loadCmd) Main() { if ec.path == "" { Usage(ec, "--path is required") } if ec.verifyRoundTrip { ec.txnSize = 1 } if ec.txnSize < 1 { Usage(ec, "Invalid --txn-size, must be >= 1") } ec.configuredCmd.Main() InitLog() var err error if ec.db, err = openpgp.NewDB(); err != nil { die(err) } ec.w = &openpgp.Worker{Loader: openpgp.NewLoader(ec.db, true)} // Ensure tables all exist if err = ec.db.CreateTables(); err != nil { die(err) } reconSettings := recon.NewSettings(openpgp.Config().Settings.TomlTree) if ec.ptree, err = openpgp.NewSksPTree(reconSettings); err != nil { die(err) } // Create the prefix tree (if not exists) if err = ec.ptree.Create(); err != nil { die(fmt.Errorf("Unable to create prefix tree: %v", err)) } // Ensure tables all exist if err = ec.db.CreateTables(); err != nil { die(fmt.Errorf("Unable to create database tables: %v", err)) } // Load all keys from input material ec.loadAllKeys(ec.path) // Close the prefix tree if err = ec.ptree.Close(); err != nil { log.Println("Close ptree:", err) } // Close the database connection if err = ec.db.Close(); err != nil { log.Println("Close database:", err) } }
func (c *pbuildCmd) Main() { if c.cache <= 0 { Usage(c, "Max cache size must be > 0") } c.configuredCmd.Main() InitLog() var db *openpgp.DB var err error if db, err = openpgp.NewDB(); err != nil { die(err) } var ptree recon.PrefixTree reconSettings := recon.NewSettings(openpgp.Config().Settings.TomlTree) reconSettings.Set("conflux.recon.diskv.cacheSizeMax", 1024*1024*c.cache) if ptree, err = openpgp.NewSksPTree(reconSettings); err != nil { die(err) } if err = ptree.Create(); err != nil { panic(err) } n := 0 for z := range readHashes(db) { err = ptree.Insert(z) if err != nil { if c.ignoreDups && strings.Contains(err.Error(), "insert duplicate element") { continue } log.Printf("Error inserting %x into ptree: %v", z.Bytes(), err) panic(err) } n++ if n%1000 == 0 { fmt.Printf(".") } } if err = ptree.Close(); err != nil { log.Println("Close:", err) } }
func (ec *deleteCmd) Main() { var err error if ec.keyHash != "" && ec.fingerprint != "" { Usage(ec, "Cannot specify both --keyHash and --fingerprint. Choose one.") } ec.configuredCmd.Main() InitLog() if ec.db, err = openpgp.NewDB(); err != nil { die(err) } // Ensure tables all exist if err = ec.db.CreateTables(); err != nil { die(err) } reconSettings := recon.NewSettings(openpgp.Config().Settings.TomlTree) if ec.ptree, err = openpgp.NewSksPTree(reconSettings); err != nil { die(err) } // Create the prefix tree (if not exists) if err = ec.ptree.Create(); err != nil { die(err) } // Ensure tables all exist if err = ec.db.CreateTables(); err != nil { die(err) } defer ec.db.Close() defer ec.ptree.Close() if ec.keyHash != "" { ec.deleteKeyHash() } else if ec.fingerprint != "" { ec.deleteFingerprint() } else { Usage(ec, "One of --keyHash or --fingerprint is required") } }