diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/activation.c | 33 | 
1 files changed, 29 insertions, 4 deletions
| diff --git a/src/activation.c b/src/activation.c index adc5897..6232dbd 100644 --- a/src/activation.c +++ b/src/activation.c @@ -635,6 +635,34 @@ static int plist_strip_xml(char** xmlplist)  	return 0;  } +static int idevice_activation_curl_debug_callback(CURL *handle, curl_infotype type, char *data, size_t size, void *userptr) +{ +	switch (type) { +	case CURLINFO_TEXT: +		fprintf(stderr, "* "); +		break; +	case CURLINFO_DATA_IN: +	case CURLINFO_HEADER_IN: +		fprintf(stderr, "< "); +		break; +	case CURLINFO_DATA_OUT: +	case CURLINFO_HEADER_OUT: +		fprintf(stderr, "> "); +		break; +	case CURLINFO_SSL_DATA_IN: +	case CURLINFO_SSL_DATA_OUT: +		return 0; +	default: +		return 0; +	} + +	fwrite(data, 1, size, stderr); +	if (size > 0 && data[size-1] != '\n') { +		fprintf(stderr, "\n"); +	} +	return 0; +} +  IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_request_new(idevice_activation_client_type_t client_type, idevice_activation_request_t* request)  {  	if (!request) @@ -1228,14 +1256,11 @@ IDEVICE_ACTIVATION_API idevice_activation_error_t idevice_activation_send_reques  	// enable communication debugging  	if (debug_level > 0) {  		curl_easy_setopt(handle, CURLOPT_VERBOSE, 1); +		curl_easy_setopt(handle, CURLOPT_DEBUGFUNCTION, idevice_activation_curl_debug_callback);  	}  	curl_easy_perform(handle); -	if (debug_level > 0) { -		fprintf(stderr, "%*s\n", (int)tmp_response->raw_content_size, tmp_response->raw_content); -	} -  	result = idevice_activation_parse_raw_response(tmp_response);  	if (result != IDEVICE_ACTIVATION_E_SUCCESS) {  		goto cleanup; | 
