Changeset 269
- Timestamp:
- 04/04/08 22:34:47 (8 months ago)
- Files:
-
- gpgdir/trunk/gpgdir (modified) (5 diffs)
- gpgdir/trunk/test/gpgdir_test.pl (modified) (9 diffs, 1 prop)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
gpgdir/trunk/gpgdir
r255 r269 91 91 my %obfuscate_ctrs = (); 92 92 my %obfuscated_dirs = (); 93 my $total_mapped_files = 0; 93 94 my $have_obfuscated_file = 0; 94 95 my $cmdline_no_password = 0; … … 678 679 } else { 679 680 ### 680 print "[-] Obfuscated file map does not exist for $filename in\n", 681 " $obfuscate_map_filename, skipping.\n"; 681 print "[-] Obfuscated file map does not exist for ", 682 "$filename in\n $obfuscate_map_filename, ", 683 "skipping.\n" unless $quiet; 682 684 next FILE; 683 685 } … … 792 794 793 795 sub obfuscated_mapping_files() { 794 my $dirs_href; 796 797 my $dirs_href = {}; 795 798 796 799 if ($encrypt_mode) { … … 829 832 830 833 unlink "$obfuscate_map_filename.gpg"; 834 if ($total_mapped_files == $total_decrypted) { 835 ### we are confident that we decrypted all of them, 836 ### so delete the mapping file. 837 unlink $obfuscate_map_filename; 838 } 831 839 } 832 840 } … … 892 900 if (/^\s*(.*)\s+(gpgdir_\d+_\d+.gpg)/) { 893 901 $obfuscated_dirs{$dir}{$2} = $1; 902 $total_mapped_files++; 894 903 } 895 904 } gpgdir/trunk/test/gpgdir_test.pl
- Property svn:keywords set to Id
r260 r269 10 10 # Author: Michael Rash (mbr@cipherdyne.org) 11 11 # 12 # Copyright (C) 200 7Michael Rash (mbr@cipherdyne.org)12 # Copyright (C) 2008 Michael Rash (mbr@cipherdyne.org) 13 13 # 14 14 # License (GNU Public License): … … 26 26 ############################################################################# 27 27 # 28 # $Id : gpgdir_test.pl 1004 2008-02-10 04:49:04Z mbr$28 # $Id$ 29 29 # 30 30 … … 103 103 \&md5sum_validation); 104 104 105 ### obfuscate filenames encrypt/decrypt cycle 106 &test_driver('(Obfuscate filenames) gpgdir directory encryption', 107 \&obf_encrypt); 108 &test_driver('(Obfuscate filenames) Files recursively encrypted', 109 \&obf_recursively_encrypted); 110 &test_driver('(Obfuscate filenames) Excluded hidden files/dirs', 111 \&obf_skipped_hidden_files_dirs); 112 &test_driver('(Decrypt dir) gpgdir directory decryption', 113 \&obf_decrypt); 114 &test_driver('(Decrypt dir) Files recursively decrypted', 115 \&obf_recursively_decrypted); ### same as ascii_recursively_decrypted() 116 &test_driver('(MD5 digest) match across encrypt/decrypt cycle', 117 \&md5sum_validation); 118 105 119 &logr("\n"); 106 120 if ($successful_tests) { … … 148 162 } 149 163 164 sub obf_encrypt() { 165 if (&run_cmd("$gpgdirCmd -O --gnupg-dir $gpg_dir " . 166 " --pw-file $pw_file --Key-id $key_id -e $data_dir")) { 167 return 1; 168 } 169 return &print_errors("fail ($test_num)\n[*] " . 170 "Directory encryption"); 171 } 172 150 173 sub decrypt() { 151 174 if (&run_cmd("$gpgdirCmd --gnupg-dir $gpg_dir " . … … 157 180 } 158 181 182 sub obf_decrypt() { 183 if (&run_cmd("$gpgdirCmd -O --gnupg-dir $gpg_dir " . 184 " --pw-file $pw_file --Key-id $key_id -d $data_dir")) { 185 return 1; 186 } 187 return &print_errors("fail ($test_num)\n[*] " . 188 "Directory decryption"); 189 } 190 159 191 sub recursively_encrypted() { 160 192 @data_dir_files = (); … … 199 231 } 200 232 233 sub obf_recursively_encrypted() { 234 @data_dir_files = (); 235 find(\&find_files, $data_dir); 236 for my $file (@data_dir_files) { 237 if (-f $file and not ($file =~ m|^\.| or $file =~ m|/\.|)) { 238 ### gpgdir_20089_1.gpg 239 unless ($file =~ m|gpgdir_\d+_\d+\.gpg$|) { 240 return &print_errors("fail ($test_num)\n[*] " . 241 "File $file not encrypted and obfuscated"); 242 } 243 } 244 } 245 return 1; 246 } 247 201 248 sub ascii_recursively_decrypted() { 202 249 @data_dir_files = (); … … 213 260 } 214 261 262 sub obf_recursively_decrypted() { 263 @data_dir_files = (); 264 find(\&find_files, $data_dir); 265 for my $file (@data_dir_files) { 266 if (-f $file and not ($file =~ m|^\.| or $file =~ m|/\.|)) { 267 if ($file =~ m|\.asc$|) { 268 return &print_errors("fail ($test_num)\n[*] " . 269 "File $file not encrypted"); 270 } 271 } 272 } 273 return 1; 274 } 275 215 276 sub skipped_hidden_files_dirs() { 216 277 @data_dir_files = (); … … 218 279 for my $file (@data_dir_files) { 219 280 if ($file =~ m|^\.| or $file =~ m|/\.|) { 220 ### check for any .gpg or .asc extensions 281 ### check for any .gpg or .asc extensions except 282 ### for the gpgdir_map_file 221 283 if ($file =~ m|\.gpg$| or $file =~ m|\.asc$|) { 222 284 return &print_errors("fail ($test_num)\n[*] " . … … 227 289 return 1; 228 290 } 291 292 sub obf_skipped_hidden_files_dirs() { 293 @data_dir_files = (); 294 find(\&find_files, $data_dir); 295 for my $file (@data_dir_files) { 296 if ($file =~ m|^\.| or $file =~ m|/\.|) { 297 ### check for any .gpg or .asc extensions except 298 ### for the gpgdir_map_file 299 if ($file !~ m|gpgdir_map_file| and ($file =~ m|\.gpg$| 300 or $file =~ m|\.asc$|)) { 301 return &print_errors("fail ($test_num)\n[*] " . 302 "Encrypted hidden file"); 303 } 304 } 305 } 306 return 1; 307 } 308 229 309 230 310 sub find_files() {
