X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=pkg%2Fserver%2Fserver.go;h=9822a646218412725f0eadeb472a0f10b363aaa6;hb=8c37c3f703c1efdb7c902e15f71a9d32e656430a;hp=71bd3fca0b758838090713d0081878d5f0447a5e;hpb=c951b07ec578cf626011d9db4441acedfd437ec5;p=epoint diff --git a/pkg/server/server.go b/pkg/server/server.go index 71bd3fc..9822a64 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -24,7 +24,7 @@ func StoreSk(sk *openpgp.Entity) (err error) { if err != nil { return } - return db.Set("key", fmt.Sprintf("%X", sk.PrimaryKey.Fingerprint), b.Bytes()) + return db.Set("key", key.Id(sk), b.Bytes()) } func GetKeys(fpr string) (es openpgp.EntityList, err error) { @@ -52,22 +52,27 @@ func AddKeys(d []byte) (err error) { } for _, e := range entities { // TODO: various checks.. + // TODO: collect errors instead of aborting addkeys isIssuer, issuer, denom, err1 := key.Check(e) err = err1 if err != nil { - // TODO.. - continue + return } if !isIssuer { - es, err := GetKeys(issuer) + es, err1 := GetKeys(issuer) + err = err1 + if err != nil { + return + } + ok, _, den, err1 := key.Check(es[0]) + err = err1 if err != nil { - // TODO.. - continue + // internal error + return } - ok, _, den, err := key.Check(es[0]) - if !ok || err != nil || den != denom { - // TODO.. - continue + if !ok || den != denom { + err = fmt.Errorf("Issuer key check failed") + return } } b := new(bytes.Buffer) @@ -75,8 +80,8 @@ func AddKeys(d []byte) (err error) { if err != nil { return } - fpr := fmt.Sprintf("%X", e.PrimaryKey.Fingerprint) - err = db.Set("key", fpr, b.Bytes()) + fpr := key.Id(e) + err = db.Insert("key", fpr, b.Bytes()) if err != nil { return } @@ -259,7 +264,7 @@ func NewDebitCert(draftid string, draft *document.Draft) (*document.DebitCert, e } cert.LastDebitSerial = oldcert.LastDebitSerial cert.LastCreditSerial = oldcert.LastCreditSerial - if _,ok := iv.(*document.DebitCert); ok { + if _, ok := iv.(*document.DebitCert); ok { cert.LastDebitSerial = oldcert.Serial } else { cert.LastCreditSerial = oldcert.Serial @@ -315,7 +320,7 @@ func NewCreditCert(draftid string, draft *document.Draft, dcertid string, dcert } cert.LastDebitSerial = oldcert.LastDebitSerial cert.LastCreditSerial = oldcert.LastCreditSerial - if _,ok := iv.(*document.DebitCert); ok { + if _, ok := iv.(*document.DebitCert); ok { cert.LastDebitSerial = oldcert.Serial } else { cert.LastCreditSerial = oldcert.Serial