Changeset 572

Show
Ignore:
Timestamp:
08/04/08 18:09:53
Author:
rachel
Message:

Added large file test.
Changed the way gpg is called to cut down on annoying
"standard input has been reopened" messages.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • openpgpsdk/trunk/src/app/openpgp.c

    r571 r572  
    4242static const char* usage="%s --list-keys | --encrypt | --decrypt | --sign | --clearsign | --verify [--keyring=<keyring>] [--userid=<userid>] [--filename=<filename>] [--armour] [--homedir=<homedir>]\n"; 
    4343static const char* usage_list_keys="%s --list-keys [--keyring=<keyring>]\n"; 
     44// \todo static const char* usage_list_packets="%s --list-packets \n"; 
    4445static const char* usage_find_key="%s --find-key --userid=<userid> [--keyring=<keyring>] \n"; 
    4546static const char* usage_export_key="%s --export-key --userid=<userid> [--keyring=<keyring>] \n"; 
     
    5758// commands 
    5859LIST_KEYS=1, 
     60// \todo LIST_PACKETS, 
    5961FIND_KEY, 
    6062EXPORT_KEY, 
     
    8082    // commands 
    8183    { "list-keys", no_argument, NULL, LIST_KEYS }, 
     84    //\todo    { "list-packets", no_argument, NULL, LIST_PACKETS }, 
    8285    { "find-key", no_argument, NULL, FIND_KEY }, 
    8386    { "export-key", no_argument, NULL, EXPORT_KEY }, 
     
    182185            break; 
    183186             
     187            /* \todo 
     188        case LIST_PACKETS: 
     189            cmd=LIST_PACKETS; 
     190            break; 
     191            */ 
     192 
    184193        case FIND_KEY: 
    185194            cmd=FIND_KEY; 
     
    327336        break; 
    328337         
     338        //case LIST_PACKETS: 
     339 
    329340    case FIND_KEY: 
    330341        if (!got_userid) 
  • openpgpsdk/trunk/tests/test_cmdline.c

    r570 r572  
    3737    snprintf(openpgp,MAXBUF,"%s/../../src/app/openpgp", dir); 
    3838 
    39     create_testfile(testfile_encrypt); 
    40     create_testfile(testfile_sign); 
    41     create_testfile(testfile_clearsign); 
     39    create_small_testfile(testfile_encrypt); 
     40    create_small_testfile(testfile_sign); 
     41    create_small_testfile(testfile_clearsign); 
    4242 
    4343    // Return success 
  • openpgpsdk/trunk/tests/test_common.c

    r570 r572  
    215215    } 
    216216 
    217 char* create_testtext(const char *text
    218     { 
    219     const unsigned int repeats=10; 
     217char* create_testtext(const char *text, const unsigned int repeats
     218    { 
     219    //const unsigned int repeats=10; 
    220220    unsigned int i=0; 
    221221 
     
    259259    } 
    260260 
    261 void create_testfile(const char *name) 
     261void create_small_testfile(const char* name) 
     262    { 
     263    const unsigned int repeats=10; 
     264    create_testfile(name, repeats); 
     265    } 
     266 
     267void create_large_testfile(const char* name) 
     268    { 
     269    const unsigned int repeats=10^6; 
     270    create_testfile(name, repeats); 
     271    } 
     272 
     273void create_testfile(const char *name, const unsigned int repeats) 
    262274    { 
    263275    char filename[MAXBUF+1]; 
     
    273285        return; 
    274286 
    275     testtext=create_testtext(name); 
     287    testtext=create_testtext(name, repeats); 
    276288    write(fd,testtext,strlen(testtext)); 
    277289    close(fd); 
  • openpgpsdk/trunk/tests/test_packet_types.c

    r570 r572  
    163163 
    164164    // create test string 
    165     testtext=create_testtext("literal data packet text"); 
     165    int repeats=10; 
     166    testtext=create_testtext("literal data packet text",repeats); 
    166167 
    167168    // initialise needed structures for writing into memory 
     
    269270 
    270271    // create test string 
    271     testtext=create_testtext("compressed literal data packet text - "); 
     272    int repeats=10; 
     273    testtext=create_testtext("compressed literal data packet text - ",repeats); 
    272274 
    273275    // initialise 
  • openpgpsdk/trunk/tests/test_rsa_decrypt.c

    r570 r572  
    135135    ops_memory_t* mem_out=NULL; 
    136136    int rtn=0; 
    137      
     137    int repeats=10; 
     138 
    138139    // open encrypted file 
    139140    snprintf(encfile,sizeof encfile,"%s/%s.%s",dir, 
     
    171172     
    172173    // File contents should match 
    173     testtext=create_testtext(filename); 
     174    testtext=create_testtext(filename,repeats); 
    174175    CU_ASSERT(strlen(testtext)==ops_memory_get_length(mem_out)); 
    175176    CU_ASSERT(memcmp(ops_memory_get_data(mem_out), 
     
    216217                     
    217218                    // Create file with unique text matching this test 
    218                     create_testfile(filename); 
     219                    create_small_testfile(filename); 
    219220                     
    220221                    // Encrypt file using GPG 
  • openpgpsdk/trunk/tests/test_rsa_encrypt.c

    r570 r572  
    3838static char *filename_rsa_armour_nopassphrase_singlekey="enc_rsa_armour_np_singlekey.txt"; 
    3939static char *filename_rsa_armour_passphrase_singlekey="enc_rsa_armour_pp_singlekey.txt"; 
     40static char *filename_rsa_large_noarmour_nopassphrase="enc_rsa_large_noarmour_np.txt"; 
     41static char *filename_rsa_large_armour_nopassphrase="enc_rsa_large_armour_np.txt"; 
    4042 
    4143static ops_parse_cb_return_t 
     
    109111    // Create RSA test files 
    110112 
    111     create_testfile(filename_rsa_noarmour_nopassphrase_singlekey); 
    112     create_testfile(filename_rsa_noarmour_passphrase_singlekey); 
    113     create_testfile(filename_rsa_armour_nopassphrase_singlekey); 
    114     create_testfile(filename_rsa_armour_passphrase_singlekey); 
     113    create_small_testfile(filename_rsa_noarmour_nopassphrase_singlekey); 
     114    create_small_testfile(filename_rsa_noarmour_passphrase_singlekey); 
     115    create_small_testfile(filename_rsa_armour_nopassphrase_singlekey); 
     116    create_small_testfile(filename_rsa_armour_passphrase_singlekey); 
     117    create_large_testfile(filename_rsa_large_noarmour_nopassphrase); 
     118    create_large_testfile(filename_rsa_large_armour_nopassphrase); 
    115119 
    116120    // Return success 
     
    174178    char pp[MAXBUF]; 
    175179    ops_boolean_t allow_overwrite=ops_true; 
     180    int repeats=10; 
    176181 
    177182    // filenames 
     
    192197        snprintf(pp,sizeof pp," --passphrase %s ", bravo_passphrase); 
    193198    snprintf(decrypted_file,sizeof decrypted_file,"%s/decrypted_%s",dir,filename); 
    194     snprintf(cmd,sizeof cmd,"%s --decrypt --output=%s %s %s",gpgcmd, decrypted_file, pp, encrypted_file); 
     199    snprintf(cmd,sizeof cmd,"cat %s | %s --decrypt --output=%s %s",encrypted_file, gpgcmd, decrypted_file, pp); 
    195200    //printf("cmd: %s\n", cmd); 
    196201    rtn=system(cmd); 
     
    200205    // File contents should match - checking with OPS 
    201206         
    202     testtext=create_testtext(filename); 
     207    testtext=create_testtext(filename,repeats); 
    203208    test_rsa_decrypt(encrypted_file,testtext, use_armour); 
    204209 
     
    229234    int armour=1; 
    230235    test_rsa_encrypt(armour,filename_rsa_armour_passphrase_singlekey,bravo_pub_keydata); 
     236    } 
     237 
     238static void test_rsa_encrypt_large_noarmour_nopassphrase(void) 
     239    { 
     240    int armour=0; 
     241    test_rsa_encrypt(armour,filename_rsa_large_noarmour_nopassphrase, alpha_pub_keydata); 
     242    } 
     243 
     244static void test_rsa_encrypt_large_armour_nopassphrase(void) 
     245    { 
     246    int armour=1; 
     247    test_rsa_encrypt(armour,filename_rsa_large_armour_nopassphrase, alpha_pub_keydata); 
    231248    } 
    232249 
     
    240257    CU_FAIL("Test TODO: Encrypt to multiple keys where my keys is (a) first key in list; (b) last key in list; (c) in the middle of the list"); 
    241258    CU_FAIL("Test TODO: Encrypt to users with different preferences"); 
     259    CU_FAIL("Test TODO: Test large files"); 
    242260    */ 
    243     CU_FAIL("Test TODO: Test large files"); 
    244261    } 
    245262 
     
    258275     
    259276    if (NULL == CU_add_test(suite, "Armoured, single key, passphrase", test_rsa_encrypt_armour_passphrase_singlekey)) 
     277            return 0; 
     278 
     279    if (NULL == CU_add_test(suite, "Large, no armour, no passphrase", test_rsa_encrypt_large_noarmour_nopassphrase)) 
     280            return 0; 
     281 
     282    if (NULL == CU_add_test(suite, "Large, armour, no passphrase", test_rsa_encrypt_large_armour_nopassphrase)) 
    260283            return 0; 
    261284 
  • openpgpsdk/trunk/tests/test_rsa_keys.c

    r570 r572  
    148148    // Validate public key with GPG 
    149149 
    150     snprintf(cmd, sizeof cmd, "%s --import --no-allow-non-selfsigned-uid %s", gpgcmd, filename); 
     150    snprintf(cmd, sizeof cmd, "cat %s | %s --import --no-allow-non-selfsigned-uid", filename, gpgcmd); 
    151151    rtn=system(cmd); 
    152152    CU_ASSERT(rtn==0);  
     
    178178 
    179179    // validate with GPG 
    180     snprintf(cmd, sizeof cmd, "%s --import --no-allow-non-selfsigned-uid %s", gpgcmd, filename); 
     180    snprintf(cmd, sizeof cmd, "cat %s | %s --import --no-allow-non-selfsigned-uid", filename, gpgcmd); 
    181181    rtn=system(cmd); 
    182182    CU_ASSERT(rtn==0);  
     
    314314 
    315315    // validate with GPG - should fail 
    316     snprintf(cmd, sizeof cmd, "%s --import --no-allow-non-selfsigned-uid %s", gpgcmd, filename); 
     316    snprintf(cmd, sizeof cmd, "cat %s | %s --import --no-allow-non-selfsigned-uid", filename, gpgcmd); 
    317317    rtn=system(cmd); 
    318318    CU_ASSERT(rtn!=0);  
  • openpgpsdk/trunk/tests/test_rsa_signature.c

    r570 r572  
    5858    // Create test files 
    5959 
    60     create_testfile(filename_rsa_noarmour_nopassphrase); 
    61     create_testfile(filename_rsa_noarmour_passphrase); 
    62     create_testfile(filename_rsa_armour_nopassphrase); 
    63     create_testfile(filename_rsa_armour_passphrase); 
    64     create_testfile(filename_rsa_clearsign_file_nopassphrase); 
    65     create_testfile(filename_rsa_clearsign_file_passphrase); 
    66     create_testfile(filename_rsa_clearsign_buf_nopassphrase); 
    67     create_testfile(filename_rsa_clearsign_buf_passphrase); 
     60    create_small_testfile(filename_rsa_noarmour_nopassphrase); 
     61    create_small_testfile(filename_rsa_noarmour_passphrase); 
     62    create_small_testfile(filename_rsa_armour_nopassphrase); 
     63    create_small_testfile(filename_rsa_armour_passphrase); 
     64    create_small_testfile(filename_rsa_clearsign_file_nopassphrase); 
     65    create_small_testfile(filename_rsa_clearsign_file_passphrase); 
     66    create_small_testfile(filename_rsa_clearsign_buf_nopassphrase); 
     67    create_small_testfile(filename_rsa_clearsign_buf_passphrase); 
    6868 
    6969    // Return success 
     
    163163    { 
    164164 
    165     snprintf(cmd,sizeof cmd,"%s --verify %s", gpgcmd, signed_file); 
     165    //snprintf(cmd,sizeof cmd,"%s --verify %s", gpgcmd, signed_file); 
     166    snprintf(cmd,sizeof cmd,"cat %s | %s --verify", signed_file, gpgcmd); 
    166167    rtn=system(cmd); 
    167168    CU_ASSERT(rtn==0); 
  • openpgpsdk/trunk/tests/test_rsa_verify.c

    r570 r572  
    6868    // Create SIGNED test files 
    6969 
    70     create_testfile(filename_rsa_armour_nopassphrase); 
    71     create_testfile(filename_rsa_armour_passphrase); 
    72  
    73     create_testfile(filename_rsa_v3sig); 
    74     create_testfile(filename_rsa_hash_md5); 
    75  
    76     create_testfile(filename_rsa_noarmour_nopassphrase); 
    77     create_testfile(filename_rsa_noarmour_passphrase); 
    78     create_testfile(filename_rsa_noarmour_fail_bad_sig); 
     70    create_small_testfile(filename_rsa_armour_nopassphrase); 
     71    create_small_testfile(filename_rsa_armour_passphrase); 
     72 
     73    create_small_testfile(filename_rsa_v3sig); 
     74    create_small_testfile(filename_rsa_hash_md5); 
     75 
     76    create_small_testfile(filename_rsa_noarmour_nopassphrase); 
     77    create_small_testfile(filename_rsa_noarmour_passphrase); 
     78    create_small_testfile(filename_rsa_noarmour_fail_bad_sig); 
    7979 
    8080    // Now sign the test files with GPG 
    8181 
    82     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --sign --local-user %s %s/%s", 
     82    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --sign --local-user %s > %s/%s.gpg", 
     83             dir, filename_rsa_noarmour_nopassphrase, 
    8384             gpgcmd, alpha_name, dir, filename_rsa_noarmour_nopassphrase); 
    8485    if (system(cmd)) 
    8586        { return 1; } 
    8687 
    87     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --sign --local-user %s --armor %s/%s", 
     88    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --sign --local-user %s --armor > %s/%s.asc", 
     89             dir, filename_rsa_armour_nopassphrase, 
    8890             gpgcmd, alpha_name, dir, filename_rsa_armour_nopassphrase); 
    8991    if (system(cmd)) 
    9092        { return 1; } 
    9193 
    92     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --sign --local-user %s --passphrase %s %s/%s", 
     94    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --sign --local-user %s --passphrase %s > %s/%s.gpg", 
     95             dir, filename_rsa_noarmour_passphrase, 
    9396             gpgcmd, bravo_name, bravo_passphrase, dir, filename_rsa_noarmour_passphrase); 
    9497    if (system(cmd)) 
    9598        { return 1; } 
    9699 
    97     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --sign --local-user %s --passphrase %s --armor %s/%s", 
     100    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --sign --local-user %s --passphrase %s --armor > %s/%s.asc", 
     101             dir, filename_rsa_armour_passphrase, 
    98102             gpgcmd, bravo_name, bravo_passphrase, dir, filename_rsa_armour_passphrase); 
    99103    if (system(cmd)) 
    100104        { return 1; } 
    101105 
    102     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --sign --local-user %s %s/%s", 
     106    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --sign --local-user %s > %s/%s.gpg", 
     107             dir, filename_rsa_noarmour_fail_bad_sig, 
    103108             gpgcmd, alpha_name, dir, filename_rsa_noarmour_fail_bad_sig); 
    104109    if (system(cmd)) 
     
    106111 
    107112    // V3 signature 
    108     snprintf(cmd,sizeof cmd,"%s --compress-level 0 --sign --force-v3-sigs --local-user %s %s/%s", 
     113    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --compress-level 0 --sign --force-v3-sigs --local-user %s > %s/%s.gpg", 
     114             dir, filename_rsa_v3sig, 
    109115             gpgcmd, alpha_name, dir, filename_rsa_v3sig); 
    110116    if (system(cmd)) 
     
    112118 
    113119    // MD5 hash 
    114     snprintf(cmd,sizeof cmd,"%s --compress-level 0 --sign --digest-algo \"MD5\" --local-user %s %s/%s", 
     120    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --compress-level 0 --sign --digest-algo \"MD5\" --local-user %s > %s/%s.gpg", 
     121             dir, filename_rsa_hash_md5, 
    115122             gpgcmd, alpha_name, dir, filename_rsa_hash_md5); 
    116123    if (system(cmd)) 
     
    121128     */ 
    122129 
    123     create_testfile(filename_rsa_clearsign_nopassphrase); 
    124     create_testfile(filename_rsa_clearsign_passphrase); 
    125     create_testfile(filename_rsa_clearsign_fail_bad_sig); 
     130    create_small_testfile(filename_rsa_clearsign_nopassphrase); 
     131    create_small_testfile(filename_rsa_clearsign_passphrase); 
     132    create_small_testfile(filename_rsa_clearsign_fail_bad_sig); 
    126133 
    127134    // and sign them 
    128135 
    129     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --armor %s/%s", 
     136    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --armor > %s/%s.asc", 
     137             dir, filename_rsa_clearsign_nopassphrase, 
    130138             gpgcmd, alpha_name, dir, filename_rsa_clearsign_nopassphrase); 
    131139    if (system(cmd)) 
    132140        { return 1; } 
    133141 
    134     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --passphrase %s --armor %s/%s", 
     142    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --passphrase %s --armor > %s/%s.asc", 
     143             dir, filename_rsa_clearsign_passphrase, 
    135144             gpgcmd, bravo_name, bravo_passphrase, dir, filename_rsa_clearsign_passphrase); 
    136145    if (system(cmd)) 
    137146        { return 1; } 
    138147 
    139     snprintf(cmd,sizeof cmd,"%s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --armor %s/%s", 
     148    snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-level 0 --clearsign --textmode --local-user %s --armor > %s/%s.asc", 
     149             dir, filename_rsa_clearsign_fail_bad_sig, 
    140150             gpgcmd, alpha_name, dir, filename_rsa_clearsign_fail_bad_sig); 
    141151    if (system(cmd)) 
     
    154164        snprintf(filename, sizeof filename, "%s_%d.txt",  
    155165                 filename_rsa_noarmour_compress_base, level); 
    156         create_testfile(filename); 
     166        create_small_testfile(filename); 
    157167 
    158168        // just ZIP for now 
    159         snprintf(cmd,sizeof cmd,"%s --openpgp --compress-algo \"ZIP\" --compress-level %d --sign --local-user %s %s/%s",  
     169        snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-algo \"ZIP\" --compress-level %d --sign --local-user %s > %s/%s.gpg",  
     170                 dir, filename,  
    160171                 gpgcmd, level, alpha_name, dir, filename); 
    161172        if (system(cmd)) 
     
    167178        snprintf(filename, sizeof filename, "%s_%d.txt",  
    168179                 filename_rsa_armour_compress_base, level); 
    169         create_testfile(filename); 
    170  
    171         snprintf(cmd,sizeof cmd,"%s --openpgp --compress-algo \"ZIP\" --compress-level %d --sign --armour --local-user %s %s/%s",  
     180        create_small_testfile(filename); 
     181 
     182        snprintf(cmd,sizeof cmd,"cat %s/%s | %s --openpgp --compress-algo \"ZIP\" --compress-level %d --sign --armour --local-user %s > %s/%s.asc",  
     183                 dir, filename,  
    172184                 gpgcmd, level, alpha_name, dir, filename); 
    173185        if (system(cmd)) 
  • openpgpsdk/trunk/tests/tests.h

    r570 r572  
    6767int mktmpdir(); 
    6868extern char dir[]; 
    69 char* create_testtext(const char *text); 
     69char* create_testtext(const char *text, const unsigned int repeats); 
    7070void create_testdata(const char *text, unsigned char *buf, const int maxlen); 
    71 void create_testfile(const char *name); 
     71void create_small_testfile(const char *name); 
     72void create_large_testfile(const char *name); 
     73void create_testfile(const char *name, const unsigned int repeats); 
    7274#define MAXBUF 1024 
    7375