Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 51 additions & 60 deletions source/xconf-client/xconfclient.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,38 @@ static rdkcertselector_h xcCertSelector = NULL;
static int retryCount = 0;
#endif

/* commenting this to code, we have limitations in using curl_url_strerror API.
We have enough information from the error code to debug.
#if LIBCURL_VERSION_NUM >= 0x075000 // 7.80.0
#define T2_CURL_APPENDREQUEST_ERROR(rc) \
do { \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not necessarily needed in this context to wrap in do while construct as we have only one if check here. But considering the defensive coding techniques, is okay to retain.

if ((rc) != CURLUE_OK) \
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", \
(int)(rc), curl_url_strerror((rc)), __LINE__); \
} while(0)

#define T2_CURL_ERRROR(rc) \
do{ \
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", \
(int)(rc), curl_url_strerror((rc)), __LINE__); \
} while(0)

#else // curl_url_strerror is not defined use direct error code
*/

#define T2_CURL_APPENDREQUEST_ERROR(rc) \
do { \
if ((rc) != CURLUE_OK) \
T2Warning("T2: Curl Error in using curl_url_set code : %d Line No : %d\n", \
(int)(rc), __LINE__); \
} while(0)

#define T2_CURL_ERRROR(rc) \
do{ \
T2Warning("T2: Curl Error in using curl_url_set code : %d, Line No : %d\n", \
(int)(rc), __LINE__); \
} while(0)

T2ERROR ReportProfiles_deleteProfileXConf(ProfileXConf *profile);

T2ERROR ReportProfiles_setProfileXConf(ProfileXConf *profile);
Expand Down Expand Up @@ -291,10 +323,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "estbMacAddress=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -309,10 +338,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "firmwareVersion=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -327,10 +353,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "model=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -345,10 +368,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "manufacturer=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -366,10 +386,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "osClass=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -384,11 +401,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "partnerId=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
free(paramVal);
T2_CURL_APPENDREQUEST_ERROR(rc);
paramVal = NULL;
}
else
Expand All @@ -404,10 +417,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "partnerId=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -423,10 +433,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "accountId=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -441,10 +448,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "ecmMacAddress=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand All @@ -459,10 +463,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "env=%s", build_type);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
ret = T2ERROR_SUCCESS;
Expand All @@ -475,10 +476,7 @@ T2ERROR appendRequestParams(CURLU *uri)

// TODO Check relevance of this existing hardcoded data - can be removed if not used in production
rc = curl_url_set(uri, CURLUPART_QUERY, "controllerId=2504&channelMapId=2345&vodId=15660&", CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);

#if !defined(ENABLE_RDKB_SUPPORT) && !defined(ENABLE_RDKC_SUPPORT)
timezone = getTimezone();
Expand All @@ -487,10 +485,7 @@ T2ERROR appendRequestParams(CURLU *uri)
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "timezone=%s", timezone);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(timezone);
}
else
Expand All @@ -501,20 +496,14 @@ T2ERROR appendRequestParams(CURLU *uri)
}
#endif
rc = curl_url_set(uri, CURLUPART_QUERY, "version=2", CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
#if defined(PRIVACYMODES_CONTROL)
if(T2ERROR_SUCCESS == getParameterValue(PRIVACYMODES_RFC, &paramVal))
{
memset(tempBuf, 0, MAX_URL_ARG_LEN);
snprintf(tempBuf, MAX_URL_ARG_LEN, "privacyModes=%s", paramVal);
rc = curl_url_set(uri, CURLUPART_QUERY, tempBuf, CURLU_URLENCODE | CURLU_APPENDQUERY);
if(rc != CURLUE_OK)
{
T2Warning("Error in using curl_url_set code : %d, %s Line No : %d\n", (int)rc, curl_url_strerror(rc), __LINE__);
}
T2_CURL_APPENDREQUEST_ERROR(rc);
free(paramVal);
paramVal = NULL;
}
Expand Down Expand Up @@ -1038,7 +1027,8 @@ static T2ERROR fetchRemoteReportProfileConfiguration(char **configData)
rc = curl_url_set(requestURL, CURLUPART_URL, configURL, 0);
if(rc != CURLUE_OK)
{
T2Error("T2: Curl unable to set config url %s return error : %s with code :%d \n", configURL, curl_url_strerror(rc), (int)rc);
T2Error("T2: Curl unable to set config url %s\n", configURL);
T2_CURL_ERRROR(rc);
curl_url_cleanup(requestURL);
return ret;
}
Expand Down Expand Up @@ -1185,7 +1175,8 @@ T2ERROR fetchRemoteConfiguration(char *configURL, char **configData)
rc = curl_url_set(requestURL, CURLUPART_URL, configURL, 0);
if(rc != CURLUE_OK)
{
T2Error("T2: Curl unable to set config url %s return error : %s with code :%d \n", configURL, curl_url_strerror(rc), (int)rc);
T2Error("T2: Curl unable to set config url %s\n", configURL);
T2_CURL_ERRROR(rc);
curl_url_cleanup(requestURL);
return ret;
}
Expand All @@ -1210,7 +1201,7 @@ T2ERROR fetchRemoteConfiguration(char *configURL, char **configData)
}
else
{
T2Error("T2 : Curl url_get return error : %s with code :%d \n", curl_url_strerror(rc), (int)rc);
T2_CURL_ERRROR(rc);
}
curl_free(urlWithParams);
}
Expand Down