security: code cleanup and doxygen improvements in tpm::BackEndOsx
Change-Id: I6d6d77ab315a10c280e7643d4cec5269ed10fe5e
diff --git a/src/net/detail/network-monitor-impl-osx.cpp b/src/net/detail/network-monitor-impl-osx.cpp
index c4e45e6..507c3fd 100644
--- a/src/net/detail/network-monitor-impl-osx.cpp
+++ b/src/net/detail/network-monitor-impl-osx.cpp
@@ -54,6 +54,7 @@
#include "../network-address.hpp"
#include "../../name.hpp"
+#include "../../util/cf-string-osx.hpp"
#include "../../util/logger.hpp"
#include <ifaddrs.h> // for getifaddrs()
@@ -203,26 +204,6 @@
this->emitSignal(onEnumerationCompleted);
}
-static std::string
-convertToStdString(CFStringRef cfStr)
-{
- const char* cStr = CFStringGetCStringPtr(cfStr, kCFStringEncodingASCII);
- if (cStr != nullptr) {
- // fast path
- return cStr;
- }
-
- // reserve space for the string + null terminator
- std::string str(CFStringGetLength(cfStr) + 1, '\0');
- if (!CFStringGetCString(cfStr, &str.front(), str.size(), kCFStringEncodingASCII)) {
- BOOST_THROW_EXCEPTION(NetworkMonitorImplOsx::Error("CFString conversion failed"));
- }
-
- // drop the null terminator, std::string doesn't need it
- str.pop_back();
- return str;
-}
-
std::set<std::string>
NetworkMonitorImplOsx::getInterfaceNames() const
{
@@ -241,7 +222,7 @@
size_t count = CFArrayGetCount(interfaces);
for (size_t i = 0; i != count; ++i) {
auto ifName = (CFStringRef)CFArrayGetValueAtIndex(interfaces, i);
- ifNames.insert(convertToStdString(ifName));
+ ifNames.insert(util::cfstring::toStdString(ifName));
}
return ifNames;
}
@@ -268,9 +249,7 @@
NetworkMonitorImplOsx::getInterfaceState(const NetworkInterface& netif) const
{
CFReleaser<CFStringRef> linkName =
- CFStringCreateWithCString(kCFAllocatorDefault,
- ("State:/Network/Interface/" + netif.getName() + "/Link").data(),
- kCFStringEncodingASCII);
+ util::cfstring::fromStdString("State:/Network/Interface/" + netif.getName() + "/Link");
CFReleaser<CFDictionaryRef> dict =
(CFDictionaryRef)SCDynamicStoreCopyValue(m_scStore.get(), linkName.get());
@@ -426,7 +405,7 @@
size_t count = CFArrayGetCount(changedKeys);
for (size_t i = 0; i != count; ++i) {
- Name key(convertToStdString((CFStringRef)CFArrayGetValueAtIndex(changedKeys, i)));
+ Name key(util::cfstring::toStdString((CFStringRef)CFArrayGetValueAtIndex(changedKeys, i)));
std::string ifName = key.at(-2).toUri();
auto ifIt = m_interfaces.find(ifName);