<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux.git/fs/ecryptfs, branch v2.6.29-rc2</title>
<subtitle>Clone of https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git</subtitle>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/'/>
<entry>
<title>fs/ecryptfs/inode.c: cleanup kerneldoc</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Qinghuang Feng</name>
<email>qhfeng.kernel@gmail.com</email>
</author>
<published>2009-01-06T22:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=f70f582f0072f37790d2984647198deb3e7782a3'/>
<id>f70f582f0072f37790d2984647198deb3e7782a3</id>
<content type='text'>
Arguments lower_dentry and ecryptfs_dentry in ecryptfs_create_underlying_file()
have been merged into dentry, now fix it.

Signed-off-by: Qinghuang Feng &lt;qhfeng.kernel@gmail.com&gt;
Cc: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Arguments lower_dentry and ecryptfs_dentry in ecryptfs_create_underlying_file()
have been merged into dentry, now fix it.

Signed-off-by: Qinghuang Feng &lt;qhfeng.kernel@gmail.com&gt;
Cc: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Cc: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Clean up ecryptfs_decode_from_filename()</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=71c11c378f46e42ca67c1e227646ce23bf43a8c6'/>
<id>71c11c378f46e42ca67c1e227646ce23bf43a8c6</id>
<content type='text'>
Flesh out the comments for ecryptfs_decode_from_filename(). Remove the
return condition, since it is always 0.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Flesh out the comments for ecryptfs_decode_from_filename(). Remove the
return condition, since it is always 0.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: kerneldoc for ecryptfs_parse_tag_70_packet()</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=7d8bc2be51706152828164b305e969b4a8471041'/>
<id>7d8bc2be51706152828164b305e969b4a8471041</id>
<content type='text'>
Kerneldoc updates for ecryptfs_parse_tag_70_packet().

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Kerneldoc updates for ecryptfs_parse_tag_70_packet().

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Fix data types (int/size_t)</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=a8f12864c52f8ab8520568dc97969c1749ae60bf'/>
<id>a8f12864c52f8ab8520568dc97969c1749ae60bf</id>
<content type='text'>
Correct several format string data type specifiers.  Correct filename size
data types; they should be size_t rather than int when passed as
parameters to some other functions (although note that the filenames will
never be larger than int).

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Correct several format string data type specifiers.  Correct filename size
data types; they should be size_t rather than int when passed as
parameters to some other functions (although note that the filenames will
never be larger than int).

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Replace %Z with %z</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=df261c52abdef147084c76ecf14473184e907547'/>
<id>df261c52abdef147084c76ecf14473184e907547</id>
<content type='text'>
%Z is a gcc-ism. Using %z instead.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
%Z is a gcc-ism. Using %z instead.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Filename Encryption: mount option</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=87c94c4df0149786ad91d8a03c738a03369ee9c8'/>
<id>87c94c4df0149786ad91d8a03c738a03369ee9c8</id>
<content type='text'>
Enable mount-wide filename encryption by providing the Filename Encryption
Key (FNEK) signature as a mount option.  Note that the ecryptfs-utils
userspace package versions 61 or later support this option.

When mounting with ecryptfs-utils version 61 or later, the mount helper
will detect the availability of the passphrase-based filename encryption
in the kernel (via the eCryptfs sysfs handle) and query the user
interactively as to whether or not he wants to enable the feature for the
mount.  If the user enables filename encryption, the mount helper will
then prompt for the FNEK signature that the user wishes to use, suggesting
by default the signature for the mount passphrase that the user has
already entered for encrypting the file contents.

When not using the mount helper, the user can specify the signature for
the passphrase key with the ecryptfs_fnek_sig= mount option.  This key
must be available in the user's keyring.  The mount helper usually takes
care of this step.  If, however, the user is not mounting with the mount
helper, then he will need to enter the passphrase key into his keyring
with some other utility prior to mounting, such as ecryptfs-manager.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enable mount-wide filename encryption by providing the Filename Encryption
Key (FNEK) signature as a mount option.  Note that the ecryptfs-utils
userspace package versions 61 or later support this option.

When mounting with ecryptfs-utils version 61 or later, the mount helper
will detect the availability of the passphrase-based filename encryption
in the kernel (via the eCryptfs sysfs handle) and query the user
interactively as to whether or not he wants to enable the feature for the
mount.  If the user enables filename encryption, the mount helper will
then prompt for the FNEK signature that the user wishes to use, suggesting
by default the signature for the mount passphrase that the user has
already entered for encrypting the file contents.

When not using the mount helper, the user can specify the signature for
the passphrase key with the ecryptfs_fnek_sig= mount option.  This key
must be available in the user's keyring.  The mount helper usually takes
care of this step.  If, however, the user is not mounting with the mount
helper, then he will need to enter the passphrase key into his keyring
with some other utility prior to mounting, such as ecryptfs-manager.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Filename Encryption: filldir, lookup, and readlink</title>
<updated>2009-01-06T23:59:22+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:42:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=addd65ad8d19a7d7982130b16f957d5d01d3f8df'/>
<id>addd65ad8d19a7d7982130b16f957d5d01d3f8df</id>
<content type='text'>
Make the requisite modifications to ecryptfs_filldir(), ecryptfs_lookup(),
and ecryptfs_readlink() to call out to filename encryption functions.
Propagate filename encryption policy flags from mount-wide crypt_stat to
inode crypt_stat.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make the requisite modifications to ecryptfs_filldir(), ecryptfs_lookup(),
and ecryptfs_readlink() to call out to filename encryption functions.
Propagate filename encryption policy flags from mount-wide crypt_stat to
inode crypt_stat.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Filename Encryption: Encoding and encryption functions</title>
<updated>2009-01-06T23:59:21+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:41:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c'/>
<id>51ca58dcc9f0d6b1e78954d08bd4954fb6a1421c</id>
<content type='text'>
These functions support encrypting and encoding the filename contents.
The encrypted filename contents may consist of any ASCII characters.  This
patch includes a custom encoding mechanism to map the ASCII characters to
a reduced character set that is appropriate for filenames.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions support encrypting and encoding the filename contents.
The encrypted filename contents may consist of any ASCII characters.  This
patch includes a custom encoding mechanism to map the ASCII characters to
a reduced character set that is appropriate for filenames.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Filename Encryption: Header updates</title>
<updated>2009-01-06T23:59:21+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:41:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=a34f60f748c6fe5d791e9b54cffe442201428254'/>
<id>a34f60f748c6fe5d791e9b54cffe442201428254</id>
<content type='text'>
Extensions to the header file to support filename encryption.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extensions to the header file to support filename encryption.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>eCryptfs: Filename Encryption: Tag 70 packets</title>
<updated>2009-01-06T23:59:21+00:00</updated>
<author>
<name>Michael Halcrow</name>
<email>mhalcrow@us.ibm.com</email>
</author>
<published>2009-01-06T22:41:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.exis.tech/linux.git/commit/?id=9c79f34f7ee71cd28272332b424ca64b2be006ab'/>
<id>9c79f34f7ee71cd28272332b424ca64b2be006ab</id>
<content type='text'>
This patchset implements filename encryption via a passphrase-derived
mount-wide Filename Encryption Key (FNEK) specified as a mount parameter.
Each encrypted filename has a fixed prefix indicating that eCryptfs should
try to decrypt the filename.  When eCryptfs encounters this prefix, it
decodes the filename into a tag 70 packet and then decrypts the packet
contents using the FNEK, setting the filename to the decrypted filename.
Both unencrypted and encrypted filenames can reside in the same lower
filesystem.

Because filename encryption expands the length of the filename during the
encoding stage, eCryptfs will not properly handle filenames that are
already near the maximum filename length.

In the present implementation, eCryptfs must be able to produce a match
against the lower encrypted and encoded filename representation when given
a plaintext filename.  Therefore, two files having the same plaintext name
will encrypt and encode into the same lower filename if they are both
encrypted using the same FNEK.  This can be changed by finding a way to
replace the prepended bytes in the blocked-aligned filename with random
characters; they are hashes of the FNEK right now, so that it is possible
to deterministically map from a plaintext filename to an encrypted and
encoded filename in the lower filesystem.  An implementation using random
characters will have to decode and decrypt every single directory entry in
any given directory any time an event occurs wherein the VFS needs to
determine whether a particular file exists in the lower directory and the
decrypted and decoded filenames have not yet been extracted for that
directory.

Thanks to Tyler Hicks and David Kleikamp for assistance in the development
of this patchset.

This patch:

A tag 70 packet contains a filename encrypted with a Filename Encryption
Key (FNEK).  This patch implements functions for writing and parsing tag
70 packets.  This patch also adds definitions and extends structures to
support filename encryption.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patchset implements filename encryption via a passphrase-derived
mount-wide Filename Encryption Key (FNEK) specified as a mount parameter.
Each encrypted filename has a fixed prefix indicating that eCryptfs should
try to decrypt the filename.  When eCryptfs encounters this prefix, it
decodes the filename into a tag 70 packet and then decrypts the packet
contents using the FNEK, setting the filename to the decrypted filename.
Both unencrypted and encrypted filenames can reside in the same lower
filesystem.

Because filename encryption expands the length of the filename during the
encoding stage, eCryptfs will not properly handle filenames that are
already near the maximum filename length.

In the present implementation, eCryptfs must be able to produce a match
against the lower encrypted and encoded filename representation when given
a plaintext filename.  Therefore, two files having the same plaintext name
will encrypt and encode into the same lower filename if they are both
encrypted using the same FNEK.  This can be changed by finding a way to
replace the prepended bytes in the blocked-aligned filename with random
characters; they are hashes of the FNEK right now, so that it is possible
to deterministically map from a plaintext filename to an encrypted and
encoded filename in the lower filesystem.  An implementation using random
characters will have to decode and decrypt every single directory entry in
any given directory any time an event occurs wherein the VFS needs to
determine whether a particular file exists in the lower directory and the
decrypted and decoded filenames have not yet been extracted for that
directory.

Thanks to Tyler Hicks and David Kleikamp for assistance in the development
of this patchset.

This patch:

A tag 70 packet contains a filename encrypted with a Filename Encryption
Key (FNEK).  This patch implements functions for writing and parsing tag
70 packets.  This patch also adds definitions and extends structures to
support filename encryption.

Signed-off-by: Michael Halcrow &lt;mhalcrow@us.ibm.com&gt;
Cc: Dustin Kirkland &lt;dustin.kirkland@gmail.com&gt;
Cc: Eric Sandeen &lt;sandeen@redhat.com&gt;
Cc: Tyler Hicks &lt;tchicks@us.ibm.com&gt;
Cc: David Kleikamp &lt;shaggy@us.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
