for (i=1; i<token->num_sids; i++) {
group_sidstr = talloc_asprintf(
frame, "%s %s", group_sidstr,
- sid_string_talloc(frame, &token->user_sids[i]));
+ sid_string_talloc(frame, &token->sids[i]));
}
command = talloc_string_sub(
frame, lp_log_nt_token_command(),
- "%s", sid_string_talloc(frame, &token->user_sids[0]));
+ "%s", sid_string_talloc(frame, &token->sids[0]));
command = talloc_string_sub(frame, command, "%t", group_sidstr);
if (command == NULL) {
for (i=1; i<server_info->ptok->num_sids; i++) {
gid_t gid;
- struct dom_sid *sid = &server_info->ptok->user_sids[i];
+ struct dom_sid *sid = &server_info->ptok->sids[i];
if (!sid_to_gid(sid, &gid)) {
DEBUG(10, ("Could not convert SID %s to gid, "
uid_to_unix_users_sid(server_info->utok.uid, &tmp_sid);
add_sid_to_array_unique(server_info->ptok, &tmp_sid,
- &server_info->ptok->user_sids,
+ &server_info->ptok->sids,
&server_info->ptok->num_sids);
for ( i=0; i<server_info->utok.ngroups; i++ ) {
gid_to_unix_groups_sid(server_info->utok.groups[i], &tmp_sid);
add_sid_to_array_unique(server_info->ptok, &tmp_sid,
- &server_info->ptok->user_sids,
+ &server_info->ptok->sids,
&server_info->ptok->num_sids);
}
return False;
for ( i=0; i<token->num_sids; i++ ) {
- if ( sid_equal( sid, &token->user_sids[i] ) )
+ if ( sid_equal( sid, &token->sids[i] ) )
return True;
}
num_aliases = 0;
status = pdb_enum_alias_memberships(tmp_ctx, domain_sid,
- token->user_sids,
+ token->sids,
token->num_sids,
&aliases, &num_aliases);
struct dom_sid alias_sid;
sid_compose(&alias_sid, domain_sid, aliases[i]);
status = add_sid_to_array_unique(token, &alias_sid,
- &token->user_sids,
+ &token->sids,
&token->num_sids);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("add_sid_to_array failed\n"));
if ( nt_token_check_sid( &domadm, token ) ) {
status = add_sid_to_array(token,
&global_sid_Builtin_Administrators,
- &token->user_sids, &token->num_sids);
+ &token->sids, &token->num_sids);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
/* check if the user rid is the special "Domain Guests" rid.
* If so pick the first sid for the extra sids instead as it
* is a local fake account */
- usrtok->user_sids = talloc_array(usrtok, struct dom_sid, 2);
- if (!usrtok->user_sids) {
+ usrtok->sids = talloc_array(usrtok, struct dom_sid, 2);
+ if (!usrtok->sids) {
TALLOC_FREE(usrtok);
return NT_STATUS_NO_MEMORY;
}
TALLOC_FREE(usrtok);
return NT_STATUS_UNSUCCESSFUL;
}
- sid_copy(&usrtok->user_sids[0], &extra->user_sid);
+ sid_copy(&usrtok->sids[0], &extra->user_sid);
} else {
- sid_copy(&usrtok->user_sids[0], info3->base.domain_sid);
- sid_append_rid(&usrtok->user_sids[0], info3->base.rid);
+ sid_copy(&usrtok->sids[0], info3->base.domain_sid);
+ sid_append_rid(&usrtok->sids[0], info3->base.rid);
}
/* GROUP SID */
TALLOC_FREE(usrtok);
return NT_STATUS_UNSUCCESSFUL;
}
- sid_copy(&usrtok->user_sids[1], &extra->pgid_sid);
+ sid_copy(&usrtok->sids[1], &extra->pgid_sid);
} else {
- sid_copy(&usrtok->user_sids[1], info3->base.domain_sid);
- sid_append_rid(&usrtok->user_sids[1],
+ sid_copy(&usrtok->sids[1], info3->base.domain_sid);
+ sid_append_rid(&usrtok->sids[1],
info3->base.primary_gid);
}
sid_append_rid(&tmp_sid, info3->base.groups.rids[i].rid);
status = add_sid_to_array_unique(usrtok, &tmp_sid,
- &usrtok->user_sids,
+ &usrtok->sids,
&usrtok->num_sids);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(3, ("Failed to add SID to nt token\n"));
for (i = 0; i < info3->sidcount; i++) {
status = add_sid_to_array_unique(usrtok,
info3->sids[i].sid,
- &usrtok->user_sids,
+ &usrtok->sids,
&usrtok->num_sids);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(3, ("Failed to add SID to nt token\n"));
/* Add the user and primary group sid */
status = add_sid_to_array(result, user_sid,
- &result->user_sids, &result->num_sids);
+ &result->sids, &result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(result);
return NULL;
/* For guest, num_groupsids may be zero. */
if (num_groupsids) {
status = add_sid_to_array(result, &groupsids[0],
- &result->user_sids,
+ &result->sids,
&result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(result);
for (i=1; i<num_groupsids; i++) {
status = add_sid_to_array_unique(result, &groupsids[i],
- &result->user_sids,
+ &result->sids,
&result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(result);
/* Add in BUILTIN sids */
status = add_sid_to_array(result, &global_sid_World,
- &result->user_sids, &result->num_sids);
+ &result->sids, &result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
status = add_sid_to_array(result, &global_sid_Network,
- &result->user_sids, &result->num_sids);
+ &result->sids, &result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
if (is_guest) {
status = add_sid_to_array(result, &global_sid_Builtin_Guests,
- &result->user_sids,
+ &result->sids,
&result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
return status;
} else {
status = add_sid_to_array(result,
&global_sid_Authenticated_Users,
- &result->user_sids,
+ &result->sids,
&result->num_sids);
if (!NT_STATUS_IS_OK(status)) {
return status;
/* Add privileges based on current user sids */
- get_privileges_for_sids(&result->privileges, result->user_sids,
+ get_privileges_for_sids(&result->privileges, result->sids,
result->num_sids);
return NT_STATUS_OK;
DEBUGC(dbg_class, dbg_lev,
("NT user token of user %s\n",
- sid_string_dbg(&token->user_sids[0]) ));
+ sid_string_dbg(&token->sids[0]) ));
DEBUGADDC(dbg_class, dbg_lev,
("contains %lu SIDs\n", (unsigned long)token->num_sids));
for (i = 0; i < token->num_sids; i++)
DEBUGADDC(dbg_class, dbg_lev,
("SID[%3lu]: %s\n", (unsigned long)i,
- sid_string_dbg(&token->user_sids[i])));
+ sid_string_dbg(&token->sids[i])));
dump_se_priv( dbg_class, dbg_lev, &token->privileges );
}
typedef struct nt_user_token {
size_t num_sids;
- struct dom_sid *user_sids;
+ struct dom_sid *sids;
SE_PRIV privileges;
} NT_USER_TOKEN;
return NULL;
}
- if (ptoken->user_sids && ptoken->num_sids) {
- token->user_sids = (struct dom_sid *)talloc_memdup(
- token, ptoken->user_sids, sizeof(struct dom_sid) * ptoken->num_sids );
+ if (ptoken->sids && ptoken->num_sids) {
+ token->sids = (struct dom_sid *)talloc_memdup(
+ token, ptoken->sids, sizeof(struct dom_sid) * ptoken->num_sids );
- if (token->user_sids == NULL) {
+ if (token->sids == NULL) {
DEBUG(0, ("talloc_memdup failed\n"));
TALLOC_FREE(token);
return NULL;
for (i=0; i < token_1->num_sids; i++) {
status = add_sid_to_array_unique(mem_ctx,
- &token_1->user_sids[i],
- &token->user_sids,
+ &token_1->sids[i],
+ &token->sids,
&token->num_sids);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(token);
for (i=0; i < token_2->num_sids; i++) {
status = add_sid_to_array_unique(mem_ctx,
- &token_2->user_sids[i],
- &token->user_sids,
+ &token_2->sids[i],
+ &token->sids,
&token->num_sids);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(token);
size_t i;
for (i = 0; i < token->num_sids; i++) {
- if (sid_equal(&ace->trustee, &token->user_sids[i]))
+ if (sid_equal(&ace->trustee, &token->sids[i]))
return true;
}
int i;
for (i=0; i<token->num_sids; i++) {
- if (sid_compare(sid, &token->user_sids[i]) == 0)
+ if (sid_compare(sid, &token->sids[i]) == 0)
return true;
}
return false;
token->privileges = se_priv_all;
if (!NT_STATUS_IS_OK(add_sid_to_array(token, &global_sid_System,
- &token->user_sids, &token->num_sids))) {
+ &token->sids, &token->num_sids))) {
DEBUG(1,("Error adding nt-authority system sid to token\n"));
return NULL;
}
{
const char *path = NULL;
- path = gp_reg_groupmembership_path(mem_ctx, &token->user_sids[0],
+ path = gp_reg_groupmembership_path(mem_ctx, &token->sids[0],
flags);
W_ERROR_HAVE_NO_MEMORY(path);
const char *val = NULL;
int count = 0;
- path = gp_reg_groupmembership_path(mem_ctx, &token->user_sids[0],
+ path = gp_reg_groupmembership_path(mem_ctx, &token->sids[0],
flags);
W_ERROR_HAVE_NO_MEMORY(path);
valname = talloc_asprintf(mem_ctx, "Group%d", count++);
W_ERROR_HAVE_NO_MEMORY(valname);
- val = sid_string_talloc(mem_ctx, &token->user_sids[i]);
+ val = sid_string_talloc(mem_ctx, &token->sids[i]);
W_ERROR_HAVE_NO_MEMORY(val);
werr = gp_store_reg_val_sz(mem_ctx, key, valname, val);
W_ERROR_NOT_OK_RETURN(werr);
werr = gp_read_reg_val_sz(mem_ctx, key, valname, &val);
W_ERROR_NOT_OK_RETURN(werr);
- if (!string_to_sid(&tmp_token->user_sids[num_token_sids++],
+ if (!string_to_sid(&tmp_token->sids[num_token_sids++],
val)) {
return WERR_INSUFFICIENT_BUFFER;
}
W_ERROR_NOT_OK_RETURN(werr);
werr = gp_secure_key(mem_ctx, flags, reg_ctx->curr_key,
- &token->user_sids[0]);
+ &token->sids[0]);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(0,("failed to secure key: %s\n", win_errstr(werr)));
goto done;
goto done;
}
- subkeyname = gp_req_state_path(mem_ctx, &token->user_sids[0], flags);
+ subkeyname = gp_req_state_path(mem_ctx, &token->sids[0], flags);
if (!subkeyname) {
werr = WERR_NOMEM;
goto done;
case GP_REG_ACTION_SEC_KEY_SET:
werr = gp_secure_key(mem_ctx, flags,
key,
- &token->user_sids[0]);
+ &token->sids[0]);
if (!W_ERROR_IS_OK(werr)) {
DEBUG(0,("reg_apply_registry_entry: "
"gp_secure_key failed: %s\n",
&psd,
&size,
parent_desc,
- &handle->conn->server_info->ptok->user_sids[PRIMARY_USER_SID_INDEX],
- &handle->conn->server_info->ptok->user_sids[PRIMARY_GROUP_SID_INDEX],
+ &handle->conn->server_info->ptok->sids[PRIMARY_USER_SID_INDEX],
+ &handle->conn->server_info->ptok->sids[PRIMARY_GROUP_SID_INDEX],
is_directory);
if (!NT_STATUS_IS_OK(status)) {
return status;
* anonymized if needed, by the calling function.
*/
usersid = dom_sid_string( common_data_count_str,
- &handle->conn->server_info->ptok->user_sids[0]);
+ &handle->conn->server_info->ptok->sids[0]);
sidstr = smb_traffic_analyzer_anonymize(
common_data_count_str,
}
token->privileges = se_disk_operators;
status = add_sid_to_array(token, &global_sid_Builtin_Administrators,
- &token->user_sids, &token->num_sids);
+ &token->sids, &token->num_sids);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(1, ("Error adding builtin administrators sid "
"to fake token.\n"));
status = find_forced_group(
conn->force_user, snum, conn->server_info->unix_name,
- &conn->server_info->ptok->user_sids[1],
+ &conn->server_info->ptok->sids[1],
&conn->server_info->utok.gid);
if (!NT_STATUS_IS_OK(status)) {
for (i = 0, sid_bytes = 0;
i < conn->server_info->ptok->num_sids; ++i) {
sid_bytes += ndr_size_dom_sid(
- &conn->server_info->ptok->user_sids[i],
+ &conn->server_info->ptok->sids[i],
0);
}
for (i = 0;
i < conn->server_info->ptok->num_sids; ++i) {
int sid_len = ndr_size_dom_sid(
- &conn->server_info->ptok->user_sids[i],
+ &conn->server_info->ptok->sids[i],
0);
sid_linearize(pdata + data_len, sid_len,
- &conn->server_info->ptok->user_sids[i]);
+ &conn->server_info->ptok->sids[i]);
data_len += sid_len;
}
conn->force_group_gid;
gid = conn->force_group_gid;
gid_to_sid(&conn->server_info->ptok
- ->user_sids[1], gid);
+ ->sids[1], gid);
break;
}
}
} else {
conn->server_info->utok.gid = conn->force_group_gid;
gid = conn->force_group_gid;
- gid_to_sid(&conn->server_info->ptok->user_sids[1],
+ gid_to_sid(&conn->server_info->ptok->sids[1],
gid);
}
}
{
WERROR werr = gp_reg_state_read(mem_ctx, flags,
- &token->user_sids[0],
+ &token->sids[0],
&read_list);
if (!W_ERROR_IS_OK(werr)) {
d_printf(_("failed: %s\n"), win_errstr(werr));
{
token->num_sids = 4;
- if (!(token->user_sids = SMB_MALLOC_ARRAY(struct dom_sid, 4))) {
+ if (!(token->sids = SMB_MALLOC_ARRAY(struct dom_sid, 4))) {
d_fprintf(stderr, "malloc %s\n",_("failed"));
token->num_sids = 0;
return;
}
- token->user_sids[0] = *user_sid;
- sid_copy(&token->user_sids[1], &global_sid_World);
- sid_copy(&token->user_sids[2], &global_sid_Network);
- sid_copy(&token->user_sids[3], &global_sid_Authenticated_Users);
+ token->sids[0] = *user_sid;
+ sid_copy(&token->sids[1], &global_sid_World);
+ sid_copy(&token->sids[2], &global_sid_Network);
+ sid_copy(&token->sids[3], &global_sid_Authenticated_Users);
}
static void free_user_token(NT_USER_TOKEN *token)
{
- SAFE_FREE(token->user_sids);
+ SAFE_FREE(token->sids);
}
static void add_sid_to_token(NT_USER_TOKEN *token, struct dom_sid *sid)
if (is_sid_in_token(token, sid))
return;
- token->user_sids = SMB_REALLOC_ARRAY(token->user_sids, struct dom_sid, token->num_sids+1);
- if (!token->user_sids) {
+ token->sids = SMB_REALLOC_ARRAY(token->sids, struct dom_sid, token->num_sids+1);
+ if (!token->sids) {
return;
}
- sid_copy(&token->user_sids[token->num_sids], sid);
+ sid_copy(&token->sids[token->num_sids], sid);
token->num_sids += 1;
}
d_printf("%s\n", token->name);
for (i=0; i<token->token.num_sids; i++) {
- d_printf(" %s\n", sid_string_tos(&token->token.user_sids[i]));
+ d_printf(" %s\n", sid_string_tos(&token->token.sids[i]));
}
}
int i;
for (i=0; i<num_global_sids; i++) {
- collect_sid_memberships(token, token->user_sids[i]);
+ collect_sid_memberships(token, token->sids[i]);
}
}
fstrcpy(token->name, line);
token->token.num_sids = 0;
- token->token.user_sids = NULL;
+ token->token.sids = NULL;
continue;
}
}
status = sid_array_from_info3(talloc_tos(), info3,
- &token->user_sids,
+ &token->sids,
&token->num_sids,
true, false);
if (!NT_STATUS_IS_OK(status)) {