mirror of
https://codeberg.org/scip/pcp.git
synced 2025-12-17 03:50:57 +01:00
finally got pbp key export/import to work. in order to make it happen, pbp needs to be patched (see pbp issue#10 for details!) to enable padding.
This commit is contained in:
@@ -36,7 +36,7 @@ static void prep_base85(void)
|
||||
int decode_85(char *dst, const char *buffer, int len)
|
||||
{
|
||||
prep_base85();
|
||||
|
||||
int pos = 0;
|
||||
say1("len: %d\n", len);
|
||||
say2("decode 85 <%.*s>\n", len / 4 * 5, buffer);
|
||||
while (len) {
|
||||
@@ -47,13 +47,13 @@ int decode_85(char *dst, const char *buffer, int len)
|
||||
ch = *buffer++;
|
||||
de = de85[ch];
|
||||
if (--de < 0)
|
||||
return error("invalid base85 alphabet <%c>\n", ch);
|
||||
return error("invalid base85 alphabet <%02x> de: %d\n", ch, de);
|
||||
acc = acc * 85 + de;
|
||||
} while (--cnt);
|
||||
ch = *buffer++;
|
||||
de = de85[ch];
|
||||
if (--de < 0)
|
||||
return error("invalid base85 alphabet <%c>\n", ch);
|
||||
if (--de < 0 && ch != '\0')
|
||||
return error("invalid base85 alphabet <%02x> left\n", ch);
|
||||
|
||||
|
||||
/* Detect overflow. */
|
||||
@@ -63,8 +63,7 @@ int decode_85(char *dst, const char *buffer, int len)
|
||||
acc += de;
|
||||
/* say1(" %08x\n", acc); */
|
||||
say1("%.5s", buffer-5);
|
||||
say2("=> %08x (len: %d)\n", acc, len);
|
||||
|
||||
say2(" => %08x (len: %d)\n", acc, len);
|
||||
cnt = (len < 4) ? len : 4;
|
||||
len -= cnt;
|
||||
do {
|
||||
|
||||
@@ -60,9 +60,17 @@ void _xorbuf(unsigned char *iv, unsigned char *buf, size_t xlen) {
|
||||
|
||||
/* print some binary data to stderr */
|
||||
void _dump(char *n, unsigned char *d, size_t s) {
|
||||
fprintf(stderr, "%s (%ld): ", n, s);
|
||||
int l = strlen(n) + 9;
|
||||
fprintf(stderr, "%s (%04ld): ", n, s);
|
||||
size_t i;
|
||||
for (i=0; i<s; ++i)
|
||||
int c;
|
||||
for (i=0; i<s; ++i) {
|
||||
fprintf(stderr, "%02x", d[i]);
|
||||
if(i % 36 == 35 && i > 0) {
|
||||
fprintf(stderr, "\n");
|
||||
for(c=0; c<l; ++c)
|
||||
fprintf(stderr, " ");
|
||||
}
|
||||
}
|
||||
fprintf(stderr, "\n");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user