\hypertarget{group__Ecore__Con__SSL__Group}{}\doxysection{Ecore Connection SSL Functions}
\label{group__Ecore__Con__SSL__Group}\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}


Functions that operate on Ecore connection objects pertaining to SSL.  


\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
ECORE\+\_\+\+CON\+\_\+\+API int \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gafaeeafc2a39aeef1b9497d5eb5fe9055}{ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get}} (void)
\begin{DoxyCompactList}\small\item\em Returns if SSL support is available. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gaff32bd112f4176c27590b1a6e2411fde}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$cert)
\begin{DoxyCompactList}\small\item\em Adds an SSL certificate for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga6a20fe4c9602bbe1c0ba8a930f5576e5}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$key\+\_\+file)
\begin{DoxyCompactList}\small\item\em Adds an SSL private key for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga68afbea8704bb7f8bd457bc43062c328}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$crl\+\_\+file)
\begin{DoxyCompactList}\small\item\em Adds an SSL CRL for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gad1ea485fd7af231d9b817ed5f58333b9}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$ca\+\_\+file)
\begin{DoxyCompactList}\small\item\em Adds an SSL CA file for use in ecore\+\_\+con functions. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gae847bf08f3d0f9b8ae8241bb9dae0902}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Enables certificate verification on a server object. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga35f3bc4a92bcf8894c33065a3b94a5d5}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Enables hostname-\/based certificate verification on a server object. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API void \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gacb3f0263a859c1a23a22e07591f77424}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Sets the hostname to verify against in certificate verification. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API const char $\ast$ \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga154381626d65f4fa94e9659ad63d6531}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr)
\begin{DoxyCompactList}\small\item\em Gets the hostname to verify against in certificate verification. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga79e98a738901760ba342f9c4927986f4}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade}} (\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$svr, Ecore\+\_\+\+Con\+\_\+\+Type ssl\+\_\+type)
\begin{DoxyCompactList}\small\item\em Upgrades a connection to a specified level of encryption. \end{DoxyCompactList}\item 
ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} \mbox{\hyperlink{group__Ecore__Con__SSL__Group_ga91cb5d6868be1c3578ce21c7f786de3a}{ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade}} (\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$cl, Ecore\+\_\+\+Con\+\_\+\+Type ssl\+\_\+type)
\begin{DoxyCompactList}\small\item\em Upgrades a connection to a specified level of encryption. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Functions that operate on Ecore connection objects pertaining to SSL. 



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_gafaeeafc2a39aeef1b9497d5eb5fe9055}\label{group__Ecore__Con__SSL__Group_gafaeeafc2a39aeef1b9497d5eb5fe9055}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_available\_get@{ecore\_con\_ssl\_available\_get}}
\index{ecore\_con\_ssl\_available\_get@{ecore\_con\_ssl\_available\_get}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_available\_get()}{ecore\_con\_ssl\_available\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API int ecore\+\_\+con\+\_\+ssl\+\_\+available\+\_\+get (\begin{DoxyParamCaption}\item[{void}]{ }\end{DoxyParamCaption})}



Returns if SSL support is available. 

\begin{DoxyReturn}{Returns}
{\ttfamily 1} if SSL is available and provided by gnutls, {\ttfamily 2} if SSL is available and provided by openssl, {\ttfamily 0} if it is not available. 
\end{DoxyReturn}


Referenced by \mbox{\hyperlink{group__Ecore__Con__Client__Group_gaad8e029c00a1a4a6097f5ff17dec3c2e}{ecore\+\_\+ipc\+\_\+ssl\+\_\+available\+\_\+get()}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_gaff32bd112f4176c27590b1a6e2411fde}\label{group__Ecore__Con__SSL__Group_gaff32bd112f4176c27590b1a6e2411fde}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_cert\_add@{ecore\_con\_ssl\_server\_cert\_add}}
\index{ecore\_con\_ssl\_server\_cert\_add@{ecore\_con\_ssl\_server\_cert\_add}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_cert\_add()}{ecore\_con\_ssl\_server\_cert\_add()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cert\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{cert }\end{DoxyParamCaption})}



Adds an SSL certificate for use in ecore\+\_\+con functions. 

Use this function to add a SSL PEM certificate. Simply specify the cert here to use it in the server object for connecting or listening. If there is an error loading the certificate, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object \\
\hline
{\em cert} & The path to the certificate. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the file cannot be loaded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga6a20fe4c9602bbe1c0ba8a930f5576e5}\label{group__Ecore__Con__SSL__Group_ga6a20fe4c9602bbe1c0ba8a930f5576e5}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_privkey\_add@{ecore\_con\_ssl\_server\_privkey\_add}}
\index{ecore\_con\_ssl\_server\_privkey\_add@{ecore\_con\_ssl\_server\_privkey\_add}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_privkey\_add()}{ecore\_con\_ssl\_server\_privkey\_add()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+privkey\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{key\+\_\+file }\end{DoxyParamCaption})}



Adds an SSL private key for use in ecore\+\_\+con functions. 

Use this function to add a SSL PEM private key. Simply specify the key file here to use it in the server object for connecting or listening. If there is an error loading the key, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em key\+\_\+file} & The path to the key file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the file cannot be loaded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga68afbea8704bb7f8bd457bc43062c328}\label{group__Ecore__Con__SSL__Group_ga68afbea8704bb7f8bd457bc43062c328}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_crl\_add@{ecore\_con\_ssl\_server\_crl\_add}}
\index{ecore\_con\_ssl\_server\_crl\_add@{ecore\_con\_ssl\_server\_crl\_add}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_crl\_add()}{ecore\_con\_ssl\_server\_crl\_add()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+crl\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{crl\+\_\+file }\end{DoxyParamCaption})}



Adds an SSL CRL for use in ecore\+\_\+con functions. 

Use this function to add a SSL PEM CRL file. Simply specify the CRL file here to use it in the server object for connecting or listening. If there is an error loading the CRL, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em crl\+\_\+file} & The path to the CRL file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the file cannot be loaded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_gad1ea485fd7af231d9b817ed5f58333b9}\label{group__Ecore__Con__SSL__Group_gad1ea485fd7af231d9b817ed5f58333b9}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_cafile\_add@{ecore\_con\_ssl\_server\_cafile\_add}}
\index{ecore\_con\_ssl\_server\_cafile\_add@{ecore\_con\_ssl\_server\_cafile\_add}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_cafile\_add()}{ecore\_con\_ssl\_server\_cafile\_add()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+cafile\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{ca\+\_\+file }\end{DoxyParamCaption})}



Adds an SSL CA file for use in ecore\+\_\+con functions. 

Use this function to add a SSL PEM CA file. Simply specify the file here to use it in the server object for connecting or listening. If there is an error loading the CAs, an error will automatically be logged. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em ca\+\_\+file} & The path to the CA file. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the file cannot be loaded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
since 1.\+2, this function can load directories. 
\end{DoxyNote}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\+\_\+list\+\_\+append()}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Stringshare__Group_ga4e3ce40744291c1fb8574e26883c0bf2}{eina\+\_\+stringshare\+\_\+add()}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_gae847bf08f3d0f9b8ae8241bb9dae0902}\label{group__Ecore__Con__SSL__Group_gae847bf08f3d0f9b8ae8241bb9dae0902}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_verify@{ecore\_con\_ssl\_server\_verify}}
\index{ecore\_con\_ssl\_server\_verify@{ecore\_con\_ssl\_server\_verify}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_verify()}{ecore\_con\_ssl\_server\_verify()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Enables certificate verification on a server object. 

Call this function on a server object before main loop has started to enable verification of certificates against loaded certificates. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga8b89fd35e22beece51443e29fe585935}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga35f3bc4a92bcf8894c33065a3b94a5d5}\label{group__Ecore__Con__SSL__Group_ga35f3bc4a92bcf8894c33065a3b94a5d5}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_verify\_basic@{ecore\_con\_ssl\_server\_verify\_basic}}
\index{ecore\_con\_ssl\_server\_verify\_basic@{ecore\_con\_ssl\_server\_verify\_basic}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_verify\_basic()}{ecore\_con\_ssl\_server\_verify\_basic()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+basic (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Enables hostname-\/based certificate verification on a server object. 

Call this function on a server object before main loop has started to enable verification of certificates using ONLY their hostnames. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
\end{DoxyParams}
\begin{DoxyNote}{Note}
This function has no effect when used on a listening server created by ecore\+\_\+con\+\_\+server\+\_\+add. 
\end{DoxyNote}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga8b89fd35e22beece51443e29fe585935}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_gacb3f0263a859c1a23a22e07591f77424}\label{group__Ecore__Con__SSL__Group_gacb3f0263a859c1a23a22e07591f77424}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_verify\_name\_set@{ecore\_con\_ssl\_server\_verify\_name\_set}}
\index{ecore\_con\_ssl\_server\_verify\_name\_set@{ecore\_con\_ssl\_server\_verify\_name\_set}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_verify\_name\_set()}{ecore\_con\_ssl\_server\_verify\_name\_set()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API void ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Sets the hostname to verify against in certificate verification. 

Sometimes the certificate hostname will not match the hostname that you are connecting to, and will instead match a different name. An example of this is that if you connect to talk.\+google.\+com to use Google Talk, you receive Google\textquotesingle{}s certificate for gmail.\+com. This certificate should be trusted, and so you must call this function with \char`\"{}gmail.\+com\char`\"{} as {\ttfamily name}. See RFC2818 for more details. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em name} & The hostname to verify against \\
\hline
\end{DoxyParams}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}


References \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1ccf8538d0015b3801ff642e6156843a}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga8b89fd35e22beece51443e29fe585935}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN}}, and \mbox{\hyperlink{group__Eina__Stringshare__Group_ga9e32a137ce8c4cd5f6ec3dbde3dbedd8}{eina\+\_\+stringshare\+\_\+replace()}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga154381626d65f4fa94e9659ad63d6531}\label{group__Ecore__Con__SSL__Group_ga154381626d65f4fa94e9659ad63d6531}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_verify\_name\_get@{ecore\_con\_ssl\_server\_verify\_name\_get}}
\index{ecore\_con\_ssl\_server\_verify\_name\_get@{ecore\_con\_ssl\_server\_verify\_name\_get}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_verify\_name\_get()}{ecore\_con\_ssl\_server\_verify\_name\_get()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API const char $\ast$ ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+get (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr }\end{DoxyParamCaption})}



Gets the hostname to verify against in certificate verification. 

This function returns the name which will be used to validate the SSL certificate common name (CN) or alt name (subject\+Alt\+Name). It will default to the {\ttfamily name} param in \mbox{\hyperlink{group__Ecore__Con__Server__Group_gab1bc5a7692c3c36af00e1ac1db257e98}{ecore\+\_\+con\+\_\+server\+\_\+connect()}}, but can be changed with \mbox{\hyperlink{group__Ecore__Con__SSL__Group_gacb3f0263a859c1a23a22e07591f77424}{ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+verify\+\_\+name\+\_\+set()}}. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The hostname which will be used 
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+2 
\end{DoxySince}
\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga79e98a738901760ba342f9c4927986f4}\label{group__Ecore__Con__SSL__Group_ga79e98a738901760ba342f9c4927986f4}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_server\_upgrade@{ecore\_con\_ssl\_server\_upgrade}}
\index{ecore\_con\_ssl\_server\_upgrade@{ecore\_con\_ssl\_server\_upgrade}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_server\_upgrade()}{ecore\_con\_ssl\_server\_upgrade()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+server\+\_\+upgrade (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Server__Group_ga80f90f9716013d6104624c2e606f8915}{Ecore\+\_\+\+Con\+\_\+\+Server}} $\ast$}]{svr,  }\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{ssl\+\_\+type }\end{DoxyParamCaption})}



Upgrades a connection to a specified level of encryption. 

Use this function to begin an SSL handshake on a connection (STARTTLS or similar). Once the upgrade has been completed, an ECORE\+\_\+\+CON\+\_\+\+EVENT\+\_\+\+SERVER\+\_\+\+UPGRADE event will be emitted. The connection should be treated as disconnected until the next event. 
\begin{DoxyParams}{Parameters}
{\em svr} & The server object. \\
\hline
{\em ssl\+\_\+type} & The SSL connection type (ONLY). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the connection cannot be upgraded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
This function is NEVER to be used on a server object created with ecore\+\_\+con\+\_\+server\+\_\+add. 
\end{DoxyNote}
\begin{DoxyWarning}{Warning}
Setting a wrong value for {\ttfamily ssl\+\_\+type} WILL mess up your program. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_client_example_8c-example}{ecore\+\_\+con\+\_\+client\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Ecore__Animator__Group_ga2981cf0a663650e0457d18a7ba18a6ad}{ecore\+\_\+animator\+\_\+frametime\+\_\+get()}}, \mbox{\hyperlink{group__Ecore__Con__Server__Group_gac1768fae815fb830a2df13ef08a2e5ae}{ecore\+\_\+con\+\_\+server\+\_\+flush()}}, \mbox{\hyperlink{group__Ecore__Time__Group_ga98f2439b5d3e7114a75bfe2f0c22c4e9}{ecore\+\_\+time\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

\mbox{\Hypertarget{group__Ecore__Con__SSL__Group_ga91cb5d6868be1c3578ce21c7f786de3a}\label{group__Ecore__Con__SSL__Group_ga91cb5d6868be1c3578ce21c7f786de3a}} 
\index{Ecore Connection SSL Functions@{Ecore Connection SSL Functions}!ecore\_con\_ssl\_client\_upgrade@{ecore\_con\_ssl\_client\_upgrade}}
\index{ecore\_con\_ssl\_client\_upgrade@{ecore\_con\_ssl\_client\_upgrade}!Ecore Connection SSL Functions@{Ecore Connection SSL Functions}}
\doxysubsubsection{\texorpdfstring{ecore\_con\_ssl\_client\_upgrade()}{ecore\_con\_ssl\_client\_upgrade()}}
{\footnotesize\ttfamily ECORE\+\_\+\+CON\+\_\+\+API \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\+\_\+\+Bool}} ecore\+\_\+con\+\_\+ssl\+\_\+client\+\_\+upgrade (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group__Ecore__Con__Client__Group_gae9afe250f5420f4731d1a94050275756}{Ecore\+\_\+\+Con\+\_\+\+Client}} $\ast$}]{cl,  }\item[{Ecore\+\_\+\+Con\+\_\+\+Type}]{ssl\+\_\+type }\end{DoxyParamCaption})}



Upgrades a connection to a specified level of encryption. 

Use this function to begin an SSL handshake on a connection (STARTTLS or similar). Once the upgrade has been completed, an ECORE\+\_\+\+CON\+\_\+\+EVENT\+\_\+\+CLIENT\+\_\+\+UPGRADE event will be emitted. The connection should be treated as disconnected until the next event. 
\begin{DoxyParams}{Parameters}
{\em cl} & The client object. \\
\hline
{\em ssl\+\_\+type} & The SSL connection type (ONLY). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily EINA\+\_\+\+FALSE} if the connection cannot be upgraded, otherwise {\ttfamily EINA\+\_\+\+TRUE}. 
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
Setting a wrong value for {\ttfamily ssl\+\_\+type} WILL mess up your program. 
\end{DoxyWarning}
\begin{DoxySince}{Since}
1.\+1 
\end{DoxySince}
\begin{Desc}
\item[Examples]\par
\mbox{\hyperlink{ecore_con_server_example_8c-example}{ecore\+\_\+con\+\_\+server\+\_\+example.\+c}}.\end{Desc}


References \mbox{\hyperlink{group__Ecore__Animator__Group_ga2981cf0a663650e0457d18a7ba18a6ad}{ecore\+\_\+animator\+\_\+frametime\+\_\+get()}}, \mbox{\hyperlink{group__Ecore__Con__Client__Group_ga8eeeb449d9af80885a26309471330de9}{ecore\+\_\+con\+\_\+client\+\_\+flush()}}, \mbox{\hyperlink{group__Ecore__Time__Group_ga98f2439b5d3e7114a75bfe2f0c22c4e9}{ecore\+\_\+time\+\_\+get()}}, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\+\_\+\+FALSE}}, \mbox{\hyperlink{group__Eina__Future_ga9f4948790f1f84de93ba8195520d4a92}{eina\+\_\+future\+\_\+then}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gae7cf7b1d66fa9022242e09fd53c06bb2}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+FALSE\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_gab2b07061fc6500dedd9cd41c8d16f95d}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+NULL\+\_\+\+RETURN\+\_\+\+VAL}}, \mbox{\hyperlink{group__Eina__Safety__Checks__Group_ga1dbe0d7e3c6b10f4bd49a2a132d73269}{EINA\+\_\+\+SAFETY\+\_\+\+ON\+\_\+\+TRUE\+\_\+\+RETURN\+\_\+\+VAL}}, and \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\+\_\+\+TRUE}}.

