diff options
author | lloyd <[email protected]> | 2009-11-16 17:31:00 +0000 |
---|---|---|
committer | lloyd <[email protected]> | 2009-11-16 17:31:00 +0000 |
commit | b4b6bc090035e2cd0e4354fcb17de8f6d0babb6d (patch) | |
tree | b3591226bec761c26735b75ebc158d410824c49f /src/cert | |
parent | 22a47e97f459337ff8c2b9fdcf68cb1514b19b34 (diff) |
Convert Data_Store::Matcher to using lambdas
Diffstat (limited to 'src/cert')
-rw-r--r-- | src/cert/x509/x509cert.cpp | 43 |
1 files changed, 11 insertions, 32 deletions
diff --git a/src/cert/x509/x509cert.cpp b/src/cert/x509/x509cert.cpp index 9be645dce..6a062b7ce 100644 --- a/src/cert/x509/x509cert.cpp +++ b/src/cert/x509/x509cert.cpp @@ -300,19 +300,11 @@ bool operator!=(const X509_Certificate& cert1, const X509_Certificate& cert2) */ X509_DN create_dn(const Data_Store& info) { - class DN_Matcher : public Data_Store::Matcher + auto names = info.search_for( + [](const std::string& key, const std::string&) { - public: - bool operator()(const std::string& key, const std::string&) const - { - if(key.find("X520.") != std::string::npos) - return true; - return false; - } - }; - - std::multimap<std::string, std::string> names = - info.search_with(DN_Matcher()); + return (key.find("X520.") != std::string::npos); + }); X509_DN dn; @@ -327,27 +319,14 @@ X509_DN create_dn(const Data_Store& info) */ AlternativeName create_alt_name(const Data_Store& info) { - class AltName_Matcher : public Data_Store::Matcher + auto names = info.search_for( + [](const std::string& key, const std::string&) { - public: - bool operator()(const std::string& key, const std::string&) const - { - for(u32bit j = 0; j != matches.size(); ++j) - if(key.compare(matches[j]) == 0) - return true; - return false; - } - - AltName_Matcher(const std::string& match_any_of) - { - matches = split_on(match_any_of, '/'); - } - private: - std::vector<std::string> matches; - }; - - std::multimap<std::string, std::string> names = - info.search_with(AltName_Matcher("RFC822/DNS/URI/IP")); + return (key == "RFC822" || + key == "DNS" || + key == "URI" || + key == "IP"); + }); AlternativeName alt_name; |