Fix privilege check logic by inverting conditionals
- Inverted conditional in `publisher.go` to correctly skip unprivileged events - Inverted conditional in `handleReq.go` to filter out unprivileged events properly - Added fallback logic in `check-privilege.go` to mark as privileged if no conditions match
This commit is contained in:
@@ -36,6 +36,8 @@ func CheckPrivilege(authedPubkey []byte, ev *event.E) (privileged bool) {
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
privileged = true
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ func (a *A) HandleReq(
|
||||
if srv.AuthRequired() {
|
||||
var tmp event.S
|
||||
for _, ev := range events {
|
||||
if auth.CheckPrivilege(a.Listener.AuthedPubkey(), ev) {
|
||||
if !auth.CheckPrivilege(a.Listener.AuthedPubkey(), ev) {
|
||||
log.W.F(
|
||||
"not privileged %0x ev pubkey %0x",
|
||||
a.Listener.AuthedPubkey(), ev.Pubkey,
|
||||
|
||||
@@ -147,7 +147,7 @@ func (p *S) Deliver(ev *event.E) {
|
||||
continue
|
||||
}
|
||||
if p.Server.AuthRequired() {
|
||||
if auth.CheckPrivilege(w.AuthedPubkey(), ev) {
|
||||
if !auth.CheckPrivilege(w.AuthedPubkey(), ev) {
|
||||
continue
|
||||
}
|
||||
var res *eventenvelope.Result
|
||||
|
||||
Reference in New Issue
Block a user