The unified diff between revisions [9c5cba15..] and [13704fef..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'src/config.cpp'
#
#
# patch "src/config.cpp"
# from [2488e7833fccd27c8032af6517ab0162b096729d]
# to [5b03caccc6f428dee4805f937c74715d5144f83f]
#
============================================================
--- src/config.cpp 2488e7833fccd27c8032af6517ab0162b096729d
+++ src/config.cpp 5b03caccc6f428dee4805f937c74715d5144f83f
@@ -122,98 +122,11 @@ std::string Config::option(const std::st
}
/*************************************************
-* Get the config setting as a list of strings *
-*************************************************/
-std::vector<std::string> Config::option_as_list(const std::string& key) const
- {
- return split_on(option(key), ':');
- }
-
-/*************************************************
-* Get the config setting as a u32bit *
-*************************************************/
-u32bit Config::option_as_u32bit(const std::string& key) const
- {
- return parse_expr(option(key));
- }
-
-/*************************************************
* Get the config setting as a time *
*************************************************/
u32bit Config::option_as_time(const std::string& key) const
{
- const std::string timespec = option(key);
- if(timespec == "")
- return 0;
-
- const char suffix = timespec[timespec.size()-1];
- std::string value = timespec.substr(0, timespec.size()-1);
-
- u32bit scale = 1;
-
- if(Charset::is_digit(suffix))
- value += suffix;
- else if(suffix == 's')
- scale = 1;
- else if(suffix == 'm')
- scale = 60;
- else if(suffix == 'h')
- scale = 60 * 60;
- else if(suffix == 'd')
- scale = 24 * 60 * 60;
- else if(suffix == 'y')
- scale = 365 * 24 * 60 * 60;
- else
- throw Decoding_Error(
- "Config::option_as_time: Unknown time value " + value
- );
-
- return scale * to_u32bit(value);
+ return timespec_to_u32bit(option(key));
}
-/*************************************************
-* Get the config setting as a boolean *
-*************************************************/
-bool Config::option_as_bool(const std::string& key) const
- {
- const std::string value = option(key);
- if(value == "0" || value == "false")
- return false;
- if(value == "1" || value == "true")
- return true;
-
- throw Decoding_Error(
- "Config::option_as_bool: Unknown boolean value " + value
- );
- }
-
-/*************************************************
-* Choose the signature format for a PK algorithm *
-*************************************************/
-void Config::choose_sig_format(const std::string& algo_name,
- std::string& padding,
- Signature_Format& format)
- {
- if(algo_name == "RSA")
- {
- std::string hash = global_state().config().option("x509/ca/rsa_hash");
-
- if(hash == "")
- throw Invalid_State("No value set for x509/ca/rsa_hash");
-
- hash = global_state().config().deref_alias(hash);
-
- padding = "EMSA3(" + hash + ")";
- format = IEEE_1363;
- }
- else if(algo_name == "DSA")
- {
- std::string hash = global_state().config().deref_alias("SHA-1");
- padding = "EMSA1(" + hash + ")";
- format = DER_SEQUENCE;
- }
- else
- throw Invalid_Argument("Unknown X.509 signing key type: " + algo_name);
- }
-
}