summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-05-02 13:55:42 +0000
committerAndrew Tridgell <tridge@samba.org>2000-05-02 13:55:42 +0000
commit32d5416b6a777a7874fec8518ec44e750560d882 (patch)
treefc131a6a1693847cb20af69e4cff36941ab53f3f /source3/smbd
parent88a97957e7d6547fc0a021127d1de52a132d341f (diff)
downloadsamba-32d5416b6a777a7874fec8518ec44e750560d882.tar.gz
samba-32d5416b6a777a7874fec8518ec44e750560d882.tar.bz2
samba-32d5416b6a777a7874fec8518ec44e750560d882.zip
split the username in the vuser structure into a separate
userdom_struct. As the name implies this also contains a domain (unused at the moment). This will be important shortly, as operation in appliance mode needs the domain to be always carried with the username. (This used to be commit ee8546342d5be90e730372b985710d764564b124)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/lanman.c7
-rw-r--r--source3/smbd/password.c24
-rw-r--r--source3/smbd/process.c2
-rw-r--r--source3/smbd/uid.c2
4 files changed, 18 insertions, 17 deletions
diff --git a/source3/smbd/lanman.c b/source3/smbd/lanman.c
index 9774305fc9..2ec08ddbf9 100644
--- a/source3/smbd/lanman.c
+++ b/source3/smbd/lanman.c
@@ -2285,7 +2285,8 @@ static BOOL api_RNetUserGetInfo(connection_struct *conn,uint16 vuid, char *param
Don't depend on vuser being non-null !!. JRA */
user_struct *vuser = get_valid_user_struct(vuid);
if(vuser != NULL)
- DEBUG(3,(" Username of UID %d is %s\n", (int)vuser->uid, vuser->name));
+ DEBUG(3,(" Username of UID %d is %s\n", (int)vuser->uid,
+ vuser->user.unix_name));
*rparam_len = 6;
*rparam = REALLOC(*rparam,*rparam_len);
@@ -2335,7 +2336,7 @@ static BOOL api_RNetUserGetInfo(connection_struct *conn,uint16 vuid, char *param
/* EEK! the cifsrap.txt doesn't have this in!!!! */
SIVAL(p,usri11_full_name,PTR_DIFF(p2,p)); /* full name */
- pstrcpy(p2,((vuser != NULL) ? vuser->real_name : UserName));
+ pstrcpy(p2,((vuser != NULL) ? vuser->user.real_name : UserName));
p2 = skip_string(p2,1);
}
@@ -2394,7 +2395,7 @@ static BOOL api_RNetUserGetInfo(connection_struct *conn,uint16 vuid, char *param
{
SIVAL(p,60,0); /* auth_flags */
SIVAL(p,64,PTR_DIFF(p2,*rdata)); /* full_name */
- pstrcpy(p2,((vuser != NULL) ? vuser->real_name : UserName));
+ pstrcpy(p2,((vuser != NULL) ? vuser->user.real_name : UserName));
p2 = skip_string(p2,1);
SIVAL(p,68,0); /* urs_comment */
SIVAL(p,72,PTR_DIFF(p2,*rdata)); /* parms */
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index a8b9050030..cff47c0a94 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -140,7 +140,7 @@ char *validated_username(uint16 vuid)
user_struct *vuser = get_valid_user_struct(vuid);
if (vuser == NULL)
return 0;
- return(vuser->name);
+ return(vuser->user.unix_name);
}
@@ -246,8 +246,8 @@ uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name,
vuser->uid = uid;
vuser->gid = gid;
vuser->guest = guest;
- fstrcpy(vuser->name,unix_name);
- fstrcpy(vuser->requested_name,requested_name);
+ fstrcpy(vuser->user.unix_name,unix_name);
+ fstrcpy(vuser->user.smb_name,requested_name);
vuser->n_groups = 0;
vuser->groups = NULL;
@@ -261,12 +261,12 @@ uint16 register_vuid(uid_t uid,gid_t gid, char *unix_name, char *requested_name,
DEBUG(3,("uid %d registered to name %s\n",(int)uid,unix_name));
DEBUG(3, ("Clearing default real name\n"));
- fstrcpy(vuser->real_name, "<Full Name>\0");
+ fstrcpy(vuser->user.real_name, "<Full Name>");
if (lp_unix_realname()) {
- if ((pwfile=sys_getpwnam(vuser->name))!= NULL)
+ if ((pwfile=sys_getpwnam(vuser->user.unix_name))!= NULL)
{
- DEBUG(3, ("User name: %s\tReal name: %s\n",vuser->name,pwfile->pw_gecos));
- fstrcpy(vuser->real_name, pwfile->pw_gecos);
+ DEBUG(3, ("User name: %s\tReal name: %s\n",vuser->user.unix_name,pwfile->pw_gecos));
+ fstrcpy(vuser->user.real_name, pwfile->pw_gecos);
}
}
@@ -707,9 +707,9 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
/* check for a previously registered guest username */
if (!ok && (vuser != 0) && vuser->guest) {
- if (user_ok(vuser->name,snum) &&
- password_ok(vuser->name, password, pwlen, NULL)) {
- fstrcpy(user, vuser->name);
+ if (user_ok(vuser->user.unix_name,snum) &&
+ password_ok(vuser->user.unix_name, password, pwlen, NULL)) {
+ fstrcpy(user, vuser->user.unix_name);
vuser->guest = False;
DEBUG(3,("ACCEPTED: given password with registered user %s\n", user));
ok = True;
@@ -744,8 +744,8 @@ BOOL authorise_login(int snum,char *user,char *password, int pwlen,
/* check for a previously validated username/password pair */
if (!ok && (!lp_revalidate(snum) || lp_security() > SEC_SHARE) &&
(vuser != 0) && !vuser->guest &&
- user_ok(vuser->name,snum)) {
- fstrcpy(user,vuser->name);
+ user_ok(vuser->user.unix_name,snum)) {
+ fstrcpy(user,vuser->user.unix_name);
*guest = False;
DEBUG(3,("ACCEPTED: validated uid ok as non-guest\n"));
ok = True;
diff --git a/source3/smbd/process.c b/source3/smbd/process.c
index 1eb5899667..6482ccd538 100644
--- a/source3/smbd/process.c
+++ b/source3/smbd/process.c
@@ -495,7 +495,7 @@ static int switch_message(int type,char *inbuf,char *outbuf,int size,int bufsize
if(session_tag != UID_FIELD_INVALID)
vuser = get_valid_user_struct(session_tag);
if(vuser != NULL)
- pstrcpy( sesssetup_user, vuser->requested_name);
+ pstrcpy( sesssetup_user, vuser->user.smb_name);
}
/* does this protocol need to be run as root? */
diff --git a/source3/smbd/uid.c b/source3/smbd/uid.c
index ce0631e418..28d2fb71f6 100644
--- a/source3/smbd/uid.c
+++ b/source3/smbd/uid.c
@@ -140,7 +140,7 @@ static BOOL check_user_ok(connection_struct *conn, user_struct *vuser,int snum)
for (i=0;i<conn->uid_cache.entries;i++)
if (conn->uid_cache.list[i] == vuser->uid) return(True);
- if (!user_ok(vuser->name,snum)) return(False);
+ if (!user_ok(vuser->user.unix_name,snum)) return(False);
i = conn->uid_cache.entries % UID_CACHE_SIZE;
conn->uid_cache.list[i] = vuser->uid;