mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-10 15:20:56 +00:00
Reject Index and Request messages with unexpected flags
This commit is contained in:
parent
7a0a702ec0
commit
cd34eea017
@ -295,6 +295,11 @@ func (c *rawConnection) readerLoop() (err error) {
|
|||||||
|
|
||||||
switch msg := msg.(type) {
|
switch msg := msg.(type) {
|
||||||
case IndexMessage:
|
case IndexMessage:
|
||||||
|
if msg.Flags != 0 {
|
||||||
|
// We don't currently support or expect any flags.
|
||||||
|
return fmt.Errorf("protocol error: unknown flags 0x%x in Index(Update) message", msg.Flags)
|
||||||
|
}
|
||||||
|
|
||||||
switch hdr.msgType {
|
switch hdr.msgType {
|
||||||
case messageTypeIndex:
|
case messageTypeIndex:
|
||||||
if c.state < stateCCRcvd {
|
if c.state < stateCCRcvd {
|
||||||
@ -311,6 +316,10 @@ func (c *rawConnection) readerLoop() (err error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case RequestMessage:
|
case RequestMessage:
|
||||||
|
if msg.Flags != 0 {
|
||||||
|
// We don't currently support or expect any flags.
|
||||||
|
return fmt.Errorf("protocol error: unknown flags 0x%x in Request message", msg.Flags)
|
||||||
|
}
|
||||||
if c.state < stateIdxRcvd {
|
if c.state < stateIdxRcvd {
|
||||||
return fmt.Errorf("protocol error: request message in state %d", c.state)
|
return fmt.Errorf("protocol error: request message in state %d", c.state)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user