From: Andre Noll Date: Mon, 14 Mar 2011 16:25:14 +0000 (+0100) Subject: Document RC4_ALIGN. X-Git-Tag: v0.4.7~14^2 X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=commitdiff_plain;h=54cf5827;hp=ae7a5e56804fcb6789b5512201cacb6f29b2fb7b Document RC4_ALIGN. It's not obvious what is going on there, so add explain why we are doing this ugly dance. --- diff --git a/crypt.c b/crypt.c index 9085f66b..8e1814dd 100644 --- a/crypt.c +++ b/crypt.c @@ -219,7 +219,6 @@ int pub_encrypt(struct asymmetric_key *pub, unsigned char *inbuf, return ret < 0? -E_ENCRYPT : ret; } -#define RC4_ALIGN 8 struct stream_cipher { RC4_KEY key; }; @@ -249,6 +248,13 @@ void sc_free(struct stream_cipher *sc) free(sc); } +/** + * The RC4() implementation of openssl apparently reads and writes data in + * blocks of 8 bytes. So we have to make sure our buffer sizes are a multiple + * of this. + */ +#define RC4_ALIGN 8 + /** * Encrypt and send a buffer. *