struct sockaddr_in g_addr1 = { 0 }, g_addr2={0}; HTTPCli_Struct cli,cli1; int createFtpSocket(char *ipAddress, int portNr) { HTTPCli_Params params; HTTPCli_Field fields[1] = { { HTTPStd_FIELD_NAME_HOST, ipAddress }, }; char data[1025]; memset(data, 0, 1025); //Set request fields HTTPCli_construct(&cli); HTTPCli_setRequestFields(&cli, fields); TLS_Params tlsParams; TLS_Params_init(&tlsParams); tlsParams.ca = ca_cert1; tlsParams.calen = sizeof_ca_cert1; TLS_Handle g_tls = TLS_create(TLS_METHOD_CLIENT_TLSV1_2, &tlsParams, NULL); if (!g_tls) { logg("***ERROR*** - TLS_create failed", __FUNCTION__); return -1; } setTimeInSL(1577944922); memset(data, 0, 1025); HTTPCli_initSockAddr((struct sockaddr *) &g_addr1, ipAddress, 0); HTTPCli_Params_init(¶ms); params.tls = g_tls; int ret = HTTPCli_connect(&cli, (struct sockaddr *) &g_addr1, 0, // HTTPCli_TYPE_TLS, // NULL ¶ms ); /*********NOTE: If I select NULL, it conencts but tls wont work. If I select ¶ms, I am getting -370 *********/ ret = HTTPCli_getSocketError(&cli); HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1); logStrInt("*response body is %s and ret=%i", "", data, ret); logg("***************\n",""); if (ret < 0) { logStrInt("***ERROR*** - connect failed %s ret=%i", __FUNCTION__, ipAddress, ret); return ret; } else { HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1); logStrInt("*response body is %s and ret=%i", "", data, ret); logg("***************\n",""); memset(data, 0, 1025); return ret; } } bool pmoPosFtpProc(char* posCmd, char* result) { int sock = createFtpSocket(g_ftpHost, 21); if (sock < 0) return false; //Login char ftpCmd[200] = { 0 }; memset(data, 0, 1025); // strcpy(ftpCmd, "AUTH "); strcat(ftpCmd, "TLS"); strcat(ftpCmd, "\r\n"); int ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i","", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025); memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "PBSZ 0"); //strcat(ftpCmd, 0); strcat(ftpCmd, "\r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i","", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025); memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "PROT P");// strcat(ftpCmd, g_ftpHostUserId); strcat(ftpCmd, "\r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i","", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025); memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "USER "); strcat(ftpCmd, g_ftpHostUserId); strcat(ftpCmd, "\r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i","", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025); memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "PASS "); strcat(ftpCmd, g_ftpHostPswd); strcat(ftpCmd, "\r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i", "", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025);memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "PWD \r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i", "", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025);memset(ftpCmd, 0, 200); } strcpy(ftpCmd, "TYPE I\r\n"); ret = HTTPCli_sendRequestBody(&cli, ftpCmd, sizeof(ftpCmd)); if (ret < 0) { logStrInt("***ERROR*** - sendRequestBody reading file %s failed ret=%i", "", ftpCmd, ret); return ret; } else { ret = HTTPCli_readRawResponseBody(&cli, data, sizeof(data) - 1);logg("***************\n",""); logStrInt("*response body is %s and ret=%i", "", data, ret); memset(data, 0, 1025);memset(ftpCmd, 0, 200); } return ret; }