diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/include/smb.h | 9 | ||||
-rw-r--r-- | source3/param/loadparm.c | 6 | ||||
-rw-r--r-- | source3/rpc_server/srv_util.c | 10 |
4 files changed, 22 insertions, 5 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index ff44a5841f..737ae94571 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -956,6 +956,8 @@ char *lp_driverfile(void); char *lp_domain_sid(void); char *lp_domain_other_sids(void); char *lp_domain_groups(void); +char *lp_domain_admin_group(void); +char *lp_domain_guest_group(void); char *lp_domain_admin_users(void); char *lp_domain_guest_users(void); char *lp_domain_hostsallow(void); diff --git a/source3/include/smb.h b/source3/include/smb.h index cdac9cb720..214b36e704 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -687,6 +687,15 @@ struct passdb_ops { struct sam_disp_info *(*getsamdispnam)(char *); struct sam_disp_info *(*getsamdisprid)(uint32); struct sam_disp_info *(*getsamdispent)(void *); + +#if 0 + /* + * password checking functions + */ + struct smb_passwd *(*smb_password_chal )(char *username, char lm_pass[24], char nt_pass[24], char chal[8]); + struct smb_passwd *(*smb_password_check )(char *username, char lm_hash[16], char nt_hash[16], + struct passwd *(*unix_password_check)(char *username, char *pass, int pass_len); +#endif }; /* this is used for smbstatus */ diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 83aa2666a7..436a43240b 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -119,6 +119,8 @@ typedef struct char *szSocketOptions; char *szValidChars; char *szWorkGroup; + char *szDomainAdminGroup; + char *szDomainGuestGroup; char *szDomainAdminUsers; char *szDomainGuestUsers; char *szDomainHostsallow; @@ -586,6 +588,8 @@ static struct parm_struct parm_table[] = {"domain other sids",P_STRING, P_GLOBAL, &Globals.szDomainOtherSIDs, NULL, NULL, 0}, {"domain groups", P_STRING, P_GLOBAL, &Globals.szDomainGroups, NULL, NULL, 0}, {"domain controller",P_BOOL , P_GLOBAL, &Globals.bDomainController,NULL, NULL, 0}, + {"domain admin group",P_STRING, P_GLOBAL, &Globals.szDomainAdminGroup, NULL, NULL, 0}, + {"domain guest group",P_STRING, P_GLOBAL, &Globals.szDomainGuestGroup, NULL, NULL, 0}, {"domain admin users",P_STRING, P_GLOBAL, &Globals.szDomainAdminUsers, NULL, NULL, 0}, {"domain guest users",P_STRING, P_GLOBAL, &Globals.szDomainGuestUsers, NULL, NULL, 0}, {"domain hosts allow",P_STRING, P_GLOBAL, &Globals.szDomainHostsallow, NULL, NULL, 0}, @@ -986,6 +990,8 @@ FN_GLOBAL_STRING(lp_driverfile,&Globals.szDriverFile) FN_GLOBAL_STRING(lp_domain_sid,&Globals.szDomainSID) FN_GLOBAL_STRING(lp_domain_other_sids,&Globals.szDomainOtherSIDs) FN_GLOBAL_STRING(lp_domain_groups,&Globals.szDomainGroups) +FN_GLOBAL_STRING(lp_domain_admin_group,&Globals.szDomainAdminGroup) +FN_GLOBAL_STRING(lp_domain_guest_group,&Globals.szDomainGuestGroup) FN_GLOBAL_STRING(lp_domain_admin_users,&Globals.szDomainAdminUsers) FN_GLOBAL_STRING(lp_domain_guest_users,&Globals.szDomainGuestUsers) FN_GLOBAL_STRING(lp_domain_hostsallow,&Globals.szDomainHostsallow) diff --git a/source3/rpc_server/srv_util.c b/source3/rpc_server/srv_util.c index fca37db717..64f2e7a0d9 100644 --- a/source3/rpc_server/srv_util.c +++ b/source3/rpc_server/srv_util.c @@ -312,26 +312,26 @@ void get_domain_user_groups(char *domain_groups, char *user) pstrcpy(domain_groups, lp_domain_groups()); /* can only be a user or a guest. cannot be guest _and_ admin */ - if (user_in_list(user, lp_domain_guest_users())) + if (user_in_list(user, lp_domain_guest_group())) { slprintf(tmp, sizeof(tmp) - 1, " %ld/7 ", DOMAIN_GROUP_RID_GUESTS); pstrcat(domain_groups, tmp); - DEBUG(3,("domain guest access %s granted\n", tmp)); + DEBUG(3,("domain guest group access %s granted\n", tmp)); } else { slprintf(tmp, sizeof(tmp) -1, " %ld/7 ", DOMAIN_GROUP_RID_USERS); pstrcat(domain_groups, tmp); - DEBUG(3,("domain user access %s granted\n", tmp)); + DEBUG(3,("domain group access %s granted\n", tmp)); - if (user_in_list(user, lp_domain_admin_users())) + if (user_in_list(user, lp_domain_admin_group())) { slprintf(tmp, sizeof(tmp) - 1, " %ld/7 ", DOMAIN_GROUP_RID_ADMINS); pstrcat(domain_groups, tmp); - DEBUG(3,("domain admin access %s granted\n", tmp)); + DEBUG(3,("domain admin group access %s granted\n", tmp)); } } } |