[readline] 6.1-2
Miroslav Lichvar
mlichvar at fedoraproject.org
Tue Jan 18 15:37:31 UTC 2011
commit bdaa6c09628f063782409ec606f5a72c90e22183
Author: Miroslav Lichvar <mlichvar at redhat.com>
Date: Tue Jan 18 16:35:53 2011 +0100
6.1-2
- include patches 001, 002 (#657758)
- add TTY input audit support (#244350)
readline-6.1-audit.patch | 116 ++++++++++++++++++++++++++++++++++++++++++++
readline-6.1-version.patch | 28 -----------
readline.spec | 17 +++++--
readline61-001 | 61 +++++++++++++++++++++++
readline61-002 | 47 ++++++++++++++++++
5 files changed, 237 insertions(+), 32 deletions(-)
---
diff --git a/readline-6.1-audit.patch b/readline-6.1-audit.patch
new file mode 100644
index 0000000..38f8adf
--- /dev/null
+++ b/readline-6.1-audit.patch
@@ -0,0 +1,116 @@
+diff -up readline-6.1/config.h.in.audit readline-6.1/config.h.in
+--- readline-6.1/config.h.in.audit 2009-03-10 15:57:45.000000000 +0100
++++ readline-6.1/config.h.in 2011-01-18 15:14:51.199219895 +0100
+@@ -29,6 +29,9 @@
+
+ #undef __CHAR_UNSIGNED__
+
++/* Define if you have <linux/audit.h> and it defines AUDIT_USER_TTY */
++#undef HAVE_DECL_AUDIT_USER_TTY
++
+ /* Define if the `S_IS*' macros in <sys/stat.h> do not work properly. */
+ #undef STAT_MACROS_BROKEN
+
+diff -up readline-6.1/configure.audit readline-6.1/configure
+--- readline-6.1/configure.audit 2009-12-29 23:33:49.000000000 +0100
++++ readline-6.1/configure 2011-01-18 15:21:20.571330373 +0100
+@@ -6602,7 +6602,9 @@ _ACEOF
+
+ fi
+
+-
++cat >>confdefs.h <<_ACEOF
++#define HAVE_DECL_AUDIT_USER_TTY 1
++_ACEOF
+
+ { $as_echo "$as_me:$LINENO: checking if signal handlers must be reinstalled when invoked" >&5
+ $as_echo_n "checking if signal handlers must be reinstalled when invoked... " >&6; }
+diff -up readline-6.1/configure.in.audit readline-6.1/configure.in
+--- readline-6.1/configure.in.audit 2009-10-12 16:12:15.000000000 +0200
++++ readline-6.1/configure.in 2011-01-18 15:14:51.199219895 +0100
+@@ -159,6 +159,8 @@ AC_CHECK_HEADERS(sys/ptem.h,,,
+
+ AC_SYS_LARGEFILE
+
++AC_CHECK_DECLS([AUDIT_USER_TTY],,, [[#include <linux/audit.h>]])
++
+ BASH_SYS_SIGNAL_VINTAGE
+ BASH_SYS_REINSTALL_SIGHANDLERS
+
+diff -up readline-6.1/readline.c.audit readline-6.1/readline.c
+--- readline-6.1/readline.c.audit 2009-08-31 14:45:31.000000000 +0200
++++ readline-6.1/readline.c 2011-01-18 15:14:51.200219841 +0100
+@@ -55,6 +55,12 @@
+ extern int errno;
+ #endif /* !errno */
+
++#if defined (HAVE_DECL_AUDIT_USER_TTY)
++# include <sys/socket.h>
++# include <linux/audit.h>
++# include <linux/netlink.h>
++#endif
++
+ /* System-specific feature definitions and include files. */
+ #include "rldefs.h"
+ #include "rlmbutil.h"
+@@ -301,7 +307,47 @@ rl_set_prompt (prompt)
+ rl_visible_prompt_length = rl_expand_prompt (rl_prompt);
+ return 0;
+ }
+-
++
++#if defined (HAVE_DECL_AUDIT_USER_TTY)
++/* Report STRING to the audit system. */
++static void
++audit_tty (char *string)
++{
++ struct sockaddr_nl addr;
++ struct msghdr msg;
++ struct nlmsghdr nlm;
++ struct iovec iov[2];
++ size_t size;
++ int fd;
++
++ size = strlen (string) + 1;
++ fd = socket (AF_NETLINK, SOCK_RAW, NETLINK_AUDIT);
++ if (fd < 0)
++ return;
++ nlm.nlmsg_len = NLMSG_LENGTH (size);
++ nlm.nlmsg_type = AUDIT_USER_TTY;
++ nlm.nlmsg_flags = NLM_F_REQUEST;
++ nlm.nlmsg_seq = 0;
++ nlm.nlmsg_pid = 0;
++ iov[0].iov_base = &nlm;
++ iov[0].iov_len = sizeof (nlm);
++ iov[1].iov_base = string;
++ iov[1].iov_len = size;
++ addr.nl_family = AF_NETLINK;
++ addr.nl_pid = 0;
++ addr.nl_groups = 0;
++ msg.msg_name = &addr;
++ msg.msg_namelen = sizeof (addr);
++ msg.msg_iov = iov;
++ msg.msg_iovlen = 2;
++ msg.msg_control = NULL;
++ msg.msg_controllen = 0;
++ msg.msg_flags = 0;
++ (void)sendmsg (fd, &msg, 0);
++ close (fd);
++}
++#endif
++
+ /* Read a line of input. Prompt with PROMPT. An empty PROMPT means
+ none. A return value of NULL means that EOF was encountered. */
+ char *
+@@ -352,6 +398,11 @@ readline (prompt)
+ RL_SETSTATE (RL_STATE_CALLBACK);
+ #endif
+
++#if defined (HAVE_DECL_AUDIT_USER_TTY)
++ if (value != NULL)
++ audit_tty (value);
++#endif
++
+ return (value);
+ }
+
diff --git a/readline.spec b/readline.spec
index c936191..6a4a64d 100644
--- a/readline.spec
+++ b/readline.spec
@@ -1,15 +1,18 @@
Summary: A library for editing typed command lines
Name: readline
Version: 6.1
-Release: 2%{?dist}
+Release: 3%{?dist}
License: GPLv3+
Group: System Environment/Libraries
URL: http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
Source: ftp://ftp.gnu.org/gnu/readline/readline-%{version}.tar.gz
-# sent upstream
-Patch0: readline-6.1-version.patch
+# upstream patches
+Patch1: readline61-001
+Patch2: readline61-002
# fix file permissions, remove RPATH, use CFLAGS
Patch20: readline-6.1-shlib.patch
+# add TTY input audit support
+Patch21: readline-6.1-audit.patch
Requires(post): /sbin/install-info
Requires(preun): /sbin/install-info
BuildRequires: ncurses-devel
@@ -48,8 +51,10 @@ library.
%prep
%setup -q
-%patch0 -p1 -b .version
+%patch1 -p0
+%patch2 -p0
%patch20 -p1 -b .shlib
+%patch21 -p1 -b .audit
pushd examples
rm -f rlfe/configure
@@ -127,6 +132,10 @@ fi
%{_libdir}/lib*.a
%changelog
+* Tue Jan 18 2011 Miroslav Lichvar <mlichvar at redhat.com> 6.1-3
+- include patches 001, 002 (#657758)
+- add TTY input audit support (#244350)
+
* Wed Feb 17 2010 Lubomir Rintel <lkundrak at v3.sk> 6.1-2
- fix the version number in header
diff --git a/readline61-001 b/readline61-001
new file mode 100644
index 0000000..5211ade
--- /dev/null
+++ b/readline61-001
@@ -0,0 +1,61 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.1
+Patch-ID: readline61-001
+
+Bug-Reported-by: guillaume.outters at free.fr
+Bug-Reference-ID: <20100105230441.70D171AA7F52 at asterix.local>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2010-01/msg00017.html
+
+Bug-Description:
+
+Bash-4.1/Readline-6.1 introduced a hook function that allows applications
+to rewrite or modify filenames read from the file system before comparing
+them with a word to be completed. The converted filename, if it matches,
+needs to be inserted into the line buffer, replacing the original contents.
+
+This fixes a completion bug on Mac OS X involving filenames containing
+UTF-8 characters.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.1-patched/complete.c 2009-11-29 18:39:30.000000000 -0500
+--- complete.c 2010-01-06 08:30:23.000000000 -0500
+***************
+*** 2139,2143 ****
+ if (filename_len == 0)
+ {
+! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (entry->d_name))
+ continue;
+
+--- 2139,2143 ----
+ if (filename_len == 0)
+ {
+! if (_rl_match_hidden_files == 0 && HIDDEN_FILE (convfn))
+ continue;
+
+***************
+*** 2220,2224 ****
+ }
+
+! strcpy (temp + dirlen, entry->d_name);
+ }
+ else
+--- 2220,2224 ----
+ }
+
+! strcpy (temp + dirlen, convfn);
+ }
+ else
+*** ../readline-6.1-patched/patchlevel 2008-11-18 11:01:14.000000000 -0500
+--- patchlevel 2010-01-14 10:15:52.000000000 -0500
+***************
+*** 1,3 ****
+ # Do not edit -- exists only for use by patch
+
+! 0
+--- 1,3 ----
+ # Do not edit -- exists only for use by patch
+
+! 1
diff --git a/readline61-002 b/readline61-002
new file mode 100644
index 0000000..ca8bd71
--- /dev/null
+++ b/readline61-002
@@ -0,0 +1,47 @@
+ READLINE PATCH REPORT
+ =====================
+
+Readline-Release: 6.1
+Patch-ID: readline61-002
+
+Bug-Reported-by: Chet Ramey <chet.ramey at case.edu>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+The readline version information was not updated for the release of version 6.1.
+
+Patch (apply with `patch -p0'):
+
+*** ../readline-6.1-patched/readline.h 2009-08-26 23:05:55.000000000 -0400
+--- readline.h 2010-01-26 10:42:42.000000000 -0500
+***************
+*** 40,46 ****
+
+ /* Hex-encoded Readline version number. */
+! #define RL_READLINE_VERSION 0x0600 /* Readline 6.0 */
+ #define RL_VERSION_MAJOR 6
+! #define RL_VERSION_MINOR 0
+
+ /* Readline data structures. */
+--- 40,46 ----
+
+ /* Hex-encoded Readline version number. */
+! #define RL_READLINE_VERSION 0x0601 /* Readline 6.1 */
+ #define RL_VERSION_MAJOR 6
+! #define RL_VERSION_MINOR 1
+
+ /* Readline data structures. */
+*** ../readline-6.1-patched/patchlevel 2008-11-18 11:01:14.000000000 -0500
+--- patchlevel 2010-01-14 10:15:52.000000000 -0500
+***************
+*** 1,3 ****
+ # Do not edit -- exists only for use by patch
+
+! 1
+--- 1,3 ----
+ # Do not edit -- exists only for use by patch
+
+! 2
+
More information about the scm-commits
mailing list