parent
13b00f1de7
commit
74835aa2ec
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
||||
/readline-6.2.tar.gz
|
||||
/readline-6.3.tar.gz
|
||||
|
137
0001-upstream-patches.patch
Normal file
137
0001-upstream-patches.patch
Normal file
@ -0,0 +1,137 @@
|
||||
From 376cae023be94f55ba846f2170c129bd0873e872 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Thu, 3 Apr 2014 14:38:44 +0200
|
||||
Subject: [PATCH 1/4] upstream patches
|
||||
|
||||
Conflicts:
|
||||
callback.c
|
||||
---
|
||||
callback.c | 44 ++++++++++++--------------------------------
|
||||
1 file changed, 12 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/callback.c b/callback.c
|
||||
index 6bb2c3e..7682cd0 100644
|
||||
--- a/callback.c
|
||||
+++ b/callback.c
|
||||
@@ -62,10 +62,8 @@ _rl_callback_generic_arg *_rl_callback_data = 0;
|
||||
whenever a complete line of input is ready. The user must then
|
||||
call rl_callback_read_char() every time some input is available, and
|
||||
rl_callback_read_char() will call the user's function with the complete
|
||||
- text read in at each end of line. The terminal is kept prepped
|
||||
- all the time, except during calls to the user's function. Signal
|
||||
- handlers are only installed when the application calls back into
|
||||
- readline, so readline doesn't `steal' signals from the application. */
|
||||
+ text read in at each end of line. The terminal is kept prepped and
|
||||
+ signals handled all the time, except during calls to the user's function. */
|
||||
|
||||
rl_vcpfunc_t *rl_linefunc; /* user callback function */
|
||||
static int in_handler; /* terminal_prepped and signals set? */
|
||||
@@ -82,6 +80,10 @@ _rl_callback_newline ()
|
||||
|
||||
if (rl_prep_term_function)
|
||||
(*rl_prep_term_function) (_rl_meta_flag);
|
||||
+
|
||||
+#if defined (HANDLE_SIGNALS)
|
||||
+ rl_set_signals ();
|
||||
+#endif
|
||||
}
|
||||
|
||||
readline_internal_setup ();
|
||||
@@ -100,16 +102,6 @@ rl_callback_handler_install (prompt, linefunc)
|
||||
_rl_callback_newline ();
|
||||
}
|
||||
|
||||
-#if defined (HANDLE_SIGNALS)
|
||||
-#define CALLBACK_READ_RETURN() \
|
||||
- do { \
|
||||
- rl_clear_signals (); \
|
||||
- return; \
|
||||
- } while (0)
|
||||
-#else
|
||||
-#define CALLBACK_READ_RETURN() return
|
||||
-#endif
|
||||
-
|
||||
/* Read one character, and dispatch to the handler if it ends the line. */
|
||||
void
|
||||
rl_callback_read_char ()
|
||||
@@ -125,24 +117,15 @@ rl_callback_read_char ()
|
||||
}
|
||||
|
||||
memcpy ((void *)olevel, (void *)_rl_top_level, sizeof (procenv_t));
|
||||
-#if defined (HAVE_POSIX_SIGSETJMP)
|
||||
- jcode = sigsetjmp (_rl_top_level, 0);
|
||||
-#else
|
||||
jcode = setjmp (_rl_top_level);
|
||||
-#endif
|
||||
if (jcode)
|
||||
{
|
||||
(*rl_redisplay_function) ();
|
||||
_rl_want_redisplay = 0;
|
||||
memcpy ((void *)_rl_top_level, (void *)olevel, sizeof (procenv_t));
|
||||
- CALLBACK_READ_RETURN ();
|
||||
+ return;
|
||||
}
|
||||
|
||||
-#if defined (HANDLE_SIGNALS)
|
||||
- /* Install signal handlers only when readline has control. */
|
||||
- rl_set_signals ();
|
||||
-#endif
|
||||
-
|
||||
do
|
||||
{
|
||||
RL_CHECK_SIGNALS ();
|
||||
@@ -152,13 +135,12 @@ rl_callback_read_char ()
|
||||
if (eof == 0 && (RL_ISSTATE (RL_STATE_ISEARCH) == 0) && RL_ISSTATE (RL_STATE_INPUTPENDING))
|
||||
rl_callback_read_char ();
|
||||
|
||||
- CALLBACK_READ_RETURN ();
|
||||
+ return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_NSEARCH))
|
||||
{
|
||||
eof = _rl_nsearch_callback (_rl_nscxt);
|
||||
-
|
||||
- CALLBACK_READ_RETURN ();
|
||||
+ return;
|
||||
}
|
||||
#if defined (VI_MODE)
|
||||
else if (RL_ISSTATE (RL_STATE_VIMOTION))
|
||||
@@ -169,7 +151,7 @@ rl_callback_read_char ()
|
||||
if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
|
||||
_rl_internal_char_cleanup ();
|
||||
|
||||
- CALLBACK_READ_RETURN ();
|
||||
+ return;
|
||||
}
|
||||
#endif
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG))
|
||||
@@ -181,7 +163,7 @@ rl_callback_read_char ()
|
||||
else if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
|
||||
_rl_internal_char_cleanup ();
|
||||
|
||||
- CALLBACK_READ_RETURN ();
|
||||
+ return;
|
||||
}
|
||||
else if (RL_ISSTATE (RL_STATE_MULTIKEY))
|
||||
{
|
||||
@@ -198,7 +180,7 @@ rl_callback_read_char ()
|
||||
{
|
||||
/* This allows functions that simply need to read an additional
|
||||
character (like quoted-insert) to register a function to be
|
||||
- called when input is available. _rl_callback_data is a
|
||||
+ called when input is available. _rl_callback_data is simply a
|
||||
pointer to a struct that has the argument count originally
|
||||
passed to the registering function and space for any additional
|
||||
parameters. */
|
||||
@@ -248,8 +230,6 @@ rl_callback_read_char ()
|
||||
}
|
||||
}
|
||||
while (rl_pending_input || _rl_pushed_input_available () || RL_ISSTATE (RL_STATE_MACROINPUT));
|
||||
-
|
||||
- CALLBACK_READ_RETURN ();
|
||||
}
|
||||
|
||||
/* Remove the handler, and make sure the terminal is in its normal state. */
|
||||
--
|
||||
1.8.5.3
|
||||
|
58
0002-fix-file-permissions-remove-RPATH-use-CFLAGS.patch
Normal file
58
0002-fix-file-permissions-remove-RPATH-use-CFLAGS.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 5c47ed8ba5edfd5bd91b79d5eaf42833ea91afe1 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Thu, 3 Apr 2014 15:17:55 +0200
|
||||
Subject: [PATCH 2/4] fix file permissions, remove RPATH, use CFLAGS
|
||||
|
||||
---
|
||||
shlib/Makefile.in | 2 +-
|
||||
support/shlib-install | 2 +-
|
||||
support/shobj-conf | 5 +++--
|
||||
3 files changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/shlib/Makefile.in b/shlib/Makefile.in
|
||||
index eb16211..3a34840 100644
|
||||
--- a/shlib/Makefile.in
|
||||
+++ b/shlib/Makefile.in
|
||||
@@ -178,7 +178,7 @@ $(SHARED_READLINE): $(SHARED_OBJ)
|
||||
|
||||
$(SHARED_HISTORY): $(SHARED_HISTOBJ) xmalloc.so xfree.so
|
||||
$(RM) $@
|
||||
- $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so xfree.so $(SHLIB_LIBS)
|
||||
+ $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so xfree.so
|
||||
|
||||
# Since tilde.c is shared between readline and bash, make sure we compile
|
||||
# it with the right flags when it's built as part of readline
|
||||
diff --git a/support/shlib-install b/support/shlib-install
|
||||
index cfec3bd..f4eea27 100755
|
||||
--- a/support/shlib-install
|
||||
+++ b/support/shlib-install
|
||||
@@ -73,7 +73,7 @@ fi
|
||||
case "$host_os" in
|
||||
hpux*|darwin*|macosx*|linux*|solaris2*)
|
||||
if [ -z "$uninstall" ]; then
|
||||
- chmod 555 ${INSTALLDIR}/${LIBNAME}
|
||||
+ chmod 755 ${INSTALLDIR}/${LIBNAME}
|
||||
fi ;;
|
||||
cygwin*|mingw*)
|
||||
IMPLIBNAME=`echo ${LIBNAME} \
|
||||
diff --git a/support/shobj-conf b/support/shobj-conf
|
||||
index 1f64433..40827a4 100644
|
||||
--- a/support/shobj-conf
|
||||
+++ b/support/shobj-conf
|
||||
@@ -126,10 +126,11 @@ sunos5*|solaris2*)
|
||||
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
||||
SHOBJ_CFLAGS=-fPIC
|
||||
SHOBJ_LD='${CC}'
|
||||
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
+ SHOBJ_LDFLAGS='$(CFLAGS) -shared -Wl,-soname,$@'
|
||||
|
||||
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
+ SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
+ SHLIB_LIBS='-ltinfo'
|
||||
;;
|
||||
|
||||
freebsd2*)
|
||||
--
|
||||
1.8.5.3
|
||||
|
13177
0003-add-TTY-input-audit-support.patch
Normal file
13177
0003-add-TTY-input-audit-support.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,18 @@
|
||||
diff -up ./complete.c.old ./complete.c
|
||||
--- ./complete.c.old 2012-01-11 14:26:23.610354454 +0100
|
||||
+++ ./complete.c 2012-01-11 14:31:44.073348115 +0100
|
||||
@@ -485,7 +485,7 @@ get_y_or_n (for_pager)
|
||||
From 311f25363e35f5058fc8a8f1ba9c0835f169fd96 Mon Sep 17 00:00:00 2001
|
||||
From: Lukas Nykryn <lnykryn@redhat.com>
|
||||
Date: Thu, 3 Apr 2014 14:41:42 +0200
|
||||
Subject: [PATCH 4/4] add workaround for problem in gdb
|
||||
|
||||
---
|
||||
complete.c | 2 +-
|
||||
readline.h | 2 ++
|
||||
2 files changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/complete.c b/complete.c
|
||||
index cd9aebe..35d86e9 100644
|
||||
--- a/complete.c
|
||||
+++ b/complete.c
|
||||
@@ -518,7 +518,7 @@ get_y_or_n (for_pager)
|
||||
driven functions. Have to wait until next major version to add new
|
||||
state definition, since it will change value of RL_STATE_DONE. */
|
||||
#if defined (READLINE_CALLBACKS)
|
||||
@ -10,10 +21,11 @@ diff -up ./complete.c.old ./complete.c
|
||||
return 1;
|
||||
#endif
|
||||
|
||||
diff -up ./readline.h.old ./readline.h
|
||||
--- ./readline.h.old 2012-01-11 14:25:55.049711510 +0100
|
||||
+++ ./readline.h 2012-01-11 14:28:22.854863691 +0100
|
||||
@@ -840,6 +840,8 @@ extern int rl_inhibit_completion;
|
||||
diff --git a/readline.h b/readline.h
|
||||
index 08dcd2b..1df0639 100644
|
||||
--- a/readline.h
|
||||
+++ b/readline.h
|
||||
@@ -870,6 +870,8 @@ extern int rl_inhibit_completion;
|
||||
|
||||
#define RL_STATE_DONE 0x1000000 /* done; accepted line */
|
||||
|
||||
@ -22,3 +34,6 @@ diff -up ./readline.h.old ./readline.h
|
||||
#define RL_SETSTATE(x) (rl_readline_state |= (x))
|
||||
#define RL_UNSETSTATE(x) (rl_readline_state &= ~(x))
|
||||
#define RL_ISSTATE(x) (rl_readline_state & (x))
|
||||
--
|
||||
1.8.5.3
|
||||
|
121
0005-readline6.3upstreampatches1-6.patch
Normal file
121
0005-readline6.3upstreampatches1-6.patch
Normal file
@ -0,0 +1,121 @@
|
||||
From a2c66e1d9efc5ee263ba06ff8755b3594c3d8481 Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 19 Jun 2014 10:07:26 +0200
|
||||
Subject: [PATCH] readline6.3upstreampatches1-6
|
||||
|
||||
---
|
||||
display.c | 8 ++++++--
|
||||
readline.c | 4 +++-
|
||||
rltypedefs.h | 19 +++++++++++++++++++
|
||||
util.c | 3 ++-
|
||||
4 files changed, 30 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/display.c b/display.c
|
||||
index 913e0da..23f53ea 100644
|
||||
--- a/display.c
|
||||
+++ b/display.c
|
||||
@@ -1637,7 +1637,7 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
/* If we are changing the number of invisible characters in a line, and
|
||||
the spot of first difference is before the end of the invisible chars,
|
||||
lendiff needs to be adjusted. */
|
||||
- if (current_line == 0 && !_rl_horizontal_scroll_mode &&
|
||||
+ if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
|
||||
current_invis_chars != visible_wrap_offset)
|
||||
{
|
||||
if (MB_CUR_MAX > 1 && rl_byte_oriented == 0)
|
||||
@@ -1826,7 +1826,10 @@ update_line (old, new, current_line, omax, nmax, inv_botlin)
|
||||
_rl_last_c_pos += bytes_to_insert;
|
||||
|
||||
if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
|
||||
- goto clear_rest_of_line;
|
||||
+ {
|
||||
+ _rl_move_cursor_relative (ne-new, new);
|
||||
+ goto clear_rest_of_line;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
/* Otherwise, print over the existing material. */
|
||||
@@ -2677,6 +2680,7 @@ _rl_clean_up_for_exit ()
|
||||
{
|
||||
if (_rl_echoing_p)
|
||||
{
|
||||
+ if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */
|
||||
_rl_move_vert (_rl_vis_botlin);
|
||||
_rl_vis_botlin = 0;
|
||||
fflush (rl_outstream);
|
||||
diff --git a/readline.c b/readline.c
|
||||
index 6ff8a8d..6e16a6c 100644
|
||||
--- a/readline.c
|
||||
+++ b/readline.c
|
||||
@@ -753,7 +753,8 @@ _rl_dispatch_callback (cxt)
|
||||
r = _rl_subseq_result (r, cxt->oldmap, cxt->okey, (cxt->flags & KSEQ_SUBSEQ));
|
||||
|
||||
RL_CHECK_SIGNALS ();
|
||||
- if (r == 0) /* success! */
|
||||
+ /* We only treat values < 0 specially to simulate recursion. */
|
||||
+ if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
|
||||
{
|
||||
_rl_keyseq_chain_dispose ();
|
||||
RL_UNSETSTATE (RL_STATE_MULTIKEY);
|
||||
@@ -943,6 +944,7 @@ _rl_dispatch_subseq (key, map, got_subseq)
|
||||
#if defined (VI_MODE)
|
||||
if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
|
||||
key != ANYOTHERKEY &&
|
||||
+ _rl_dispatching_keymap == vi_movement_keymap &&
|
||||
_rl_vi_textmod_command (key))
|
||||
_rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
|
||||
#endif
|
||||
diff --git a/rltypedefs.h b/rltypedefs.h
|
||||
index b113ee6..f9f5cd3 100644
|
||||
--- a/rltypedefs.h
|
||||
+++ b/rltypedefs.h
|
||||
@@ -26,6 +26,25 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+/* Old-style, attempt to mark as deprecated in some way people will notice. */
|
||||
+
|
||||
+#if !defined (_FUNCTION_DEF)
|
||||
+# define _FUNCTION_DEF
|
||||
+
|
||||
+#if defined(__GNUC__) || defined(__clang__)
|
||||
+typedef int Function () __attribute__ ((deprecated));
|
||||
+typedef void VFunction () __attribute__ ((deprecated));
|
||||
+typedef char *CPFunction () __attribute__ ((deprecated));
|
||||
+typedef char **CPPFunction () __attribute__ ((deprecated));
|
||||
+#else
|
||||
+typedef int Function ();
|
||||
+typedef void VFunction ();
|
||||
+typedef char *CPFunction ();
|
||||
+typedef char **CPPFunction ();
|
||||
+#endif
|
||||
+
|
||||
+#endif /* _FUNCTION_DEF */
|
||||
+
|
||||
/* New style. */
|
||||
|
||||
#if !defined (_RL_FUNCTION_TYPEDEF)
|
||||
diff --git a/util.c b/util.c
|
||||
index fa3a667..a8ab81a 100644
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -476,6 +476,7 @@ _rl_savestring (s)
|
||||
return (strcpy ((char *)xmalloc (1 + (int)strlen (s)), (s)));
|
||||
}
|
||||
|
||||
+#if defined (DEBUG)
|
||||
#if defined (USE_VARARGS)
|
||||
static FILE *_rl_tracefp;
|
||||
|
||||
@@ -538,7 +539,7 @@ _rl_settracefp (fp)
|
||||
_rl_tracefp = fp;
|
||||
}
|
||||
#endif
|
||||
-
|
||||
+#endif /* DEBUG */
|
||||
|
||||
#if HAVE_DECL_AUDIT_USER_TTY && defined (ENABLE_TTY_AUDIT_SUPPORT)
|
||||
#include <sys/socket.h>
|
||||
--
|
||||
1.9.3
|
||||
|
@ -1,116 +0,0 @@
|
||||
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);
|
||||
}
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -up readline-6.2/chardefs.h.orig readline-6.2/chardefs.h
|
||||
--- readline-6.2/chardefs.h.orig 2011-08-31 09:24:01.852751855 +0200
|
||||
+++ readline-6.2/chardefs.h 2011-08-31 09:24:07.143685706 +0200
|
||||
@@ -72,7 +72,7 @@
|
||||
# define IN_CTYPE_DOMAIN(c) isascii(c)
|
||||
#endif
|
||||
|
||||
-#if !defined (isxdigit) && !defined (HAVE_ISXDIGIT)
|
||||
+#if !defined (isxdigit) && !defined (HAVE_ISXDIGIT) && !defined (__cplusplus)
|
||||
# define isxdigit(c) (isdigit((c)) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
|
||||
#endif
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 0597f0b34a0c93578b83f24ecca9e66d183728c5 Mon Sep 17 00:00:00 2001
|
||||
From: jchaloup <jchaloup@redhat.com>
|
||||
Date: Mon, 26 May 2014 13:02:02 +0200
|
||||
Subject: [PATCH] security fix for debug functions
|
||||
|
||||
---
|
||||
util.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/util.c b/util.c
|
||||
index 6c68ad8..bc50dc1 100644
|
||||
--- a/util.c
|
||||
+++ b/util.c
|
||||
@@ -468,6 +468,7 @@ _rl_savestring (s)
|
||||
return (strcpy ((char *)xmalloc (1 + (int)strlen (s)), (s)));
|
||||
}
|
||||
|
||||
+#if defined (DEBUG)
|
||||
#if defined (USE_VARARGS)
|
||||
static FILE *_rl_tracefp;
|
||||
|
||||
@@ -524,3 +525,4 @@ _rl_trclose ()
|
||||
}
|
||||
|
||||
#endif
|
||||
+#endif /* DEBUG */
|
||||
--
|
||||
1.9.0
|
||||
|
@ -1,41 +0,0 @@
|
||||
diff -up readline-6.2/shlib/Makefile.in.shlib readline-6.2/shlib/Makefile.in
|
||||
--- readline-6.2/shlib/Makefile.in.shlib 2010-12-28 21:56:21.000000000 +0100
|
||||
+++ readline-6.2/shlib/Makefile.in 2011-02-14 17:34:38.821537496 +0100
|
||||
@@ -170,7 +170,7 @@ $(SHARED_READLINE): $(SHARED_OBJ)
|
||||
|
||||
$(SHARED_HISTORY): $(SHARED_HISTOBJ) xmalloc.so xfree.so
|
||||
$(RM) $@
|
||||
- $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so xfree.so $(SHLIB_LIBS)
|
||||
+ $(SHOBJ_LD) ${SHOBJ_LDFLAGS} ${SHLIB_XLDFLAGS} -o $@ $(SHARED_HISTOBJ) xmalloc.so xfree.so
|
||||
|
||||
# Since tilde.c is shared between readline and bash, make sure we compile
|
||||
# it with the right flags when it's built as part of readline
|
||||
diff -up readline-6.2/support/shlib-install.shlib readline-6.2/support/shlib-install
|
||||
--- readline-6.2/support/shlib-install.shlib 2009-10-28 14:30:18.000000000 +0100
|
||||
+++ readline-6.2/support/shlib-install 2011-02-14 17:33:07.611768164 +0100
|
||||
@@ -72,7 +72,7 @@ fi
|
||||
case "$host_os" in
|
||||
hpux*|darwin*|macosx*|linux*)
|
||||
if [ -z "$uninstall" ]; then
|
||||
- chmod 555 ${INSTALLDIR}/${LIBNAME}
|
||||
+ chmod 755 ${INSTALLDIR}/${LIBNAME}
|
||||
fi ;;
|
||||
cygwin*|mingw*)
|
||||
IMPLIBNAME=`echo ${LIBNAME} \
|
||||
diff -up readline-6.2/support/shobj-conf.shlib readline-6.2/support/shobj-conf
|
||||
--- readline-6.2/support/shobj-conf.shlib 2009-10-28 14:20:21.000000000 +0100
|
||||
+++ readline-6.2/support/shobj-conf 2011-02-14 17:33:07.612767986 +0100
|
||||
@@ -112,10 +112,11 @@ sunos5*|solaris2*)
|
||||
linux*-*|gnu*-*|k*bsd*-gnu-*|freebsd*-gentoo)
|
||||
SHOBJ_CFLAGS=-fPIC
|
||||
SHOBJ_LD='${CC}'
|
||||
- SHOBJ_LDFLAGS='-shared -Wl,-soname,$@'
|
||||
+ SHOBJ_LDFLAGS='$(CFLAGS) -shared -Wl,-soname,$@'
|
||||
|
||||
- SHLIB_XLDFLAGS='-Wl,-rpath,$(libdir) -Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
+ SHLIB_XLDFLAGS='-Wl,-soname,`basename $@ $(SHLIB_MINOR)`'
|
||||
SHLIB_LIBVERSION='$(SHLIB_LIBSUFF).$(SHLIB_MAJOR)$(SHLIB_MINOR)'
|
||||
+ SHLIB_LIBS='-ltinfo'
|
||||
;;
|
||||
|
||||
freebsd2*)
|
File diff suppressed because it is too large
Load Diff
@ -1,29 +1,22 @@
|
||||
Summary: A library for editing typed command lines
|
||||
Name: readline
|
||||
Version: 6.2
|
||||
Release: 10%{?dist}
|
||||
Version: 6.3
|
||||
Release: 1%{?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
|
||||
# upstream patches
|
||||
Patch1: ftp://ftp.cwru.edu/pub/bash/readline-6.2-patches/readline62-001
|
||||
# fix file permissions, remove RPATH, use CFLAGS
|
||||
Patch20: readline-6.2-shlib.patch
|
||||
# add TTY input audit support
|
||||
Patch21: readline-6.1-audit.patch
|
||||
# isxdigit should not be defined as macro
|
||||
Patch22: readline-6.2-cppmacro.patch
|
||||
# add workaround for problem in gdb
|
||||
# in new version of readline needs to be deleted
|
||||
Patch23: readline-6.2-gdb.patch
|
||||
#temporary fix build on 64b ARM
|
||||
Patch24: readline-aarch64.patch
|
||||
# BZ1077026, security fix for temporary file
|
||||
Patch25: readline-6.2-debug_fncs_security_fix.patch
|
||||
|
||||
Patch1: 0001-upstream-patches.patch
|
||||
Patch2: 0002-fix-file-permissions-remove-RPATH-use-CFLAGS.patch
|
||||
Patch3: 0003-add-TTY-input-audit-support.patch
|
||||
Patch4: 0004-add-workaround-for-problem-in-gdb.patch
|
||||
Patch5: 0005-readline6.3upstreampatches1-6.patch
|
||||
|
||||
Requires(post): /sbin/install-info
|
||||
Requires(preun): /sbin/install-info
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: git
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
%description
|
||||
@ -58,14 +51,7 @@ The readline-static package contains the static version of the readline
|
||||
library.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p0
|
||||
%patch20 -p1 -b .shlib
|
||||
%patch21 -p1 -b .audit
|
||||
%patch22 -p1 -b .cppmacro
|
||||
%patch23 -p1 -b .gdb
|
||||
%patch24 -p1 -b .arm
|
||||
%patch25 -p1 -b .debug_fncs_security_fix
|
||||
%autosetup -S git
|
||||
|
||||
pushd examples
|
||||
rm -f rlfe/configure
|
||||
@ -143,6 +129,10 @@ fi
|
||||
%{_libdir}/lib*.a
|
||||
|
||||
%changelog
|
||||
* Thu Jun 19 2014 Jan Chaloupka <jchaloup@redhat.com> - 6.3-1
|
||||
- resolves: #1071336
|
||||
rebase 6.3
|
||||
|
||||
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user