@@ -817,6 +817,12 @@ impl From<PathBuf> for ManagerAddr {
817817/// Policy for handling replay attack requests
818818#[ derive( Debug , Clone , Copy , Eq , PartialEq ) ]
819819pub enum ReplayAttackPolicy {
820+ /// Default strategy based on protocol
821+ ///
822+ /// SIP022 (AEAD-2022): Reject
823+ /// SIP004 (AEAD): Ignore
824+ /// Stream: Ignore
825+ Default ,
820826 /// Ignore it completely
821827 Ignore ,
822828 /// Try to detect replay attack and warn about it
@@ -827,13 +833,14 @@ pub enum ReplayAttackPolicy {
827833
828834impl Default for ReplayAttackPolicy {
829835 fn default ( ) -> ReplayAttackPolicy {
830- ReplayAttackPolicy :: Ignore
836+ ReplayAttackPolicy :: Default
831837 }
832838}
833839
834840impl Display for ReplayAttackPolicy {
835841 fn fmt ( & self , f : & mut fmt:: Formatter ) -> fmt:: Result {
836842 match * self {
843+ ReplayAttackPolicy :: Default => f. write_str ( "default" ) ,
837844 ReplayAttackPolicy :: Ignore => f. write_str ( "ignore" ) ,
838845 ReplayAttackPolicy :: Detect => f. write_str ( "detect" ) ,
839846 ReplayAttackPolicy :: Reject => f. write_str ( "reject" ) ,
@@ -856,6 +863,7 @@ impl FromStr for ReplayAttackPolicy {
856863
857864 fn from_str ( s : & str ) -> Result < Self , Self :: Err > {
858865 match s {
866+ "default" => Ok ( ReplayAttackPolicy :: Default ) ,
859867 "ignore" => Ok ( ReplayAttackPolicy :: Ignore ) ,
860868 "detect" => Ok ( ReplayAttackPolicy :: Detect ) ,
861869 "reject" => Ok ( ReplayAttackPolicy :: Reject ) ,
0 commit comments