includes.h: SunOS doesn't have strcasecmp, solaris versions prior to 2.6 don't
authorJeremy Allison <jra@samba.org>
Tue, 12 May 1998 22:11:24 +0000 (22:11 +0000)
committerJeremy Allison <jra@samba.org>
Tue, 12 May 1998 22:11:24 +0000 (22:11 +0000)
            have vsnprintf.
locking_slow.c: slight tidy.
make_smbcodepage.c: Use safe_strcpy instead of pstrcpy.
nmbd_winsserver.c: Use pstrcpy instead of fstrcpy.
smbmount.c: Fixed reported bug.
util.c: Removed old fstrcpy/fstrcat functions.
Jeremy.
(This used to be commit f257d2e4bafd3944cca737699913a8d868279ca6)

source3/client/smbmount.c
source3/include/includes.h
source3/include/proto.h
source3/lib/util.c
source3/locking/locking_slow.c
source3/nmbd/nmbd_winsserver.c
source3/utils/make_smbcodepage.c

index 1610a8986b194f55405881a6b96521f5746cc67b..505552997b371cb5e5d468022872da2c25bccad6 100644 (file)
@@ -426,7 +426,7 @@ static int process_tok(fstring tok)
 /****************************************************************************
 help
 ****************************************************************************/
-void cmd_help(void)
+void cmd_help(char *dum_in, char *dum_out)
 {
   int i=0,j;
   fstring buf;
@@ -636,7 +636,7 @@ static BOOL process(char *base_directory)
        DEBUG(0,("%s: command not found\n",CNV_LANG(tok)));
     }
   
-  cli_send_logout();
+  cli_send_logout(InBuffer,OutBuffer);
   return(True);
 }
 
index d345ea38defc3fb7fc8eefb0f35098e84f28803e..ae073d1df863b5baf9d0762c5ca5d068db0a0b43 100644 (file)
@@ -263,6 +263,7 @@ Here come some platform specific sections
 #include <sys/acct.h>
 #include <sys/vfs.h>
 #include <string.h>
+#include <strings.h>
 #include <errno.h>
 #include <sys/wait.h>
 #include <signal.h>
@@ -291,6 +292,7 @@ typedef unsigned short mode_t;
 #define USE_SYSV_IPC
 /* SunOS doesn't have POSIX atexit */
 #define atexit on_exit
+#define NOSTRCASECMP
 #endif
 
 
@@ -335,7 +337,6 @@ extern int innetgr (const char *, const char *, const char *, const char *);
 #ifndef QSORT_CAST
 #define QSORT_CAST (int (*)(const void *, const void *))
 #endif /* QSORT_CAST */
-#define HAVE_VSNPRINTF
 #endif
 
 
@@ -1372,7 +1373,7 @@ extern int errno;
 #ifdef sprintf
 #undef sprintf
 #endif /* sprintf */
-#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__>;
+#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__;
 
 #define pstrcpy(d,s) safe_strcpy((d),(s),sizeof(pstring)-1)
 #define pstrcat(d,s) safe_strcat((d),(s),sizeof(pstring)-1)
index 79d46b1e4bf642d9abeba6162f485b2a7aa60e2a..e574861b65e11beaf987cee46daa59df78636bcc 100644 (file)
@@ -860,10 +860,6 @@ void make_wks_r_query_info(WKS_R_QUERY_INFO *r_u,
                                int status)  ;
 void wks_io_r_query_info(char *desc,  WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth);
 
-/*The following definitions come from  lib/rpc/server/srv_ldap_helpers.c  */
-
-void ldap_helper_dummy(void);
-
 /*The following definitions come from  lib/rpc/server/srv_lsa.c  */
 
 BOOL api_ntlsa_rpc(pipes_struct *p, prs_struct *data);
index f1ea1931c581c2d5e5473c78f389b34211fe5799..1e4a6fc27fc1e78454132c07cfb62dc6a6caec2a 100644 (file)
@@ -3370,10 +3370,11 @@ duplicate a string
  char *strdup(char *s)
 {
   char *ret = NULL;
+  int len;
   if (!s) return(NULL);
-  ret = (char *)malloc(strlen(s)+1);
+  ret = (char *)malloc((len = strlen(s))+1);
   if (!ret) return(NULL);
-  pstrcpy(ret,s);
+  safe_strcpy(ret,s,len);
   return(ret);
 }
 #endif
@@ -4793,68 +4794,9 @@ int unistrcpy(char *dst, char *src)
        return num_wchars;
 }
 
-#if 0
-/*******************************************************************
-safe string copy into a fstring
-********************************************************************/
-void fstrcpy(char *dest, char *src)
-{
-    int maxlength = sizeof(fstring) - 1;
-    int len;
-    if (!dest) {
-        DEBUG(0,("ERROR: NULL dest in fstrcpy\n"));
-        return;
-    }
-
-    if (!src) {
-        *dest = 0;
-        return;
-    }  
-
-    len = strlen(src);
-
-    if (len > maxlength) {
-           DEBUG(0,("ERROR: string overflow by %d in fstrcpy [%.50s]\n",
-                    len-maxlength, src));
-           len = maxlength;
-    }
-      
-    memcpy(dest, src, len);
-    dest[len] = 0;
-}   
-
-/*******************************************************************
-safe string cat into a fstring
-********************************************************************/
-void fstrcat(char *dest, char *src)
-{
-    int maxlength = sizeof(fstring) - 1;
-    int src_len, dest_len;
-    if (!dest) {
-        DEBUG(0,("ERROR: NULL dest in fstrcat\n"));
-        return;
-    }
-
-    if (!src) {
-        return;
-    }  
-
-    src_len = strlen(src);
-    dest_len = strlen(dest);
-
-    if (src_len + dest_len > maxlength) {
-           DEBUG(0,("ERROR: string overflow by %d in fstrcat [%.50s]\n",
-                    src_len + dest_len - maxlength, src));
-           src_len = maxlength - dest_len;
-    }
-      
-    memcpy(&dest[dest_len], src, src_len);
-    dest[dest_len + src_len] = 0;
-}
-#endif
-
 /*******************************************************************
-safe string copy into a known length string
+safe string copy into a known length string. maxlength does not
+include the terminating zero.
 ********************************************************************/
 char *safe_strcpy(char *dest, char *src, int maxlength)
 {
@@ -4884,7 +4826,8 @@ char *safe_strcpy(char *dest, char *src, int maxlength)
 }  
 
 /*******************************************************************
-safe string cat into a string
+safe string cat into a string. maxlength does not
+include the terminating zero.
 ********************************************************************/
 char *safe_strcat(char *dest, char *src, int maxlength)
 {
index 635cd08e9aac47ef891360679b914c69a9ee7ecc..183acd1f440949360e5a493c79608e31755502b0 100644 (file)
@@ -86,7 +86,7 @@ static BOOL share_name(int cnum, uint32 dev, uint32 inode, char *name)
   trim_string(name,"","/");
   if (!*name) return(False);
   len = strlen(name);
-  name += strlen(name);
+  name += len;
   
   slprintf(name, sizeof(pstring) - len - 1, "/share.%u.%u",dev,inode);
   return(True);
index acab81592614b59953d3d7f7e9e0ca59f487ec7f..e1f0fbae8f0e512eb3363753041b5e0a232919b6 100644 (file)
@@ -1522,7 +1522,7 @@ void wins_write_database(void)
   if(!lp_we_are_a_wins_server())
     return;
 
-  fstrcpy(fname,lp_lockdir());
+  pstrcpy(fname,lp_lockdir());
   trim_string(fname,NULL,"/");
   pstrcat(fname,"/");
   pstrcat(fname,WINS_LIST);
index ce45a7bc602142836fe64f1a8c100279f1f374d9..b0970a7d25136db75de0f00e78f72db85c02642a 100644 (file)
@@ -94,7 +94,7 @@ int clean_data( char **buf, uint32 *size)
     if(*cp == '\0')
       continue;
 
-    pstrcpy(newbuf_p, cp);
+    safe_strcpy(newbuf_p, cp, *size - (newbuf_p - newbuf));
     num_lines++;
     newbuf_p += (strlen(newbuf_p) + 1);
   }