summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Leighton <lkcl@samba.org>1998-05-11 17:34:39 +0000
committerLuke Leighton <lkcl@samba.org>1998-05-11 17:34:39 +0000
commit0518067c6e5ca3ebd7743a2a4f5ce6d63eec6812 (patch)
tree2cffbcf1f952788afb86a349f74e60caa2101fef
parentf004d84f683673b7cb167320e3e78a3fcefdfd07 (diff)
downloadsamba-0518067c6e5ca3ebd7743a2a4f5ce6d63eec6812.tar.gz
samba-0518067c6e5ca3ebd7743a2a4f5ce6d63eec6812.tar.bz2
samba-0518067c6e5ca3ebd7743a2a4f5ce6d63eec6812.zip
add lp_domain_workstations() parameter. this is a list of workstation names
from which an NT user can log in from. empty (default) indicates no restrictions. exactly how this is enforced is unknown. from past experience it's likely that the enforcement is left to the client to carry out... (This used to be commit 6b2f9ea68f5754ca6caaf685a9538ab404e1bab4)
-rw-r--r--source3/include/proto.h3
-rw-r--r--source3/param/loadparm.c3
2 files changed, 6 insertions, 0 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 1d4f917b70..79712d3c87 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -237,6 +237,7 @@ BOOL add_ldappwd_entry(struct smb_passwd *newpwd);
BOOL mod_ldappwd_entry(struct smb_passwd* pwd, BOOL override);
void *startldappwent(BOOL update);
struct smb_passwd *getldappwent(void *vp);
+struct sam_passwd *getldap21pwent(void *vp);
void endldappwent(void *vp);
unsigned long getldappwpos(void *vp);
BOOL setldappwpos(void *vp, unsigned long tok);
@@ -973,6 +974,7 @@ char *lp_driverfile(void);
char *lp_domain_sid(void);
char *lp_domain_other_sids(void);
char *lp_domain_groups(void);
+char *lp_domain_workstations(void);
char *lp_domain_admin_users(void);
char *lp_domain_guest_users(void);
char *lp_domain_hostsallow(void);
@@ -1826,6 +1828,7 @@ char *smb_errstr(char *inbuf);
void *startsmbpwent(BOOL update);
void endsmbpwent(void *vp);
+struct sam_passwd *getsmb21pwent(void *vp);
struct smb_passwd *getsmbpwent(void *vp);
unsigned long getsmbpwpos(void *vp);
BOOL setsmbpwpos(void *vp, unsigned long tok);
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 1b95005c6c..95c2d09ede 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -123,6 +123,7 @@ typedef struct
char *szDomainGuestUsers;
char *szDomainHostsallow;
char *szDomainHostsdeny;
+ char *szDomainWorkstations;
char *szUsernameMap;
char *szCharacterSet;
char *szLogonScript;
@@ -585,6 +586,7 @@ 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 workstations", P_STRING, P_GLOBAL, &Globals.szDomainWorkstations, 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},
@@ -982,6 +984,7 @@ 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_workstations,&Globals.szDomainWorkstations)
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)