01 Nov, 2011

1 commit


19 Oct, 2011

1 commit


08 Jun, 2011

1 commit


11 May, 2011

1 commit

  • Unlike the standard case, disabled anti replay detection needs some
    nontrivial extra treatment on ESN. RFC 4303 states:

    Note: If a receiver chooses to not enable anti-replay for an SA, then
    the receiver SHOULD NOT negotiate ESN in an SA management protocol.
    Use of ESN creates a need for the receiver to manage the anti-replay
    window (in order to determine the correct value for the high-order
    bits of the ESN, which are employed in the ICV computation), which is
    generally contrary to the notion of disabling anti-replay for an SA.

    So return an error if an ESN state with disabled anti replay detection
    is inserted for now and add the extra treatment later if we need it.

    Signed-off-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Steffen Klassert
     

27 Apr, 2011

1 commit

  • On replay initialization, we compute the size of the replay
    buffer to see if the replay window fits into the buffer.
    This computation lacks a mutliplication by 8 because we need
    the size in bit, not in byte. So we might return an error
    even though the replay window would fit into the buffer.
    This patch fixes this issue.

    Signed-off-by: Steffen Klassert
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Steffen Klassert
     

29 Mar, 2011

1 commit


14 Mar, 2011

3 commits

  • This patch adds support for IPsec extended sequence numbers (esn)
    as defined in RFC 4303. The bits to manage the anti-replay window
    are based on a patch from Alex Badea.

    Signed-off-by: Steffen Klassert
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Steffen Klassert
     
  • As it is, the anti-replay bitmap in struct xfrm_replay_state can
    only accomodate 32 packets. Even though it is possible to configure
    anti-replay window sizes up to 255 packets from userspace. So we
    reject any packet with a sequence number within the configured window
    but outside the bitmap. With this patch, we represent the anti-replay
    window as a bitmap of variable length that can be accessed via the
    new struct xfrm_replay_state_esn. Thus, we have no limit on the
    window size anymore. To use the new anti-replay window implementantion,
    new userspace tools are required. We leave the old implementation
    untouched to stay in sync with old userspace tools.

    Signed-off-by: Steffen Klassert
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Steffen Klassert
     
  • To support multiple versions of replay detection, we move the replay
    detection functions to a separate file and make them accessible
    via function pointers contained in the struct xfrm_replay.

    Signed-off-by: Steffen Klassert
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Steffen Klassert