Skip to content

Commit

Permalink
Merge pull request #243 from tomatod/fix/remove-maximum-packet-size-f…
Browse files Browse the repository at this point in the history
…rom-connect

Remove MaximumQoS property from CONNECT packet (it's only valid in the CONNACK packet)

Closes #161
  • Loading branch information
MattBrittan committed Feb 26, 2024
2 parents ace27f7 + f618513 commit 79a760b
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 21 deletions.
22 changes: 11 additions & 11 deletions packets/properties.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,18 +300,18 @@ func (i *Properties) Pack(p byte) []byte {
writeUint16(*i.TopicAliasMaximum, &b)
}

if i.MaximumQOS != nil {
b.WriteByte(PropMaximumQOS)
b.WriteByte(*i.MaximumQOS)
}

if i.MaximumPacketSize != nil {
b.WriteByte(PropMaximumPacketSize)
writeUint32(*i.MaximumPacketSize, &b)
}
}

if p == CONNACK {
if i.MaximumQOS != nil {
b.WriteByte(PropMaximumQOS)
b.WriteByte(*i.MaximumQOS)
}

if i.AssignedClientID != "" {
b.WriteByte(PropAssignedClientID)
writeString(i.AssignedClientID, &b)
Expand Down Expand Up @@ -468,18 +468,18 @@ func (i *Properties) PackBuf(p byte) *bytes.Buffer {
writeUint16(*i.TopicAliasMaximum, &b)
}

if i.MaximumQOS != nil {
b.WriteByte(PropMaximumQOS)
b.WriteByte(*i.MaximumQOS)
}

if i.MaximumPacketSize != nil {
b.WriteByte(PropMaximumPacketSize)
writeUint32(*i.MaximumPacketSize, &b)
}
}

if p == CONNACK {
if i.MaximumQOS != nil {
b.WriteByte(PropMaximumQOS)
b.WriteByte(*i.MaximumQOS)
}

if i.AssignedClientID != "" {
b.WriteByte(PropAssignedClientID)
writeString(i.AssignedClientID, &b)
Expand Down Expand Up @@ -807,7 +807,7 @@ var ValidProperties = map[byte]map[byte]struct{}{
PropReasonString: {CONNACK: {}, PUBACK: {}, PUBREC: {}, PUBREL: {}, PUBCOMP: {}, SUBACK: {}, UNSUBACK: {}, DISCONNECT: {}, AUTH: {}},
PropReceiveMaximum: {CONNECT: {}, CONNACK: {}},
PropTopicAliasMaximum: {CONNECT: {}, CONNACK: {}},
PropMaximumQOS: {CONNECT: {}, CONNACK: {}},
PropMaximumQOS: {CONNACK: {}},
PropMaximumPacketSize: {CONNECT: {}, CONNACK: {}},
PropUser: {CONNECT: {}, CONNACK: {}, PUBLISH: {}, PUBACK: {}, PUBREC: {}, PUBREL: {}, PUBCOMP: {}, SUBSCRIBE: {}, UNSUBSCRIBE: {}, SUBACK: {}, UNSUBACK: {}, DISCONNECT: {}, AUTH: {}},
}
Expand Down
4 changes: 0 additions & 4 deletions packets/properties_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,10 +129,6 @@ func TestPropertiess(t *testing.T) {
t.Fatalf("'topicAlias' is valid for 'PUBLISH' packets")
}

if !ValidateID(CONNECT, PropMaximumQOS) {
t.Fatalf("'maximumQOS' is valid for 'CONNECT' packets")
}

if !ValidateID(CONNACK, PropMaximumQOS) {
t.Fatalf("'maximumQOS' is valid for 'CONNACK' packets")
}
Expand Down
3 changes: 0 additions & 3 deletions paho/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -266,9 +266,6 @@ func (c *Client) Connect(ctx context.Context, cp *Connect) (*Connack, error) {
if cp.Properties.MaximumPacketSize != nil {
c.clientProps.MaximumPacketSize = *cp.Properties.MaximumPacketSize
}
if cp.Properties.MaximumQOS != nil {
c.clientProps.MaximumQoS = *cp.Properties.MaximumQOS
}
if cp.Properties.ReceiveMaximum != nil {
c.clientProps.ReceiveMaximum = *cp.Properties.ReceiveMaximum
}
Expand Down
3 changes: 0 additions & 3 deletions paho/cp_connect.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ type (
WillDelayInterval *uint32
ReceiveMaximum *uint16
TopicAliasMaximum *uint16
MaximumQOS *byte
MaximumPacketSize *uint32
User UserProperties
RequestProblemInfo bool
Expand All @@ -62,7 +61,6 @@ func (c *Connect) InitProperties(p *packets.Properties) {
RequestProblemInfo: true,
ReceiveMaximum: p.ReceiveMaximum,
TopicAliasMaximum: p.TopicAliasMaximum,
MaximumQOS: p.MaximumQOS,
MaximumPacketSize: p.MaximumPacketSize,
User: UserPropertiesFromPacketUser(p.User),
}
Expand Down Expand Up @@ -137,7 +135,6 @@ func (c *Connect) Packet() *packets.Connect {
WillDelayInterval: c.Properties.WillDelayInterval,
ReceiveMaximum: c.Properties.ReceiveMaximum,
TopicAliasMaximum: c.Properties.TopicAliasMaximum,
MaximumQOS: c.Properties.MaximumQOS,
MaximumPacketSize: c.Properties.MaximumPacketSize,
User: c.Properties.User.ToPacketProperties(),
}
Expand Down

0 comments on commit 79a760b

Please sign in to comment.