--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/proftpd/patches/19575647.patch Mon Sep 29 06:22:27 2014 -0700
@@ -0,0 +1,53 @@
+diff --git a/include/pr-syslog.h b/include/pr-syslog.h
+index 3eea2be..774a3b0 100644
+--- a/include/pr-syslog.h
++++ b/include/pr-syslog.h
+@@ -68,7 +68,7 @@
+ #elif defined(__hpux)
+ # define PR_PATH_LOG "/dev/log.un"
+ #else
+-# define PR_PATH_LOG "/dev/log"
++# define PR_PATH_LOG "/dev/conslog"
+ #endif
+
+ /* Close desriptor used to write to system logger. */
+diff --git a/lib/pr-syslog.c b/lib/pr-syslog.c
+index 3a62956..2b3d747 100644
+--- a/lib/pr-syslog.c
++++ b/lib/pr-syslog.c
+@@ -265,7 +265,7 @@ static void pr_vsyslog(int sockfd, int pri, register const char *fmt,
+ send(sockfd, logbuf, buflen, 0);
+ #else
+
+- /* Prepare the structs for use by putmsg(). As /dev/log is a STREAMS
++ /* Prepare the structs for use by putmsg(). As /dev/conslog is a STREAMS
+ * device on Solaris (and possibly other platforms?), putmsg() is
+ * used so that syslog facility and level are properly honored; write()
+ * does not seem to work as desired.
+@@ -347,22 +347,11 @@ int pr_openlog(const char *ident, int opts, int facility) {
+ }
+ #else
+ sockfd = open(PR_PATH_LOG, O_WRONLY);
+-
+-# ifdef SOLARIS2
+- /* Workaround for a /dev/log bug (SunSolve bug #4817079) on Solaris. */
+- if (sockfd >= 0) {
+- struct strioctl ic;
+-
+- ic.ic_cmd = I_ERRLOG;
+- ic.ic_timout = 0;
+- ic.ic_len = 0;
+- ic.ic_dp = NULL;
+-
+- if (ioctl(sockfd, I_STR, &ic) < 0)
+- fprintf(stderr, "error setting I_ERRLOG on " PR_PATH_LOG ": %s\n",
+- strerror(errno));
++ if (sockfd < 0) {
++ fprintf(stderr, "failed to open %s: %d, %s\n",
++ PR_PATH_LOG, errno, strerror(errno));
++ exit(EXIT_FAILURE);
+ }
+-# endif /* SOLARIS2 */
+ #endif
+
+ return sockfd;