[PATCH 2/6] xfsprogs: do slightly less obfuscation in the file name
Alex Elder
aelder at sgi.com
Wed Oct 6 13:49:04 CDT 2010
When the last five characters in an obfuscated filename are
generated, one of them has a randomized top nibble. This is a
fairly copmlete way of doing this. But the lower nibble is already
effectively a random character (taken from four bits of a the hash
value) so we don't lose much by simply assuming the the top bits are
always zero. This simplifies the generation of two of the final
five characters, and makes them all get done in a consistent way.
Add the use of a mask in the one case it wasn't used to be even more
consistent.
Signed-off-by: Alex Elder <aelder at sgi.com>
---
db/metadump.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
Index: b/db/metadump.c
===================================================================
--- a/db/metadump.c
+++ b/db/metadump.c
@@ -464,8 +464,7 @@ generate_obfuscated_name(
*/
newhash = rol32(newhash, 3) ^ hash;
- newp[namelen - 5] = (newhash >> 28) |
- (random_filename_char() & 0xf0);
+ newp[namelen - 5] = (newhash >> 28) & 0x7f;
if (is_invalid_char(newp[namelen - 5]))
continue;
newp[namelen - 4] = (newhash >> 21) & 0x7f;
@@ -477,8 +476,7 @@ generate_obfuscated_name(
newp[namelen - 2] = (newhash >> 7) & 0x7f;
if (is_invalid_char(newp[namelen - 2]))
continue;
- newp[namelen - 1] = ((newhash >> 0) ^
- (newp[namelen - 5] >> 4)) & 0x7f;
+ newp[namelen - 1] = (newhash >> 0) & 0x7f;
if (is_invalid_char(newp[namelen - 1]))
continue;
break;
More information about the xfs
mailing list