mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Fix SSL Protocol hexdumps for EBCDIC systems
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@349906 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -1722,6 +1722,16 @@ static void ssl_io_data_dump(server_rec *srvr,
|
|||||||
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, srvr,
|
ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, srvr,
|
||||||
"+-------------------------------------------------------------------------+");
|
"+-------------------------------------------------------------------------+");
|
||||||
for(i = 0 ; i< rows; i++) {
|
for(i = 0 ; i< rows; i++) {
|
||||||
|
#if APR_CHARSET_EBCDIC
|
||||||
|
char ebcdic_text[DUMP_WIDTH];
|
||||||
|
j = DUMP_WIDTH;
|
||||||
|
if ((i * DUMP_WIDTH + j) > len)
|
||||||
|
j = len % DUMP_WIDTH;
|
||||||
|
if (j == 0)
|
||||||
|
j = DUMP_WIDTH;
|
||||||
|
memcpy(ebcdic_text,(char *)(s) + i * DUMP_WIDTH, j);
|
||||||
|
ap_xlate_proto_from_ascii(ebcdic_text, j);
|
||||||
|
#endif /* APR_CHARSET_EBCDIC */
|
||||||
apr_snprintf(tmp, sizeof(tmp), "| %04x: ", i * DUMP_WIDTH);
|
apr_snprintf(tmp, sizeof(tmp), "| %04x: ", i * DUMP_WIDTH);
|
||||||
apr_cpystrn(buf, tmp, sizeof(buf));
|
apr_cpystrn(buf, tmp, sizeof(buf));
|
||||||
for (j = 0; j < DUMP_WIDTH; j++) {
|
for (j = 0; j < DUMP_WIDTH; j++) {
|
||||||
@@ -1739,7 +1749,11 @@ static void ssl_io_data_dump(server_rec *srvr,
|
|||||||
apr_cpystrn(buf+strlen(buf), " ", sizeof(buf)-strlen(buf));
|
apr_cpystrn(buf+strlen(buf), " ", sizeof(buf)-strlen(buf));
|
||||||
else {
|
else {
|
||||||
ch = ((unsigned char)*((char *)(s) + i * DUMP_WIDTH + j)) & 0xff;
|
ch = ((unsigned char)*((char *)(s) + i * DUMP_WIDTH + j)) & 0xff;
|
||||||
|
#if APR_CHARSET_EBCDIC
|
||||||
|
apr_snprintf(tmp, sizeof(tmp), "%c", (ch >= 0x20 && ch <= 0x7F) ? ebcdic_text[j] : '.');
|
||||||
|
#else /* APR_CHARSET_EBCDIC */
|
||||||
apr_snprintf(tmp, sizeof(tmp), "%c", ((ch >= ' ') && (ch <= '~')) ? ch : '.');
|
apr_snprintf(tmp, sizeof(tmp), "%c", ((ch >= ' ') && (ch <= '~')) ? ch : '.');
|
||||||
|
#endif /* APR_CHARSET_EBCDIC */
|
||||||
apr_cpystrn(buf+strlen(buf), tmp, sizeof(buf)-strlen(buf));
|
apr_cpystrn(buf+strlen(buf), tmp, sizeof(buf)-strlen(buf));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user