Fixes the error return inconsistency documented in upstream
Ceph issue #13598
Revised after upstream review, permits changing email address as
originally (but use case-insensitive comp).
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit
90c143efa2156e55dc017ebe81005315cacaf2c5)
Conflicts:
src/rgw/rgw_user.cc (there is no op_state.found_by_email
conditional in hammer)
#include <string>
#include <map>
+#include <boost/algorithm/string.hpp>
#include "common/errno.h"
#include "common/Formatter.h"
// fail if the user exists already
if (op_state.has_existing_user()) {
if (!op_state.exclusive &&
- (user_email.empty() || old_info.user_email == user_email) &&
+ (user_email.empty() ||
+ boost::iequals(user_email, old_info.user_email)) &&
old_info.display_name == display_name) {
return execute_modify(op_state, err_msg);
}