httpcSetSSLOpt support

This commit is contained in:
Ken Sanislo 2016-04-07 22:34:41 -07:00
parent 0c1e656a2b
commit f88fb6ca27
2 changed files with 33 additions and 0 deletions

View File

@ -129,6 +129,13 @@ Result httpcGetResponseHeader(httpcContext *context, char* name, char* value, u3
*/
Result httpcAddTrustedRootCA(httpcContext *context, u8 *cert, u32 certsize);
/**
* @brief Sets SSL options for the context.
* @param contect Context to set flags on.
* @param options SSL option flags.
*/
Result httpcSetSSLOpt(httpcContext *context, u32 options);
/**
* @brief Downloads data from the HTTP context into a buffer.
* The *entire* content must be downloaded before using httpcCloseContext(), otherwise httpcCloseContext() will hang.
@ -269,3 +276,11 @@ Result HTTPC_GetResponseStatusCode(Handle handle, Handle contextHandle, u32* out
*/
Result HTTPC_AddTrustedRootCA(Handle handle, Handle contextHandle, u8 *cert, u32 certsize);
/**
* @brief Sets SSL options for the context.
* @param handle HTTPC service handle to use.
* @param contextHandle HTTP context handle to use.
* @param options SSL option flags.
*/
Result HTTPC_SetSSLOpt(Handle handle, Handle contextHandle, u32 options);

View File

@ -169,6 +169,11 @@ Result httpcAddTrustedRootCA(httpcContext *context, u8 *cert, u32 certsize)
return HTTPC_AddTrustedRootCA(context->servhandle, context->httphandle, cert, certsize);
}
Result httpcSetSSLOpt(httpcContext *context, u32 options)
{
return HTTPC_SetSSLOpt(context->servhandle, context->httphandle, options);
}
Result httpcDownloadData(httpcContext *context, u8* buffer, u32 size, u32 *downloadedsize)
{
Result ret=0;
@ -460,3 +465,16 @@ Result HTTPC_AddTrustedRootCA(Handle handle, Handle contextHandle, u8 *cert, u32
return cmdbuf[1];
}
Result HTTPC_SetSSLOpt(Handle handle, Handle contextHandle, u32 options)
{
u32* cmdbuf=getThreadCommandBuffer();
cmdbuf[0]=IPC_MakeHeader(0x2B,2,0); // 0x2B0080
cmdbuf[1]=contextHandle;
cmdbuf[2]=options;
Result ret=0;
if(R_FAILED(ret=svcSendSyncRequest(handle)))return ret;
return cmdbuf[1];
}