diff --git a/2.24-bash-completion-IFS.patch b/2.24-bash-completion-IFS.patch new file mode 100644 index 0000000..15b87bc --- /dev/null +++ b/2.24-bash-completion-IFS.patch @@ -0,0 +1,508 @@ +diff -up util-linux-2.23.2/bash-completion/blkid.kzak util-linux-2.23.2/bash-completion/blkid +--- util-linux-2.23.2/bash-completion/blkid.kzak 2013-06-13 09:46:10.338649921 +0200 ++++ util-linux-2.23.2/bash-completion/blkid 2014-01-13 12:15:46.542060064 +0100 +@@ -6,6 +6,7 @@ _blkid_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-c') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/colcrt.kzak util-linux-2.23.2/bash-completion/colcrt +--- util-linux-2.23.2/bash-completion/colcrt.kzak 2013-06-13 09:46:10.342649955 +0200 ++++ util-linux-2.23.2/bash-completion/colcrt 2014-01-13 12:15:46.545060095 +0100 +@@ -19,6 +19,7 @@ _colcrt_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/column.kzak util-linux-2.23.2/bash-completion/column +--- util-linux-2.23.2/bash-completion/column.kzak 2013-06-13 09:46:10.343649963 +0200 ++++ util-linux-2.23.2/bash-completion/column 2014-01-13 12:15:46.545060095 +0100 +@@ -30,6 +30,7 @@ _column_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/cytune.kzak util-linux-2.23.2/bash-completion/cytune +--- util-linux-2.23.2/bash-completion/cytune.kzak 2013-06-13 09:46:10.344649972 +0200 ++++ util-linux-2.23.2/bash-completion/cytune 2014-01-13 12:15:46.545060095 +0100 +@@ -33,6 +33,7 @@ _cytune_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/dev/tty"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/dmesg.kzak util-linux-2.23.2/bash-completion/dmesg +--- util-linux-2.23.2/bash-completion/dmesg.kzak 2013-06-13 09:46:10.345649980 +0200 ++++ util-linux-2.23.2/bash-completion/dmesg 2014-01-13 12:15:46.545060095 +0100 +@@ -6,6 +6,7 @@ _dmesg_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-F'|'--file') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/fallocate.kzak util-linux-2.23.2/bash-completion/fallocate +--- util-linux-2.23.2/bash-completion/fallocate.kzak 2013-06-13 09:46:10.345649980 +0200 ++++ util-linux-2.23.2/bash-completion/fallocate 2014-01-13 12:15:46.545060095 +0100 +@@ -20,6 +20,7 @@ _fallocate_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/findmnt.kzak util-linux-2.23.2/bash-completion/findmnt +--- util-linux-2.23.2/bash-completion/findmnt.kzak 2013-06-13 09:46:10.347649997 +0200 ++++ util-linux-2.23.2/bash-completion/findmnt 2014-01-13 12:15:46.545060095 +0100 +@@ -18,6 +18,7 @@ _findmnt_module() + return 0 + ;; + '-F'|'--tab-file') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/flock.kzak util-linux-2.23.2/bash-completion/flock +--- util-linux-2.23.2/bash-completion/flock.kzak 2013-06-13 09:46:10.347649997 +0200 ++++ util-linux-2.23.2/bash-completion/flock 2014-01-13 12:15:46.545060095 +0100 +@@ -38,6 +38,7 @@ _flock_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/fsck.cramfs.kzak util-linux-2.23.2/bash-completion/fsck.cramfs +--- util-linux-2.23.2/bash-completion/fsck.cramfs.kzak 2013-06-13 09:46:10.349650015 +0200 ++++ util-linux-2.23.2/bash-completion/fsck.cramfs 2014-01-13 12:15:46.545060095 +0100 +@@ -6,6 +6,7 @@ _fsck.cramfs_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-x'|'--destination') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/hexdump.kzak util-linux-2.23.2/bash-completion/hexdump +--- util-linux-2.23.2/bash-completion/hexdump.kzak 2013-07-30 10:39:26.186738042 +0200 ++++ util-linux-2.23.2/bash-completion/hexdump 2014-01-13 12:15:46.546060105 +0100 +@@ -28,6 +28,7 @@ _hexdump_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/hwclock.kzak util-linux-2.23.2/bash-completion/hwclock +--- util-linux-2.23.2/bash-completion/hwclock.kzak 2013-06-13 09:46:10.351650032 +0200 ++++ util-linux-2.23.2/bash-completion/hwclock 2014-01-13 12:15:46.546060105 +0100 +@@ -6,6 +6,7 @@ _hwclock_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-f'|'--rtc'|'--adjfile') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/ionice.kzak util-linux-2.23.2/bash-completion/ionice +--- util-linux-2.23.2/bash-completion/ionice.kzak 2013-06-13 09:46:10.352650040 +0200 ++++ util-linux-2.23.2/bash-completion/ionice 2014-01-13 12:15:46.546060105 +0100 +@@ -30,6 +30,7 @@ _ionice_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/last.kzak util-linux-2.23.2/bash-completion/last +--- util-linux-2.23.2/bash-completion/last.kzak 2013-06-13 09:46:10.353650049 +0200 ++++ util-linux-2.23.2/bash-completion/last 2014-01-13 12:15:46.546060105 +0100 +@@ -6,6 +6,7 @@ _last_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-f') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/ldattach.kzak util-linux-2.23.2/bash-completion/ldattach +--- util-linux-2.23.2/bash-completion/ldattach.kzak 2013-06-13 09:46:10.355650066 +0200 ++++ util-linux-2.23.2/bash-completion/ldattach 2014-01-13 12:15:46.546060105 +0100 +@@ -42,6 +42,7 @@ _ldattach_module() + return 0 + ;; + /*) ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/logger.kzak util-linux-2.23.2/bash-completion/logger +--- util-linux-2.23.2/bash-completion/logger.kzak 2013-06-13 09:46:10.355650066 +0200 ++++ util-linux-2.23.2/bash-completion/logger 2014-01-13 12:15:46.546060105 +0100 +@@ -6,6 +6,7 @@ _logger_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-f'|'--file') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/look.kzak util-linux-2.23.2/bash-completion/look +--- util-linux-2.23.2/bash-completion/look.kzak 2013-06-13 09:46:10.355650066 +0200 ++++ util-linux-2.23.2/bash-completion/look 2014-01-13 12:15:46.546060105 +0100 +@@ -20,6 +20,7 @@ _look_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/losetup.kzak util-linux-2.23.2/bash-completion/losetup +--- util-linux-2.23.2/bash-completion/losetup.kzak 2013-06-13 09:46:10.356650074 +0200 ++++ util-linux-2.23.2/bash-completion/losetup 2014-01-13 12:15:46.546060105 +0100 +@@ -60,6 +60,7 @@ _losetup_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/lscpu.kzak util-linux-2.23.2/bash-completion/lscpu +--- util-linux-2.23.2/bash-completion/lscpu.kzak 2013-07-30 10:39:26.187738051 +0200 ++++ util-linux-2.23.2/bash-completion/lscpu 2014-01-13 12:15:46.546060105 +0100 +@@ -41,6 +41,7 @@ _lscpu_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/lslocks.kzak util-linux-2.23.2/bash-completion/lslocks +--- util-linux-2.23.2/bash-completion/lslocks.kzak 2013-06-13 09:46:10.357650083 +0200 ++++ util-linux-2.23.2/bash-completion/lslocks 2014-01-13 12:15:46.546060105 +0100 +@@ -38,6 +38,7 @@ _lslocks_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/mcookie.kzak util-linux-2.23.2/bash-completion/mcookie +--- util-linux-2.23.2/bash-completion/mcookie.kzak 2013-06-13 09:46:10.357650083 +0200 ++++ util-linux-2.23.2/bash-completion/mcookie 2014-01-13 12:15:46.546060105 +0100 +@@ -6,6 +6,7 @@ _mcookie_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-f'|'--file') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/mkfs.cramfs.kzak util-linux-2.23.2/bash-completion/mkfs.cramfs +--- util-linux-2.23.2/bash-completion/mkfs.cramfs.kzak 2013-06-13 09:46:10.358650092 +0200 ++++ util-linux-2.23.2/bash-completion/mkfs.cramfs 2014-01-13 12:15:46.546060105 +0100 +@@ -36,6 +36,7 @@ _mkfs.cramfs_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/mkswap.kzak util-linux-2.23.2/bash-completion/mkswap +--- util-linux-2.23.2/bash-completion/mkswap.kzak 2013-06-13 09:46:10.359650100 +0200 ++++ util-linux-2.23.2/bash-completion/mkswap 2014-01-13 12:15:46.546060105 +0100 +@@ -28,6 +28,7 @@ _mkswap_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/more.kzak util-linux-2.23.2/bash-completion/more +--- util-linux-2.23.2/bash-completion/more.kzak 2013-06-13 09:46:10.360650109 +0200 ++++ util-linux-2.23.2/bash-completion/more 2014-01-13 12:15:46.546060105 +0100 +@@ -21,6 +21,8 @@ _more_module() + return 0 + ;; + esac ++ ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/mountpoint.kzak util-linux-2.23.2/bash-completion/mountpoint +--- util-linux-2.23.2/bash-completion/mountpoint.kzak 2013-06-13 09:46:10.360650109 +0200 ++++ util-linux-2.23.2/bash-completion/mountpoint 2014-01-13 12:15:53.664132964 +0100 +@@ -20,6 +20,7 @@ _mountpoint_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/namei.kzak util-linux-2.23.2/bash-completion/namei +--- util-linux-2.23.2/bash-completion/namei.kzak 2013-06-13 09:46:10.360650109 +0200 ++++ util-linux-2.23.2/bash-completion/namei 2014-01-13 12:15:53.664132964 +0100 +@@ -16,6 +16,7 @@ _namei_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/nsenter.kzak util-linux-2.23.2/bash-completion/nsenter +--- util-linux-2.23.2/bash-completion/nsenter.kzak 2013-06-13 09:46:10.361650117 +0200 ++++ util-linux-2.23.2/bash-completion/nsenter 2014-01-13 12:15:53.664132964 +0100 +@@ -40,6 +40,7 @@ _nsenter_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/pg.kzak util-linux-2.23.2/bash-completion/pg +--- util-linux-2.23.2/bash-completion/pg.kzak 2013-06-13 09:46:10.362650126 +0200 ++++ util-linux-2.23.2/bash-completion/pg 2014-01-13 12:15:53.664132964 +0100 +@@ -25,6 +25,7 @@ _pg_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/pivot_root.kzak util-linux-2.23.2/bash-completion/pivot_root +--- util-linux-2.23.2/bash-completion/pivot_root.kzak 2013-06-13 09:46:10.362650126 +0200 ++++ util-linux-2.23.2/bash-completion/pivot_root 2014-01-13 12:15:53.664132964 +0100 +@@ -11,6 +11,7 @@ _pivot_root_module() + esac + case $COMP_CWORD in + 1|2) ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) ) + ;; +diff -up util-linux-2.23.2/bash-completion/readprofile.kzak util-linux-2.23.2/bash-completion/readprofile +--- util-linux-2.23.2/bash-completion/readprofile.kzak 2013-06-13 09:46:10.363650134 +0200 ++++ util-linux-2.23.2/bash-completion/readprofile 2014-01-13 12:15:53.664132964 +0100 +@@ -6,6 +6,7 @@ _readprofile_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-m'|'--mapfile'|'-p'|'--profile') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/rename.kzak util-linux-2.23.2/bash-completion/rename +--- util-linux-2.23.2/bash-completion/rename.kzak 2013-06-13 09:46:10.364650143 +0200 ++++ util-linux-2.23.2/bash-completion/rename 2014-01-13 12:15:53.664132964 +0100 +@@ -24,6 +24,7 @@ _rename_module() + COMPREPLY=( $(compgen -W "replacement" -- $cur) ) + ;; + *) ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + ;; +diff -up util-linux-2.23.2/bash-completion/rev.kzak util-linux-2.23.2/bash-completion/rev +--- util-linux-2.23.2/bash-completion/rev.kzak 2013-06-13 09:46:10.365650151 +0200 ++++ util-linux-2.23.2/bash-completion/rev 2014-01-13 12:15:53.665132974 +0100 +@@ -16,6 +16,7 @@ _rev_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/script.kzak util-linux-2.23.2/bash-completion/script +--- util-linux-2.23.2/bash-completion/script.kzak 2013-06-13 09:46:10.365650151 +0200 ++++ util-linux-2.23.2/bash-completion/script 2014-01-13 12:15:53.665132974 +0100 +@@ -32,6 +32,7 @@ _script_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/scriptreplay.kzak util-linux-2.23.2/bash-completion/scriptreplay +--- util-linux-2.23.2/bash-completion/scriptreplay.kzak 2013-06-13 09:46:10.366650160 +0200 ++++ util-linux-2.23.2/bash-completion/scriptreplay 2014-01-13 12:15:53.665132974 +0100 +@@ -24,6 +24,7 @@ _scriptreplay_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/setterm.kzak util-linux-2.23.2/bash-completion/setterm +--- util-linux-2.23.2/bash-completion/setterm.kzak 2013-06-13 09:46:10.367650169 +0200 ++++ util-linux-2.23.2/bash-completion/setterm 2014-01-13 12:15:53.665132974 +0100 +@@ -45,6 +45,7 @@ _setterm_module() + return 0 + ;; + '-file') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/sfdisk.kzak util-linux-2.23.2/bash-completion/sfdisk +--- util-linux-2.23.2/bash-completion/sfdisk.kzak 2013-06-13 09:46:10.367650169 +0200 ++++ util-linux-2.23.2/bash-completion/sfdisk 2014-01-13 12:15:53.665132974 +0100 +@@ -14,6 +14,7 @@ _sfdisk_module() + return 0 + ;; + '-O'|'-I') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/su.kzak util-linux-2.23.2/bash-completion/su +--- util-linux-2.23.2/bash-completion/su.kzak 2013-06-13 09:46:10.368650177 +0200 ++++ util-linux-2.23.2/bash-completion/su 2014-01-13 12:15:53.665132974 +0100 +@@ -38,6 +38,7 @@ _su_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/swaplabel.kzak util-linux-2.23.2/bash-completion/swaplabel +--- util-linux-2.23.2/bash-completion/swaplabel.kzak 2013-06-13 09:46:10.368650177 +0200 ++++ util-linux-2.23.2/bash-completion/swaplabel 2014-01-13 12:15:53.665132974 +0100 +@@ -24,6 +24,7 @@ _swaplabel_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/tailf.kzak util-linux-2.23.2/bash-completion/tailf +--- util-linux-2.23.2/bash-completion/tailf.kzak 2013-06-13 09:46:10.369650186 +0200 ++++ util-linux-2.23.2/bash-completion/tailf 2014-01-13 12:15:53.665132974 +0100 +@@ -20,6 +20,7 @@ _tailf_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/tunelp.kzak util-linux-2.23.2/bash-completion/tunelp +--- util-linux-2.23.2/bash-completion/tunelp.kzak 2013-06-13 09:46:10.370650194 +0200 ++++ util-linux-2.23.2/bash-completion/tunelp 2014-01-13 12:15:53.665132974 +0100 +@@ -44,6 +44,7 @@ _tunelp_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/dev/lp"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/ul.kzak util-linux-2.23.2/bash-completion/ul +--- util-linux-2.23.2/bash-completion/ul.kzak 2013-06-13 09:46:10.370650194 +0200 ++++ util-linux-2.23.2/bash-completion/ul 2014-01-13 12:15:53.665132974 +0100 +@@ -25,6 +25,7 @@ _ul_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/utmpdump.kzak util-linux-2.23.2/bash-completion/utmpdump +--- util-linux-2.23.2/bash-completion/utmpdump.kzak 2013-07-30 10:39:26.187738051 +0200 ++++ util-linux-2.23.2/bash-completion/utmpdump 2014-01-13 12:15:53.665132974 +0100 +@@ -16,6 +16,7 @@ _utmpdump_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/uuidd.kzak util-linux-2.23.2/bash-completion/uuidd +--- util-linux-2.23.2/bash-completion/uuidd.kzak 2013-06-13 09:46:10.371650203 +0200 ++++ util-linux-2.23.2/bash-completion/uuidd 2014-01-13 12:15:53.665132974 +0100 +@@ -6,16 +6,19 @@ _uuidd_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-p'|'--pid'|'-s'|'--socket') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 + ;; + '-T'|'--timeout') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -W "timeout" -- $cur) ) + return 0 + ;; + '-n'|'--uuids') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -W "number" -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/wall.kzak util-linux-2.23.2/bash-completion/wall +--- util-linux-2.23.2/bash-completion/wall.kzak 2013-06-13 09:46:10.371650203 +0200 ++++ util-linux-2.23.2/bash-completion/wall 2014-01-13 12:15:53.666132984 +0100 +@@ -20,6 +20,7 @@ _wall_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- $cur) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/wdctl.kzak util-linux-2.23.2/bash-completion/wdctl +--- util-linux-2.23.2/bash-completion/wdctl.kzak 2013-06-13 09:46:10.372650211 +0200 ++++ util-linux-2.23.2/bash-completion/wdctl 2014-01-13 12:15:53.666132984 +0100 +@@ -56,6 +56,7 @@ _wdctl_module() + return 0 + ;; + esac ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -f -- ${cur:-"/dev/"}) ) + return 0 +diff -up util-linux-2.23.2/bash-completion/whereis.kzak util-linux-2.23.2/bash-completion/whereis +--- util-linux-2.23.2/bash-completion/whereis.kzak 2013-06-13 09:46:10.372650211 +0200 ++++ util-linux-2.23.2/bash-completion/whereis 2014-01-13 12:15:53.666132984 +0100 +@@ -6,6 +6,7 @@ _whereis_module() + prev="${COMP_WORDS[COMP_CWORD-1]}" + case $prev in + '-B'|'-M'|'-S') ++ local IFS=$'\n' + compopt -o filenames + COMPREPLY=( $(compgen -o dirnames -- ${cur:-"/"}) ) + return 0 diff --git a/2.24-sfdisk-fix-y-n-mismatch.patch b/2.24-sfdisk-fix-y-n-mismatch.patch new file mode 100644 index 0000000..cb95ff4 --- /dev/null +++ b/2.24-sfdisk-fix-y-n-mismatch.patch @@ -0,0 +1,15 @@ +diff -up util-linux-2.23.2/fdisks/sfdisk.c.kzak util-linux-2.23.2/fdisks/sfdisk.c +--- util-linux-2.23.2/fdisks/sfdisk.c.kzak 2013-07-30 10:39:26.200738180 +0200 ++++ util-linux-2.23.2/fdisks/sfdisk.c 2014-01-13 12:12:02.460808609 +0100 +@@ -3201,9 +3201,9 @@ do_fdisk(char *dev) { + ignore_result( fgets(answer, sizeof(answer), stdin) ); + if (answer[0] == 'q' || answer[0] == 'Q') { + errx(EXIT_FAILURE, _("Quitting - nothing changed")); +- } else if (rpmatch(answer) == 1) { +- continue; + } else if (rpmatch(answer) == 0) { ++ continue; ++ } else if (rpmatch(answer) == 1) { + break; + } else { + printf(_("Please answer one of y,n,q\n")); diff --git a/2.24-su-fix-lastlog-and-btmp-logging.patch b/2.24-su-fix-lastlog-and-btmp-logging.patch index db423e1..9b61cdc 100644 --- a/2.24-su-fix-lastlog-and-btmp-logging.patch +++ b/2.24-su-fix-lastlog-and-btmp-logging.patch @@ -1,47 +1,22 @@ -From 9b5dc4cb8d5d82c31c0cda898832998c21afc303 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 9 Sep 2013 12:24:01 +0200 -Subject: [PATCH] su: fix lastlog and btmp logging - -The su(1) logging code mix ups "old" and "new" passwd structs. The -result is things like - - Sep 9 11:50:45 x2 su: (to kzak) kzak on none - -in /var/log/messages. The right log entry is - - Sep 9 11:50:45 x2 su: (to root) kzak on pts/3 - -The bug has been introduced by commit c74a7af17c7a176c358dfaa8e1814786c89ebc14. - -References: https://bugzilla.redhat.com/show_bug.cgi?id=1005194 -Signed-off-by: Karel Zak ---- - login-utils/su-common.c | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/login-utils/su-common.c b/login-utils/su-common.c -index ade5c92..858af01 100644 ---- a/login-utils/su-common.c -+++ b/login-utils/su-common.c -@@ -161,7 +161,7 @@ log_syslog(struct passwd const *pw, bool successful) +diff -up util-linux-2.23.2/login-utils/su-common.c.kzak util-linux-2.23.2/login-utils/su-common.c +--- util-linux-2.23.2/login-utils/su-common.c.kzak 2014-01-13 12:09:43.047138185 +0100 ++++ util-linux-2.23.2/login-utils/su-common.c 2014-01-13 12:10:53.084137060 +0100 +@@ -161,7 +161,7 @@ log_syslog(struct passwd const *pw, bool old_user = pwd ? pwd->pw_name : ""; } - + - if (get_terminal_name(STDERR_FILENO, NULL, &tty, NULL) == 0 && tty) + if (get_terminal_name(STDERR_FILENO, NULL, &tty, NULL) != 0 || !tty) tty = "none"; - + openlog (program_invocation_short_name, 0 , LOG_AUTH); -@@ -483,9 +483,6 @@ authenticate (const struct passwd *pw) - +@@ -457,9 +457,6 @@ authenticate (const struct passwd *pw) + done: - + - if (lpw && lpw->pw_name) - pw = lpw; - log_syslog(pw, !is_pam_failure(retval)); - + if (is_pam_failure(retval)) --- -1.8.1.4 diff --git a/2.26-libblkid-escape.patch b/2.26-libblkid-escape.patch new file mode 100644 index 0000000..ea1c576 --- /dev/null +++ b/2.26-libblkid-escape.patch @@ -0,0 +1,149 @@ +diff -up util-linux-2.23.2/libblkid/src/read.c.kzak util-linux-2.23.2/libblkid/src/read.c +--- util-linux-2.23.2/libblkid/src/read.c.kzak 2013-06-13 09:46:10.421650630 +0200 ++++ util-linux-2.23.2/libblkid/src/read.c 2014-11-27 15:02:18.559969208 +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, blkid_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.23.2/libblkid/src/save.c.kzak util-linux-2.23.2/libblkid/src/save.c +--- util-linux-2.23.2/libblkid/src/save.c.kzak 2013-07-30 10:39:26.209738269 +0200 ++++ util-linux-2.23.2/libblkid/src/save.c 2014-11-27 15:02:18.559969208 +0100 +@@ -23,6 +23,21 @@ + #endif + #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; +@@ -40,9 +55,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.23.2/lib/tt.c.kzak util-linux-2.23.2/lib/tt.c +--- util-linux-2.23.2/lib/tt.c.kzak 2013-07-15 10:25:46.280049032 +0200 ++++ util-linux-2.23.2/lib/tt.c 2014-11-27 15:02:18.560969219 +0100 +@@ -672,6 +672,8 @@ void tt_fputs_quoted(const char *data, F + 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.23.2/misc-utils/blkid.8.kzak util-linux-2.23.2/misc-utils/blkid.8 +--- util-linux-2.23.2/misc-utils/blkid.8.kzak 2013-06-13 09:46:10.446650844 +0200 ++++ util-linux-2.23.2/misc-utils/blkid.8 2014-11-27 15:02:18.560969219 +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.23.2/misc-utils/blkid.c.kzak util-linux-2.23.2/misc-utils/blkid.c +--- util-linux-2.23.2/misc-utils/blkid.c.kzak 2014-11-27 15:02:18.560969219 +0100 ++++ util-linux-2.23.2/misc-utils/blkid.c 2014-11-27 15:05:34.770244516 +0100 +@@ -106,8 +106,10 @@ static void usage(int error) + /* + * This function does "safe" printing. It will convert non-printable + * ASCII characters using '^' and M- notation. ++ * ++ * If 'esc' is defined then escape all chars from esc by \. + */ +-static void safe_print(const char *cp, int len) ++static void safe_print(const char *cp, int len, const char *esc) + { + unsigned char ch; + +@@ -124,7 +126,9 @@ static void safe_print(const char *cp, i + if ((ch < 32) || (ch == 0x7f)) { + fputc('^', stdout); + ch ^= 0x40; /* ^@, ^A, ^B; ^? for DEL */ +- } ++ ++ } else if (esc && strchr(esc, ch)) ++ fputc('\\', stdout); + } + fputc(ch, stdout); + } +@@ -301,7 +305,7 @@ static void print_value(int output, int + printf("DEVNAME=%s\n", devname); + fputs(name, stdout); + fputs("=", stdout); +- safe_print(value, valsz); ++ safe_print(value, valsz, " \\\"'$`<>"); + fputs("\n", stdout); + + } else { +@@ -309,7 +313,7 @@ static void print_value(int output, int + printf("%s: ", devname); + fputs(name, stdout); + fputs("=\"", stdout); +- safe_print(value, valsz); ++ safe_print(value, valsz, "\"\\"); + fputs("\" ", stdout); + } + } diff --git a/util-linux.spec b/util-linux.spec index 9e17119..9f22473 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.23.2 -Release: 4%{?dist} +Release: 6%{?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 @@ -81,15 +81,20 @@ Patch0: 2.23-login-lastlog-create.patch Patch1: 2.24-agetty-clocal.patch # v2.24 backport: #987787 - Remove lastlogin from su Patch2: 2.24-su-suppress-PAM-info-messages.patch -# v2.24 backport: #950497 - problem umounting loop device +# v2.24 backport: #1006217 - problem umounting loop device Patch3: 2.24-libmount-canonicalize-for-conversion-from-loopdev.patch -# v2.24 backport: #921498 - multiple internal testsuite failures +# v2.24 backport: #1006219 - multiple internal testsuite failures Patch4: 2.24-tests-portability.patch # v2.24 backport: #1005566 - recount_geometry: Process /usr/sbin/fdisk was killed by signal 8 (SIGFPE) Patch5: 2.24-libfdisk-fix-SIGFPE.patch # v2.24 backport: #1005194 - su generates incorrect log entries Patch6: 2.24-su-fix-lastlog-and-btmp-logging.patch - +# v2.24 backport: #1009345 - Joking sfdisk rewriting PT after "n" +Patch7: 2.24-sfdisk-fix-y-n-mismatch.patch +# v2.24 backport: #1024424 - Fix bash completion for more +Patch8: 2.24-bash-completion-IFS.patch +# 1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid +Patch9: 2.26-libblkid-escape.patch %description The util-linux package contains a large variety of low-level system @@ -806,6 +811,14 @@ fi %{_libdir}/pkgconfig/uuid.pc %changelog +* Thu Nov 27 2014 Karel Zak 2.23.2-6 +- fix #1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid + +* Mon Jan 13 2014 Karel Zak 2.23.2-5 +- fix #1009345 - Joking sfdisk rewriting PT after "n" +- fix #1024424 - Fix bash completion for more +- refresh su patch (for #1005194) + * Mon Sep 9 2013 Karel Zak 2.23.2-4 - fix #1005566 - recount_geometry: Process /usr/sbin/fdisk was killed by signal 8 (SIGFPE) - fix #1005194 - su generates incorrect log entries @@ -813,8 +826,8 @@ fi * Mon Sep 9 2013 Karel Zak 2.23.2-3 - refresh and rename patches - fix #987787 - Remove lastlogin from su -- fix #950497 - problem umounting loop device -- fix #921498 - multiple internal testsuite failures +- fix #1006217 - problem umounting loop device +- fix #1006219 - multiple internal testsuite failures * Thu Aug 1 2013 Karel Zak 2.23.2-2 - fix 990083 - su doesn't work with pam_ecryptfs