version 1.6, 2000/05/05 18:53:42 |
version 1.7, 2000/05/24 18:26:47 |
|
|
blob = xmalloc(len); |
blob = xmalloc(len); |
n = uudecode(cp, blob, len); |
n = uudecode(cp, blob, len); |
if (n < 0) { |
if (n < 0) { |
error("uudecode %s failed", cp); |
error("key_read: uudecode %s failed", cp); |
return 0; |
return 0; |
} |
} |
k = dsa_key_from_blob(blob, n); |
k = dsa_key_from_blob(blob, n); |
if (k == NULL) |
if (k == NULL) { |
return 0; |
error("key_read: dsa_key_from_blob %s failed", cp); |
|
return 0; |
|
} |
xfree(blob); |
xfree(blob); |
if (ret->dsa != NULL) |
if (ret->dsa != NULL) |
DSA_free(ret->dsa); |
DSA_free(ret->dsa); |
|
|
k->dsa = NULL; |
k->dsa = NULL; |
key_free(k); |
key_free(k); |
bits = BN_num_bits(ret->dsa->p); |
bits = BN_num_bits(ret->dsa->p); |
cp = strchr(cp, '='); |
/* advance cp: skip whitespace and data */ |
if (cp == NULL) |
while (*cp == ' ' || *cp == '\t') |
return 0; |
cp++; |
*cpp = cp + 1; |
while (*cp != '\0' && *cp != ' ' && *cp != '\t') |
|
cp++; |
|
*cpp = cp; |
break; |
break; |
default: |
default: |
fatal("key_read: bad key type: %d", ret->type); |
fatal("key_read: bad key type: %d", ret->type); |