summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/smb_macros.h8
-rw-r--r--source3/smbd/error.c15
2 files changed, 12 insertions, 11 deletions
diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h
index 4e8868be74..d28ef6f068 100644
--- a/source3/include/smb_macros.h
+++ b/source3/include/smb_macros.h
@@ -135,12 +135,12 @@
/* these are the datagram types */
#define DGRAM_DIRECT_UNIQUE 0x10
-#define ERROR_DOS(class,code) error_packet(outbuf,NT_STATUS_OK,class,code,__LINE__)
-#define ERROR_NT(status) error_packet(outbuf,status,0,0,__LINE__)
-#define ERROR_BOTH(status,class,code) error_packet(outbuf,status,class,code,__LINE__)
+#define ERROR_DOS(class,code) error_packet(outbuf,NT_STATUS_OK,class,code,__LINE__,__FILE__)
+#define ERROR_NT(status) error_packet(outbuf,status,0,0,__LINE__,__FILE__)
+#define ERROR_BOTH(status,class,code) error_packet(outbuf,status,class,code,__LINE__,__FILE__)
/* this is how errors are generated */
-#define UNIXERROR(defclass,deferror) unix_error_packet(outbuf,defclass,deferror,__LINE__)
+#define UNIXERROR(defclass,deferror) unix_error_packet(outbuf,defclass,deferror,__LINE__,__FILE__)
#define SMB_ROUNDUP(x,g) (((x)+((g)-1))&~((g)-1))
diff --git a/source3/smbd/error.c b/source3/smbd/error.c
index 6b5a4b27b1..17606c62be 100644
--- a/source3/smbd/error.c
+++ b/source3/smbd/error.c
@@ -62,7 +62,8 @@ struct
/****************************************************************************
create an error packet from errno
****************************************************************************/
-int unix_error_packet(char *outbuf,int def_class,uint32 def_code,int line)
+int unix_error_packet(char *outbuf,int def_class,uint32 def_code,
+ int line, const char *file)
{
int eclass=def_class;
int ecode=def_code;
@@ -84,7 +85,7 @@ int unix_error_packet(char *outbuf,int def_class,uint32 def_code,int line)
}
}
- return error_packet(outbuf,NT_STATUS_OK,eclass,ecode,line);
+ return error_packet(outbuf,NT_STATUS_OK,eclass,ecode,line,file);
}
@@ -92,7 +93,7 @@ int unix_error_packet(char *outbuf,int def_class,uint32 def_code,int line)
create an error packet. Normally called using the ERROR() macro
****************************************************************************/
int error_packet(char *outbuf,NTSTATUS ntstatus,
- uint8 eclass,uint32 ecode,int line)
+ uint8 eclass,uint32 ecode,int line, const char *file)
{
int outsize = set_message(outbuf,0,0,True);
extern uint32 global_client_caps;
@@ -106,8 +107,8 @@ int error_packet(char *outbuf,NTSTATUS ntstatus,
}
SIVAL(outbuf,smb_rcls,NT_STATUS_V(ntstatus));
SSVAL(outbuf,smb_flg2, SVAL(outbuf,smb_flg2)|FLAGS2_32_BIT_ERROR_CODES);
- DEBUG(3,("error packet at line %d cmd=%d (%s) %s\n",
- line,
+ DEBUG(3,("error packet at %s(%d) cmd=%d (%s) %s\n",
+ file, line,
(int)CVAL(outbuf,smb_com),
smb_fn_name(CVAL(outbuf,smb_com)),
get_nt_error_msg(ntstatus)));
@@ -122,8 +123,8 @@ int error_packet(char *outbuf,NTSTATUS ntstatus,
SSVAL(outbuf,smb_rcls,eclass);
SSVAL(outbuf,smb_err,ecode);
- DEBUG(3,("error packet at line %d cmd=%d (%s) eclass=%d ecode=%d\n",
- line,
+ DEBUG(3,("error packet at %s(%d) cmd=%d (%s) eclass=%d ecode=%d\n",
+ file, line,
(int)CVAL(outbuf,smb_com),
smb_fn_name(CVAL(outbuf,smb_com)),
eclass,