summaryrefslogtreecommitdiff
path: root/source3/client
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-01-08 10:15:53 +0000
committerAndrew Tridgell <tridge@samba.org>2000-01-08 10:15:53 +0000
commite8b5cb45155536107a71e1106ad4a624eb559496 (patch)
treea74e7b8a64372daf2ea6075a29b7dcaaf2c9120a /source3/client
parent6ba295ce0bde0aa8f64f60b1e72d6afec33bfece (diff)
downloadsamba-e8b5cb45155536107a71e1106ad4a624eb559496.tar.gz
samba-e8b5cb45155536107a71e1106ad4a624eb559496.tar.bz2
samba-e8b5cb45155536107a71e1106ad4a624eb559496.zip
cli_open() wasn't handling DENY_FCB or O_WRONLY correctly.
After fixing that I needed to use O_RDWR instead of O_WRONLY in several places to avoid the silly bug in MS servers that doesn't allow getattrE on a file opened with O_WRONLY (This used to be commit e21aa4cb088f348139309d29c85c48c8b777cff5)
Diffstat (limited to 'source3/client')
-rw-r--r--source3/client/client.c2
-rw-r--r--source3/client/clitar.c2
-rw-r--r--source3/client/smbspool.c2
3 files changed, 3 insertions, 3 deletions
diff --git a/source3/client/client.c b/source3/client/client.c
index 3dc8371bb0..050313bd86 100644
--- a/source3/client/client.c
+++ b/source3/client/client.c
@@ -981,7 +981,7 @@ static void do_put(char *rname,char *lname)
struct timeval tp_start;
GetTimeOfDay(&tp_start);
- fnum = cli_open(cli, rname, O_WRONLY|O_CREAT|O_TRUNC, DENY_NONE);
+ fnum = cli_open(cli, rname, O_RDWR|O_CREAT|O_TRUNC, DENY_NONE);
if (fnum == -1) {
DEBUG(0,("%s opening remote file %s\n",cli_errstr(cli),rname));
diff --git a/source3/client/clitar.c b/source3/client/clitar.c
index 76b6ff94d5..f50c4b4288 100644
--- a/source3/client/clitar.c
+++ b/source3/client/clitar.c
@@ -994,7 +994,7 @@ static int get_file(file_info2 finfo)
DEBUG(5, ("get_file: file: %s, size %i\n", finfo.name, (int)finfo.size));
if (ensurepath(finfo.name) &&
- (fnum=cli_open(cli, finfo.name, O_WRONLY|O_CREAT|O_TRUNC, DENY_NONE)) == -1) {
+ (fnum=cli_open(cli, finfo.name, O_RDWR|O_CREAT|O_TRUNC, DENY_NONE)) == -1) {
DEBUG(0, ("abandoning restore\n"));
return(False);
}
diff --git a/source3/client/smbspool.c b/source3/client/smbspool.c
index dd1d17d71a..8150787fcb 100644
--- a/source3/client/smbspool.c
+++ b/source3/client/smbspool.c
@@ -328,7 +328,7 @@ smb_print(struct cli_state *cli, /* I - SMB connection */
* Open the printer device...
*/
- if ((fnum = cli_open(cli, title, O_WRONLY | O_CREAT | O_TRUNC, DENY_NONE)) == -1)
+ if ((fnum = cli_open(cli, title, O_RDWR | O_CREAT | O_TRUNC, DENY_NONE)) == -1)
{
fprintf(stderr, "ERROR: %s opening remote file %s\n",
cli_errstr(cli), title);