{
NTSTATUS result = NT_STATUS_NO_SUCH_GROUP;
TALLOC_CTX *frame = talloc_stackframe();
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
struct dom_sid group_sid;
enum lsa_SidType type;
char *groupname;
bool user_must_be_member = False;
gid_t gid;
- groupname = lp_force_group(talloc_tos(), snum);
+ groupname = lp_force_group(talloc_tos(), lp_sub, snum);
if (groupname == NULL) {
DEBUG(1, ("talloc_strdup failed\n"));
result = NT_STATUS_NO_MEMORY;
NTSTATUS set_conn_force_user_group(connection_struct *conn, int snum)
{
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
NTSTATUS status;
if (*lp_force_user(talloc_tos(), snum)) {
* any groupid stored for the connecting user.
*/
- if (*lp_force_group(talloc_tos(), snum)) {
+ if (*lp_force_group(talloc_tos(), lp_sub, snum)) {
status = find_forced_group(
conn->force_user, snum, conn->session_info->unix_info->unix_name,
const struct auth_session_info *session_info,
uint64_t vuid)
{
+ const struct loadparm_substitution *lp_sub =
+ loadparm_s3_global_substitution();
int snum;
gid_t gid;
uid_t uid;
* See if we should force group for this service. If so this overrides
* any group set in the force user code.
*/
- force_group_name = lp_force_group(talloc_tos(), snum);
+ force_group_name = lp_force_group(talloc_tos(), lp_sub, snum);
group_c = *force_group_name;
if ((group_c != '\0') && (conn->force_group_gid == (gid_t)-1)) {