Package: freeipmi
Version: 1.1.5-3
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu quantal ubuntu-patch




In Ubuntu, the attached patch was applied to achieve the following:


  * debian/rules: Build with "-pie,-bindnow"
  * debian/patches/0002_excel_when_opening_tmp.patch: Open files with O_EXCL.
  * debian/patches/fix-Wunused-result.patch: Resolve -Wunused-result's 
    warnings, by checking for non-0 return. 

I'm not sure fix-Wunused-result.patch adds any value to the latest experimental 
package.

Thanks for considering the patch.


-- System Information:
Debian Release: wheezy/sid
  APT prefers quantal-updates
  APT policy: (500, 'quantal-updates'), (500, 'quantal-security'), (500, 
'quantal')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.5.0-10-generic (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru freeipmi-1.1.5/debian/changelog freeipmi-1.1.5/debian/changelog
diff -Nru freeipmi-1.1.5/debian/patches/0002_excel_when_opening_tmp.patch freeipmi-1.1.5/debian/patches/0002_excel_when_opening_tmp.patch
--- freeipmi-1.1.5/debian/patches/0002_excel_when_opening_tmp.patch	1970-01-01 01:00:00.000000000 +0100
+++ freeipmi-1.1.5/debian/patches/0002_excel_when_opening_tmp.patch	2012-10-07 20:17:11.000000000 +0100
@@ -0,0 +1,26 @@
+Index: freeipmi-1.1.5/libipmiconsole/ipmiconsole_debug.c
+===================================================================
+--- freeipmi-1.1.5.orig/libipmiconsole/ipmiconsole_debug.c	2012-05-17 15:08:55.000000000 -0400
++++ freeipmi-1.1.5/libipmiconsole/ipmiconsole_debug.c	2012-10-02 10:32:04.755269452 -0400
+@@ -84,7 +84,7 @@
+                 IPMICONSOLE_DEBUG_DIRECTORY,
+                 IPMICONSOLE_DEBUG_FILENAME);
+ 
+-      if ((console_debug_fd = open (filename, O_CREAT | O_APPEND | O_WRONLY, 0600)) < 0)
++      if ((console_debug_fd = open (filename, O_CREAT | O_APPEND | O_WRONLY | O_EXCL, 0600)) < 0)
+         {
+           console_debug_flags &= ~IPMICONSOLE_DEBUG_FILE;
+           IPMICONSOLE_DEBUG (("open: %s", strerror (errno)));
+Index: freeipmi-1.1.5/libipmiconsole/ipmiconsole_ctx.c
+===================================================================
+--- freeipmi-1.1.5.orig/libipmiconsole/ipmiconsole_ctx.c	2012-05-17 15:08:55.000000000 -0400
++++ freeipmi-1.1.5/libipmiconsole/ipmiconsole_ctx.c	2012-10-02 10:34:50.559273698 -0400
+@@ -351,7 +351,7 @@
+                 c->config.hostname);
+ 
+       if ((c->debug.debug_fd = open (filename,
+-                                     O_CREAT | O_APPEND | O_WRONLY,
++                                     O_CREAT | O_APPEND | O_WRONLY | O_EXCL,
+                                      0600)) < 0)
+         {
+           c->config.debug_flags &= ~IPMICONSOLE_DEBUG_FILE;
diff -Nru freeipmi-1.1.5/debian/patches/fix-Wunused-result.patch freeipmi-1.1.5/debian/patches/fix-Wunused-result.patch
--- freeipmi-1.1.5/debian/patches/fix-Wunused-result.patch	1970-01-01 01:00:00.000000000 +0100
+++ freeipmi-1.1.5/debian/patches/fix-Wunused-result.patch	2012-10-09 12:27:26.000000000 +0100
@@ -0,0 +1,54 @@
+Description: Resolve -Wunused-result's warnings, by checking for non-0 return.
+ Patch not upstreamed, as trunk has refactored this case out.
+Author: Dave Walker (Daviey) <davewal...@ubuntu.com>
+Forwarded: not-needed
+
+--- a/bmc-watchdog/bmc-watchdog.c
++++ b/bmc-watchdog/bmc-watchdog.c
+@@ -1692,7 +1692,8 @@
+         {
+           /* parent terminates */
+           char buf;
+-          read(fds[0], &buf, 1);
++          if (read(fds[0], &buf, 1) < 0)
++            _err_exit ("read: %s", strerror (errno));
+           close(fds[1]);
+           close(fds[0]);
+           exit (0);
+@@ -1718,7 +1719,8 @@
+ 
+       umask (0);
+ 
+-      write(fds[1], "a", 1);
++      if (write(fds[1], "a", 1) < 0)
++        _err_exit ("write: %s", strerror (errno));
+       close(fds[1]);
+       close(fds[0]);
+       for (i = 0; i < 64; i++)
+--- a/ipmidetectd/ipmidetectd.c
++++ b/ipmidetectd/ipmidetectd.c
+@@ -69,7 +69,8 @@
+     {
+       /* Terminate Parent */
+       char buf;
+-      read(fds[0], &buf, 1);
++      if (read(fds[0], &buf, 1) < 0)
++        IPMIDETECTD_EXIT (("read: %s", strerror (errno)));
+       close(fds[1]);
+       close(fds[0]);
+       exit (0);
+@@ -86,10 +87,12 @@
+   if (pid != 0)                 /* Terminate 1st Child */
+     exit (0);
+ 
+-  chdir ("/");
++  if (chdir ("/") < 0)
++    IPMIDETECTD_EXIT (("chdir: %s", strerror (errno)));
+ 
+   umask (0);
+-  write(fds[1], "a", 1);
++  if (write(fds[1], "a", 1) < 0)
++    IPMIDETECTD_EXIT (("write: %s", strerror (errno)));
+   close(fds[1]);
+   close(fds[0]);
+ 
diff -Nru freeipmi-1.1.5/debian/patches/series freeipmi-1.1.5/debian/patches/series
--- freeipmi-1.1.5/debian/patches/series	2012-06-15 02:41:57.000000000 +0100
+++ freeipmi-1.1.5/debian/patches/series	2012-10-07 22:17:30.000000000 +0100
@@ -1,3 +1,5 @@
 up_fixmanpages
 deb_bmc-watchdog_noRUN
 0001-Fix-Wformat-security-warnings.patch
+0002_excel_when_opening_tmp.patch
+fix-Wunused-result.patch
diff -Nru freeipmi-1.1.5/debian/rules freeipmi-1.1.5/debian/rules
--- freeipmi-1.1.5/debian/rules	2012-06-15 02:41:57.000000000 +0100
+++ freeipmi-1.1.5/debian/rules	2012-10-07 20:17:11.000000000 +0100
@@ -4,6 +4,8 @@
 # We use some bashisms
 SHELL=/bin/bash
 
+export DEB_BUILD_MAINT_OPTIONS=hardening=+pie,+bindnow
+
 # mega rule -- Joey knows how to do the rest
 %:
 	dh $@ --with autotools_dev

Reply via email to