tangled
alpha
login
or
join now
back
round
0
view raw
knotserver: filter by known dids in processPublicKey
#478
closed
opened by
anirudh.fi
5 months ago
targeting
master
from
push-wzlvlnywrxrs
Must've been removed by accident.
Signed-off-by: Anirudh Oppiliappan
anirudh@tangled.sh
options
unified
split
Changed files
+13
knotserver
ingester.go
+13
knotserver/ingester.go
···
27
27
28
28
func (h *Handle) processPublicKey(ctx context.Context, did string, record tangled.PublicKey) error {
29
29
l := log.FromContext(ctx)
30
30
+
31
31
+
allDids, err := h.db.GetAllDids()
32
32
+
if err != nil {
33
33
+
return err
34
34
+
}
35
35
+
36
36
+
// only process public keys from known DIDs
37
37
+
if !slices.Contains(allDids, did) {
38
38
+
reason := "not a known did"
39
39
+
l.Info("rejecting public key record", "reason", reason, "did", did)
40
40
+
return fmt.Errorf("rejected public key record: %s, %s", reason, did)
41
41
+
}
42
42
+
30
43
pk := db.PublicKey{
31
44
Did: did,
32
45
PublicKey: record,