+#ifndef HAVE_SNPRINTF
+extern int snprintf(char *, size_t, const char *, /*args*/ ...);
+#endif /* ndef HAVE_SNPRINTF */
+
+#if !defined(HAVE_TIMEGM) && defined(HAVE_TZSET) && defined(HAVE_PUTENV)
+time_t timegm(struct tm *tm);
+#endif /* !defined(HAVE_TIMEGM) && defined(HAVE_TZSET) && defined(HAVE_PUTENV) */
+
+/* Here's looking at you, Ulrich. */
+#if !defined(HAVE_STRLCPY)
+#define strlcpy(dst, src, size) (size_t)snprintf((dst), (size), "%s", (src))
+#define HAVE_STRLCPY 1
+#endif /* ndef HAVE_STRLCPY*/
+
+#ifndef HAVE_STRLCAT
+size_t privoxy_strlcat(char *destination, const char *source, size_t size);
+#define strlcat privoxy_strlcat
+#endif /* ndef HAVE_STRLCAT */
+