diff options
author | pvalchev@google.com <pvalchev@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 03:36:45 +0000 |
---|---|---|
committer | pvalchev@google.com <pvalchev@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-29 03:36:45 +0000 |
commit | 1a1573001d8e6ed63e7ee5755be26c7c1405619b (patch) | |
tree | 822acc1afdd0d1619c8961e1938cc6fb87faafe2 /net | |
parent | 21a74c315ec4c5f1978740ac6d3d8d1b969a293c (diff) | |
download | chromium_src-1a1573001d8e6ed63e7ee5755be26c7c1405619b.zip chromium_src-1a1573001d8e6ed63e7ee5755be26c7c1405619b.tar.gz chromium_src-1a1573001d8e6ed63e7ee5755be26c7c1405619b.tar.bz2 |
BSD port: USE_NSS and other macros instead of OS_LINUX where applicable
Review URL: http://codereview.chromium.org/556068
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37492 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/cert_verifier.cc | 4 | ||||
-rw-r--r-- | net/base/ev_root_ca_metadata.cc | 4 | ||||
-rw-r--r-- | net/base/ev_root_ca_metadata.h | 4 | ||||
-rw-r--r-- | net/base/host_resolver_proc.cc | 21 | ||||
-rw-r--r-- | net/base/telnet_server.cc | 1 | ||||
-rw-r--r-- | net/base/x509_certificate.h | 4 | ||||
-rw-r--r-- | net/socket/client_socket.h | 3 | ||||
-rw-r--r-- | net/socket/client_socket_factory.cc | 4 | ||||
-rw-r--r-- | net/url_request/url_request_unittest.cc | 2 |
9 files changed, 27 insertions, 20 deletions
diff --git a/net/base/cert_verifier.cc b/net/base/cert_verifier.cc index 703ecfe..4e94133 100644 --- a/net/base/cert_verifier.cc +++ b/net/base/cert_verifier.cc @@ -4,7 +4,7 @@ #include "net/base/cert_verifier.h" -#if defined(OS_LINUX) +#if defined(USE_NSS) #include <private/pprthred.h> // PR_DetatchThread #endif @@ -38,7 +38,7 @@ class CertVerifier::Request : void DoVerify() { // Running on the worker thread error_ = cert_->Verify(hostname_, flags_, &result_); -#if defined(OS_LINUX) +#if defined(USE_NSS) // Detach the thread from NSPR. // Calling NSS functions attaches the thread to NSPR, which stores // the NSPR thread ID in thread-specific data. diff --git a/net/base/ev_root_ca_metadata.cc b/net/base/ev_root_ca_metadata.cc index e2200fe..621a174 100644 --- a/net/base/ev_root_ca_metadata.cc +++ b/net/base/ev_root_ca_metadata.cc @@ -4,7 +4,7 @@ #include "net/base/ev_root_ca_metadata.h" -#if defined(OS_LINUX) +#if defined(USE_NSS) #include <cert.h> #include <pkcs11n.h> #include <secerr.h> @@ -232,7 +232,7 @@ bool EVRootCAMetadata::GetPolicyOID( EVRootCAMetadata::EVRootCAMetadata() { // Constructs the object from the raw metadata in ev_root_ca_metadata. -#if defined(OS_LINUX) +#if defined(USE_NSS) for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) { const EVMetadata& metadata = ev_root_ca_metadata[i]; PRUint8 buf[1024]; diff --git a/net/base/ev_root_ca_metadata.h b/net/base/ev_root_ca_metadata.h index 5b12337..f006878 100644 --- a/net/base/ev_root_ca_metadata.h +++ b/net/base/ev_root_ca_metadata.h @@ -7,7 +7,7 @@ #include "build/build_config.h" -#if defined(OS_LINUX) +#if defined(USE_NSS) #include <secoidt.h> #endif @@ -25,7 +25,7 @@ namespace net { // extended-validation (EV) certificates. class EVRootCAMetadata { public: -#if defined(OS_LINUX) +#if defined(USE_NSS) typedef SECOidTag PolicyOID; #else typedef const char* PolicyOID; diff --git a/net/base/host_resolver_proc.cc b/net/base/host_resolver_proc.cc index bd0ba2b..5ccf01a 100644 --- a/net/base/host_resolver_proc.cc +++ b/net/base/host_resolver_proc.cc @@ -6,7 +6,7 @@ #include "build/build_config.h" -#if defined(OS_LINUX) +#if defined(OS_POSIX) && !defined(OS_MACOSX) #include <resolv.h> #endif @@ -16,7 +16,7 @@ #include "net/base/net_errors.h" #include "net/base/sys_addrinfo.h" -#if defined(OS_LINUX) +#if defined(OS_POSIX) && !defined(OS_MACOSX) #include "base/singleton.h" #include "base/thread_local_storage.h" #endif @@ -77,9 +77,9 @@ int HostResolverProc::ResolveUsingPrevious(const std::string& host, return SystemHostResolverProc(host, address_family, addrlist); } -#if defined(OS_LINUX) -// On Linux changes to /etc/resolv.conf can go unnoticed thus resulting in -// DNS queries failing either because nameservers are unknown on startup +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) +// On Linux/BSD, changes to /etc/resolv.conf can go unnoticed thus resulting +// in DNS queries failing either because nameservers are unknown on startup // or because nameserver info has changed as a result of e.g. connecting to // a new network. Some distributions patch glibc to stat /etc/resolv.conf // to try to automatically detect such changes but these patches are not @@ -89,6 +89,9 @@ int HostResolverProc::ResolveUsingPrevious(const std::string& host, // We adopt the Mozilla solution here which is to call res_ninit when // lookups fail and to rate limit the reloading to once per second per // thread. +// +// OpenBSD does not have thread-safe res_ninit/res_nclose so we can't do +// the same trick there. // Keep a timer per calling thread to rate limit the calling of res_ninit. class DnsReloadTimer { @@ -145,7 +148,7 @@ class DnsReloadTimer { // static ThreadLocalStorage::Slot DnsReloadTimer::tls_index_(base::LINKER_INITIALIZED); -#endif // defined(OS_LINUX) +#endif // defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) int SystemHostResolverProc(const std::string& host, AddressFamily address_family, @@ -174,7 +177,7 @@ int SystemHostResolverProc(const std::string& host, hints.ai_family = AF_UNSPEC; } -#if defined(OS_WIN) +#if defined(OS_WIN) || defined(OS_OPENBSD) // DO NOT USE AI_ADDRCONFIG ON WINDOWS. // // The following comment in <winsock2.h> is the best documentation I found @@ -195,6 +198,8 @@ int SystemHostResolverProc(const std::string& host, // The IPv4 or IPv6 loopback address is not considered a valid global // address. // See http://crbug.com/5234. + // + // OpenBSD does not support it, either. hints.ai_flags = 0; #else hints.ai_flags = AI_ADDRCONFIG; @@ -204,7 +209,7 @@ int SystemHostResolverProc(const std::string& host, hints.ai_socktype = SOCK_STREAM; int err = getaddrinfo(host.c_str(), NULL, &hints, &ai); -#if defined(OS_LINUX) +#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_OPENBSD) net::DnsReloadTimer* dns_timer = Singleton<net::DnsReloadTimer>::get(); // If we fail, re-initialise the resolver just in case there have been any // changes to /etc/resolv.conf and retry. See http://crbug.com/11380 for info. diff --git a/net/base/telnet_server.cc b/net/base/telnet_server.cc index 91c6cac..33eb5b1 100644 --- a/net/base/telnet_server.cc +++ b/net/base/telnet_server.cc @@ -10,6 +10,7 @@ #include <winsock2.h> #elif defined(OS_POSIX) #include <errno.h> +#include <sys/types.h> #include <sys/socket.h> #include "base/message_loop.h" #include "net/base/net_errors.h" diff --git a/net/base/x509_certificate.h b/net/base/x509_certificate.h index b83bd8a..215489b 100644 --- a/net/base/x509_certificate.h +++ b/net/base/x509_certificate.h @@ -22,7 +22,7 @@ #include <wincrypt.h> #elif defined(OS_MACOSX) #include <Security/Security.h> -#elif defined(OS_LINUX) +#elif defined(USE_NSS) // Forward declaration; real one in <cert.h> struct CERTCertificateStr; #endif @@ -65,7 +65,7 @@ class X509Certificate : public base::RefCountedThreadSafe<X509Certificate> { typedef PCCERT_CONTEXT OSCertHandle; #elif defined(OS_MACOSX) typedef SecCertificateRef OSCertHandle; -#elif defined(OS_LINUX) +#elif defined(USE_NSS) typedef struct CERTCertificateStr* OSCertHandle; #else // TODO(ericroman): not implemented diff --git a/net/socket/client_socket.h b/net/socket/client_socket.h index e959d84..28c7b4d 100644 --- a/net/socket/client_socket.h +++ b/net/socket/client_socket.h @@ -8,7 +8,8 @@ #include "build/build_config.h" // For struct sockaddr and socklen_t. -#if defined(OS_LINUX) || defined(OS_MACOSX) +#if defined(OS_POSIX) +#include <sys/types.h> #include <sys/socket.h> #elif defined(OS_WIN) #include <ws2tcpip.h> diff --git a/net/socket/client_socket_factory.cc b/net/socket/client_socket_factory.cc index fe2ce10..9458381 100644 --- a/net/socket/client_socket_factory.cc +++ b/net/socket/client_socket_factory.cc @@ -8,7 +8,7 @@ #include "build/build_config.h" #if defined(OS_WIN) #include "net/socket/ssl_client_socket_win.h" -#elif defined(OS_LINUX) +#elif defined(USE_NSS) #include "net/socket/ssl_client_socket_nss.h" #elif defined(OS_MACOSX) #include "net/socket/ssl_client_socket_mac.h" @@ -30,7 +30,7 @@ class DefaultClientSocketFactory : public ClientSocketFactory { const SSLConfig& ssl_config) { #if defined(OS_WIN) return new SSLClientSocketWin(transport_socket, hostname, ssl_config); -#elif defined(OS_LINUX) +#elif defined(USE_NSS) return new SSLClientSocketNSS(transport_socket, hostname, ssl_config); #elif defined(OS_MACOSX) return new SSLClientSocketMac(transport_socket, hostname, ssl_config); diff --git a/net/url_request/url_request_unittest.cc b/net/url_request/url_request_unittest.cc index d0ee197..1adeb0c 100644 --- a/net/url_request/url_request_unittest.cc +++ b/net/url_request/url_request_unittest.cc @@ -9,7 +9,7 @@ #if defined(OS_WIN) #include <windows.h> #include <shlobj.h> -#elif defined(OS_LINUX) +#elif defined(USE_NSS) #include "base/nss_util.h" #endif |