diff options
-rw-r--r-- | source3/include/smb.h | 3 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 16 |
2 files changed, 7 insertions, 12 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h index 540aa0798d..f0390230e5 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -175,6 +175,7 @@ implemented */ #define ERRbadshare 32 /* Share mode on file conflict with open mode */ #define ERRlock 33 /* Lock request conflicts with existing lock */ #define ERRfilexists 80 /* File in operation already exists */ +#define ERRcannotopen 110 /* Cannot open the file specified */ #define ERRunknownlevel 124 #define ERRbadpipe 230 /* Named pipe invalid */ #define ERRpipebusy 231 /* All instances of pipe are busy */ @@ -183,7 +184,7 @@ implemented */ #define ERRmoredata 234 /* More data to be returned */ #define ERRbaddirectory 267 /* Invalid directory name in a path. */ #define ERROR_EAS_DIDNT_FIT 275 /* Extended attributes didn't fit */ -#define ERROR_EAS_NOT_SUPPORTED 282 /* Extended attributes not suppored */ +#define ERROR_EAS_NOT_SUPPORTED 282 /* Extended attributes not supported */ #define ERRunknownipc 2142 diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 9a48fb3ded..8052924059 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1094,13 +1094,7 @@ static int call_trans2qfilepathinfo(char *inbuf, char *outbuf, int length, if (total_data > 0 && IVAL(pdata,0) == total_data) { /* uggh, EAs for OS2 */ DEBUG(4,("Rejecting EA request with total_data=%d\n",total_data)); -#if 0 - SSVAL(params,0,ERROR_EAS_NOT_SUPPORTED); - send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0); - return(-1); -#else return(ERROR(ERRDOS,ERROR_EAS_NOT_SUPPORTED)); -#endif } bzero(pdata,data_size); @@ -1307,11 +1301,11 @@ static int call_trans2setfilepathinfo(char *inbuf, char *outbuf, int length, if (total_data > 0 && IVAL(pdata,0) == total_data) { /* uggh, EAs for OS2 */ DEBUG(4,("Rejecting EA request with total_data=%d\n",total_data)); - SSVAL(params,0,ERROR_EAS_NOT_SUPPORTED); - - send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0); - - return(-1); +#ifdef OS2_WPS_FIX /* This may become the main code stream in a later release */ + return(ERROR(ERRDOS,ERRcannotopen)); +#else /* OS2_WPS_FIX */ + return(ERROR(ERRDOS,ERROR_EAS_NOT_SUPPORTED)); +#endif /* OS2_WPS_FIX */ } switch (info_level) |