[SCM] Samba Shared Repository - branch master updated
Jeremy Allison
jra at samba.org
Fri Aug 26 02:23:03 UTC 2016
The branch, master has been updated
via f5401ff s3-util: Fix asking for username and password in smbget.
from cb243d8 tests/getnc_exop: Ensure that attribute list sorting is correct
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit f5401ff3146aabc5fb2dac25e4856c6c3756c8f7
Author: Andreas Schneider <asn at samba.org>
Date: Thu Aug 25 14:24:08 2016 +0200
s3-util: Fix asking for username and password in smbget.
If the user specified the username in the URI with with:
smb://DOMAIN;user:secret@server/share
the tool should not prompt for the username nor the password.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=12175
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Fri Aug 26 04:22:27 CEST 2016 on sn-devel-144
-----------------------------------------------------------------------
Summary of changes:
source3/utils/smbget.c | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/utils/smbget.c b/source3/utils/smbget.c
index 99261e3..d2d5e00 100644
--- a/source3/utils/smbget.c
+++ b/source3/utils/smbget.c
@@ -105,7 +105,6 @@ static void get_auth_data(const char *srv, const char *shr, char *wg, int wglen,
static char *savedwg;
static char *savedun;
static char *savedpw;
- char tmp[128];
if (hasasked) {
strncpy(wg, savedwg, wglen - 1);
@@ -115,23 +114,22 @@ static void get_auth_data(const char *srv, const char *shr, char *wg, int wglen,
}
hasasked = true;
- if (!opt.nonprompt && !opt.username_specified) {
- printf("Username for %s at %s [guest] ", shr, srv);
- if (fgets(tmp, sizeof(tmp), stdin) == NULL) {
- return;
- }
- if ((strlen(tmp) > 0) && (tmp[strlen(tmp) - 1] == '\n')) {
- tmp[strlen(tmp) - 1] = '\0';
- }
- strncpy(un, tmp, unlen - 1);
- } else if (opt.username != NULL) {
+ /*
+ * If no user has been specified un is initialized with the current
+ * username of the user who started smbget.
+ */
+ if (opt.username_specified) {
strncpy(un, opt.username, unlen - 1);
}
- if (!opt.nonprompt && !opt.password_specified) {
+ if (!opt.nonprompt && !opt.password_specified && pw[0] == '\0') {
char *prompt;
- if (asprintf(&prompt, "Password for %s at %s: ", shr, srv) ==
- -1) {
+ int rc;
+
+ rc = asprintf(&prompt,
+ "Password for [%s] connecting to //%s/%s: ",
+ un, shr, srv);
+ if (rc == -1) {
return;
}
(void)samba_getpass(prompt, pw, pwlen, false, false);
--
Samba Shared Repository
More information about the samba-cvs
mailing list