components/proftpd/patches/007.19575647.patch
author Tomas Klacko <tomas.klacko@oracle.com>
Wed, 11 Mar 2015 03:50:20 -0700
changeset 3932 1b7dd68f6aa9
parent 2119 components/proftpd/patches/19575647.patch@298ae3e639ce
permissions -rw-r--r--
20553228 add proftpd dtrace provider from AK to Userland
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2119
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     1
diff --git a/include/pr-syslog.h b/include/pr-syslog.h
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     2
index 3eea2be..774a3b0 100644
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     3
--- a/include/pr-syslog.h
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     4
+++ b/include/pr-syslog.h
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     5
@@ -68,7 +68,7 @@
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     6
 #elif defined(__hpux)
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     7
 # define PR_PATH_LOG	"/dev/log.un"
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     8
 #else
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
     9
-# define PR_PATH_LOG	"/dev/log"
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    10
+# define PR_PATH_LOG	"/dev/conslog"
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    11
 #endif
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    12
 
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    13
 /* Close desriptor used to write to system logger. */
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    14
diff --git a/lib/pr-syslog.c b/lib/pr-syslog.c
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    15
index 3a62956..2b3d747 100644
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    16
--- a/lib/pr-syslog.c
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    17
+++ b/lib/pr-syslog.c
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    18
@@ -265,7 +265,7 @@ static void pr_vsyslog(int sockfd, int pri, register const char *fmt,
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    19
   send(sockfd, logbuf, buflen, 0);
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    20
 #else
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    21
 
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    22
-  /* Prepare the structs for use by putmsg(). As /dev/log is a STREAMS
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    23
+  /* Prepare the structs for use by putmsg(). As /dev/conslog is a STREAMS
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    24
    * device on Solaris (and possibly other platforms?), putmsg() is
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    25
    * used so that syslog facility and level are properly honored; write()
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    26
    * does not seem to work as desired.
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    27
@@ -347,22 +347,11 @@ int pr_openlog(const char *ident, int opts, int facility) {
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    28
   }
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    29
 #else
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    30
   sockfd = open(PR_PATH_LOG, O_WRONLY);
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    31
-
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    32
-# ifdef SOLARIS2
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    33
-  /* Workaround for a /dev/log bug (SunSolve bug #4817079) on Solaris. */
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    34
-  if (sockfd >= 0) {
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    35
-    struct strioctl ic;
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    36
-
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    37
-    ic.ic_cmd = I_ERRLOG;
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    38
-    ic.ic_timout = 0;
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    39
-    ic.ic_len = 0;
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    40
-    ic.ic_dp = NULL;
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    41
-
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    42
-    if (ioctl(sockfd, I_STR, &ic) < 0)
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    43
-      fprintf(stderr, "error setting I_ERRLOG on " PR_PATH_LOG ": %s\n",
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    44
-        strerror(errno));
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    45
+  if (sockfd < 0) {
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    46
+    fprintf(stderr, "failed to open %s: %d, %s\n",
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    47
+      PR_PATH_LOG, errno, strerror(errno));
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    48
+    exit(EXIT_FAILURE);
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    49
   }
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    50
-# endif /* SOLARIS2 */
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    51
 #endif
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    52
 
298ae3e639ce 19575647 Proftpd misses log entries and fails in open(2) of /dev/log
Tomas Klacko <tomas.klacko@oracle.com>
parents:
diff changeset
    53
   return sockfd;