diff options
Diffstat (limited to 'base')
-rw-r--r-- | base/base.gypi | 8 | ||||
-rw-r--r-- | base/crypto/rsa_private_key_nss.cc | 2 | ||||
-rw-r--r-- | base/crypto/signature_creator_nss.cc | 2 | ||||
-rw-r--r-- | base/crypto/signature_verifier_nss.cc | 3 | ||||
-rw-r--r-- | base/hmac_nss.cc | 2 | ||||
-rw-r--r-- | base/nss_util.cc (renamed from base/nss_init.cc) | 24 | ||||
-rw-r--r-- | base/nss_util.h (renamed from base/nss_init.h) | 16 | ||||
-rw-r--r-- | base/test/test_suite.h | 2 |
8 files changed, 43 insertions, 16 deletions
diff --git a/base/base.gypi b/base/base.gypi index f7584c4..ecdc0a0 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -287,8 +287,8 @@ 'directory_watcher_inotify.cc', 'linux_util.cc', 'message_pump_glib.cc', - 'nss_init.cc', - 'nss_init.h', + 'nss_util.cc', + 'nss_util.h', ], },], [ 'OS != "linux"', { @@ -547,8 +547,8 @@ 'message_pump_mac.mm', 'nsimage_cache_mac.h', 'nsimage_cache_mac.mm', - 'nss_init.cc', - 'nss_init.h', + 'nss_util.cc', + 'nss_util.h', 'pe_image.cc', 'pe_image.h', 'setproctitle_linux.c', diff --git a/base/crypto/rsa_private_key_nss.cc b/base/crypto/rsa_private_key_nss.cc index 7e10b36..26bb10cc 100644 --- a/base/crypto/rsa_private_key_nss.cc +++ b/base/crypto/rsa_private_key_nss.cc @@ -12,7 +12,7 @@ #include <list> #include "base/logging.h" -#include "base/nss_init.h" +#include "base/nss_util.h" #include "base/scoped_ptr.h" #include "base/string_util.h" diff --git a/base/crypto/signature_creator_nss.cc b/base/crypto/signature_creator_nss.cc index e0de4b7..ff1d271 100644 --- a/base/crypto/signature_creator_nss.cc +++ b/base/crypto/signature_creator_nss.cc @@ -9,7 +9,7 @@ #include <stdlib.h> #include "base/logging.h" -#include "base/nss_init.h" +#include "base/nss_util.h" #include "base/scoped_ptr.h" namespace base { diff --git a/base/crypto/signature_verifier_nss.cc b/base/crypto/signature_verifier_nss.cc index 901f1fc..369f275 100644 --- a/base/crypto/signature_verifier_nss.cc +++ b/base/crypto/signature_verifier_nss.cc @@ -9,7 +9,7 @@ #include <stdlib.h> #include "base/logging.h" -#include "base/nss_init.h" +#include "base/nss_util.h" namespace base { @@ -111,4 +111,3 @@ void SignatureVerifier::Reset() { } } // namespace base - diff --git a/base/hmac_nss.cc b/base/hmac_nss.cc index ce705c5..d55bc64 100644 --- a/base/hmac_nss.cc +++ b/base/hmac_nss.cc @@ -8,7 +8,7 @@ #include <pk11pub.h> #include "base/logging.h" -#include "base/nss_init.h" +#include "base/nss_util.h" #include "base/scoped_ptr.h" namespace { diff --git a/base/nss_init.cc b/base/nss_util.cc index 7f65504..757b437 100644 --- a/base/nss_init.cc +++ b/base/nss_util.cc @@ -1,14 +1,15 @@ -// Copyright (c) 2008-2009 The Chromium Authors. All rights reserved. +// Copyright (c) 2008-2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/nss_init.h" +#include "base/nss_util.h" #include <dlfcn.h> #include <nss.h> #include <plarena.h> #include <prerror.h> #include <prinit.h> +#include <prtime.h> #include <pk11pub.h> #include <secmod.h> #include <ssl.h> @@ -177,4 +178,23 @@ void EnsureNSSInit() { Singleton<NSSInitSingleton>::get(); } +// TODO(port): Implement this more simply. We can convert by subtracting an +// offset (the difference between NSPR's and base::Time's epochs). +Time PRTimeToBaseTime(PRTime prtime) { + PRExplodedTime prxtime; + PR_ExplodeTime(prtime, PR_GMTParameters, &prxtime); + + base::Time::Exploded exploded; + exploded.year = prxtime.tm_year; + exploded.month = prxtime.tm_month + 1; + exploded.day_of_week = prxtime.tm_wday; + exploded.day_of_month = prxtime.tm_mday; + exploded.hour = prxtime.tm_hour; + exploded.minute = prxtime.tm_min; + exploded.second = prxtime.tm_sec; + exploded.millisecond = prxtime.tm_usec / 1000; + + return Time::FromUTCExploded(exploded); +} + } // namespace base diff --git a/base/nss_init.h b/base/nss_util.h index cd8ee77..f766228 100644 --- a/base/nss_init.h +++ b/base/nss_util.h @@ -1,12 +1,16 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Copyright (c) 2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef BASE_NSS_INIT_H_ -#define BASE_NSS_INIT_H_ +#ifndef BASE_NSS_UTIL_H_ +#define BASE_NSS_UTIL_H_ + +#include "base/basictypes.h" namespace base { +class Time; + // Initialize NRPR if it isn't already initialized. This function is // thread-safe, and NSPR will only ever be initialized once. NSPR will be // properly shut down on program exit. @@ -17,6 +21,10 @@ void EnsureNSPRInit(); // ever be initialized once. NSS will be properly shut down on program exit. void EnsureNSSInit(); +// Convert a NSS PRTime value into a base::Time object. +// We use a int64 instead of PRTime here to avoid depending on NSPR headers. +Time PRTimeToBaseTime(int64 prtime); + } // namespace base -#endif // BASE_NSS_INIT_H_ +#endif // BASE_NSS_UTIL_H_ diff --git a/base/test/test_suite.h b/base/test/test_suite.h index aa006fc..c738518 100644 --- a/base/test/test_suite.h +++ b/base/test/test_suite.h @@ -14,7 +14,7 @@ #include "base/debug_on_start.h" #include "base/i18n/icu_util.h" #include "base/multiprocess_test.h" -#include "base/nss_init.h" +#include "base/nss_util.h" #include "base/path_service.h" #include "base/process_util.h" #include "base/scoped_nsautorelease_pool.h" |