Index: session_manager_service.cc |
diff --git a/session_manager_service.cc b/session_manager_service.cc |
index 29313f30d354e70b741953a1a721c15d541722c2..6763b9710eef64789ddeabd562d70fa0a08c2170 100644 |
--- a/session_manager_service.cc |
+++ b/session_manager_service.cc |
@@ -465,11 +465,10 @@ gboolean SessionManagerService::StartSession(gchar* email_address, |
gboolean* OUT_done, |
GError** error) { |
if (session_started_) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_SESSION_EXISTS, |
- "Can't start a session while a session is already active."); |
- *OUT_done = FALSE; |
- return FALSE; |
+ const char msg[] = "Can't start session while session is already active."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_SESSION_EXISTS, msg); |
+ return *OUT_done = FALSE; |
} |
if (!ValidateAndCacheUserEmail(email_address, error)) { |
*OUT_done = FALSE; |
@@ -598,9 +597,9 @@ gboolean SessionManagerService::StopSession(gchar* unique_identifier, |
gboolean SessionManagerService::SetOwnerKey(GArray* public_key_der, |
GError** error) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, |
- "The session_manager now sets the Owner's public key."); |
+ const char msg[] = "The session_manager now sets the Owner's public key."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, msg); |
// Just to be safe, send back a nACK in addition to returning an error. |
SendSignal(chromium::kOwnerKeySetSignal, false); |
return FALSE; |
@@ -611,18 +610,18 @@ gboolean SessionManagerService::Unwhitelist(gchar* email_address, |
GError** error) { |
LOG(INFO) << "Unwhitelisting " << email_address; |
if (!key_->IsPopulated()) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, |
- "Attempt to unwhitelist before owner's key is set."); |
+ const char msg[] = "Attempt to unwhitelist before owner's key is set."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, msg); |
return FALSE; |
} |
if (!key_->Verify(email_address, |
strlen(email_address), |
signature->data, |
signature->len)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, |
- "Signature could not be verified in Unwhitelist."); |
+ const char msg[] = "Signature could not be verified in Unwhitelist."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, msg); |
return FALSE; |
} |
store_->Unwhitelist(email_address); |
@@ -637,16 +636,16 @@ gboolean SessionManagerService::CheckWhitelist(gchar* email_address, |
GError** error) { |
std::string encoded; |
if (!store_->GetFromWhitelist(email_address, &encoded)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_ILLEGAL_USER, |
- "The user is not whitelisted."); |
+ const char msg[] = "The user is not whitelisted."; |
+ LOG(INFO) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_ILLEGAL_USER, msg); |
return FALSE; |
} |
std::string decoded; |
if (!base::Base64Decode(encoded, &decoded)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_DECODE_FAIL, |
- "Signature could not be decoded in CheckWhitelist."); |
+ const char msg[] = "Signature could not be decoded in CheckWhitelist."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_DECODE_FAIL, msg); |
return FALSE; |
} |
@@ -675,18 +674,18 @@ gboolean SessionManagerService::Whitelist(gchar* email_address, |
GError** error) { |
LOG(INFO) << "Whitelisting " << email_address; |
if (!key_->IsPopulated()) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, |
- "Attempt to whitelist before owner's key is set."); |
+ const char msg[] = "Attempt to whitelist before owner's key is set."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, msg); |
return FALSE; |
} |
if (!key_->Verify(email_address, |
strlen(email_address), |
signature->data, |
signature->len)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, |
- "Signature could not be verified in Whitelist."); |
+ const char msg[] = "Signature could not be verified in Whitelist."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, msg); |
return FALSE; |
} |
std::string data(signature->data, signature->len); |
@@ -699,9 +698,9 @@ gboolean SessionManagerService::StoreProperty(gchar* name, |
GError** error) { |
LOG(INFO) << "Setting pref " << name << "=" << value; |
if (!key_->IsPopulated()) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, |
- "Attempt to store property before owner's key is set."); |
+ const char msg[] = "Attempt to store property before owner's key is set."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_NO_OWNER_KEY, msg); |
return FALSE; |
} |
std::string was_signed = base::StringPrintf("%s=%s", name, value); |
@@ -709,9 +708,9 @@ gboolean SessionManagerService::StoreProperty(gchar* name, |
was_signed.length(), |
signature->data, |
signature->len)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, |
- "Signature could not be verified in StoreProperty."); |
+ const char msg[] = "Signature could not be verified in StoreProperty."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, msg); |
return FALSE; |
} |
std::string data(signature->data, signature->len); |
@@ -772,9 +771,9 @@ gboolean SessionManagerService::RestartJob(gint pid, |
child_jobs_[child_index]->GetName() != "chrome") { |
// If we didn't find the pid, or we don't think that job was chrome... |
*OUT_done = FALSE; |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_UNKNOWN_PID, |
- "Provided pid is unknown."); |
+ const char msg[] = "Provided pid is unknown."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_UNKNOWN_PID, msg); |
return FALSE; |
} |
@@ -933,7 +932,6 @@ void SessionManagerService::PersistStore() { |
void SessionManagerService::SetGError(GError** error, |
ChromeOSLoginError code, |
const char* message) { |
- LOG(ERROR) << message; |
g_set_error(error, CHROMEOS_LOGIN_ERROR, code, "Login error: %s", message); |
} |
@@ -1043,9 +1041,9 @@ gboolean SessionManagerService::CurrentUserIsOwner(GError** error) { |
was_signed.length(), |
decoded.c_str(), |
decoded.length())) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, |
- "Owner pref signature could not be verified."); |
+ const char msg[] = "Owner pref signature could not be verified."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_VERIFY_FAIL, msg); |
return FALSE; |
} |
return value == current_user_; |
@@ -1055,15 +1053,15 @@ gboolean SessionManagerService::CurrentUserHasOwnerKey( |
const std::vector<uint8>& pub_key, |
GError** error) { |
if (!nss_->OpenUserDB()) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_NO_USER_NSSDB, |
- "Could not open the current user's NSS database."); |
+ const char msg[] = "Could not open the current user's NSS database."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_NO_USER_NSSDB, msg); |
return FALSE; |
} |
if (!nss_->GetPrivateKey(pub_key)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, |
- "Could not verify that public key belongs to the owner."); |
+ const char msg[] = "Could not verify that public key belongs to the owner."; |
+ LOG(WARNING) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, msg); |
return FALSE; |
} |
return TRUE; |
@@ -1079,9 +1077,9 @@ gboolean SessionManagerService::ValidateAndCacheUserEmail( |
email[kMaxEmailSize] = '\0'; // Just to be sure. |
string email_string(email); |
if (email_string != kIncognitoUser && !ValidateEmail(email_string)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_INVALID_EMAIL, |
- "Provided email address is not valid. ASCII only."); |
+ const char msg[] = "Provided email address is not valid. ASCII only."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_INVALID_EMAIL, msg); |
return FALSE; |
} |
current_user_ = StringToLowerASCII(email_string); |
@@ -1141,6 +1139,8 @@ gboolean SessionManagerService::SignAndStoreProperty(const std::string& name, |
kDeviceOwnerPref, |
current_user_.c_str()); |
if (!key_->Sign(to_sign.c_str(), to_sign.length(), &signature)) { |
+ LOG_IF(ERROR, error) << err_msg; |
+ LOG_IF(WARNING, !error) << err_msg; |
SetGError(error, CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, err_msg.c_str()); |
return FALSE; |
} |
@@ -1157,6 +1157,8 @@ gboolean SessionManagerService::SignAndWhitelist(const std::string& email, |
GError** error) { |
std::vector<uint8> signature; |
if (!key_->Sign(current_user_.c_str(), current_user_.length(), &signature)) { |
+ LOG_IF(ERROR, error) << err_msg; |
+ LOG_IF(WARNING, !error) << err_msg; |
SetGError(error, CHROMEOS_LOGIN_ERROR_ILLEGAL_PUBKEY, err_msg.c_str()); |
return FALSE; |
} |
@@ -1171,9 +1173,9 @@ gboolean SessionManagerService::SetPropertyHelper(const std::string& name, |
GError** error) { |
std::string encoded; |
if (!base::Base64Encode(signature, &encoded)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_ENCODE_FAIL, |
- "Signature could not be verified in SetPropertyHelper."); |
+ const char msg[] = "Signature could not be encoded."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_ENCODE_FAIL, msg); |
return FALSE; |
} |
store_->Set(name, value, encoded); |
@@ -1187,9 +1189,9 @@ gboolean SessionManagerService::WhitelistHelper(const std::string& email, |
GError** error) { |
std::string encoded; |
if (!base::Base64Encode(signature, &encoded)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_ENCODE_FAIL, |
- "Signature could not be encoded in WhitelistHelper."); |
+ const char msg[] = "Signature could not be encoded."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_ENCODE_FAIL, msg); |
return FALSE; |
} |
store_->Whitelist(email, encoded); |
@@ -1205,18 +1207,17 @@ gboolean SessionManagerService::GetPropertyHelper(const std::string& name, |
GError** error) { |
std::string encoded; |
if (!store_->Get(name, OUT_value, &encoded)) { |
- std::string error_string = |
+ std::string error_msg = |
base::StringPrintf("The requested property %s is unknown.", |
name.c_str()); |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_UNKNOWN_PROPERTY, |
- error_string.c_str()); |
+ LOG(WARNING) << error_msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_UNKNOWN_PROPERTY, error_msg.c_str()); |
return FALSE; |
} |
if (!base::Base64Decode(encoded, OUT_signature)) { |
- SetGError(error, |
- CHROMEOS_LOGIN_ERROR_DECODE_FAIL, |
- "Signature could not be decoded in GetPropertyHelper."); |
+ const char msg[] = "Signature could not be decoded."; |
+ LOG(ERROR) << msg; |
+ SetGError(error, CHROMEOS_LOGIN_ERROR_DECODE_FAIL, msg); |
return FALSE; |
} |
return TRUE; |