Changeset 4c92c49 for tools


Ignore:
Timestamp:
09/16/10 21:24:20 (11 years ago)
Author:
Andreas Löf <andreas.lof@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
5d081ff
Parents:
c11c3ce
Message:

added a command line argument to read cryptopam keys from a file and also updated the man page to describe the feature. Still untested though, need to run the code on spectre for that

Location:
tools/traceanon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • tools/traceanon/traceanon.1

    rba91618 r4c92c49  
    88[ \-p prefix | \-\^\-prefix=prefix ]
    99[ \-c key | \-\^\-cryptopan=key ]
     10[ \-f key-file | \-\^\-keyfile=file ]
    1011[ \-z level | \-\^\-compress-level=level ]
    1112[ \-Z method | \-\^\-compress-type=method ]
     
    5556NULL characters.
    5657
     58
     59.TP
     60.PD 0
     61.BI \-f
     62.TP
     63.PD
     64.BI \-\^\-keyfile=file
     65encrypt the IP addresses using the prefix-preserving cryptopan method using
     66the key specified in the file "file".  The key must be 32 bytes
     67long. A suitable method of generating a key is by using the command dd to read
     68from /dev/urandom.
     69
     70
    5771.TP
    5872.PD 0
  • tools/traceanon/traceanon.c

    rb24c624 r4c92c49  
    2020        "-c --cryptopan=key     Encrypt the addresses with the cryptopan\n"
    2121        "                       prefix preserving\n"
     22        "-f --keyfile=file      A file containing the cryptopan key\n"
    2223        "-p --prefix=C.I.D.R/bits Substitute the prefix of the address\n"
    2324        "-H --libtrace-help     Print libtrace runtime documentation\n"
     
    127128                        { "encrypt-dest",       0, 0, 'd' },
    128129                        { "cryptopan",          1, 0, 'c' },
     130                        { "cryptopan-file",     1, 0, 'f' },
    129131                        { "prefix",             1, 0, 'p' },
    130132                        { "compress-level",     1, 0, 'z' },
     
    134136                };
    135137
    136                 int c=getopt_long(argc, argv, "Z:z:sc:dp:H",
     138                int c=getopt_long(argc, argv, "Z:z:sc:f:dp:H",
    137139                                long_options, &option_index);
    138140
     
    153155                                  enc_type = ENC_CRYPTOPAN;
    154156                                  break;
    155                         case 'p':
     157                        case 'f':
     158                                  if(key != NULL) {
     159                                    fprintf(stderr,"You can only have one encryption type and one key\n");
     160                                    usage(argv[0]);
     161                                  }
     162                                  FILE * infile = fopen(optarg,"rb");
     163                                  if(infile == NULL) {
     164                                    perror("Failed to open cryptopan keyfile");
     165                                  }
     166                                  key = (char *) malloc(sizeof(char *) * 32);
     167                                  if(fread(key,1,32,infile) != 32) {
     168                                    if(ferror(infile)) {
     169                                      perror("Failed while reading cryptopan keyfile");
     170                                    }
     171                                  }
     172                                  fclose(infile);
     173                                  enc_type = ENC_CRYPTOPAN;
     174                                  break;
     175                        case 'p':
    156176                                  if (key!=NULL) {
    157177                                          fprintf(stderr,"You can only have one encryption type and one key\n");
Note: See TracChangeset for help on using the changeset viewer.