summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/.cvsignore30
-rw-r--r--source3/client/client.c14
-rw-r--r--source3/include/client.h9
-rw-r--r--source3/libsmb/clientgen.c18
-rw-r--r--source3/web/swat.c45
5 files changed, 64 insertions, 52 deletions
diff --git a/source3/.cvsignore b/source3/.cvsignore
index 7d823233f5..247b980fa8 100644
--- a/source3/.cvsignore
+++ b/source3/.cvsignore
@@ -1,36 +1,8 @@
-.deps
bin
Makefile
-Makefile.RPM
-config
config.cache
config.h
config.log
config.status
cvs.log
-d2
-make_printerdef
-make_smbcodepage
-makefile
-makefile.sunos5
-memcheck.awk
-nmbd
-nmblookup
-nmfns.txt
-nmlist.txt
-nmused.txt
-notes.txt
-smbclient
-smbd
-smbpasswd
-smbrun
-smbstatus
-smbtorture
-swat
-testparm
-testprns
-text.txt
-unused.txt
-wsmbconf
-wsmbstatus
-*.p
+so_locations
diff --git a/source3/client/client.c b/source3/client/client.c
index e23875fc1b..185919bf5f 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -1685,6 +1685,18 @@ struct cli_state *do_connect(char *server, char *share)
return NULL;
}
+ /*
+ * These next two lines are needed to emulate
+ * old client behaviour for people who have
+ * scripts based on client output.
+ * QUESTION ? Do we want to have a 'client compatibility
+ * mode to turn these on/off ? JRA.
+ */
+
+ if (*c->server_domain || *c->server_os || *c->server_name)
+ DEBUG(1,("Domain=[%s] OS=[%s] Server=[%s]\n",
+ c->server_domain,c->server_os,c->server_name));
+
DEBUG(4,(" session setup ok\n"));
if (!cli_send_tconX(c, share, "?????",
@@ -1710,7 +1722,7 @@ static BOOL process(char *base_directory)
if (!cli) {
return(False);
}
-
+
if (*base_directory) do_cd(base_directory);
if (cmdstr) {
diff --git a/source3/include/client.h b/source3/include/client.h
index 0d5d2ea8fb..0f28fa0d08 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -87,6 +87,15 @@ struct cli_state {
fstring user_name;
fstring domain;
+ /*
+ * The following strings are the
+ * ones returned by the server if
+ * the protocol > NT1.
+ */
+ fstring server_type;
+ fstring server_os;
+ fstring server_domain;
+
fstring share;
fstring dev;
struct nmb_name called;
diff --git a/source3/libsmb/clientgen.c b/source3/libsmb/clientgen.c
index b4ca7a1d77..4eaebfa6ed 100644
--- a/source3/libsmb/clientgen.c
+++ b/source3/libsmb/clientgen.c
@@ -772,6 +772,20 @@ BOOL cli_session_setup(struct cli_state *cli,
/* use the returned vuid from now on */
cli->vuid = SVAL(cli->inbuf,smb_uid);
+ if (cli->protocol >= PROTOCOL_NT1) {
+ /*
+ * Save off some of the connected server
+ * info.
+ */
+ char *server_domain,*server_os,*server_type;
+ server_os = smb_buf(cli->inbuf);
+ server_type = skip_string(server_os,1);
+ server_domain = skip_string(server_type,1);
+ fstrcpy(cli->server_os, server_os);
+ fstrcpy(cli->server_type, server_type);
+ fstrcpy(cli->server_domain, server_domain);
+ }
+
fstrcpy(cli->user_name, user);
return True;
@@ -2349,7 +2363,9 @@ struct cli_state *cli_initialise(struct cli_state *cli)
{
if (!cli) {
cli = (struct cli_state *)malloc(sizeof(*cli));
- if (!cli) return NULL;
+ if (!cli)
+ return NULL;
+ ZERO_STRUCTP(cli);
}
if (cli->initialised) {
diff --git a/source3/web/swat.c b/source3/web/swat.c
index c2e5ea560e..ecfc480395 100644
--- a/source3/web/swat.c
+++ b/source3/web/swat.c
@@ -702,25 +702,26 @@ static void passwd_page(void)
/*
* Create all the dialog boxes for data collection
*/
- printf("<p> User Name : <input type=text size=30 name=%s value=%s> \n",
- USER, new_name);
+ printf("<tr><td> User Name : </td>\n");
+ printf("<td><input type=text size=30 name=%s value=%s></td></tr> \n", USER, new_name);
if (am_root() == False) {
- printf("<p> Old Password: <input type=password size=30 name=%s>\n",OLD_PSWD);
+ printf("<tr><td> Old Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr> \n",OLD_PSWD);
}
- printf("<p> New Password: <input type=password size=30 name=%s>\n",NEW_PSWD);
- printf("<p> Re-type New Password: <input type=password size=30 name=%s>\n",NEW2_PSWD);
+ printf("<tr><td> New Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",NEW_PSWD);
+ printf("<tr><td> Re-type New Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",NEW2_PSWD);
/*
* Create all the control buttons for requesting action
*/
- printf("<p><tr><td>");
- printf("<input type=submit name=%s value=\"Change Password\">", CHG_S_PASSWD_FLAG);
+ printf("<tr><td><input type=submit name=%s value=\"Change Password\"></td></tr>\n", CHG_S_PASSWD_FLAG);
if (am_root() == True) {
- printf("<input type=submit name=%s value=\"Add New User\">", ADD_USER_FLAG);
- printf("<input type=submit name=%s value=\"Disable User\">", DISABLE_USER_FLAG);
- printf("<input type=submit name=%s value=\"Enable User\">", ENABLE_USER_FLAG);
+ printf("<tr><td><input type=submit name=%s value=\"Add New User\"></td></tr>\n", ADD_USER_FLAG);
+ printf("<tr><td><input type=submit name=%s value=\"Disable User\"></td></tr>\n", DISABLE_USER_FLAG);
+ printf("<tr><td><input type=submit name=%s value=\"Enable User\"></td></tr>\n", ENABLE_USER_FLAG);
}
- printf("</td></tr>\n");
/*
* Do some work if change, add, disable or enable was requested. It could be
@@ -731,7 +732,7 @@ static void passwd_page(void)
chg_passwd();
}
- printf("</table>");
+ printf("</table>\n");
printf("</FORM>\n");
@@ -744,19 +745,21 @@ static void passwd_page(void)
/*
* Create all the dialog boxes for data collection
*/
- printf("<p> User Name : <input type=text size=30 name=%s value=%s> \n",
- USER, new_name);
- printf("<p> Old Password: <input type=password size=30 name=%s>\n",OLD_PSWD);
- printf("<p> New Password: <input type=password size=30 name=%s>\n",NEW_PSWD);
- printf("<p> Re-type New Password: <input type=password size=30 name=%s>\n",NEW2_PSWD);
- printf("<p> Remote Machine: <input type=password size=30 name=%s>\n",RHOST);
+ printf("<tr><td> User Name : </td>\n");
+ printf("<td><input type=text size=30 name=%s value=%s></td></tr>\n",USER, new_name);
+ printf("<tr><td> Old Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",OLD_PSWD);
+ printf("<tr><td> New Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",NEW_PSWD);
+ printf("<tr><td> Re-type New Password : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",NEW2_PSWD);
+ printf("<tr><td> Remote Machine : </td>\n");
+ printf("<td><input type=password size=30 name=%s></td></tr>\n",RHOST);
/*
* Create all the control buttons for requesting action
*/
- printf("<p><tr><td>");
- printf("<input type=submit name=%s value=\"Change Password\">", CHG_R_PASSWD_FLAG);
- printf("</td></tr>\n");
+ printf("<tr><td><input type=submit name=%s value=\"Change Password\"></td></tr>", CHG_R_PASSWD_FLAG);
/*
* Do some work if a request has been made to change the password somewhere other