?? defaultunsecure.c
字號:
/* Copyright 2003-2006, Voltage Security, all rights reserved.
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "vibe.h"
#include "environment.h"
#include "base.h"
#include "libctx.h"
#include "vsdistrict.h"
#include "derhelp.h"
#include "oidlist.h"
#include "ibe.h"
#if VOLT_OS != VOLT_WINDOWS_32
#include <sys/select.h>
#include <curl/curl.h>
#include <curl/types.h>
#include <curl/easy.h>
struct MemoryStruct {
VoltLibCtx *libCtx ;
char *memory;
size_t size;
};
static size_t
WriteMemoryCallback(void *ptr, size_t size, size_t nmemb, void *data)
{
register int realsize = size * nmemb;
struct MemoryStruct *mem = (struct MemoryStruct *)data;
VoltLibCtx *libCtx = mem->libCtx;
mem->memory = (char *)Z2Realloc(mem->memory, mem->size + realsize + 1);
if (mem->memory)
{
Z2Memcpy(&(mem->memory[mem->size]), ptr, realsize);
mem->size += realsize;
mem->memory[mem->size] = 0;
}
return realsize;
}
int UnsecureDoHTTP (
VtLibCtx libraryCtx,
char **response,
int *responseCode,
const unsigned char *url,
const unsigned char *postData,
int allowBadCert,
const unsigned char *trustStore,
void *appData)
{
/* This implementation ignores the trustStore and allowBadCert
*/
CURL *curl;
struct MemoryStruct mem;
int ret;
VoltLibCtx *libCtx = (VoltLibCtx *)libraryCtx;
mem.libCtx = libCtx;
mem.memory = NULL;
mem.size = 0;
curl = curl_easy_init();
/*icSafeSnprintf (
* urlBuf, sizeof(urlBuf), libCtx, "http://%s%s", server, url);
*/
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curl, CURLOPT_FILE, (void *)&mem);
if (postData != NULL)
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, postData);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
ret = curl_easy_perform(curl);
if (ret != 0)
{
curl_easy_cleanup(curl);
return -1;
}
curl_easy_getinfo(curl, CURLINFO_HTTP_CODE, responseCode);
curl_easy_cleanup(curl);
*response = mem.memory;
return 0;
}
#endif /* VOLT_OS != VOLT_WINDOWS_32 */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -