X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/0a7de7458d150b5d4dffc935ba399be265ef0a1a..4ba76501152d51ccb5647018f3192c6096367d48:/bsd/netkey/keydb.h diff --git a/bsd/netkey/keydb.h b/bsd/netkey/keydb.h index 19450e6bd..db7a04ef3 100644 --- a/bsd/netkey/keydb.h +++ b/bsd/netkey/keydb.h @@ -70,6 +70,8 @@ struct secashead { struct route_in6 sa_route; /* route cache */ }; +#define MAX_REPLAY_WINDOWS 4 + /* Security Association */ struct secasvar { LIST_ENTRY(secasvar) chain; @@ -90,7 +92,8 @@ struct secasvar { void *sched; /* intermediate encryption key */ size_t schedlen; - struct secreplay *replay; /* replay prevention */ + struct secreplay *replay[MAX_REPLAY_WINDOWS]; /* replay prevention */ + long created; /* for lifetime */ struct sadb_lifetime *lft_c; /* CURRENT lifetime, it's constant. */ @@ -119,7 +122,7 @@ struct secreplay { u_int32_t count; u_int wsize; /* window size, i.g. 4 bytes */ u_int32_t seq; /* used by sender */ - u_int32_t lastseq; /* used by receiver */ + u_int32_t lastseq; /* used by sender/receiver */ caddr_t bitmap; /* used by receiver */ int overflow; /* overflow flag */ };