From: Steve French Date: Fri, 5 Dec 2008 14:33:39 +0000 (-0600) Subject: mount.cifs: if mount user not specified use USER environment variable X-Git-Tag: samba-3.3.0rc2~94 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7b59ba7e1078a5fed32700931eb98301ecba2d6;p=thirdparty%2Fsamba.git mount.cifs: if mount user not specified use USER environment variable smbfs also would use the USER environment variable if the user was not specified on the mount command and no credential file specified, and mount.cifs man page says that we will use this environment variable (in most cases this will not cause a behavior change, because we were doing getuid of the current process which will usually be the same name). Fixes Samba bug #5934 Acked-by: Jeff Layton (cherry picked from commit a679d0e96ec54f4660537966b31ce2f56d5a1ea9) --- diff --git a/source/client/mount.cifs.c b/source/client/mount.cifs.c index da2f98bff86..0bc61ae38f7 100644 --- a/source/client/mount.cifs.c +++ b/source/client/mount.cifs.c @@ -1293,7 +1293,13 @@ int main(int argc, char ** argv) } if(got_user == 0) { - user_name = getusername(); + /* Note that the password will not be retrieved from the + USER env variable (ie user%password form) as there is + already a PASSWD environment varaible */ + if (getenv("USER")) + user_name = strdup(getenv("USER")); + if (user_name == NULL) + user_name = getusername(); got_user = 1; }