Added the pinning feature 92/53692/1 accepted/tizen/mobile/20151210.083232 accepted/tizen/tv/20151210.083257 accepted/tizen/wearable/20151210.083317 submit/tizen/20151210.060951
authorSunghyun Kwon <sh0701.kwon@samsung.com>
Wed, 9 Dec 2015 00:40:04 +0000 (09:40 +0900)
committerSunghyun Kwon <sh0701.kwon@samsung.com>
Wed, 9 Dec 2015 00:40:04 +0000 (09:40 +0900)
Change-Id: Ief701f3a775ab1625282f873f362715d7e2a8df7

email-core/CMakeLists.txt
email-core/email-core-account.c
packaging/email-service.spec

index 4d41754..4d1a036 100755 (executable)
@@ -232,7 +232,7 @@ INCLUDE_DIRECTORIES(
 
 
 INCLUDE(FindPkgConfig)
-SET(PKG_MODULES glib-2.0 dlog dbus-1 gthread-2.0 key-manager
+SET(PKG_MODULES glib-2.0 dlog dbus-1 gthread-2.0 key-manager tpkp-curl
                        uw-imap-toolkit vconf vconf-internal-keys contacts-service2 
                        openssl accounts-svc alarm-service notification libcurl libxml-2.0 
                        cert-svc-vcore badge capi-appfw-application icu-i18n gmime-2.6 storage)
index ab7ccd1..b7aa06e 100755 (executable)
@@ -38,6 +38,7 @@
 #include <vconf.h>
 #include <curl/curl.h>
 #include <sys/shm.h>
+#include <tpkp_curl.h>
 
 #include "email-convert.h"
 #include "email-types.h"
@@ -1471,6 +1472,9 @@ static int emcore_get_xoauth2_access_token(char *input_refresh_token, char **out
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*)&result_string);
        curl_easy_setopt(curl, CURLOPT_HEADER, true);
 
+       /* pinning */
+       curl_easy_setopt(curl, CURLOPT_SSL_CTX_FUNCTION, tpkp_curl_ssl_ctx_callback);
+
        curl_ressult_code = curl_easy_perform(curl);
 
        EM_DEBUG_LOG_SEC("CURLcode: %d (%s)", curl_ressult_code, curl_easy_strerror(curl_ressult_code));
@@ -1524,9 +1528,11 @@ FINISH_OFF:
 
        EM_SAFE_FREE(result_string);
 
-       if(curl)
+       if (curl)
                curl_easy_cleanup(curl);
 
+       tpkp_curl_cleanup();
+
        EM_DEBUG_FUNC_END("err [%d]", err);
        return err;
 }
index d062208..5a47b62 100755 (executable)
@@ -40,7 +40,6 @@ BuildRequires:  pkgconfig(vconf-internal-keys)
 BuildRequires:  pkgconfig(vconf)
 BuildRequires:  pkgconfig(dlog)
 BuildRequires:  pkgconfig(dbus-1)
-
 BuildRequires:  pkgconfig(uw-imap-toolkit)
 BuildRequires:  pkgconfig(openssl)
 BuildRequires:  pkgconfig(alarm-service)
@@ -51,6 +50,7 @@ BuildRequires:  pkgconfig(accounts-svc)
 BuildRequires:  pkgconfig(libsystemd-daemon)
 BuildRequires:  pkgconfig(capi-base-common)
 BuildRequires:  pkgconfig(libcurl)
+BuildRequires:  pkgconfig(tpkp-curl)
 BuildRequires:  pkgconfig(libxml-2.0)
 BuildRequires:  pkgconfig(cert-svc-vcore)
 BuildRequires:  pkgconfig(badge)