• Patrick McHardy's avatar
    [PATCH] crypto: fix null encryption/compression · d0856009
    Patrick McHardy authored
    null_encrypt() needs to copy the data in case src and dst are disjunct,
    null_compress() needs to copy the data in any case as far as I can tell.  I
    joined compress/decompress and encrypt/decrypt to avoid duplicating code.
    
    Without this patch ESP null_enc packets look like this:
    
    IP (tos 0x0, ttl  64, id 23130, offset 0, flags [DF], length: 128)
    10.0.0.1 > 10.0.0.2: ESP(spi=0x0f9ca149,seq=0x4)
    	0x0000:  4500 0080 5a5a 4000 4032 cbef 0a00 0001  E...ZZ@.@2......
    	0x0010:  0a00 0002 0f9c a149 0000 0004 0000 0000  .......I........
    	0x0020:  0000 0000 0000 0000 0000 0000 0000 0000  ................
    	0x0030:  0000 0000 0000 0000 0000 0000 0000 0000  ................
    	0x0040:  0000 0000 0000 0000 0000 0000 0000 0000  ................
    	0x0050:  0000                                     ..
    
    IP (tos 0x0, ttl  64, id 256, offset 0, flags [DF], length: 128)
    10.0.0.2 > 10.0.0.1: ESP(spi=0x0e4f7b51,seq=0x2)
    	0x0000:  4500 0080 0100 4000 4032 254a 0a00 0002  E.....@.@2%J....
    	0x0010:  0a00 0001 0e4f 7b51 0000 0002 a8a8 a8a8  .....O{Q........
    	0x0020:  a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8  ................
    	0x0030:  a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8  ................
    	0x0040:  a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8 a8a8  ................
    	0x0050:  a8a8                                     ..
    Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    d0856009
crypto_null.c 3.27 KB