summaryrefslogtreecommitdiffstats
path: root/source/smbd/ipc.c
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2000-02-03 23:08:24 +0000
committerTim Potter <tpot@samba.org>2000-02-03 23:08:24 +0000
commit176c405d2702a4245561ff56c8eac3c754a0dea3 (patch)
tree6d82ba6a996929720356e72c911c9e1fe09f7de6 /source/smbd/ipc.c
parent8b26be1e82d329c9ea8a1d6a71e5e9f440eb93ac (diff)
downloadsamba-176c405d2702a4245561ff56c8eac3c754a0dea3.tar.gz
samba-176c405d2702a4245561ff56c8eac3c754a0dea3.tar.xz
samba-176c405d2702a4245561ff56c8eac3c754a0dea3.zip
Put back lots of missing calls to dos_to_unix(). Thanks to
aono@cc.osaka-kyoiku.ac.jp (Tomoki AONO)
Diffstat (limited to 'source/smbd/ipc.c')
-rw-r--r--source/smbd/ipc.c27
1 files changed, 17 insertions, 10 deletions
diff --git a/source/smbd/ipc.c b/source/smbd/ipc.c
index 3e16dba4f59..b5a6e4ba902 100644
--- a/source/smbd/ipc.c
+++ b/source/smbd/ipc.c
@@ -2055,6 +2055,7 @@ static BOOL api_PrintJobInfo(connection_struct *conn,uint16 vuid,char *param,cha
if (isalpha((int)*s)) {
pstring name;
int l = 0;
+
while (l<64 && *s) {
if (issafe(*s)) name[l++] = *s;
s++;
@@ -2066,17 +2067,23 @@ static BOOL api_PrintJobInfo(connection_struct *conn,uint16 vuid,char *param,cha
fsp = file_find_print();
if (fsp) {
- connection_struct *fconn = fsp->conn;
- unbecome_user();
-
- if (!become_user(fconn,vuid) ||
- !become_service(fconn,True))
- break;
+ pstring zfrom,zto;
+ connection_struct *fconn = fsp->conn;
+
+ unbecome_user();
- if (fsp->conn->vfs_ops.rename(fsp->fsp_name,name) == 0) {
- string_set(&fsp->fsp_name,name);
- }
- break;
+ if (!become_user(fconn,vuid) ||
+ !become_service(fconn,True))
+ break;
+
+ pstrcpy(zfrom, dos_to_unix(fsp->fsp_name,False));
+ pstrcpy(zto, dos_to_unix(name,False));
+
+ if (fsp->conn->vfs_ops.rename(zfrom,zto) == 0) {
+ string_set(&fsp->fsp_name,name);
+ }
+
+ break;
}
}
desc.errcode=NERR_Success;