summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>1998-03-30 22:45:10 +0000
committerJeremy Allison <jra@samba.org>1998-03-30 22:45:10 +0000
commit2a0b0873e3bd41ae961bffd3d6b59f8299ba2838 (patch)
tree96bd515b088d74e017051fc2036a154fb42e6953 /source3/smbd
parent852dc76c60b08c3dbb86ba38b7c3c968b1b228dd (diff)
downloadsamba-2a0b0873e3bd41ae961bffd3d6b59f8299ba2838.tar.gz
samba-2a0b0873e3bd41ae961bffd3d6b59f8299ba2838.tar.bz2
samba-2a0b0873e3bd41ae961bffd3d6b59f8299ba2838.zip
Fixed compile-time error introduced by log message change.
Added support for 32bit error messages needed for NTDOM code (was in NTDOM branch, somehow missed during the merge). Jeremy. (This used to be commit 188fb28d7be5d466c86a7464f951d08941d0021f)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/server.c27
1 files changed, 19 insertions, 8 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 7d9ca802e4..ca4326f14e 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -2326,13 +2326,21 @@ int unix_error_packet(char *inbuf,char *outbuf,int def_class,uint32 def_code,int
int error_packet(char *inbuf,char *outbuf,int error_class,uint32 error_code,int line)
{
int outsize = set_message(outbuf,0,0,True);
- int cmd;
- cmd = CVAL(inbuf,smb_com);
-
- CVAL(outbuf,smb_rcls) = error_class;
- SSVAL(outbuf,smb_err,error_code);
-
- DEBUG(3,("%s error packet at line %d cmd=%d (%s) eclass=%d ecode=%d\n",
+ int cmd = CVAL(inbuf,smb_com);
+ int flgs2 = SVAL(outbuf,smb_flg2);
+
+ if ((flgs2 & FLAGS2_32_BIT_ERROR_CODES) == FLAGS2_32_BIT_ERROR_CODES)
+ {
+ SIVAL(outbuf,smb_rcls,error_code);
+
+ DEBUG(3,("%s 32 bit error packet at line %d cmd=%d (%s) eclass=%08x [%s]\n",
+ timestring(), line, cmd, smb_fn_name(cmd), error_code, smb_errstr(outbuf)));
+ }
+ else
+ {
+ CVAL(outbuf,smb_rcls) = error_class;
+ SSVAL(outbuf,smb_err,error_code);
+ DEBUG(3,("%s error packet at line %d cmd=%d (%s) eclass=%d ecode=%d\n",
timestring(),
line,
(int)CVAL(inbuf,smb_com),
@@ -2340,6 +2348,8 @@ int error_packet(char *inbuf,char *outbuf,int error_class,uint32 error_code,int
error_class,
error_code));
+ }
+
if (errno != 0)
DEBUG(3,("error string = %s\n",strerror(errno)));
@@ -3319,13 +3329,14 @@ int make_connection(char *service,char *user,char *password, int pwlen, char *de
snum = find_service(service);
if (snum < 0)
{
+ extern int Client;
if (strequal(service,"IPC$"))
{
DEBUG(3,("%s refusing IPC connection\n",timestring()));
return(-3);
}
- DEBUG(0,("%s %s (%s) couldn't find service %s\n",timestring(),remote_machine,client_addr(),service));
+ DEBUG(0,("%s %s (%s) couldn't find service %s\n",timestring(),remote_machine,client_addr(Client),service));
return(-2);
}