diff --git a/src/lib3270/ssl/linux/getcrl.c b/src/lib3270/ssl/linux/getcrl.c index 68b0ce9..36be2ae 100644 --- a/src/lib3270/ssl/linux/getcrl.c +++ b/src/lib3270/ssl/linux/getcrl.c @@ -33,7 +33,7 @@ * */ -#define CRL_DATA_LENGTH 4096 +#define CRL_DATA_LENGTH 16384 #include @@ -140,14 +140,20 @@ static size_t internal_curl_write_callback(void *contents, size_t size, size_t n { CURLDATA * data = (CURLDATA *) userp; + debug("%s",__FUNCTION__); + size_t realsize = size * nmemb; + debug("%s size=%d data->length=%d crldatalength=%d",__FUNCTION__,(int) size, (int) data->length, CRL_DATA_LENGTH); + if((size + data->length) > CRL_DATA_LENGTH) { debug("CRL Data block is bigger than allocated block (%u bytes)",(unsigned int) size); return 0; } + debug("%s",__FUNCTION__); + if(lib3270_get_toggle(data->hSession,LIB3270_TOGGLE_SSL_TRACE)) { lib3270_trace_data( @@ -158,9 +164,13 @@ static size_t internal_curl_write_callback(void *contents, size_t size, size_t n ); } + debug("%s",__FUNCTION__); + memcpy(&(data->contents[data->length]),contents,realsize); data->length += realsize; + debug("%s",__FUNCTION__); + return realsize; } @@ -404,7 +414,6 @@ int lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message) // Use CURL to download the CRL lib3270_autoptr(CURLDATA) crl_data = lib3270_malloc(sizeof(CURLDATA)); - lib3270_autoptr(CURL) hCurl = curl_easy_init(); memset(crl_data,0,sizeof(CURLDATA)); diff --git a/src/lib3270/testprogram/testprogram.c b/src/lib3270/testprogram/testprogram.c index cc73b05..5a9d7e4 100644 --- a/src/lib3270/testprogram/testprogram.c +++ b/src/lib3270/testprogram/testprogram.c @@ -64,14 +64,16 @@ int main(int argc, char *argv[]) } -// printf("HOST URL: %s\HOST CRL: %s\n",lib3270_get_url(h),lib3270_get_crl_url(h)); + printf("HOST URL: %s\HOST CRL: %s\n",lib3270_get_url(h),lib3270_get_crl_url(h)); -// if(lib3270_set_url(h,NULL)) -// lib3270_set_url(h,"tn3270://fandezhi.efglobe.com"); + if(lib3270_set_url(h,NULL)) + lib3270_set_url(h,"tn3270://fandezhi.efglobe.com"); //lib3270_set_toggle(h,LIB3270_TOGGLE_DS_TRACE,1); lib3270_set_toggle(h,LIB3270_TOGGLE_SSL_TRACE,1); + printf("\nConnecting to %s\n",lib3270_get_url(h)); + rc = lib3270_reconnect(h,120); printf("\nConnect exits with rc=%d\n",rc); -- libgit2 0.21.2