/*
* Copyright (c) [2011-2014] Novell, Inc.
- * Copyright (c) [2016-2021] SUSE LLC
+ * Copyright (c) [2016-2023] SUSE LLC
*
* All Rights Reserved.
*
return _("Deleting snapshot failed.");
if (name == "error.invalid_user")
- return _("Invalid user.");
+ return sformat(_("Invalid user (%s)."), e.message());
if (name == "error.invalid_group")
- return _("Invalid group.");
+ return sformat(_("Invalid group (%s)."), e.message());
if (name == "error.acl_error")
return _("ACL error.");
catch (const InvalidUserException& e)
{
SN_CAUGHT(e);
- cerr << _("Invalid user.") << endl;
+ cerr << sformat(_("Invalid user (%s)."), e.what()) << endl;
exit(EXIT_FAILURE);
}
catch (const InvalidGroupException& e)
{
SN_CAUGHT(e);
- cerr << _("Invalid group.") << endl;
+ cerr << sformat(_("Invalid group (%s)."), e.what()) << endl;
exit(EXIT_FAILURE);
}
catch (const QuotaException& e)
catch (const InvalidUserException& e)
{
SN_CAUGHT(e);
- DBus::MessageError reply(msg, "error.invalid_user", DBUS_ERROR_FAILED);
+ DBus::MessageError reply(msg, "error.invalid_user", e.what());
conn.send(reply);
}
catch (const InvalidGroupException& e)
{
SN_CAUGHT(e);
- DBus::MessageError reply(msg, "error.invalid_group", DBUS_ERROR_FAILED);
+ DBus::MessageError reply(msg, "error.invalid_group", e.what());
conn.send(reply);
}
catch (const QuotaException& e)
/*
* Copyright (c) [2011-2014] Novell, Inc.
- * Copyright (c) [2015,2018] SUSE LLC
+ * Copyright (c) [2015-2023] SUSE LLC
*
* All Rights Reserved.
*
struct InvalidUserException : public Exception
{
- explicit InvalidUserException() : Exception("invalid user") {}
+ explicit InvalidUserException() __attribute__((deprecated)) : Exception("invalid user") {}
+ explicit InvalidUserException(const std::string& user) : Exception("invalid user '" + user + "'") {}
+ // TODO save user
};
struct InvalidGroupException : public Exception
{
- explicit InvalidGroupException() : Exception("invalid group") {}
+ explicit InvalidGroupException() __attribute__((deprecated)) : Exception("invalid group") {}
+ explicit InvalidGroupException(const std::string& group) : Exception("invalid group '" + group + "'") {}
+ // TODO save group
};
struct UnsupportedException : public Exception
{
- explicit UnsupportedException() : Exception("unsupported") {}
+ explicit UnsupportedException() : Exception("unsupported") {}
};
}
vector<string> users;
if (config_info->get_value(KEY_ALLOW_USERS, users))
{
- for (vector<string>::const_iterator it = users.begin(); it != users.end(); ++it)
+ for (const string& user : users)
{
uid_t uid;
- if (!get_user_uid(it->c_str(), uid))
- SN_THROW(InvalidUserException());
+ if (!get_user_uid(user.c_str(), uid))
+ SN_THROW(InvalidUserException(user));
uids.push_back(uid);
}
}
vector<string> groups;
if (config_info->get_value(KEY_ALLOW_GROUPS, groups))
{
- for (vector<string>::const_iterator it = groups.begin(); it != groups.end(); ++it)
+ for (const string& group : groups)
{
gid_t gid;
- if (!get_group_gid(it->c_str(), gid))
- SN_THROW(InvalidGroupException());
+ if (!get_group_gid(group.c_str(), gid))
+ SN_THROW(InvalidGroupException(group));
gids.push_back(gid);
}
}