mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 01:43:16 +01:00
af60fa0c3a
In this commit, we populate the resolution blobs for the incoming and outgoing HTLCs. We take care to populate the AuxSigDesc with the correct information, as we need to pass along the second-level aux signature and also sign desc along with it.
52 lines
932 B
Go
52 lines
932 B
Go
package macaroons
|
|
|
|
import (
|
|
"context"
|
|
"testing"
|
|
|
|
"gopkg.in/macaroon-bakery.v2/bakery"
|
|
"gopkg.in/macaroon.v2"
|
|
)
|
|
|
|
func FuzzUnmarshalMacaroon(f *testing.F) {
|
|
f.Fuzz(func(t *testing.T, data []byte) {
|
|
mac := &macaroon.Macaroon{}
|
|
_ = mac.UnmarshalBinary(data)
|
|
})
|
|
}
|
|
|
|
func FuzzAuthChecker(f *testing.F) {
|
|
rootKeyStore := bakery.NewMemRootKeyStore()
|
|
ctx := context.Background()
|
|
|
|
f.Fuzz(func(t *testing.T, location, entity, action, method string,
|
|
rootKey, id []byte) {
|
|
|
|
macService, err := NewService(
|
|
rootKeyStore, location, true, IPLockChecker,
|
|
)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
requiredPermissions := []bakery.Op{{
|
|
Entity: entity,
|
|
Action: action,
|
|
}}
|
|
|
|
mac, err := macaroon.New(rootKey, id, location, macaroon.V2)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
macBytes, err := mac.MarshalBinary()
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
_ = macService.CheckMacAuth(
|
|
ctx, macBytes, requiredPermissions, method,
|
|
)
|
|
})
|
|
}
|