summaryrefslogtreecommitdiff
path: root/ssl/s3_enc.c
diff options
context:
space:
mode:
authorUlf Möller <ulf@openssl.org>1999-06-04 21:54:13 +0000
committerUlf Möller <ulf@openssl.org>1999-06-04 21:54:13 +0000
commitca570cfdbcaf35ba7e2554fd18eda8cfab2176e4 (patch)
tree366df4a9e70264cc937c6c19ec65202958a3e580 /ssl/s3_enc.c
parentaf258e0deca2e40b694f433c2be3de34b60908bd (diff)
downloadopenssl-new-ca570cfdbcaf35ba7e2554fd18eda8cfab2176e4.tar.gz
Support the EBCDIC character set and BS2000/OSD-POSIX (work in progress).
Submitted by: Martin Kraemer <Martin.Kraemer@MchP.Siemens.De>
Diffstat (limited to 'ssl/s3_enc.c')
-rw-r--r--ssl/s3_enc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/ssl/s3_enc.c b/ssl/s3_enc.c
index 3ef8676c34..15d4af6dfb 100644
--- a/ssl/s3_enc.c
+++ b/ssl/s3_enc.c
@@ -93,6 +93,9 @@ static void ssl3_generate_key_block(SSL *s, unsigned char *km, int num)
unsigned char c='A';
int i,j,k;
+#ifdef CHARSET_EBCDIC
+ c = os_toascii[c]; /*'A' in ASCII */
+#endif
k=0;
for (i=0; i<num; i+=MD5_DIGEST_LENGTH)
{
@@ -514,9 +517,15 @@ int ssl3_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p,
int len)
{
static const unsigned char *salt[3]={
+#ifndef CHARSET_EBCDIC
(const unsigned char *)"A",
(const unsigned char *)"BB",
(const unsigned char *)"CCC",
+#else
+ (const unsigned char *)"\x41",
+ (const unsigned char *)"\x42\x42",
+ (const unsigned char *)"\x43\x43\x43",
+#endif
};
unsigned char buf[EVP_MAX_MD_SIZE];
EVP_MD_CTX ctx;