Adding support for receiving early data on the server.
BUG=76
Change-Id: Ie894ea5d327f88e66b234767de437dbe5c67c41d
Reviewed-on: https://boringssl-review.googlesource.com/12960
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
diff --git a/ssl/test/runner/runner.go b/ssl/test/runner/runner.go
index e19df1a..3aa2c46 100644
--- a/ssl/test/runner/runner.go
+++ b/ssl/test/runner/runner.go
@@ -3584,13 +3584,16 @@
MaxVersion: VersionTLS13,
MinVersion: VersionTLS13,
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: true,
+ ExpectHalfRTTData: [][]byte{{254, 253, 252, 251}},
},
},
+ messageCount: 2,
resumeSession: true,
flags: []string{
"-enable-early-data",
+ "-expect-accept-early-data",
},
})
}
@@ -9982,39 +9985,6 @@
},
})
- // Test that we accept data-less early data.
- testCases = append(testCases, testCase{
- testType: serverTest,
- name: "TLS13-DataLessEarlyData-Server",
- config: Config{
- MaxVersion: VersionTLS13,
- Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{},
- ExpectEarlyDataAccepted: true,
- },
- },
- resumeSession: true,
- flags: []string{
- "-enable-early-data",
- "-expect-accept-early-data",
- },
- })
-
- testCases = append(testCases, testCase{
- testType: clientTest,
- name: "TLS13-DataLessEarlyData-Client",
- config: Config{
- MaxVersion: VersionTLS13,
- MaxEarlyDataSize: 16384,
- },
- resumeSession: true,
- flags: []string{
- "-enable-early-data",
- "-expect-early-data-info",
- "-expect-accept-early-data",
- },
- })
-
testCases = append(testCases, testCase{
testType: clientTest,
name: "TLS13-DataLessEarlyData-Reject-Client",
@@ -10254,7 +10224,7 @@
resumeConfig: &Config{
MaxVersion: VersionTLS13,
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{{}},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: false,
},
},
@@ -10278,7 +10248,7 @@
MaxVersion: VersionTLS13,
NextProtos: []string{"foo"},
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{{}},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: false,
},
},
@@ -10303,7 +10273,7 @@
MaxVersion: VersionTLS13,
NextProtos: []string{},
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{{}},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: false,
},
},
@@ -10327,7 +10297,7 @@
MaxVersion: VersionTLS13,
NextProtos: []string{"bar"},
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{{}},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: false,
},
},
@@ -10388,7 +10358,7 @@
config: Config{
MaxVersion: VersionTLS13,
Bugs: ProtocolBugs{
- SendEarlyData: [][]byte{},
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
ExpectEarlyDataAccepted: true,
SkipEndOfEarlyData: true,
},
@@ -10399,6 +10369,28 @@
expectedLocalError: "remote error: bad record MAC",
expectedError: ":BAD_DECRYPT:",
})
+
+ testCases = append(testCases, testCase{
+ testType: serverTest,
+ name: "TLS13-EarlyData-UnexpectedHandshake-Server",
+ config: Config{
+ MaxVersion: VersionTLS13,
+ },
+ resumeConfig: &Config{
+ MaxVersion: VersionTLS13,
+ Bugs: ProtocolBugs{
+ SendEarlyData: [][]byte{{1, 2, 3, 4}},
+ SendStrayEarlyHandshake: true,
+ ExpectEarlyDataAccepted: true},
+ },
+ resumeSession: true,
+ shouldFail: true,
+ expectedError: ":UNEXPECTED_RECORD:",
+ expectedLocalError: "remote error: unexpected message",
+ flags: []string{
+ "-enable-early-data",
+ },
+ })
}
func addTLS13CipherPreferenceTests() {