fix some minor bugs:
bug0 (user entry encrypted with empty key and decrypted with different one - uninitialized authkey used)
----------------------------------------
% cd
% rm -f keys
% auth/keyfs -p keys
% cd /mnt/keys
% mkdir user
Password: <something>
keyfs: warning: bad status in key file
1 keys read
bug1 (user entries encrypted with different keys - no difference exists between empty and uninitialized authkey)
----------------------------------------
% cd
% echo -n > keys
% auth/keyfs -p keys
% cd /mnt/keys
% mkdir user
Password: <enter>
1 keys read
% mkdir user2
Password: <something>
keyfs: warning: bad status in key file
keyfs: warning: bad status in key file
2 keys read
bug2 (suicide on invalid status string)
----------------------------------------
% cd
% echo -n > keys
% auth/keyfs -p keys
Password:
0 keys read
% cd /mnt/keys
% mkdir user
1 keys read
% cd user
% echo die, babe > status
keyfs 2701: suicide: sys: trap: fault read addr=0x0 pc=0x00003986
bug3 (walk to ".." from user directory not implemented)
----------------------------------------
% cd
% auth/keyfs -p keys
Password:
1 keys read
% cd /mnt/keys/user
% cd ..
Can't cd ..: '..' file not found
bug4 (Remove does not clunk fids in some cases)
----------------------------------------
% pwd
/mnt/keys/user
% rm key key
rm: key: permission denied
rm: key: 'key' fid in use
bug5 (memory leak)
----------------------------------------
allocated at installuser: 'u->name = strdup(name);', Wstat
leaked at Clunk
|