X-Git-Url: https://the.earth.li/gitweb/?a=blobdiff_plain;f=lookup.c;h=35c039bf906c8c9d59e8706e052261f9dd481cc9;hb=37801dca09e004c214604ae66323a628e100258d;hp=c9f94a9e8579c51c187659cecb08f36a742a86a3;hpb=a0d1c99184eeb07a6a7711e168c3db4b8c0937eb;p=onak.git diff --git a/lookup.c b/lookup.c index c9f94a9..35c039b 100644 --- a/lookup.c +++ b/lookup.c @@ -23,6 +23,8 @@ #include #include +#include "build-config.h" + #include "armor.h" #include "charfuncs.h" #include "cleankey.h" @@ -36,7 +38,6 @@ #include "onak-conf.h" #include "parsekey.h" #include "photoid.h" -#include "version.h" #define OP_UNKNOWN 0 #define OP_GET 1 @@ -146,8 +147,20 @@ int main(int argc, char *argv[]) params[i+1] = NULL; if (search != NULL && strlen(search) == 42 && search[0] == '0' && search[1] == 'x') { - fingerprint.length = MAX_FINGERPRINT_LEN; - for (j = 0; j < MAX_FINGERPRINT_LEN; j++) { + /* v4 fingerprint */ + fingerprint.length = 20; + for (j = 0; j < 20; j++) { + fingerprint.fp[j] = (hex2bin( + search[2 + j * 2]) + << 4) + + hex2bin(search[3 + j * 2]); + } + isfp = true; + } else if (search != NULL && strlen(search) == 66 && + search[0] == '0' && search[1] == 'x') { + /* v5 fingerprint */ + fingerprint.length = 32; + for (j = 0; j < 32; j++) { fingerprint.fp[j] = (hex2bin( search[2 + j * 2]) << 4) +