|  | @@ -41,6 +41,9 @@ func TestRequestSerialization(t *testing.T) {
 | 
											
												
													
														|  |  	client := NewClientSession(protocol.DefaultIDHash)
 |  |  	client := NewClientSession(protocol.DefaultIDHash)
 | 
											
												
													
														|  |  	client.EncodeRequestHeader(expectedRequest, buffer)
 |  |  	client.EncodeRequestHeader(expectedRequest, buffer)
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +	buffer2 := buf.New()
 | 
											
												
													
														|  | 
 |  | +	buffer2.Append(buffer.Bytes())
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	ctx, cancel := context.WithCancel(context.Background())
 |  |  	ctx, cancel := context.WithCancel(context.Background())
 | 
											
												
													
														|  |  	userValidator := vmess.NewTimedUserValidator(ctx, protocol.DefaultIDHash)
 |  |  	userValidator := vmess.NewTimedUserValidator(ctx, protocol.DefaultIDHash)
 | 
											
												
													
														|  |  	userValidator.Add(user)
 |  |  	userValidator.Add(user)
 | 
											
										
											
												
													
														|  | @@ -55,5 +58,10 @@ func TestRequestSerialization(t *testing.T) {
 | 
											
												
													
														|  |  	assert.Address(expectedRequest.Address).Equals(actualRequest.Address)
 |  |  	assert.Address(expectedRequest.Address).Equals(actualRequest.Address)
 | 
											
												
													
														|  |  	assert.Port(expectedRequest.Port).Equals(actualRequest.Port)
 |  |  	assert.Port(expectedRequest.Port).Equals(actualRequest.Port)
 | 
											
												
													
														|  |  	assert.Byte(byte(expectedRequest.Security)).Equals(byte(actualRequest.Security))
 |  |  	assert.Byte(byte(expectedRequest.Security)).Equals(byte(actualRequest.Security))
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  | 
 |  | +	_, err = server.DecodeRequestHeader(buffer2)
 | 
											
												
													
														|  | 
 |  | +	// anti reply attack
 | 
											
												
													
														|  | 
 |  | +	assert.Error(err).IsNotNil()
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  	cancel()
 |  |  	cancel()
 | 
											
												
													
														|  |  }
 |  |  }
 |