channeldb: custom records sanity check

This commit is contained in:
Joost Jager 2019-12-12 14:47:46 +01:00
parent d16476e477
commit de2b7b78de
No known key found for this signature in database
GPG Key ID: A61B9D4C393C59C7
2 changed files with 11 additions and 2 deletions

@ -607,6 +607,15 @@ func serializeHop(w io.Writer, h *route.Hop) error {
records = append(records, h.MPP.Record())
}
// Final sanity check to absolutely rule out custom records that are not
// custom and write into the standard range.
if err := h.CustomRecords.Validate(); err != nil {
return err
}
// Convert custom records to tlv and add to the record list.
// MapToRecords sorts the list, so adding it here will keep the list
// canonical.
tlvRecords := tlv.MapToRecords(h.CustomRecords)
records = append(records, tlvRecords...)

@ -28,8 +28,8 @@ var (
OutgoingTimeLock: 111,
AmtToForward: 555,
CustomRecords: record.CustomSet{
1: []byte{},
2: []byte{},
65536: []byte{},
80001: []byte{},
},
MPP: record.NewMPP(32, [32]byte{0x42}),
}