/* Primitive versus constructed bit. */
#define ASN1_CONSTRUCTED (1 << 5)
-int ber_read_id_len(void *source, int sourcelen,
- int *id, int *length, int *flags)
+static int ber_read_id_len(void *source, int sourcelen,
+ int *id, int *length, int *flags)
{
unsigned char *p = (unsigned char *) source;
* Will avoid writing anything if dest is NULL, but still return
* amount of space required.
*/
-int ber_write_id_len(void *dest, int id, int length, int flags)
+static int ber_write_id_len(void *dest, int id, int length, int flags)
{
unsigned char *d = (unsigned char *)dest;
int len = 0;
/* Simple structure to point to an mp-int within a blob. */
struct mpint_pos { void *start; int bytes; };
-int ssh2_read_mpint(void *data, int len, struct mpint_pos *ret)
+static int ssh2_read_mpint(void *data, int len, struct mpint_pos *ret)
{
int bytes;
unsigned char *d = (unsigned char *) data;
int keyblob_len, keyblob_size;
};
-struct openssh_key *load_openssh_key(const Filename *filename)
+static struct openssh_key *load_openssh_key(const Filename *filename)
{
struct openssh_key *ret;
FILE *fp;
unsigned char keybuf[32];
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
- MD5Update(&md5c, key->iv, 8);
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)key->iv, 8);
MD5Final(keybuf, &md5c);
MD5Init(&md5c);
MD5Update(&md5c, keybuf, 16);
- MD5Update(&md5c, passphrase, strlen(passphrase));
- MD5Update(&md5c, key->iv, 8);
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)key->iv, 8);
MD5Final(keybuf+16, &md5c);
/*
* Now decrypt the key blob.
*/
- des3_decrypt_pubkey_ossh(keybuf, key->iv,
+ des3_decrypt_pubkey_ossh(keybuf, (unsigned char *)key->iv,
key->keyblob, key->keyblob_len);
memset(&md5c, 0, sizeof(md5c));
*/
if (i == 1) {
/* Save the details for after we deal with number 2. */
- modptr = p;
+ modptr = (char *)p;
modlen = len;
} else if (i != 6 && i != 7) {
PUT_32BIT(blob+blobptr, len);
for (i = 0; i < 8; i++) iv[i] = random_byte();
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Update(&md5c, iv, 8);
MD5Final(keybuf, &md5c);
MD5Init(&md5c);
MD5Update(&md5c, keybuf, 16);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Update(&md5c, iv, 8);
MD5Final(keybuf+16, &md5c);
int keyblob_len, keyblob_size;
};
-struct sshcom_key *load_sshcom_key(const Filename *filename)
+static struct sshcom_key *load_sshcom_key(const Filename *filename)
{
struct sshcom_key *ret;
FILE *fp;
return answer;
}
-int sshcom_read_mpint(void *data, int len, struct mpint_pos *ret)
+static int sshcom_read_mpint(void *data, int len, struct mpint_pos *ret)
{
int bits;
int bytes;
errmsg = "Key blob does not contain actual key data";
goto error;
}
- ciphertext = key->keyblob + pos + 4;
+ ciphertext = (char *)key->keyblob + pos + 4;
cipherlen = len;
if (cipherlen == 0) {
errmsg = "Length of key data is zero";
}
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Final(keybuf, &md5c);
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Update(&md5c, keybuf, 16);
MD5Final(keybuf+16, &md5c);
* Now decrypt the key blob.
*/
memset(iv, 0, sizeof(iv));
- des3_decrypt_pubkey_ossh(keybuf, iv, ciphertext, cipherlen);
+ des3_decrypt_pubkey_ossh(keybuf, iv, (unsigned char *)ciphertext,
+ cipherlen);
memset(&md5c, 0, sizeof(md5c));
memset(keybuf, 0, sizeof(keybuf));
while (padding--)
outblob[pos++] = random_byte();
}
- ciphertext = outblob+lenpos+4;
+ ciphertext = (char *)outblob+lenpos+4;
cipherlen = pos - (lenpos+4);
assert(!passphrase || cipherlen % 8 == 0);
/* Wrap up the encrypted blob string. */
unsigned char keybuf[32], iv[8];
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Final(keybuf, &md5c);
MD5Init(&md5c);
- MD5Update(&md5c, passphrase, strlen(passphrase));
+ MD5Update(&md5c, (unsigned char *)passphrase, strlen(passphrase));
MD5Update(&md5c, keybuf, 16);
MD5Final(keybuf+16, &md5c);
* Now decrypt the key blob.
*/
memset(iv, 0, sizeof(iv));
- des3_encrypt_pubkey_ossh(keybuf, iv, ciphertext, cipherlen);
+ des3_encrypt_pubkey_ossh(keybuf, iv, (unsigned char *)ciphertext,
+ cipherlen);
memset(&md5c, 0, sizeof(md5c));
memset(keybuf, 0, sizeof(keybuf));