summaryrefslogtreecommitdiffstats
path: root/source/smbd/reply.c
diff options
context:
space:
mode:
authorJean-François Micouleau <jfm@samba.org>2000-07-25 13:15:16 +0000
committerJean-François Micouleau <jfm@samba.org>2000-07-25 13:15:16 +0000
commitac0a145acc0953a6f362497abbf4dfe70aa522a6 (patch)
treec963caa1e59bd80b31c4bfc65f2760fcfaedefcb /source/smbd/reply.c
parentdcf3249bb9fef2a05b376e9c8c1a0a7d602d8a2e (diff)
downloadsamba-ac0a145acc0953a6f362497abbf4dfe70aa522a6.tar.gz
samba-ac0a145acc0953a6f362497abbf4dfe70aa522a6.tar.xz
samba-ac0a145acc0953a6f362497abbf4dfe70aa522a6.zip
A rather big change set ! (listed in no particular order)
- changed the default forms flag to 2 - all short architecture name are uppercased - get_short_archi() is now case unsensitive - the drivers TDB is indexed by archi/version/name - implemented code to move drivers from the upload area to the download area. Someone else need to look at that code. - don't return anymore a default driver if it doesn't exist in the TDB. Instead return an error. - cleaned prs_unistr. - #ifdef out jeremy's new SD parsing in printer_info_2 - removed the unused MANGLE_CODE - #ifdef out the security checking in update_printer() as it doesn't work for me. Zap your ntdrivers.tdb, it won't work anymore. J.F.
Diffstat (limited to 'source/smbd/reply.c')
-rw-r--r--source/smbd/reply.c28
1 files changed, 20 insertions, 8 deletions
diff --git a/source/smbd/reply.c b/source/smbd/reply.c
index 00a0ce3c4a0..19af1fdc3d3 100644
--- a/source/smbd/reply.c
+++ b/source/smbd/reply.c
@@ -3101,15 +3101,14 @@ int reply_printwrite(connection_struct *conn, char *inbuf,char *outbuf, int dum_
/****************************************************************************
- reply to a mkdir
+ The guts of the mkdir command, split out so it may be called by the NT SMB
+ code.
****************************************************************************/
-int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
+int mkdir_internal(connection_struct *conn, char *inbuf, char *outbuf, pstring directory)
{
- pstring directory;
- int outsize,ret= -1;
BOOL bad_path = False;
-
- pstrcpy(directory,smb_buf(inbuf) + 1);
+ int ret= -1;
+
unix_convert(directory,conn,0,&bad_path,NULL);
if (check_name(directory, conn))
@@ -3125,10 +3124,23 @@ int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
}
return(UNIXERROR(ERRDOS,ERRnoaccess));
}
+}
- outsize = set_message(outbuf,0,0,True);
+/****************************************************************************
+ reply to a mkdir
+****************************************************************************/
+int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize)
+{
+ pstring directory;
+ int outsize;
+
+ pstrcpy(directory,smb_buf(inbuf) + 1);
+
+ outsize=mkdir_internal(conn, inbuf, outbuf, directory);
+ if(outsize == 0)
+ outsize = set_message(outbuf,0,0,True);
- DEBUG( 3, ( "mkdir %s ret=%d\n", directory, ret ) );
+ DEBUG( 3, ( "mkdir %s ret=%d\n", directory, outsize ) );
return(outsize);
}