diff --git a/TODO b/TODO index 9f93cb5..5690c94 100644 --- a/TODO +++ b/TODO @@ -1,3 +1 @@ -- key exports without hash handle (like I do in the vault), - checksum the same: without the handle as well. - +aix works now so far, but -R doesnt work \ No newline at end of file diff --git a/configure b/configure index 5fbeb55..fa63b0b 100755 --- a/configure +++ b/configure @@ -12658,7 +12658,7 @@ fi if test -n "$bigendian"; then - CFLAGS="$CFLAGS -D__BYTE_ORDER=__BIG_ENDIAN" + CFLAGS="$CFLAGS -D__BIG_ENDIAN=1" fi diff --git a/configure.ac b/configure.ac index 6c682e2..93e916e 100755 --- a/configure.ac +++ b/configure.ac @@ -236,7 +236,7 @@ AC_LANG_PROGRAM([[]],[[long one= 1; exit(!(*((char *)(&one)))); ]])], ) if test -n "$bigendian"; then - CFLAGS="$CFLAGS -D__BYTE_ORDER=__BIG_ENDIAN" + CFLAGS="$CFLAGS -D__BIG_ENDIAN=1" fi AC_SUBST(PACKAGE_VERSION) diff --git a/include/pcp/platform.h b/include/pcp/platform.h index 61c1082..8d4ab77 100644 --- a/include/pcp/platform.h +++ b/include/pcp/platform.h @@ -38,7 +38,7 @@ # define htobe64 hto64be # endif # else // no sys/endian.h -# if __BYTE_ORDER == __BIG_ENDIAN +# ifdef __BIG_ENDIAN # define be32toh(x) (x) # define htobe32(x) (x) # define be64toh(x) (x) diff --git a/include/pcp/vault.h b/include/pcp/vault.h index 3b07334..d7dcf9c 100644 --- a/include/pcp/vault.h +++ b/include/pcp/vault.h @@ -49,13 +49,13 @@ struct _vault_t { }; struct _vault_header_t { - byte fileid; + uint8_t fileid; uint32_t version; byte checksum[32]; }; struct _vault_item_header_t { - byte type; + uint8_t type; uint32_t size; uint32_t version; byte checksum[32]; @@ -68,7 +68,7 @@ typedef struct _vault_item_header_t vault_item_header_t; vault_t *pcpvault_init(char *filename); vault_t *pcpvault_new(char *filename, int is_tmp); int pcpvault_create(vault_t *vault); -int pcpvault_additem(vault_t *vault, void *item, size_t itemsize, uint8_t type, uint8_t do_hash); +int pcpvault_additem(vault_t *vault, void *item, size_t itemsize, uint8_t type); int pcpvault_addkey(vault_t *vault, void *item, uint8_t type); int pcpvault_close(vault_t *vault); int pcpvault_fetchall(vault_t *vault); diff --git a/libpcp/key.c b/libpcp/key.c index 8cfc836..9867fbd 100644 --- a/libpcp/key.c +++ b/libpcp/key.c @@ -227,6 +227,9 @@ unsigned char *pcpkey_getchecksum(pcp_key_t *k) { pcp_key_t * key2be(pcp_key_t *k) { +#ifdef __BIG_ENDIAN + return k; +#else uint32_t version = k->version; unsigned char* p = (unsigned char*)&version; if(p[0] != 0) { @@ -235,16 +238,24 @@ pcp_key_t * key2be(pcp_key_t *k) { k->ctime = htobe64(k->ctime); } return k; +#endif } pcp_key_t *key2native(pcp_key_t *k) { +#ifdef __BIG_ENDIAN + return k; +#else k->version = be32toh(k->version); k->serial = be32toh(k->serial); k->ctime = be64toh(k->ctime); return k; +#endif } pcp_pubkey_t * pubkey2be(pcp_pubkey_t *k) { +#ifdef __BIG_ENDIAN + return k; +#else uint32_t version = k->version; unsigned char* p = (unsigned char*)&version; if(p[0] != 0) { @@ -253,13 +264,18 @@ pcp_pubkey_t * pubkey2be(pcp_pubkey_t *k) { k->ctime = htobe64(k->ctime); } return k; +#endif } pcp_pubkey_t *pubkey2native(pcp_pubkey_t *k) { +#ifdef __BIG_ENDIAN + return k; +#else k->version = be32toh(k->version); k->serial = be32toh(k->serial); k->ctime = be64toh(k->ctime); return k; +#endif } pcp_key_t *pcp_derive_pcpkey (pcp_key_t *ours, char *theirs) { @@ -312,10 +328,6 @@ pcp_key_t *pcp_derive_pcpkey (pcp_key_t *ours, char *theirs) { void pcp_seckeyblob(void *blob, pcp_key_t *k) { memcpy(blob, k, PCP_RAW_KEYSIZE); - //printf("key (%d):\n", (int)sizeof(pcp_key_t)); - //pcpprint_bin(stdout, k, sizeof(pcp_key_t));printf("\n"); - //printf("blob (%d):\n", (int)(PCP_RAW_KEYSIZE)); - //pcpprint_bin(stdout, blob, PCP_RAW_KEYSIZE);printf("\n"); } void pcp_pubkeyblob(void *blob, pcp_pubkey_t *k) { diff --git a/libpcp/vault.c b/libpcp/vault.c index d10c70d..1b2ffb8 100644 --- a/libpcp/vault.c +++ b/libpcp/vault.c @@ -128,7 +128,7 @@ int pcpvault_create(vault_t *vault) { return 0; } -int pcpvault_additem(vault_t *vault, void *item, size_t itemsize, uint8_t type, uint8_t do_hash) { +int pcpvault_additem(vault_t *vault, void *item, size_t itemsize, uint8_t type) { vault_item_header_t *header = ucmalloc(sizeof(vault_item_header_t)); header->type = type; header->size = itemsize; @@ -136,22 +136,8 @@ int pcpvault_additem(vault_t *vault, void *item, size_t itemsize, uint8_t type, crypto_hash_sha256((unsigned char*)header->checksum, item, itemsize); ih2be(header); - void *saveitem = ucmalloc(itemsize); - memcpy(saveitem, item, itemsize); - - - fwrite(header, sizeof(vault_item_header_t), 1, vault->fd); - fwrite(saveitem, itemsize, 1, vault->fd); - - memset(saveitem, 0, itemsize); - free(saveitem); - - if(do_hash == 1) { - // we don't re-hash if it's a full update - pcphash_add(item, type); - pcpvault_update_checksum(vault); - } + fwrite(item, itemsize, 1, vault->fd); if(ferror(vault->fd) != 0) { fatal("Failed to add an item to vault %s!\n", vault->filename); @@ -168,14 +154,19 @@ int pcpvault_addkey(vault_t *vault, void *item, uint8_t type) { vault_t *tmp = pcpvault_new(vault->filename, 1); size_t itemsize; + void *saveitem; + if(type == PCP_KEY_TYPE_PUBLIC) { - pubkey2be((pcp_pubkey_t *)item); itemsize = PCP_RAW_PUBKEYSIZE; + saveitem = ucmalloc(sizeof(pcp_pubkey_t)); + memcpy(saveitem, item, sizeof(pcp_pubkey_t)); + pubkey2be((pcp_pubkey_t *)item); } else { - //pcp_dumpkey((pcp_key_t *)item); - key2be((pcp_key_t *)item); itemsize = PCP_RAW_KEYSIZE; + saveitem = ucmalloc(sizeof(pcp_key_t)); + memcpy(saveitem, item, sizeof(pcp_key_t)); + key2be((pcp_key_t *)item); } void *blob = pcp_keyblob(item, type); @@ -183,9 +174,12 @@ int pcpvault_addkey(vault_t *vault, void *item, uint8_t type) { if(tmp != NULL) { if(pcpvault_copy(vault, tmp) != 0) goto errak1; - if(pcpvault_additem(tmp, blob, itemsize, type, 1) != 0) + if(pcpvault_additem(tmp, blob, itemsize, type) != 0) goto errak1; + + pcphash_add(saveitem, type); pcpvault_update_checksum(tmp); + if(pcpvault_copy(tmp, vault) == 0) { pcpvault_unlink(tmp); } @@ -217,13 +211,13 @@ int pcpvault_writeall(vault_t *vault) { pcp_key_t *k = NULL; pcphash_iterate(k) { pcp_seckeyblob(blob_s, k); - if(pcpvault_additem(tmp, blob_s, PCP_RAW_KEYSIZE, PCP_KEY_TYPE_SECRET, 0) != 0) + if(pcpvault_additem(tmp, blob_s, PCP_RAW_KEYSIZE, PCP_KEY_TYPE_SECRET) != 0) goto errwa; } pcp_pubkey_t *p = NULL; pcphash_iteratepub(p) { pcp_pubkeyblob(blob_p, p); - if(pcpvault_additem(tmp, blob_p, PCP_RAW_PUBKEYSIZE, PCP_KEY_TYPE_PUBLIC, 0) != 0) + if(pcpvault_additem(tmp, blob_p, PCP_RAW_PUBKEYSIZE, PCP_KEY_TYPE_PUBLIC) != 0) goto errwa; } pcpvault_update_checksum(tmp); @@ -357,25 +351,41 @@ int pcpvault_close(vault_t *vault) { } vault_header_t * vh2be(vault_header_t *h) { +#ifdef __BIG_ENDIAN + return h; +#else h->version = htobe32(h->version); return h; +#endif } vault_header_t * vh2native(vault_header_t *h) { +#ifdef __BIG_ENDIAN + return h; +#else h->version = be32toh(h->version); return h; +#endif } vault_item_header_t * ih2be(vault_item_header_t *h) { +#ifdef __BIG_ENDIAN + return h; +#else h->version = htobe32(h->version); h->size = htobe32(h->size); return h; +#endif } vault_item_header_t * ih2native(vault_item_header_t *h) { +#ifdef __BIG_ENDIAN + return h; +#else h->version = be32toh(h->version); h->size = be32toh(h->size); return h; +#endif } diff --git a/src/keymgmt.c b/src/keymgmt.c index 52fc746..7ffeb76 100644 --- a/src/keymgmt.c +++ b/src/keymgmt.c @@ -62,8 +62,6 @@ int pcp_storekey (pcp_key_t *key) { return 1; } - - void pcp_keygen(char *passwd, char *outfile) { pcp_key_t *k = pcpkey_new (); pcp_key_t *key = NULL; @@ -113,6 +111,8 @@ void pcp_keygen(char *passwd, char *outfile) { else { if(pcp_storekey(key) == 0) { pcpkey_printshortinfo(key); + memset(key, 0, sizeof(pcp_key_t)); + free(key); } } } @@ -388,10 +388,12 @@ int pcp_importsecret (vault_t *vault, FILE *in) { if(pcpvault_addkey(vault, (void *)key, PCP_KEY_TYPE_SECRET) == 0) { fprintf(stderr, "key 0x%s added to %s.\n", key->id, vault->filename); + free(key); return 0; } } + free(key); return 1; } @@ -427,10 +429,12 @@ int pcp_importpublic (vault_t *vault, FILE *in) { if(pcp_sanitycheck_pub(pub) == 0) { if(pcpvault_addkey(vault, (void *)pub, PCP_KEY_TYPE_PUBLIC) == 0) { fprintf(stderr, "key 0x%s added to %s.\n", pub->id, vault->filename); + free(pub); return 0; } } + free(pub); return 1; } diff --git a/src/keyprint.c b/src/keyprint.c index b0c275a..4a65363 100644 --- a/src/keyprint.c +++ b/src/keyprint.c @@ -243,6 +243,9 @@ void pcpkey_print(pcp_key_t *key, FILE* out) { void pcppubkey_print(pcp_pubkey_t *key, FILE* out) { size_t zlen; + + //printf("version: %08x\n", key->version); + pubkey2be(key); void *blob = ucmalloc(PCP_RAW_PUBKEYSIZE); diff --git a/src/pcp.c b/src/pcp.c index 9424089..bd71925 100644 --- a/src/pcp.c +++ b/src/pcp.c @@ -62,6 +62,7 @@ int main (int argc, char **argv) { usevault = 0; useid = 0; userec = 0; + lo = 0; static struct option longopts[] = { // generics @@ -146,7 +147,7 @@ int main (int argc, char **argv) { break; case 't': mode += PCP_MODE_TEXT; - usevault = 1; + usevault = 0; break; case 'E': mode += PCP_MODE_EDIT; @@ -308,22 +309,6 @@ int main (int argc, char **argv) { } break; - case PCP_MODE_TEXT: - if(! useid && infile == NULL) { - pcptext_vault(vault); - } - else if(infile != NULL) { - pcptext_infile(infile); - } - else { - id = pcp_normalize_id(keyid); - if(id != NULL) { - pcptext_key(id); - free(id); - } - } - break; - case PCP_MODE_EDIT: if(useid) { id = pcp_normalize_id(keyid); @@ -410,6 +395,29 @@ int main (int argc, char **argv) { pcpz85_decode(infile, outfile); break; + case PCP_MODE_TEXT: + if(infile != NULL) { + pcptext_infile(infile); + } + else { + pcphash_init(); + vault = pcpvault_init(vaultfile); + if(! useid && infile == NULL) { + pcptext_vault(vault); + } + else { + id = pcp_normalize_id(keyid); + if(id != NULL) { + pcptext_key(id); + free(id); + } + } + pcpvault_close(vault); + pcphash_clean(); + ucfree(vaultfile); + } + break; + default: // mode params mixed fatal("Sorry, invalid combination of commandline parameters!\n"); diff --git a/tests/bart.pub b/tests/bart.pub index 70c049a..06d4913 100644 --- a/tests/bart.pub +++ b/tests/bart.pub @@ -3,33 +3,33 @@ Cipher: CURVE25519-ED25519-SALSA20-POLY1305 Owner: Bart Mail: bart@local - Key-ID: 0x35FDF1A7B943B936 - Public-Key: 17f3evk3V]/UE-m.Gh?oK:5(#aXT=f=9R@>+[fE12(<@9 - Creation Time: 2013-11-18T17:31:54 - Checksum: 92:77:7B:CA:24:2D:E7:20:CB:BF:84:84:96:85:A3:8E - FB:7C:64:7A:C2:E6:D9:A9:AB:30:BD:8F:FF:59:CD:7D - Serial Number: 0x31D2B93C + Key-ID: 0x5038DB2889942E86 + Public-Key: 14vvqWi-tUP2:MCB8E:$53nW3JRzzE}Ypz](ku(JC(N*A + Creation Time: 2013-11-18T21:36:22 + Checksum: 02:0C:DA:7D:8C:FC:91:BE:52:0C:6B:12:A0:52:5C:3D + BB:44:0E:C3:E5:6D:FB:EF:B1:15:45:6D:48:5B:7B:7B + Serial Number: 0xD84BE474 Key Version: 0x00000004 Random Art ID: +----------------+ - | +o | - | ..+ | - | o + | - | . O | - | . = o | - | . . | - | . | + | ..o.o+| + | . o ..=| + | + . o | + | o . | + | o . | + | o | + | | | | +----------------+ -17f3evk3V]/UE-m.Gh?oK:5(#aXT=f=9R@>+[fE133UEVj$-tH^Y)3ll^ZAs({uEC[[thbg -Om6um#Rvp-x[0NBo4.*KGy.8g.NMqjlFfc!/=!h:aojAUNtnS&iH!kP{3C& -lFIncucEEfD3p]etIU2N1V@K%Aayj.XfzEdUW:sD=KyyeAHz73O-eft/AqHq}z@6qRkovDg -SnSiA[-MkBImmTdyX!U.RtW%xNT08Elb0^ +n/Na-[P?m5L.-(ti}#)YdqRM66TG0iPx@KX6VU&TH1.XUCI&^Dj2W}3b4UIIl?jc0?n[1A= +?h#kY[k}}doDp4s=IHG=^0pEUkt(.-JMh7@uGadO8]>R0vQTq0kX$vGvqC}[ugqW/o-S#M2 +kH!v[^2+vp8DkEiJx!O/o5c>2g7cKj9Q9^Qv(1R*Tq0Ne1r +k:H9n9 +tS)?H4//j-:Q321G.Tn%^e?J/@w}:@]y$33!SalNQ+e8(OXA-EAyhA5Ay3?JANnIMvskt.{KaJoNwHTHep%D2F +Dk9u)z2Mv}kdC0P}Uv}/uKoY@<}Za7[!76.xC)-7@BLT?}L2?oOKdnE5LgN>AARpm+4u6y!oee -W0txq93K]EIp$=Yx}7Qc*&J:(nvP2!?KvsJ{$vqGT/x<8awsIj!4{$G@+T*x&@rn5{p(-:mD$b.@}lb>5e9lU1kndE -b&tUP8a+}y#Ye*I4r+D&nrD +1kwxk+d&8&L4Pk&7ny7.X]d9j}297{2hc+L{3i]Vi&8n{?]HDi}%RP9!#G%5*yUq=5h8Q@6rFEM&Lh8xPu&[t0.-0d!RY3$6wNU*Cj*F>*eJNoG!GQZno2? +yA}9:]n!KX!EmP%lJx)(n60+RutFaapaRE[&H31F*?(A>@I64AX92@WWA:.V2N>kLNppf#F +CQaNG/Q$q{WLglM)fv}Y{dedr*8E(7=5VY{^62z{?=.B-Gb5OLvqGT/x<{@0}A8dl!eO?R{M4y3]n.lPcsEBA+]RWIW%m)A] +h96}A@Ce4T7EM]a!QN2O>g6Z-^7t*1zJ$?lhI$6WR^L3BOAkVCb0H7b/:S.kRjySo:5NSGB +dVH:W2mthYL62xa!GN]aDj.cqtKC&pOzy#MH06W-5VV>IFK)sFN-i)1B{E-UK-DFO.#*/}f +6!Hy(aQp9dc84{.4CBeO@2jxGPDhQpNJ%#@5({NFA6rws3B5lZT/E@aYtS^]sK[v2Qd6bt5 +1wed6hxBIfg=WxXlPc!*h-JV:gC.q%X=qZg08!Y2mf0q/1A@RcrrBaN7iZGEK]LEZ ------ END PCP PUBLICKEY ------ diff --git a/tests/key-alicia-sec b/tests/key-alicia-sec index 66a2ff4..3baf588 100644 --- a/tests/key-alicia-sec +++ b/tests/key-alicia-sec @@ -1,24 +1,24 @@ ----- BEGIN PCP SECRET KEY ----- Generated by: Pretty Curved Privacy Version 0.1.5 Cipher: CURVE25519-ED25519-SALSA20-POLY1305 - Key-ID: 0xEF4731C1CBB47218 - Creation Time: 2013-11-18T17:31:53 - Serial Number: 0x6C892F90 + Key-ID: 0x6494DC65B785F33A + Creation Time: 2013-11-18T21:36:21 + Serial Number: 0x325C4C4A Key Version: 0x00000004 -1b1vJ1=xrBrOB&*FL&RuW4uxNd7Wz2Mv}kdB]Z{$97<671ln0f77[/S.F -pS5/LHOuFnkvar/vscSSGR?AARpm+4u6y!oeeW0txq93K]EIp$=Yx}7Qc*&J:(n -vP2!?KvsJ{$vqGT/x<8awsIj!4{ -$G@+T*x&@rn5{p(-:mD$b.@}lb>5e9lU1kndEb&tUP8a+}y#Ye*I4r+D&nrDd2##CpoN5e=L4X47G6SZ?D3C&OC +YBS?wmaOJF#4[=?]HDi}%RP9!#G%5*yUq=5h(TMyANxy..5q#3=c6smOKIb0UuNdUJ^+)m(v6{+8 +vyDH:ULXJya{&1Kk)z/M[4oGb%$*VzhKfeqv{+Ea*1x%QE]iKX7-q5IB]0N7ydigVuI&]Lv +iL*.?)hre]d@Rq[[c&g*$tizsodvz$]ebv!lTko%51)AR2@xUmlv}/uKv?z2YZ$=n8]R0(P +y2Cz1IZnP2.=l&VbG(fbPbq!Z.*ZPyJ$qHrH/IOJiR.jlSF1o]g4nq*>8Q@6rFEM&Lh8xPu +&[t0.-0d!RY3$6wNU*Cj*F>*eJNoG!GQZno2?yA}9:]n!KX!EmP%lJx)(n60+RutFaapaRE +[&H31F*?(A>@I64AX92@WWA:.V2N>kLNppf#FCQaNG/Q$q{WLglM)fv}Y{dedr*8E(7=5VY{^62z +{?=.B-Gb5OLvqGT/x<{@ +0}A8dl!eO?R{M4y3]n.lPcsEBA+]RWIW%m)A]h96}A@Ce4T7EM]a!QN2O>g6Z-^7t*1zJ$? +lhI$6WR^L3BOAkVCb0H7b/:S.kRjySo:5NSGBdVH:W2mthYL62xa!GN]aDj.cqtKC&pOzy# +MH06W-5VV>IFK)sFN-i)1B{E-UK-DFO.#*/}f6!Hy(aQp9dc84{.4CBeO@2jxGPDhQpNJ%# +@5({NFA6rws3B5lZT/E@aYtS^]sK[v2Qd6bt51wed6hxBIfg=WxXlPc!*h-JV:gC.q%0rr9 +108!Y2mf0q/1tTjQn=O?> ------ END PCP SECRET KEY ------ diff --git a/tests/key-bobby-pub b/tests/key-bobby-pub index e5bc61b..a640657 100644 --- a/tests/key-bobby-pub +++ b/tests/key-bobby-pub @@ -3,33 +3,33 @@ Cipher: CURVE25519-ED25519-SALSA20-POLY1305 Owner: Bobby Mail: bobby@local - Key-ID: 0x189D957F63A985E8 - Public-Key: 13+z>XxVw^*a&DvLYnD-XxVw^*a&DvLYnD-bin/qmr*4 -+6<%{A=R3/MCA)n(iRg1t{/gHxn-mutYHm(^s3JTS?>qhvSbZ+C%Dg:v{%fNQ[qOC[yv=ae -SW>Zy%T$5L!Pi6f[.Y[2[I!jq5.(szqG^[JY-fT%#WIB( -w.1U0nbxvf)(Mjks{h$!A-ou5ZONo#dgy04Sgk/}*>}GkUo1AbcOpf1O@euz+jSdGFDBPJ$ -hJg%IJs(/DCx9NEh*lXXDZpt0a7lZDWfSArOS58=3fYqSMkmZx^QaHXlWmf}%pR(p1:b*Ezo!d=%zvt]T1]$T# +(6=PO-RnSd4MrRm(&]CZnSlQbb}=ONqIudARgqtoiv7dHwCe6.bdVz7ma* +4slrL6835izT4*ZfKR1c{44?(5WT6eZnYQAX-yQ.5xU-hvSbZ+C%Dg:v{%fNg[RLGsahQ48 +U.012]G*{@+[UeZUQP?x:h:e)y2AINJw%CrgMUh}&f*=H/bJfJ)CgiqwB$<<$+i2h97zZ!: +xaVmXlFmw)Xzh23MOa}Gs>Vwfqv()U&)K-[vkaYA+QhC{#J@xj@GmnBvl/HtmC:Ea0Nh7&5 +vV5wZK(Uz](0{R)qgcaF/}b4GrInh3u4*JeLG}YEL(bw!@0FbRcAq6U30(!&1EQRffnh^XI +-a7#l(OwpLt?5Mxg]w81=qQzSY-PORekTdVYOCRzg@DT2mot^baTtlad/#!r*L4ZwaGYyH5 +U.B@8dw1puk$i*Vi5roCgC?M3f8$$L08!Y2mGrz*1DT1:uiv7:.[99!zVx+q ------ END PCP PUBLICKEY ------ diff --git a/tests/key-bobby-sec b/tests/key-bobby-sec index 2666979..2f4927a 100644 --- a/tests/key-bobby-sec +++ b/tests/key-bobby-sec @@ -1,24 +1,24 @@ ----- BEGIN PCP SECRET KEY ----- Generated by: Pretty Curved Privacy Version 0.1.5 Cipher: CURVE25519-ED25519-SALSA20-POLY1305 - Key-ID: 0x189D957F63A985E8 - Creation Time: 2013-11-18T17:31:54 - Serial Number: 0x19CC2E28 + Key-ID: 0xAAF84B782831434F + Creation Time: 2013-11-18T21:36:22 + Serial Number: 0x9FE8C4BE Key Version: 0x00000004 -13+z>XxVw^*a&DvLYnD-FB^UHZrAiB!GFR{C:?-VCX80b.VWj*az.C79To@yq9rqKT)0e*F@MIRy!vd!313 -AQ{}sL+w(/BQ[fOvQA?s:^1PkY{HB2*LTakWDnQj]OLGflEr5tqoz?w{K*lM?&iY9*U(bin/qmr*4+6<%{A=R3/MCA)n(iRg1t{/gHxn-mutYHm -(^s3JTS?>qhvSbZ+C%Dg:v{%fNQ[qOC[yv=aeSW>Zy%T$5L!Pi6f[.Y[2[I!jq5.(szqG^[JY-fT%#WIB(w.1U0nbxvf)(Mjks{h$!A-ou5ZONo#dgy0 -4Sgk/}*>}GkUo1AbcOpf1O@euz+jSdGFDBPJ$hJg%IJs(/DCx9NEh*lXXDZpt0a7lZDWfSA -rOS58=3fYqSMkmZx^QaHXlWmf}#NX$WrU(k:pmIV)H7s +VjRhiUCebZC*c[kPSo0:0Z-ZWOCNr+B6.{B&1owE[V1bZ-][oZw}Hb:PCUjGz1}.gR0G>XG +ZpDJSBb2y$drg4pLT9u)E/SZ9zQP3XbyqEpq%4^#PJFf/x{i9DX%31ts9Kgo}1::%2NYt8j +wDsh&)Hk}CWHXVbL$ognZaFoz$9UPjKP^ip^YY@B@7++((FUvaqCRp>OW>hWIzM^Bk&yk%Q +&bmO.fF0%pR(p1:b*Ezo!d=%zvt]T1]$T#(6=PO-RnSd4MrRm(&]CZn +SlQbb}=ONqIudARgqtoiv7dHwCe6.bdVz7ma*4slrL6835izT4*ZfKR1c{44?(5WT6eZnYQ +AX-yQ.5xU-hvSbZ+C%Dg:v{%fNg[RLGsahQ48U.012]G*{@+[UeZUQP?x:h:e)y2AINJw%C +rgMUh}&f*=H/bJfJ)CgiqwB$<<$+i2h97zZ!:xaVmXlFmw)Xzh23MOa}Gs>Vwfqv()U&)K- +[vkaYA+QhC{#J@xj@GmnBvl/HtmC:Ea0Nh7&5vV5wZK(Uz](0{R)qgcaF/}b4GrInh3u4*J +eLG}YEL(bw!@0FbRcAq6U30(!&1EQRffnh^XI-a7#l(OwpLt?5Mxg]w81=qQzSY-PORekTd +VYOCRzg@DT2mot^baTtlad/#!r*L4ZwaGYyH5U.B@8dw1puk$i*Vi5roCgC?M30SSi +208!Y2mGrz*1Fs[@Z5Ock ------ END PCP SECRET KEY ------ diff --git a/tests/keys.cfg b/tests/keys.cfg index 71bb7f4..06fb19b 100644 --- a/tests/keys.cfg +++ b/tests/keys.cfg @@ -1,6 +1,6 @@ -bartid = 0x35FDF1A7B943B936 -bartserial = 0x31D2B93C -idbobby = 0x189D957F63A985E8 -idalicia = 0xEF4731C1CBB47218 +bartid = 0x5038DB2889942E86 +bartserial = 0xD84BE474 +idbobby = 0xAAF84B782831434F +idalicia = 0x6494DC65B785F33A mailbobby = bobby@local mailalicia = alicia@local diff --git a/tests/unknown1 b/tests/unknown1 index 55a9ee0..9066b50 100644 --- a/tests/unknown1 +++ b/tests/unknown1 @@ -1,11 +1,11 @@ -0%mAR2+heUb3:fpeM1rSP@.1H -F%@S0sDp5*lhUp$c0}}22#cFi -zFaJ0*o=(c52n26%$2Rf5f8Q>f=AcsSmZe%P<-RVZoTrAYN^ea@J}ng>kt-gJYuNn(gG98- -M=1g.DAPT*LS&?hwpwE=fqoKmGL2Ln])Wx?fw0drgA%k$:!I{OB-^2ay%9Mta3ttLb7]ks< -bT[&*zAGPAVlf#f?zQQP:PckD{..CetX(JXmPZ@N#5^PMlm^2PzrC]e0kIP7Y{ubv1:D&hE7 -D<{xb7UQTFjD3O7IJZ9<=N5Cs6&j[=M:yaaJ).MJ6MWFNaE>PDtGZZ-7nmBP0]G/u!zSX>>B[Jyo<3.5ft%v[ocNz +w]G})*Y<]fc^]<1:*Ed!qkGnXS$qd9ubBaR)%!^jDL7{SH.iFRc7Gif*xU$T^/MfOs[rX]Z9=PngVNOHzz +3*T@vb5VxRttwp--hUz-B9pc#*Hm[Bhw7-#Xfz.K]?UIXeG[A1P#br>kO{Lzp +80iQLFU!SQF%y?vkUUaxsj)K]ox!fHvf=Wz82Ls8.:-dLHXl7&HF^HMm[T*.[ZcLxCtVE*UtH -4l:Z?Vbu/fh]*eZc#Ke(a}6hoaH6X2UIWZQDFxc5TH@S0sDp5*lhUp$c0}}22#cFizFaJ0*o=(c52n26%$2Rf5f8Q>f=AcsSmZe -%P<-RVZoTrAYN^ea@J}ng>kt-gJYuNn(gG98-M=1g.DAPT*LS&?hwpwE=fqoKmGL2Ln])Wx -?fw0drgA%k$:!I{OB-^2ay%9Mta3ttLb7]ks*zAGPAVlf#f?zQQP:P -ckD{..CetX(JXmPZ@N#5^PMlm^2PzrC]e0kIP7Y{ubv1:D&hE7D<{xb7UQTFjD3O7IJZ9<=N5Cs6&j[=M:yaa -J).4{O4sSq/XD)e1m6sISL{DMf&KyMPH8s^Gg/N)(%!vii?X=Aj3B(+oC$PREbK*D57YXjX +Sw@9:TuP%Pf#Z(do$ptL8a!D(7{4A4KFR)r1Eb[FyEd&M7+4V!rxGGw[eftE#KK>n!!bOS$ +MJ6MWFNaE>PDtG +ZZ-7nmBP0]G/u!zSX>>B[Jyo<3.5ft%v[ocNzw]G})*Y<]fc^]<1:*Ed!qkGnXS$qd9ubBaR)%!^jDL7{S +H.iFRc7Gif*xU$T^/MfOs[rX]Z9=PngVNOHzz3*T@vb5VxRttwp--hUz-B9pc#*Hm[Bhw +7-#Xfz.K]?UIXeG[A1P#br>kO{Lzp80iQLFU!SQt111{MfEM4H9(3Z^vKYtQ%q}XCapcW[efNF@gJd@V?qZJ?10@/4-bEnW:Zwzg^xtHLxVPRE{rV/ diff --git a/tests/unknown5 b/tests/unknown5 index e03d2e5..c4df93d 100644 --- a/tests/unknown5 +++ b/tests/unknown5 @@ -1,3 +1,3 @@ -14tWoh-0fQf*!n]g=EfAh#&{U000000000008!Xt}tZG}0EvQCs3?LOfdxS+FIz3FIQ-No= -p58!l{ox)Lg]mel6-:y:{8c?gbksfO[8/r1!G5n/Akgaw>}%@v)Wg$1][S6000000000000 +12.$@g^dGG=bZ$PTcEbuuu9g}o#Q3< +vFm>a}M)G(WXDIg!fAVpaD39Wrqo)Y0@MOa6QR?UDBT.x)X?$9n?Ic1onA4000000000000 000000000000000000000000000000000