blob: 35d2f29ac6f3d64b8d2b8e307be9ab14ca909f78 [file] [log] [blame]
diff -aruN curl-7.25.0/configure.ac curl-7.25.0.N/configure.ac
--- curl-7.25.0/configure.ac 2012-03-08 11:35:23.000000000 -0800
+++ curl-7.25.0.N/configure.ac 2014-10-05 15:25:05.000000000 -0700
@@ -2776,7 +2776,6 @@
CURL_CHECK_FUNC_STRDUP
CURL_CHECK_FUNC_STRERROR_R
CURL_CHECK_FUNC_STRICMP
-CURL_CHECK_FUNC_STRLCAT
CURL_CHECK_FUNC_STRNCASECMP
CURL_CHECK_FUNC_STRNCMPI
CURL_CHECK_FUNC_STRNICMP
diff -aruN curl-7.25.0/lib/config-dos.h curl-7.25.0.N/lib/config-dos.h
--- curl-7.25.0/lib/config-dos.h 2012-03-08 11:35:24.000000000 -0800
+++ curl-7.25.0.N/lib/config-dos.h 2014-10-05 15:25:05.000000000 -0700
@@ -164,10 +164,6 @@
#define HAVE_SYS_TIME_H 1
#define HAVE_VARIADIC_MACROS_GCC 1
- #if (DJGPP_MINOR >= 4)
- #define HAVE_STRLCAT 1
- #endif
-
/* Because djgpp <= 2.03 doesn't have snprintf() etc. */
#if (DJGPP_MINOR < 4)
#define _MPRINTF_REPLACE
diff -aruN curl-7.25.0/lib/config-os400.h curl-7.25.0.N/lib/config-os400.h
--- curl-7.25.0/lib/config-os400.h 2012-03-08 11:35:24.000000000 -0800
+++ curl-7.25.0.N/lib/config-os400.h 2014-10-05 15:25:05.000000000 -0700
@@ -295,9 +295,6 @@
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
/* Define if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
diff -aruN curl-7.25.0/lib/config-riscos.h curl-7.25.0.N/lib/config-riscos.h
--- curl-7.25.0/lib/config-riscos.h 2012-03-08 11:35:24.000000000 -0800
+++ curl-7.25.0.N/lib/config-riscos.h 2014-10-05 15:25:05.000000000 -0700
@@ -293,9 +293,6 @@
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H
-/* Define if you have the `strlcat' function. */
-#undef HAVE_STRLCAT
-
/* Define if you have the `strlcpy' function. */
#undef HAVE_STRLCPY
diff -aruN curl-7.25.0/lib/config-symbian.h curl-7.25.0.N/lib/config-symbian.h
--- curl-7.25.0/lib/config-symbian.h 2011-11-04 15:32:55.000000000 -0700
+++ curl-7.25.0.N/lib/config-symbian.h 2014-10-05 15:25:05.000000000 -0700
@@ -532,9 +532,6 @@
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_STRLCAT 1
-
/* Define to 1 if you have the `strlcpy' function. */
#define HAVE_STRLCPY 1
diff -aruN curl-7.25.0/lib/config-tpf.h curl-7.25.0.N/lib/config-tpf.h
--- curl-7.25.0/lib/config-tpf.h 2011-11-04 15:32:55.000000000 -0700
+++ curl-7.25.0.N/lib/config-tpf.h 2014-10-05 15:25:05.000000000 -0700
@@ -477,9 +477,6 @@
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
-/* Define to 1 if you have the `strlcat' function. */
-/* #undef HAVE_STRLCAT */
-
/* Define to 1 if you have the `strlcpy' function. */
/* #undef HAVE_STRLCPY */
diff -aruN curl-7.25.0/lib/config-vxworks.h curl-7.25.0.N/lib/config-vxworks.h
--- curl-7.25.0/lib/config-vxworks.h 2011-11-04 15:32:55.000000000 -0700
+++ curl-7.25.0.N/lib/config-vxworks.h 2014-10-05 15:25:05.000000000 -0700
@@ -604,9 +604,6 @@
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
-/* Define to 1 if you have the strlcat function. */
-/* #undef HAVE_STRLCAT */
-
/* Define to 1 if you have the `strlcpy' function. */
/* #undef HAVE_STRLCPY */
diff -aruN curl-7.25.0/lib/if2ip.c curl-7.25.0.N/lib/if2ip.c
--- curl-7.25.0/lib/if2ip.c 2012-03-08 11:35:24.000000000 -0800
+++ curl-7.25.0.N/lib/if2ip.c 2014-10-05 15:25:05.000000000 -0700
@@ -101,6 +101,7 @@
curl_strequal(iface->ifa_name, interf)) {
void *addr;
char scope[12]="";
+ char ipstr[64];
#ifdef ENABLE_IPV6
if(af == AF_INET6) {
unsigned int scopeid = 0;
@@ -115,8 +116,9 @@
else
#endif
addr = &((struct sockaddr_in *)iface->ifa_addr)->sin_addr;
- ip = (char *) Curl_inet_ntop(af, addr, buf, buf_size);
- strlcat(buf, scope, buf_size);
+ ip = (char *) Curl_inet_ntop(af, addr, ipstr, sizeof(ipstr));
+ snprintf(buf, buf_size, "%s%s", ip, scope);
+ ip = buf;
break;
}
}
diff -aruN curl-7.25.0/lib/socks.c curl-7.25.0.N/lib/socks.c
--- curl-7.25.0/lib/socks.c 2012-03-08 11:35:25.000000000 -0800
+++ curl-7.25.0.N/lib/socks.c 2014-10-05 15:25:05.000000000 -0700
@@ -199,8 +199,15 @@
* This is currently not supporting "Identification Protocol (RFC1413)".
*/
socksreq[8] = 0; /* ensure empty userid is NUL-terminated */
- if(proxy_name)
- strlcat((char*)socksreq + 8, proxy_name, sizeof(socksreq) - 8);
+ if(proxy_name) {
+ size_t plen = strlen(proxy_name);
+ if(plen >= sizeof(socksreq) - 8) {
+ failf(data, "Too long SOCKS proxy name, can't use!\n");
+ return CURLE_COULDNT_CONNECT;
+ }
+ /* copy the proxy name WITH trailing zero */
+ memcpy(socksreq + 8, proxy_name, plen+1);
+ }
/*
* Make connection
diff -aruN curl-7.25.0/lib/strequal.c curl-7.25.0.N/lib/strequal.c
--- curl-7.25.0/lib/strequal.c 2012-03-08 11:35:25.000000000 -0800
+++ curl-7.25.0.N/lib/strequal.c 2014-10-05 15:25:05.000000000 -0700
@@ -77,48 +77,3 @@
return toupper(*first) == toupper(*second);
#endif
}
-
-#ifndef HAVE_STRLCAT
-/*
- * The strlcat() function appends the NUL-terminated string src to the end
- * of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-termi-
- * nating the result.
- *
- * The strlcpy() and strlcat() functions return the total length of the
- * string they tried to create. For strlcpy() that means the length of src.
- * For strlcat() that means the initial length of dst plus the length of
- * src. While this may seem somewhat confusing it was done to make trunca-
- * tion detection simple.
- *
- *
- */
-size_t Curl_strlcat(char *dst, const char *src, size_t siz)
-{
- char *d = dst;
- const char *s = src;
- size_t n = siz;
- union {
- ssize_t sig;
- size_t uns;
- } dlen;
-
- /* Find the end of dst and adjust bytes left but don't go past end */
- while(n-- != 0 && *d != '\0')
- d++;
- dlen.sig = d - dst;
- n = siz - dlen.uns;
-
- if(n == 0)
- return(dlen.uns + strlen(s));
- while(*s != '\0') {
- if(n != 1) {
- *d++ = *s;
- n--;
- }
- s++;
- }
- *d = '\0';
-
- return(dlen.uns + (s - src)); /* count does not include NUL */
-}
-#endif
diff -aruN curl-7.25.0/lib/strequal.h curl-7.25.0.N/lib/strequal.h
--- curl-7.25.0/lib/strequal.h 2011-03-19 08:16:07.000000000 -0700
+++ curl-7.25.0.N/lib/strequal.h 2014-10-05 15:25:05.000000000 -0700
@@ -27,9 +27,4 @@
#define strequal(a,b) curl_strequal(a,b)
#define strnequal(a,b,c) curl_strnequal(a,b,c)
-#ifndef HAVE_STRLCAT
-#define strlcat(x,y,z) Curl_strlcat(x,y,z)
-#endif
-size_t strlcat(char *dst, const char *src, size_t siz);
-
#endif
diff -aruN curl-7.25.0/m4/curl-functions.m4 curl-7.25.0.N/m4/curl-functions.m4
--- curl-7.25.0/m4/curl-functions.m4 2012-03-21 16:12:36.000000000 -0700
+++ curl-7.25.0.N/m4/curl-functions.m4 2014-10-05 15:25:05.000000000 -0700
@@ -6418,92 +6418,6 @@
fi
])
-
-dnl CURL_CHECK_FUNC_STRLCAT
-dnl -------------------------------------------------
-dnl Verify if strlcat is available, prototyped, and
-dnl can be compiled. If all of these are true, and
-dnl usage has not been previously disallowed with
-dnl shell variable curl_disallow_strlcat, then
-dnl HAVE_STRLCAT will be defined.
-
-AC_DEFUN([CURL_CHECK_FUNC_STRLCAT], [
- AC_REQUIRE([CURL_INCLUDES_STRING])dnl
- #
- tst_links_strlcat="unknown"
- tst_proto_strlcat="unknown"
- tst_compi_strlcat="unknown"
- tst_allow_strlcat="unknown"
- #
- AC_MSG_CHECKING([if strlcat can be linked])
- AC_LINK_IFELSE([
- AC_LANG_FUNC_LINK_TRY([strlcat])
- ],[
- AC_MSG_RESULT([yes])
- tst_links_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_links_strlcat="no"
- ])
- #
- if test "$tst_links_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat is prototyped])
- AC_EGREP_CPP([strlcat],[
- $curl_includes_string
- ],[
- AC_MSG_RESULT([yes])
- tst_proto_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_proto_strlcat="no"
- ])
- fi
- #
- if test "$tst_proto_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat is compilable])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_string
- ]],[[
- if(0 != strlcat(0, 0, 0))
- return 1;
- ]])
- ],[
- AC_MSG_RESULT([yes])
- tst_compi_strlcat="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_compi_strlcat="no"
- ])
- fi
- #
- if test "$tst_compi_strlcat" = "yes"; then
- AC_MSG_CHECKING([if strlcat usage allowed])
- if test "x$curl_disallow_strlcat" != "xyes"; then
- AC_MSG_RESULT([yes])
- tst_allow_strlcat="yes"
- else
- AC_MSG_RESULT([no])
- tst_allow_strlcat="no"
- fi
- fi
- #
- AC_MSG_CHECKING([if strlcat might be used])
- if test "$tst_links_strlcat" = "yes" &&
- test "$tst_proto_strlcat" = "yes" &&
- test "$tst_compi_strlcat" = "yes" &&
- test "$tst_allow_strlcat" = "yes"; then
- AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_STRLCAT, 1,
- [Define to 1 if you have the strlcat function.])
- ac_cv_func_strlcat="yes"
- else
- AC_MSG_RESULT([no])
- ac_cv_func_strlcat="no"
- fi
-])
-
-
dnl CURL_CHECK_FUNC_STRNCASECMP
dnl -------------------------------------------------
dnl Verify if strncasecmp is available, prototyped, and