* fourth argument: non-zero for text content, and for which CR's should be skipped
* fifth argument: for an MD5 digest, it can be null
*/
-int decodeBase64 (const char *, const char **, size_t *, int, unsigned char *);
+int decodeBase64 (const char *, unsigned char **, size_t *, int,
+ unsigned char *);
void hexify (const unsigned char *, size_t, char **);
*outdata = NULL;
*outdatalen = 0;
} else {
- rc = decodeBase64(line + 4, (const char **) outdata, &len, 0, NULL);
+ rc = decodeBase64(line + 4, outdata, &len, 0, NULL);
if (rc != OK) {
netsec_err(errstr, "Unable to decode base64 response");
return NOTOK;
* See description of arguments with declaration in h/prototypes.h.
*/
int
-decodeBase64 (const char *encoded, const char **decoded, size_t *len, int skip_crs,
- unsigned char *digest) {
+decodeBase64 (const char *encoded, unsigned char **decoded, size_t *len,
+ int skip_crs, unsigned char *digest) {
const char *cp = encoded;
int self_delimiting = 0;
int bitno, skip;
return NOTOK;
}
- *decoded = charstring_buffer_copy (decoded_c);
+ *decoded = (unsigned char *) charstring_buffer_copy (decoded_c);
*len = charstring_bytes (decoded_c);
charstring_free (decoded_c);
netsec_b64_snoop_decoder(netsec_context *nsc, const char *string, size_t len,
void *context)
{
- const char *decoded;
+ unsigned char *decoded;
size_t decodedlen;
int offset;
NMH_UNUSED(nsc);
/* sbeck -- handle suffixes */
CI ci;
CE ce = &ct->c_cefile;
- const char *decoded;
+ unsigned char *decoded;
size_t decoded_len;
unsigned char digest[16];
if (decodeBase64 (buffer, &decoded, &decoded_len, ct->c_type == CT_TEXT,
ct->c_digested ? digest : NULL) == OK) {
size_t i;
- const char *decoded_p = decoded;
+ unsigned char *decoded_p = decoded;
for (i = 0; i < decoded_len; ++i) {
putc (*decoded_p++, ce->ce_fp);
}
static int
readDigest (CT ct, char *cp)
{
- const char *digest;
+ unsigned char *digest;
size_t len;
if (decodeBase64 (cp, &digest, &len, 0, NULL) == OK) {
const size_t maxlen = sizeof ct->c_digest / sizeof ct->c_digest[0];
- if (strlen (digest) <= maxlen) {
+ if (strlen ((char *) digest) <= maxlen) {
memcpy (ct->c_digest, digest, maxlen);
if (debugsw) {
} else {
if (debugsw) {
fprintf (stderr, "invalid MD5 digest (got %d octets)\n",
- (int) strlen (digest));
+ (int) strlen ((char *) digest));
}
return NOTOK;
*outdata = NULL;
*outdatalen = 0;
} else {
- rc = decodeBase64(line + 2, (const char **) outdata, &len, 0, NULL);
+ rc = decodeBase64(line + 2, outdata, &len, 0, NULL);
*outdatalen = len;
if (rc != OK) {
netsec_err(errstr, "Unable to decode base64 response");