ax(ueps): rename buffer to frameBuffer in MarshalAndSign (AX Principle 1)
Generic name "buffer" violates predictable-names-over-short-names. "frameBuffer" names the thing by what it holds. Co-Authored-By: Charon <charon@lethean.io>
This commit is contained in:
parent
0074577210
commit
57fff3ddd2
1 changed files with 15 additions and 15 deletions
|
|
@ -61,45 +61,45 @@ func NewPacketBuilder(intentID uint8, payload []byte) *PacketBuilder {
|
|||
|
||||
// frame, err := builder.MarshalAndSign([]byte("my-shared-secret"))
|
||||
func (builder *PacketBuilder) MarshalAndSign(sharedSecret []byte) ([]byte, error) {
|
||||
buffer := new(bytes.Buffer)
|
||||
frameBuffer := new(bytes.Buffer)
|
||||
|
||||
// writeTLV(buffer, TagVersion, []byte{builder.Header.Version}) → [0x01, 0x01, 0x09]
|
||||
if err := writeTLV(buffer, TagVersion, []byte{builder.Header.Version}); err != nil {
|
||||
// writeTLV(frameBuffer, TagVersion, []byte{builder.Header.Version}) → [0x01, 0x01, 0x09]
|
||||
if err := writeTLV(frameBuffer, TagVersion, []byte{builder.Header.Version}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := writeTLV(buffer, TagCurrentLayer, []byte{builder.Header.CurrentLayer}); err != nil {
|
||||
if err := writeTLV(frameBuffer, TagCurrentLayer, []byte{builder.Header.CurrentLayer}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := writeTLV(buffer, TagTargetLayer, []byte{builder.Header.TargetLayer}); err != nil {
|
||||
if err := writeTLV(frameBuffer, TagTargetLayer, []byte{builder.Header.TargetLayer}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := writeTLV(buffer, TagIntent, []byte{builder.Header.IntentID}); err != nil {
|
||||
if err := writeTLV(frameBuffer, TagIntent, []byte{builder.Header.IntentID}); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// binary.BigEndian.PutUint16(threatScoreBytes, 100) → [0x00, 0x64]
|
||||
threatScoreBytes := make([]byte, 2)
|
||||
binary.BigEndian.PutUint16(threatScoreBytes, builder.Header.ThreatScore)
|
||||
if err := writeTLV(buffer, TagThreatScore, threatScoreBytes); err != nil {
|
||||
if err := writeTLV(frameBuffer, TagThreatScore, threatScoreBytes); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// messageAuthCode.Write(buffer.Bytes()) → covers all header TLVs before the HMAC tag
|
||||
// messageAuthCode.Write(frameBuffer.Bytes()) → covers all header TLVs before the HMAC tag
|
||||
messageAuthCode := hmac.New(sha256.New, sharedSecret)
|
||||
messageAuthCode.Write(buffer.Bytes())
|
||||
messageAuthCode.Write(frameBuffer.Bytes())
|
||||
messageAuthCode.Write(builder.Payload)
|
||||
signature := messageAuthCode.Sum(nil)
|
||||
|
||||
// writeTLV(buffer, TagHMAC, signature) → [0x06, 0x20, <32 bytes>]
|
||||
if err := writeTLV(buffer, TagHMAC, signature); err != nil {
|
||||
// writeTLV(frameBuffer, TagHMAC, signature) → [0x06, 0x20, <32 bytes>]
|
||||
if err := writeTLV(frameBuffer, TagHMAC, signature); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// buffer.Bytes() → [...headerTLVs..., 0x06, 0x20, <hmac32>, 0xFF, <payload...>]
|
||||
buffer.WriteByte(TagPayload)
|
||||
buffer.Write(builder.Payload)
|
||||
// frameBuffer.Bytes() → [...headerTLVs..., 0x06, 0x20, <hmac32>, 0xFF, <payload...>]
|
||||
frameBuffer.WriteByte(TagPayload)
|
||||
frameBuffer.Write(builder.Payload)
|
||||
|
||||
return buffer.Bytes(), nil
|
||||
return frameBuffer.Bytes(), nil
|
||||
}
|
||||
|
||||
// writeTLV(buffer, TagVersion, []byte{0x09})
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue