Removed version number from file header.
[kai/samba.git] / source3 / smbd / message.c
index 98eb336c0a1c25e825ae70ed1192f9fb53e64ef9..971834c012c104c1827ee2be7b52d9dcadf8f2a5 100644 (file)
@@ -1,6 +1,5 @@
 /* 
-   Unix SMB/Netbios implementation.
-   Version 1.9.
+   Unix SMB/CIFS implementation.
    SMB messaging
    Copyright (C) Andrew Tridgell 1992-1998
    
 
 #include "includes.h"
 
-/* look in server.c for some explanation of these variables */
-extern int DEBUGLEVEL;
-
+extern userdom_struct current_user_info;
 
+/* look in server.c for some explanation of these variables */
 static char msgbuf[1600];
 static int msgpos;
 static fstring msgfrom;
@@ -61,13 +59,11 @@ static void msg_deliver(void)
   }
 
   /*
-   * Incoming message is in DOS codepage format. Convert to UNIX in
-   * place.
+   * Incoming message is in DOS codepage format. Convert to UNIX.
    */
 
   if(msgpos > 0) {
     msgbuf[msgpos] = '\0'; /* Ensure null terminated. */
-    dos_to_unix(msgbuf,True);
   }
 
   for (i=0;i<msgpos;) {
@@ -87,9 +83,9 @@ static void msg_deliver(void)
       pstring s;
 
       pstrcpy(s,lp_msg_command());
-      pstring_sub(s,"%f",alpha_strcpy(alpha_msgfrom,msgfrom,sizeof(alpha_msgfrom)));
-      pstring_sub(s,"%t",alpha_strcpy(alpha_msgto,msgto,sizeof(alpha_msgto)));
-      standard_sub_basic(s);
+      pstring_sub(s,"%f",alpha_strcpy(alpha_msgfrom,msgfrom,NULL,sizeof(alpha_msgfrom)));
+      pstring_sub(s,"%t",alpha_strcpy(alpha_msgto,msgto,NULL,sizeof(alpha_msgto)));
+      standard_sub_basic(current_user_info.smb_name, s);
       pstring_sub(s,"%s",name);
       smbrun(s,NULL);
     }
@@ -116,14 +112,14 @@ int reply_sends(connection_struct *conn,
 
   if (! (*lp_msg_command())) {
     END_PROFILE(SMBsends);
-    return(ERROR(ERRSRV,ERRmsgoff));
+    return(ERROR_DOS(ERRSRV,ERRmsgoff));
   }
 
   outsize = set_message(outbuf,0,0,True);
 
   p = smb_buf(inbuf)+1;
-  p += srvstr_pull(inbuf, msgfrom, p, sizeof(msgfrom), -1, STR_TERMINATE|STR_CONVERT) + 1;
-  p += srvstr_pull(inbuf, msgto, p, sizeof(msgto), -1, STR_TERMINATE|STR_CONVERT) + 1;
+  p += srvstr_pull(inbuf, msgfrom, p, sizeof(msgfrom), -1, STR_TERMINATE) + 1;
+  p += srvstr_pull(inbuf, msgto, p, sizeof(msgto), -1, STR_TERMINATE) + 1;
 
   msg = p;
 
@@ -155,7 +151,7 @@ int reply_sendstrt(connection_struct *conn,
 
   if (! (*lp_msg_command())) {
     END_PROFILE(SMBsendstrt);
-    return(ERROR(ERRSRV,ERRmsgoff));
+    return(ERROR_DOS(ERRSRV,ERRmsgoff));
   }
 
   outsize = set_message(outbuf,1,0,True);
@@ -164,8 +160,8 @@ int reply_sendstrt(connection_struct *conn,
   msgpos = 0;
 
   p = smb_buf(inbuf)+1;
-  p += srvstr_pull(inbuf, msgfrom, p, sizeof(msgfrom), -1, STR_TERMINATE|STR_CONVERT) + 1;
-  p += srvstr_pull(inbuf, msgto, p, sizeof(msgto), -1, STR_TERMINATE|STR_CONVERT) + 1;
+  p += srvstr_pull(inbuf, msgfrom, p, sizeof(msgfrom), -1, STR_TERMINATE) + 1;
+  p += srvstr_pull(inbuf, msgto, p, sizeof(msgto), -1, STR_TERMINATE) + 1;
 
   DEBUG( 3, ( "SMBsendstrt (from %s to %s)\n", msgfrom, msgto ) );
 
@@ -187,7 +183,7 @@ int reply_sendtxt(connection_struct *conn,
 
   if (! (*lp_msg_command())) {
     END_PROFILE(SMBsendtxt);
-    return(ERROR(ERRSRV,ERRmsgoff));
+    return(ERROR_DOS(ERRSRV,ERRmsgoff));
   }
 
   outsize = set_message(outbuf,0,0,True);
@@ -218,7 +214,7 @@ int reply_sendend(connection_struct *conn,
 
   if (! (*lp_msg_command())) {
     END_PROFILE(SMBsendend);
-    return(ERROR(ERRSRV,ERRmsgoff));
+    return(ERROR_DOS(ERRSRV,ERRmsgoff));
   }
 
   outsize = set_message(outbuf,0,0,True);