diff --git a/.gitignore b/.gitignore index 3e759bf..f3e242d 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,4 @@ /util-linux-2.25.1-rc1.tar.xz /util-linux-2.25.1.tar.xz /util-linux-2.25.2.tar.xz +/util-linux-2.26-rc1.tar.xz diff --git a/2.26-libblkid-escape.patch b/2.26-libblkid-escape.patch deleted file mode 100644 index acde467..0000000 --- a/2.26-libblkid-escape.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff -up util-linux-2.25.2/include/carefulputc.h.kzak util-linux-2.25.2/include/carefulputc.h ---- util-linux-2.25.2/include/carefulputc.h.kzak 2014-10-24 11:21:20.309387887 +0200 -+++ util-linux-2.25.2/include/carefulputc.h 2014-11-27 14:25:52.814604767 +0100 -@@ -38,6 +38,8 @@ static inline void fputs_quoted(const ch - for (p = data; p && *p; p++) { - if ((unsigned char) *p == 0x22 || /* " */ - (unsigned char) *p == 0x5c || /* \ */ -+ (unsigned char) *p == 0x60 || /* ` */ -+ (unsigned char) *p == 0x24 || /* $ */ - !isprint((unsigned char) *p) || - iscntrl((unsigned char) *p)) { - -diff -up util-linux-2.25.2/libblkid/src/read.c.kzak util-linux-2.25.2/libblkid/src/read.c ---- util-linux-2.25.2/libblkid/src/read.c.kzak 2014-09-16 14:37:06.147551766 +0200 -+++ util-linux-2.25.2/libblkid/src/read.c 2014-11-27 14:26:02.848721993 +0100 -@@ -252,15 +252,30 @@ static int parse_token(char **name, char - *value = skip_over_blank(*value + 1); - - if (**value == '"') { -- end = strchr(*value + 1, '"'); -- if (!end) { -+ char *p = end = *value + 1; -+ -+ /* convert 'foo\"bar' to 'foo"bar' */ -+ while (*p) { -+ if (*p == '\\') { -+ p++; -+ *end = *p; -+ } else { -+ *end = *p; -+ if (*p == '"') -+ break; -+ } -+ p++; -+ end++; -+ } -+ -+ if (*end != '"') { - DBG(READ, ul_debug("unbalanced quotes at: %s", *value)); - *cp = *value; - return -BLKID_ERR_CACHE; - } - (*value)++; - *end = '\0'; -- end++; -+ end = ++p; - } else { - end = skip_over_word(*value); - if (*end) { -diff -up util-linux-2.25.2/libblkid/src/save.c.kzak util-linux-2.25.2/libblkid/src/save.c ---- util-linux-2.25.2/libblkid/src/save.c.kzak 2014-09-16 14:37:06.147551766 +0200 -+++ util-linux-2.25.2/libblkid/src/save.c 2014-11-27 14:26:02.848721993 +0100 -@@ -26,6 +26,21 @@ - - #include "blkidP.h" - -+ -+static void save_quoted(const char *data, FILE *file) -+{ -+ const char *p; -+ -+ fputc('"', file); -+ for (p = data; p && *p; p++) { -+ if ((unsigned char) *p == 0x22 || /* " */ -+ (unsigned char) *p == 0x5c) /* \ */ -+ fputc('\\', file); -+ -+ fputc(*p, file); -+ } -+ fputc('"', file); -+} - static int save_dev(blkid_dev dev, FILE *file) - { - struct list_head *p; -@@ -43,9 +58,14 @@ static int save_dev(blkid_dev dev, FILE - - if (dev->bid_pri) - fprintf(file, " PRI=\"%d\"", dev->bid_pri); -+ - list_for_each(p, &dev->bid_tags) { - blkid_tag tag = list_entry(p, struct blkid_struct_tag, bit_tags); -- fprintf(file, " %s=\"%s\"", tag->bit_name,tag->bit_val); -+ -+ fputc(' ', file); /* space between tags */ -+ fputs(tag->bit_name, file); /* tag NAME */ -+ fputc('=', file); /* separator between NAME and VALUE */ -+ save_quoted(tag->bit_val, file); /* tag "VALUE" */ - } - fprintf(file, ">%s\n", dev->bid_name); - -diff -up util-linux-2.25.2/misc-utils/blkid.8.kzak util-linux-2.25.2/misc-utils/blkid.8 ---- util-linux-2.25.2/misc-utils/blkid.8.kzak 2013-09-18 15:50:12.690263681 +0200 -+++ util-linux-2.25.2/misc-utils/blkid.8 2014-11-27 14:26:02.849722005 +0100 -@@ -193,7 +193,10 @@ partitions. This output format is \fBDE - .TP - .B export - print key=value pairs for easy import into the environment; this output format --is automatically enabled when I/O Limits (\fB-i\fR option) are requested -+is automatically enabled when I/O Limits (\fB-i\fR option) are requested. -+ -+The non-printing characters are encoded by ^ and M- notation and all -+potentially unsafe characters are escaped. - .RE - .TP - .BI \-O " offset" -diff -up util-linux-2.25.2/misc-utils/blkid.c.kzak util-linux-2.25.2/misc-utils/blkid.c ---- util-linux-2.25.2/misc-utils/blkid.c.kzak 2014-10-24 11:29:07.834363569 +0200 -+++ util-linux-2.25.2/misc-utils/blkid.c 2014-11-27 14:26:02.849722005 +0100 -@@ -306,7 +306,7 @@ static void print_value(int output, int - printf("DEVNAME=%s\n", devname); - fputs(name, stdout); - fputs("=", stdout); -- safe_print(value, valsz, NULL); -+ safe_print(value, valsz, " \\\"'$`<>"); - fputs("\n", stdout); - - } else { -@@ -315,7 +315,7 @@ static void print_value(int output, int - fputs(" ", stdout); - fputs(name, stdout); - fputs("=\"", stdout); -- safe_print(value, valsz, "\""); -+ safe_print(value, valsz, "\"\\"); - fputs("\"", stdout); - } - } diff --git a/sources b/sources index 6c95b4d..8269808 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -cab3d7be354000f629bc601238b629b3 util-linux-2.25.2.tar.xz +f7e66c2f9f07057d368e407baa42d077 util-linux-2.26-rc1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index fc1cc2f..380b85a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.25.2 -Release: 2%{?dist} +Version: 2.26 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux -%define upstream_version %{version} +%define upstream_version %{version}-rc1 ### Macros %define compldir %{_datadir}/bash-completion/completions/ @@ -71,15 +71,13 @@ Requires: libuuid = %{version}-%{release} Requires: libblkid = %{version}-%{release} Requires: libmount = %{version}-%{release} Requires: libsmartcols = %{version}-%{release} +Requires: libfdisk = %{version}-%{release} ### Ready for upstream? ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch -# 1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid -Patch1: 2.26-libblkid-escape.patch - %description The util-linux package contains a large variety of low-level system utilities that are necessary for a Linux system to function. Among @@ -87,6 +85,27 @@ others, Util-linux contains the fdisk configuration tool and the login program. +%package -n libfdisk +Summary: Partitioning library for fdisk-like programs. +Group: Development/Libraries +License: LGPLv2+ + +%description -n libfdisk +This is library for fdisk-like programs, part of util-linux. + + +%package -n libfdisk-devel +Summary: Partitioning library for fdisk-like programs. +Group: Development/Libraries +License: LGPLv2+ +Requires: libfdisk = %{version}-%{release} +Requires: pkgconfig + +%description -n libfdisk-devel +This is development library and headers for fdisk-like programs, +part of util-linux. + + %package -n libsmartcols Summary: Formatting library for ls-like programs. Group: Development/Libraries @@ -233,6 +252,8 @@ unset LINGUAS || : export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS" export SUID_CFLAGS="-fpie" export SUID_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" +export DAEMON_CFLAGS="$SUID_CFLAGS" +export DAEMON_LDFLAGS="$SUID_LDFLAGS" %configure \ --with-systemdsystemunitdir=%{_unitdir} \ --disable-silent-rules \ @@ -353,7 +374,7 @@ rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt ln -sf /proc/mounts %{buildroot}/etc/mtab # remove static libs -rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols}.a +rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a # find MO files %find_lang %name @@ -415,6 +436,9 @@ done %post -n libsmartcols -p /sbin/ldconfig %postun -n libsmartcols -p /sbin/ldconfig +%post -n libfdisk -p /sbin/ldconfig +%postun -n libfdisk -p /sbin/ldconfig + %pre -n uuidd getent group uuidd >/dev/null || groupadd -r uuidd getent passwd uuidd >/dev/null || \ @@ -614,6 +638,7 @@ exit 0 %{_mandir}/man8/umount.8* %{_mandir}/man8/wdctl.8.gz %{_mandir}/man8/wipefs.8* +%{_mandir}/man8/zramctl.8* %{_sbindir}/addpart %{_sbindir}/agetty %{_sbindir}/blkdiscard @@ -648,6 +673,7 @@ exit 0 %{_sbindir}/swapon %{_sbindir}/switch_root %{_sbindir}/wipefs +%{_sbindir}/zramctl %{compldir}/addpart %{compldir}/blkdiscard @@ -730,6 +756,7 @@ exit 0 %{compldir}/whereis %{compldir}/wipefs %{compldir}/write +%{compldir}/zramctl %ifnarch s390 s390x %{_sbindir}/clock @@ -767,6 +794,19 @@ exit 0 %{compldir}/uuidd +%files -n libfdisk +%defattr(-,root,root) +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.LGPLv2.1 libfdisk/COPYING +%{_libdir}/libfdisk.so.* + +%files -n libfdisk-devel +%defattr(-,root,root) +%{_libdir}/libfdisk.so +%{_includedir}/libfdisk +%{_libdir}/pkgconfig/fdisk.pc + + %files -n libsmartcols %defattr(-,root,root) %{!?_licensedir:%global license %%doc} @@ -838,6 +878,12 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* Thu Jan 15 2015 Karel Zak 2.26-0.1 +- upgrade to 2.26-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-ReleaseNotes +- build with -pie for uuidd +- new command zramctl + * Thu Nov 27 2014 Karel Zak 2.25.2-2 - fix #1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid