summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2011-04-18 12:31:37 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2011-04-18 12:55:41 +0200
commit12f99d327f6aeb92dc70356a9dddc67861c8d157 (patch)
treefa4a32bd36d51a27884c337650174964972f2989 /client
parentc2dbb45a20e1104e90048f82aff61a88c375c163 (diff)
downloadspice-12f99d327f6aeb92dc70356a9dddc67861c8d157.tar.gz
spice-12f99d327f6aeb92dc70356a9dddc67861c8d157.tar.xz
spice-12f99d327f6aeb92dc70356a9dddc67861c8d157.zip
client: skip spaces in --host-subject
This fixes fdo bug #32896: "Subject in certificates is stored in following format (values separated by comma and space): grep Subject: server-cert.pem | awk -F": " '{print $2}' O=REDHAT, CN=10.34.58.2 While spicec expects that values in host subject are separated only by comma: spicec --host-subject "O=REDHAT,CN=10.34.58.2" " In this case, ignoring spaces make it much easier to directly copy and paste the subject line from certificates.
Diffstat (limited to 'client')
-rw-r--r--client/application.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/client/application.cpp b/client/application.cpp
index ef080875..292dae6a 100644
--- a/client/application.cpp
+++ b/client/application.cpp
@@ -2001,7 +2001,14 @@ bool Application::set_host_cert_subject(const char* subject, const char* arg0)
_exit_code = SPICEC_ERROR_CODE_INVALID_ARG;
return false;
}
- entry_pair.first = entry.substr(0, value_pos);
+ size_t start_pos = entry.find_first_not_of(' ');
+ if ((start_pos == std::string::npos) || (start_pos == value_pos)) {
+ Platform::term_printf("%s: host_subject bad format: first part of assignment must be non empty in %s\n",
+ arg0, entry.c_str());
+ _exit_code = SPICEC_ERROR_CODE_INVALID_ARG;
+ return false;
+ }
+ entry_pair.first = entry.substr(start_pos, value_pos - start_pos);
entry_pair.second = entry.substr(value_pos + 1);
_host_auth_opt.host_subject.push_back(entry_pair);
DBG(0, "subject entry: %s=%s", entry_pair.first.c_str(), entry_pair.second.c_str());