@@ -203,20 +203,17 @@ func (c *ServerConn) Read(b []byte) (int, error) {
203
203
if t != 0 {
204
204
return 0 , fmt .Errorf ("unexpected type %v, expect ticket hello" , t )
205
205
}
206
- peerTicket := make ([]byte , 21 )
207
- if l != len (peerTicket ) {
206
+ peerTicketHello := make ([]byte , 21 + 32 )
207
+ if l != len (peerTicketHello ) {
208
208
return 0 , fmt .Errorf ("unexpected length %v for ticket hello" , l )
209
209
}
210
- if _ , err := io .ReadFull (c .Conn , peerTicket ); err != nil {
210
+ if _ , err := io .ReadFull (c .Conn , peerTicketHello ); err != nil {
211
211
return 0 , err
212
212
}
213
- if ! bytes .Equal (peerTicket , c .ticket ) {
213
+ if ! bytes .Equal (peerTicketHello [: 21 ] , c .ticket ) {
214
214
return 0 , errors .New ("naughty boy" )
215
215
}
216
- c .peerRandom = make ([]byte , 32 )
217
- if _ , err := io .ReadFull (c .Conn , c .peerRandom ); err != nil {
218
- return 0 , err
219
- }
216
+ c .peerRandom = peerTicketHello [21 :]
220
217
}
221
218
c .peerAead = NewAead (c .cipher , c .baseKey , c .peerRandom , c .ticket )
222
219
c .peerNonce = make ([]byte , 12 )
0 commit comments