diff -urN linux-2.4.26-pre6-evfs-0.3/fs/evfs/aes.c linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/aes.c --- linux-2.4.26-pre6-evfs-0.3/fs/evfs/aes.c Thu Mar 25 15:02:31 2004 +++ linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/aes.c Thu Mar 25 15:09:53 2004 @@ -169,7 +169,7 @@ t ^= E_KEY[8 * i + 7]; E_KEY[8 * i + 15] = t; \ } -int aes_set_key(void *ctx_arg, const u8 *in_key) +int evfs_aes_setkey(void *ctx_arg, const u8 *in_key) { struct aes_ctx *ctx = ctx_arg; u32 i, t, u, v, w; @@ -213,7 +213,7 @@ f_rl(bo, bi, 2, k); \ f_rl(bo, bi, 3, k) -void aes_encrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt) +void evfs_aes_encrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt) { const struct aes_ctx *ctx = ctx_arg; u32 b0[4], b1[4]; @@ -265,7 +265,7 @@ i_rl(bo, bi, 2, k); \ i_rl(bo, bi, 3, k) -void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt) +void evfs_aes_decrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt) { const struct aes_ctx *ctx = ctx_arg; u32 b0[4], b1[4], ss[4]; @@ -303,22 +303,22 @@ #define AES_BLOCK_SIZE 16 -void aes_encrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt) +void evfs_aes_encrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt) { register int i, l = len / AES_BLOCK_SIZE; register const u8 *p = in; register u8 *op = out; for (i = 0; i < l; i++, p+=AES_BLOCK_SIZE,op+=AES_BLOCK_SIZE) - aes_encrypt(ctx_arg, op, p, salt); + evfs_aes_encrypt(ctx_arg, op, p, salt); } -void aes_decrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt) +void evfs_aes_decrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt) { register int i, l = len / AES_BLOCK_SIZE; register const u8 *p = in; register u8 *op = out; for (i = 0; i < l; i++, p+=AES_BLOCK_SIZE,op+=AES_BLOCK_SIZE) - aes_decrypt(ctx_arg, op, p, salt); + evfs_aes_decrypt(ctx_arg, op, p, salt); } diff -urN linux-2.4.26-pre6-evfs-0.3/fs/evfs/aes.h linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/aes.h --- linux-2.4.26-pre6-evfs-0.3/fs/evfs/aes.h Thu Mar 25 15:02:31 2004 +++ linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/aes.h Thu Mar 25 15:09:53 2004 @@ -85,11 +85,11 @@ extern void gen_tabs (void); -extern int aes_set_key(void *ctx_arg, const u8 *in_key); -extern void aes_encrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt); -extern void aes_decrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt); -extern void aes_encrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt); -extern void aes_decrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt); +extern int evfs_aes_setkey(void *ctx_arg, const u8 *in_key); +extern void evfs_aes_encrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt); +extern void evfs_aes_decrypt(void *ctx_arg, u8 *out, const u8 *in, u8 *salt); +extern void evfs_aes_encrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt); +extern void evfs_aes_decrypt_str(void *ctx_arg, u8 *out, const u8 *in, int len, u8 *salt); diff -urN linux-2.4.26-pre6-evfs-0.3/fs/evfs/evfs_core.c linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/evfs_core.c --- linux-2.4.26-pre6-evfs-0.3/fs/evfs/evfs_core.c Thu Mar 25 15:02:31 2004 +++ linux-2.4.26-pre6-evfs-0.3-fix/fs/evfs/evfs_core.c Thu Mar 25 15:09:53 2004 @@ -223,7 +223,7 @@ memcpy(tmp, parent->d_name.name, parent->d_name.len); track(); if (!sb) sb = dentry->d_inode->i_sb; - aes_encrypt_str(&evfs_key(sb)->aes, tmp, tmp, alen, get_salt(NULL, 0, salt)); + evfs_aes_encrypt_str(&evfs_key(sb)->aes, tmp, tmp, alen, get_salt(NULL, 0, salt)); track(); base64_encode(tmp, name + len + 1, alen); } @@ -278,7 +278,7 @@ char salt[SALTLEN]; /* symlink is ok, decode it */ base64_decode(buf, tmp, c); - aes_decrypt_str(&evfs_key(sb)->aes, tmp, tmp, n, get_salt(NULL, 0, salt)); + evfs_aes_decrypt_str(&evfs_key(sb)->aes, tmp, tmp, n, get_salt(NULL, 0, salt)); tmp[n] = 0; evfs_i(inode).sym = tmp; } @@ -473,11 +473,11 @@ sha256_update(&ctx, password, strlen(password)); sha256_final(&ctx, buf); memset(&ctx, 0xF8, sizeof(ctx)); - aes_set_key(&evfs_key(s)->aes, buf); + evfs_aes_setkey(&evfs_key(s)->aes, buf); evfs_key(s)->recursion = 0; memset(evfs_key(s)->salts, buf[0] + buf[31], sizeof(evfs_key(s)->salts)); /* initialize disk block salts (one for one blocks, 256 total, then repeats */ - aes_encrypt_str(&evfs_key(s)->aes, &evfs_key(s)->salts[0][0], &evfs_key(s)->salts[0][0], sizeof(evfs_key(s)->salts), buf); + evfs_aes_encrypt_str(&evfs_key(s)->aes, &evfs_key(s)->salts[0][0], &evfs_key(s)->salts[0][0], sizeof(evfs_key(s)->salts), buf); memset(buf, 0xF8, 32); path_release(&nd); @@ -572,7 +572,7 @@ file[fl++] = '/'; memset(tmp, 0, alen); memcpy(tmp, dentry->d_name.name, dentry->d_name.len); - aes_encrypt_str(&evfs_key(ino->i_sb)->aes, tmp, tmp, alen, get_salt(NULL, 0, salt)); + evfs_aes_encrypt_str(&evfs_key(ino->i_sb)->aes, tmp, tmp, alen, get_salt(NULL, 0, salt)); i = base64_encode(tmp, file + fl, alen); file[fl + i] = 0; return(file); @@ -642,7 +642,7 @@ memset(buf, 0, alen); memcpy(buf, to, len); - aes_encrypt_str(&gk(ino)->aes, buf, buf, alen, get_salt(NULL, 0, salt)); + evfs_aes_encrypt_str(&gk(ino)->aes, buf, buf, alen, get_salt(NULL, 0, salt)); buf2[base64_encode(buf, buf2, alen)] = 0; err = sys_symlink(buf2, file); @@ -846,7 +846,7 @@ return 0; base64_decode(name, buf, namlen); - aes_decrypt_str(&evfs_key(e->sb)->aes, buf, buf, len, get_salt(NULL, 0, salt)); + evfs_aes_decrypt_str(&evfs_key(e->sb)->aes, buf, buf, len, get_salt(NULL, 0, salt)); nlen = strnlen(buf, len); buf[nlen] = 0; return old_filldir(e->old_ent, buf, nlen, offset, ino, d_type); @@ -932,7 +932,7 @@ buffer = kmap(page); base = ((unsigned long long) page->index) << PAGE_CACHE_SHIFT; - aes_encrypt_str(&gk(inode)->aes, kbuf, buffer, (count+PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); + evfs_aes_encrypt_str(&gk(inode)->aes, kbuf, buffer, (count+PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); err = evfs_do_write(evfs_i(inode).fd, &base, kbuf, (count + PADLEN) & ~PADLEN); if(err != count){ ClearPageUptodate(page); @@ -984,7 +984,7 @@ printk("EVFS WARNING: access beyond end of padding of file!\n"); } /* yeah ! */ - aes_decrypt_str(&gk(inode)->aes, buffer, buffer, err & ~PADLEN, get_salt(gk(inode), page->index, buf)); + evfs_aes_decrypt_str(&gk(inode)->aes, buffer, buffer, err & ~PADLEN, get_salt(gk(inode), page->index, buf)); /* do we've reached padding (i.e. virtual size) ? */ if (start > inode->i_size) { @@ -1040,12 +1040,12 @@ printk("EVFS WARNING: access beyond end of padding of file!\n"); } /* oki, we've that bitch, now decrypt it :) */ - aes_decrypt_str(&gk(inode)->aes, kbuf, kbuf, (err + PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); + evfs_aes_decrypt_str(&gk(inode)->aes, kbuf, kbuf, (err + PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); /* overwrite it with new data */ memcpy(kbuf + from, buffer + from, to - from); if (to > err) err = to; /* and encrypt whole thingie */ - aes_encrypt_str(&gk(inode)->aes, kbuf, kbuf, (err + PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); + evfs_aes_encrypt_str(&gk(inode)->aes, kbuf, kbuf, (err + PADLEN) & ~PADLEN, get_salt(gk(inode), page->index, buf)); err = evfs_do_write(file_evfs_i(file)->fd, &start, kbuf, (err + PADLEN) & ~PADLEN); if (err < to) err = -EPIPE;