update to latest upstream pre-release (elinks-0.12pre6)

- drop unneeded patches
- fix autoconf warnings
- explicitly disable using OpenSSL and GnuTLS
This commit is contained in:
Kamil Dudka 2013-02-25 15:38:03 +01:00
parent cd8c44ec4d
commit ec6f2e309a
15 changed files with 187 additions and 243 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
elinks-0.12pre5.tar.bz2
/elinks-0.12pre6.tar.bz2

34
DEB478C8.key Normal file
View File

@ -0,0 +1,34 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.0
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
=lG6m
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,6 +1,11 @@
--- elinks-0.10.1/src/config/options.c.xterm 2005-01-04 01:50:29.000000000 +0100
+++ elinks-0.10.1/src/config/options.c 2005-01-28 18:32:34.523579120 +0100
@@ -689,8 +689,9 @@ register_autocreated_options(void)
src/config/options.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/config/options.c b/src/config/options.c
index 925e042..ace1a13 100644
--- a/src/config/options.c
+++ b/src/config/options.c
@@ -706,8 +706,9 @@ register_autocreated_options(void)
get_opt_bool("terminal.linux.m11_hack") = 1;
get_opt_int("terminal.vt100.type") = TERM_VT100;
get_opt_int("terminal.vt110.type") = TERM_VT100;

View File

@ -1,77 +0,0 @@
--- elinks-0.11.0/src/config/options.h.union 2006-01-10 09:40:54.000000000 +0100
+++ elinks-0.11.0/src/config/options.h 2006-01-10 09:48:16.000000000 +0100
@@ -160,7 +160,7 @@ struct option {
};
#define INIT_OPTION(name, flags, type, min, max, value, desc, capt) \
- { NULL_LIST_HEAD, INIT_OBJECT("option"), name, flags, type, min, max, { (LIST_OF(struct option) *) (value) }, desc, capt }
+ { NULL_LIST_HEAD, INIT_OBJECT("option"), name, flags, type, min, max, { value }, desc, capt }
extern struct option *config_options;
extern struct option *cmdline_options;
@@ -323,40 +323,42 @@ extern void register_options(struct option_info info[], struct option *tree);
extern void unregister_options(struct option_info info[], struct option *tree);
#define NULL_OPTION_INFO \
- { INIT_OPTION(NULL, 0, 0, 0, 0, NULL, NULL, NULL), NULL }
+ { INIT_OPTION(NULL, 0, 0, 0, 0, .tree = NULL, NULL, NULL), NULL }
#define INIT_OPT_BOOL(path, capt, name, flags, def, desc) \
- { INIT_OPTION(name, flags, OPT_BOOL, 0, 1, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_BOOL, 0, 1, .number = def, DESC(desc), capt), path }
#define INIT_OPT_INT(path, capt, name, flags, min, max, def, desc) \
- { INIT_OPTION(name, flags, OPT_INT, min, max, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_INT, min, max, .number = def, DESC(desc), capt), path }
#define INIT_OPT_LONG(path, capt, name, flags, min, max, def, desc) \
- { INIT_OPTION(name, flags, OPT_LONG, min, max, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_LONG, min, max, .big_number = def, DESC(desc), capt), path }
#define INIT_OPT_STRING(path, capt, name, flags, def, desc) \
- { INIT_OPTION(name, flags, OPT_STRING, 0, MAX_STR_LEN, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_STRING, 0, MAX_STR_LEN, .string = def, DESC(desc), capt), path }
+/* .number initialized in register_options */
#define INIT_OPT_CODEPAGE(path, capt, name, flags, def, desc) \
- { INIT_OPTION(name, flags, OPT_CODEPAGE, 0, 0, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_CODEPAGE, 0, 0, .string = def, DESC(desc), capt), path }
+/* .color initialized in register_options */
#define INIT_OPT_COLOR(path, capt, name, flags, def, desc) \
- { INIT_OPTION(name, flags, OPT_COLOR, 0, 0, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_COLOR, 0, 0, .string = def, DESC(desc), capt), path }
#define INIT_OPT_LANGUAGE(path, capt, name, flags, desc) \
- { INIT_OPTION(name, flags, OPT_LANGUAGE, 0, 0, 0, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_LANGUAGE, 0, 0, .number = 0, DESC(desc), capt), path }
#define INIT_OPT_COMMAND(path, capt, name, flags, cmd, desc) \
- { INIT_OPTION(name, flags, OPT_COMMAND, 0, 0, cmd, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_COMMAND, 0, 0, .command = cmd, DESC(desc), capt), path }
#define INIT_OPT_CMDALIAS(path, capt, name, flags, def, desc) \
- { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, def, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, .string = def, DESC(desc), capt), path }
#define INIT_OPT_ALIAS(path, name, flags, def) \
- { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, def, NULL, NULL), path }
+ { INIT_OPTION(name, flags, OPT_ALIAS, 0, sizeof(def) - 1, .string = def, NULL, NULL), path }
#define INIT_OPT_TREE(path, capt, name, flags, desc) \
- { INIT_OPTION(name, flags, OPT_TREE, 0, 0, NULL, DESC(desc), capt), path }
+ { INIT_OPTION(name, flags, OPT_TREE, 0, 0, .tree = NULL, DESC(desc), capt), path }
/* TODO: We need to do *something* with this ;). */
--- elinks-0.11.0/src/config/options.c.union 2006-01-10 09:38:31.000000000 +0100
+++ elinks-0.11.0/src/config/options.c 2006-01-10 09:39:59.000000000 +0100
@@ -59,7 +59,7 @@
/* flags: */ 0,
/* type: */ OPT_TREE,
/* min, max: */ 0, 0,
- /* value: */ &options_root_tree,
+ /* value: */ .tree = &options_root_tree,
/* desc: */ "",
/* capt: */ NULL
);

View File

@ -5,7 +5,7 @@ diff --git a/src/encoding/encoding.c b/src/encoding/encoding.c
index d019dab..9648da3 100644
--- a/src/encoding/encoding.c
+++ b/src/encoding/encoding.c
@@ -111,7 +111,7 @@ open_encoded(int fd, enum stream_encoding encoding)
@@ -124,7 +124,7 @@ open_encoded(int fd, enum stream_encoding encoding)
if (!stream) return NULL;
stream->encoding = encoding;

View File

@ -16,7 +16,7 @@ diff --git a/src/protocol/http/http.c b/src/protocol/http/http.c
index ce14031..98053c0 100644
--- a/src/protocol/http/http.c
+++ b/src/protocol/http/http.c
@@ -227,7 +227,8 @@ static struct option_info http_options[] = {
@@ -227,7 +227,8 @@ static union option_info http_options[] = {
"pushing some lite version to them automagically.\n"
"\n"
"Use \" \" if you don't want any User-Agent header to be sent "
@ -30,7 +30,7 @@ diff --git a/src/protocol/rewrite/rewrite.c b/src/protocol/rewrite/rewrite.c
index dd5c7ab..e01da74 100644
--- a/src/protocol/rewrite/rewrite.c
+++ b/src/protocol/rewrite/rewrite.c
@@ -121,6 +121,7 @@ static struct option_info uri_rewrite_options[] = {
@@ -121,6 +121,7 @@ static union option_info uri_rewrite_options[] = {
INIT_OPT_DUMB_PREFIX("cia", "http://cia.navi.cx/"),
INIT_OPT_DUMB_PREFIX("b", "http://babelfish.altavista.com/babelfish/tr"),
INIT_OPT_DUMB_PREFIX("d", "http://www.dict.org"),
@ -38,7 +38,7 @@ index dd5c7ab..e01da74 100644
INIT_OPT_DUMB_PREFIX("g", "http://www.google.com/"),
INIT_OPT_DUMB_PREFIX("gg", "http://www.google.com/"),
INIT_OPT_DUMB_PREFIX("go", "http://www.google.com/"),
@@ -158,6 +159,7 @@ static struct option_info uri_rewrite_options[] = {
@@ -158,6 +159,7 @@ static union option_info uri_rewrite_options[] = {
INIT_OPT_SMART_PREFIX("cambridge", "http://dictionary.cambridge.org/results.asp?searchword=%s"),
INIT_OPT_SMART_PREFIX("cliki", "http://www.cliki.net/admin/search?words=%s"),
INIT_OPT_SMART_PREFIX("d", "http://www.dict.org/bin/Dict?Query=%s&Form=Dict1&Strategy=*&Database=*&submit=Submit+query"),

View File

@ -27,9 +27,9 @@ diff --git a/Makefile.config.in b/Makefile.config.in
index c463868..40a8cd7 100644
--- a/Makefile.config.in
+++ b/Makefile.config.in
@@ -117,6 +117,7 @@ CONFIG_DOM = @CONFIG_DOM@
@@ -115,6 +115,7 @@ CONFIG_DOC = @CONFIG_DOC@
CONFIG_DOM = @CONFIG_DOM@
CONFIG_ECMASCRIPT = @CONFIG_ECMASCRIPT@
CONFIG_ECMASCRIPT_SEE = @CONFIG_ECMASCRIPT_SEE@
CONFIG_ECMASCRIPT_SMJS = @CONFIG_ECMASCRIPT_SMJS@
+CONFIG_ECMASCRIPT_SMJS_HEARTBEAT = @CONFIG_ECMASCRIPT_SMJS@
CONFIG_EXMODE = @CONFIG_EXMODE@
@ -47,7 +47,7 @@ index f3e3d77..f79ca78 100644
AC_CHECK_FUNCS([cygwin_conv_to_full_win32_path])
@@ -651,6 +652,8 @@ AC_MSG_RESULT($cf_result)
@@ -603,6 +604,8 @@ AC_MSG_RESULT($cf_result)
CONFIG_SPIDERMONKEY="$cf_result"
if test "$cf_result" = "yes"; then
AC_CHECK_FUNCS([[JS_ReportAllocationOverflow]])
@ -56,8 +56,8 @@ index f3e3d77..f79ca78 100644
fi
EL_RESTORE_FLAGS
@@ -665,6 +668,15 @@ EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SEE CONFIG_ECMASCRIPT_SM
AC_SUBST(CONFIG_ECMASCRIPT_SEE)
@@ -615,6 +618,15 @@ fi
EL_CONFIG_DEPENDS(CONFIG_ECMASCRIPT, [CONFIG_ECMASCRIPT_SMJS], [ECMAScript (JavaScript)])
AC_SUBST(CONFIG_ECMASCRIPT_SMJS)
+if test "x$CONFIG_ECMASCRIPT_SMJS" = xyes &&
@ -76,7 +76,7 @@ diff --git a/src/ecmascript/ecmascript.h b/src/ecmascript/ecmascript.h
index e8d84b5..8613b34 100644
--- a/src/ecmascript/ecmascript.h
+++ b/src/ecmascript/ecmascript.h
@@ -32,7 +32,11 @@ struct ecmascript_interpreter {
@@ -33,7 +33,11 @@ struct ecmascript_interpreter {
/* The code evaluated by setTimeout() */
struct string code;
@ -411,7 +411,7 @@ diff --git a/configure.in b/configure.in
index f79ca78..64faf85 100644
--- a/configure.in
+++ b/configure.in
@@ -641,7 +641,15 @@ if test -z "$disable_spidermonkey"; then
@@ -593,7 +593,15 @@ if test -z "$disable_spidermonkey"; then
CPPFLAGS="$CPPFLAGS_X $SPIDERMONKEY_CFLAGS"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#define XP_UNIX
@ -1279,7 +1279,7 @@ index dd5b40b..752a890 100644
const spidermonkeyFunctionSpec location_funcs[] = {
{ "toString", location_toString, 0 },
@@ -232,9 +233,14 @@ const spidermonkeyFunctionSpec location_funcs[] = {
@@ -232,7 +233,12 @@ const spidermonkeyFunctionSpec location_funcs[] = {
/* @location_funcs{"toString"}, @location_funcs{"toLocaleString"} */
static JSBool
@ -1294,8 +1294,6 @@ index dd5b40b..752a890 100644
+ JS_SET_RVAL(ctx, rval, val);
+ return ret;
}
struct delayed_goto {
diff --git a/src/ecmascript/spidermonkey/navigator.c b/src/ecmascript/spidermonkey/navigator.c
index a009d62..e08a224 100644
--- a/src/ecmascript/spidermonkey/navigator.c
@ -1451,7 +1449,7 @@ index 5e93a6f..9bc8dd9 100644
case JSP_WIN_CLOSED:
/* TODO: It will be a major PITA to implement this properly.
* Well, perhaps not so much if we introduce reference tracking
@@ -254,7 +254,7 @@ void location_goto(struct document_view *doc_view, unsigned char *url);
@@ -252,7 +252,7 @@ found_parent:
/* @window_class.setProperty */
static JSBool
@ -1460,7 +1458,7 @@ index 5e93a6f..9bc8dd9 100644
{
struct view_state *vs;
@@ -266,8 +266,8 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
@@ -264,8 +264,8 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
vs = JS_GetInstancePrivate(ctx, obj, (JSClass *) &window_class, NULL);
@ -1471,7 +1469,7 @@ index 5e93a6f..9bc8dd9 100644
struct document_view *doc_view = vs->doc_view;
location_goto(doc_view, jsval_to_string(ctx, vp));
@@ -278,10 +278,10 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
@@ -276,10 +276,10 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
return JS_TRUE;
}
@ -1484,7 +1482,7 @@ index 5e93a6f..9bc8dd9 100644
case JSP_WIN_STATUS:
mem_free_set(&vs->doc_view->session->status.window_status, stracpy(jsval_to_string(ctx, vp)));
print_screen_status(vs->doc_view->session);
@@ -298,9 +298,9 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
@@ -296,9 +296,9 @@ window_set_property(JSContext *ctx, JSObject *obj, jsval id, jsval *vp)
}
@ -1497,7 +1495,7 @@ index 5e93a6f..9bc8dd9 100644
const spidermonkeyFunctionSpec window_funcs[] = {
{ "alert", window_alert, 1 },
@@ -311,8 +311,11 @@ const spidermonkeyFunctionSpec window_funcs[] = {
@@ -309,8 +309,11 @@ const spidermonkeyFunctionSpec window_funcs[] = {
/* @window_funcs{"alert"} */
static JSBool
@ -1510,7 +1508,7 @@ index 5e93a6f..9bc8dd9 100644
struct view_state *vs;
unsigned char *string;
@@ -330,14 +333,18 @@ window_alert(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
@@ -328,14 +331,18 @@ window_alert(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval
info_box(vs->doc_view->session->tab->term, MSGBOX_FREE_TEXT,
N_("JavaScript Alert"), ALIGN_CENTER, stracpy(string));
@ -1531,7 +1529,7 @@ index 5e93a6f..9bc8dd9 100644
struct view_state *vs;
struct document_view *doc_view;
struct session *ses;
@@ -407,7 +414,7 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
@@ -405,7 +412,7 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
deo->uri = get_uri_reference(uri);
deo->target = stracpy(frame);
register_bottom_half(delayed_goto_uri_frame, deo);
@ -1540,7 +1538,7 @@ index 5e93a6f..9bc8dd9 100644
goto end;
}
}
@@ -418,7 +425,7 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
@@ -416,7 +423,7 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
&& can_open_in_new(ses->tab->term)) {
open_uri_in_new_window(ses, uri, NULL, ENV_ANY,
CACHE_MODE_NORMAL, TASK_NONE);
@ -1549,7 +1547,7 @@ index 5e93a6f..9bc8dd9 100644
} else {
/* When opening a new tab, we might get rerendered, losing our
* context and triggerring a disaster, so postpone that. */
@@ -428,9 +435,9 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
@@ -426,9 +433,9 @@ window_open(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
deo->ses = ses;
deo->uri = get_uri_reference(uri);
register_bottom_half(delayed_open, deo);
@ -1561,7 +1559,7 @@ index 5e93a6f..9bc8dd9 100644
}
}
@@ -438,13 +445,15 @@ end:
@@ -436,13 +443,15 @@ end:
done_uri(uri);
mem_free_if(frame);
@ -1582,7 +1580,7 @@ diff --git a/src/scripting/smjs/action_object.c b/src/scripting/smjs/action_obje
index d95564d..d0379e0 100644
--- a/src/scripting/smjs/action_object.c
+++ b/src/scripting/smjs/action_object.c
@@ -40,25 +40,31 @@ smjs_action_fn_finalize(JSContext *ctx, JSObject *obj)
@@ -42,25 +42,31 @@ smjs_action_fn_finalize(JSContext *ctx, JSObject *obj)
/* @action_fn_class.call */
static JSBool
@ -1617,9 +1615,9 @@ index d95564d..d0379e0 100644
+ return JS_TRUE;
+ }
if (argc >= 1) {
int32 val;
@@ -70,7 +76,8 @@ smjs_action_fn_callback(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv,
if (!would_window_receive_keypresses(hop->ses->tab)) {
/* The user cannot run actions in this tab by pressing
@@ -98,7 +104,8 @@ smjs_action_fn_callback(JSContext *ctx, JSObject *obj, uintN argc, jsval *argv,
do_action(hop->ses, hop->action_id, 1);
@ -1629,7 +1627,7 @@ index d95564d..d0379e0 100644
return JS_TRUE;
}
@@ -79,7 +86,7 @@ static const JSClass action_fn_class = {
@@ -107,7 +114,7 @@ static const JSClass action_fn_class = {
"action_fn",
JSCLASS_HAS_PRIVATE, /* struct smjs_action_fn_callback_hop * */
JS_PropertyStub, JS_PropertyStub,
@ -1638,7 +1636,7 @@ index d95564d..d0379e0 100644
JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub,
smjs_action_fn_finalize,
NULL, NULL,
@@ -124,14 +131,16 @@ smjs_get_action_fn_object(unsigned char *action_str)
@@ -152,14 +159,16 @@ smjs_get_action_fn_object(unsigned char *action_str)
/* @action_class.getProperty */
static JSBool
@ -1657,7 +1655,7 @@ index d95564d..d0379e0 100644
if (!action_str) return JS_TRUE;
action_fn = smjs_get_action_fn_object(action_str);
@@ -146,7 +155,7 @@ static const JSClass action_class = {
@@ -174,7 +183,7 @@ static const JSClass action_class = {
"action",
0,
JS_PropertyStub, JS_PropertyStub,

View File

@ -0,0 +1,35 @@
From d7380abead73dc753023ef598b87944756c08d40 Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Mon, 25 Feb 2013 15:31:07 +0100
Subject: [PATCH] configure.in: add missing AC_LANG_PROGRAM
... around the first argument of AC_COMPILE_IFELSE
---
configure.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/configure.in b/configure.in
index 2629ac3..4290e45 100644
--- a/configure.in
+++ b/configure.in
@@ -220,7 +220,7 @@ AC_STRUCT_TM
AC_C_CONST
AC_C_INLINE
AC_MSG_CHECKING([[for C99-conforming inline]])
-AC_COMPILE_IFELSE([[
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
int add(int change);
static int sum;
@@ -236,7 +236,7 @@ AC_COMPILE_IFELSE([[
sub(int change)
{
return add(-change);
- }]],
+ }]])],
[AC_MSG_RESULT([[yes]])
AC_DEFINE([NONSTATIC_INLINE], [inline],
[Define as inline if the compiler lets you declare a function without inline, then define it with inline, and have that definition refer to identifiers with internal linkage. This is allowed by C99 6.7.4p6 and 6.7.4p3 together. Otherwise define as nothing.])],
--
1.7.1

View File

@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEABECAAYFAlCQD2cACgkQHm9IGt60eMh6SwCgxLLMVxLuEI9zZhzI0mW28T5c
ARYAn0knTpyjIugmuGWJcD5LD+6IwPRT
=Gyf0
-----END PGP SIGNATURE-----

View File

@ -1,82 +0,0 @@
From ab8adc351765d28754ba2b8361e7cd9041ecabda Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Tue, 9 Oct 2012 13:01:56 +0200
Subject: [PATCH 1/2] http_negotiate: do not delegate GSSAPI credentials
CVE-2012-4545. Reported by Marko Myllynen.
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
src/protocol/http/http_negotiate.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/protocol/http/http_negotiate.c b/src/protocol/http/http_negotiate.c
index 470b071..271b443 100644
--- a/src/protocol/http/http_negotiate.c
+++ b/src/protocol/http/http_negotiate.c
@@ -188,7 +188,7 @@ http_negotiate_create_context(struct negotiate *neg)
&neg->context,
neg->server_name,
GSS_C_NO_OID,
- GSS_C_DELEG_FLAG,
+ 0,
0,
GSS_C_NO_CHANNEL_BINDINGS,
&neg->input_token,
--
1.7.1
From a3477c8f3a4793202cfe1b2a8722b31ad48f15d8 Mon Sep 17 00:00:00 2001
From: Kalle Olavi Niemitalo <kon@iki.fi>
Date: Fri, 26 Oct 2012 15:20:32 +0300
Subject: [PATCH 2/2] http_negotiate: Fix int* vs. size_t* type mismatch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
http_negotiate_parse_data passed &token->length as the int *outlen
parameter of base64_decode_bin, which stores an int at that location.
However, gss_buffer_desc::length is size_t in all implementations that
I checked: MIT Kerberos Version 5 Release 1.10, libgssglue 0.4, and
GNU GSS 1.0.2. This mismatch could cause the build to fail:
.../src/protocol/http/http_negotiate.c: In function http_negotiate_parse_data:
.../src/protocol/http/http_negotiate.c:173:2: error: passing argument 3 of base64_decode_bin from incompatible pointer type [-Werror]
In file included from .../src/protocol/http/http_negotiate.c:30:0:
.../src/util/base64.h:8:16: note: expected int * but argument is of type size_t *
On 64-bit big-endian hosts, it might also cause the GSSAPI
implementation to read too much data from memory and disclose it to
some network server, or crash ELinks.
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
src/protocol/http/http_negotiate.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/protocol/http/http_negotiate.c b/src/protocol/http/http_negotiate.c
index 271b443..aa0f755 100644
--- a/src/protocol/http/http_negotiate.c
+++ b/src/protocol/http/http_negotiate.c
@@ -142,6 +142,7 @@ http_negotiate_parse_data(unsigned char *data, int type,
{
int len = 0;
unsigned char *end;
+ int bytelen = 0;
if (data == NULL || *data == '\0')
return 0;
@@ -170,7 +171,8 @@ http_negotiate_parse_data(unsigned char *data, int type,
if (!len)
return 0;
- token->value = (void *) base64_decode_bin(data, len, &token->length);
+ token->value = (void *) base64_decode_bin(data, len, &bytelen);
+ token->length = bytelen; /* convert int to size_t */
if (!token->value)
return -1;
--
1.7.1

View File

@ -1,6 +1,10 @@
diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/network/ssl/ssl.c
--- elinks-0.12pre3.orig/src/network/ssl/ssl.c 2009-04-29 12:48:26.250878000 +0200
+++ elinks-0.12pre3/src/network/ssl/ssl.c 2009-04-29 13:03:51.318746893 +0200
src/network/ssl/ssl.c | 33 ++++++++++++++++++++++++++++++++-
1 files changed, 32 insertions(+), 1 deletions(-)
diff --git a/src/network/ssl/ssl.c b/src/network/ssl/ssl.c
index 73446b5..eadff7f 100644
--- a/src/network/ssl/ssl.c
+++ b/src/network/ssl/ssl.c
@@ -48,10 +48,20 @@ SSL_CTX *context = NULL;
static void
init_openssl(struct module *module)
@ -25,7 +29,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
@@ -61,10 +71,30 @@ done_openssl(struct module *module)
}
static struct option_info openssl_options[] = {
static union option_info openssl_options[] = {
+#ifdef CONFIG_NSS_COMPAT_OSSL
+ INIT_OPT_BOOL("connection.ssl", N_("Verify certificates"),
+ "cert_verify", 0, 0,
@ -53,7 +57,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
INIT_OPT_TREE("connection.ssl", N_("Client Certificates"),
"client_cert", OPT_SORT,
@@ -187,7 +217,8 @@ static struct option_info gnutls_options
@@ -187,7 +217,8 @@ static union option_info gnutls_options[] = {
"\n"
"If you change this option or the file, you must "
"restart ELinks for the changes to take effect. "

View File

@ -1,7 +1,14 @@
diff -ruNp elinks-0.12pre3.orig/configure.in elinks-0.12pre3/configure.in
--- elinks-0.12pre3.orig/configure.in 2009-04-28 12:19:38.816628000 +0200
+++ elinks-0.12pre3/configure.in 2009-04-28 12:56:07.343999815 +0200
@@ -1020,6 +1020,37 @@ AC_ARG_WITH(openssl, [[ --with-openssl[=DIR] enable OpenSSL support (default
configure.in | 34 +++++++++++++++++++++++++++++++++-
src/network/ssl/socket.c | 28 ++++++++++++++++++++++------
src/network/ssl/ssl.c | 32 ++++++++++++++++++++++++++------
src/network/ssl/ssl.h | 2 +-
4 files changed, 82 insertions(+), 14 deletions(-)
diff --git a/configure.in b/configure.in
index 0e534db..972a305 100644
--- a/configure.in
+++ b/configure.in
@@ -970,6 +970,37 @@ AC_ARG_WITH(openssl, [[ --with-openssl[=DIR] enable OpenSSL support (default
*) chosen_ssl_library="OpenSSL" ;;
esac])
@ -39,7 +46,7 @@ diff -ruNp elinks-0.12pre3.orig/configure.in elinks-0.12pre3/configure.in
# ---- OpenSSL
AC_MSG_CHECKING([for OpenSSL])
@@ -1142,10 +1173,11 @@ fi
@@ -1092,10 +1123,11 @@ fi
# Final SSL setup
@ -52,9 +59,10 @@ diff -ruNp elinks-0.12pre3.orig/configure.in elinks-0.12pre3/configure.in
#endif
diff -ruNp elinks-0.12pre3.orig/src/network/ssl/socket.c elinks-0.12pre3/src/network/ssl/socket.c
--- elinks-0.12pre3.orig/src/network/ssl/socket.c 2009-03-29 00:14:03.000000000 +0100
+++ elinks-0.12pre3/src/network/ssl/socket.c 2009-04-28 13:01:02.116180177 +0200
diff --git a/src/network/ssl/socket.c b/src/network/ssl/socket.c
index 45b4b4a..3265107 100644
--- a/src/network/ssl/socket.c
+++ b/src/network/ssl/socket.c
@@ -6,6 +6,10 @@
#ifdef CONFIG_OPENSSL
@ -126,7 +134,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/socket.c elinks-0.12pre3/src/net
}
}
@@ -206,7 +222,7 @@ ssl_write(struct socket *socket, unsigne
@@ -206,7 +222,7 @@ ssl_write(struct socket *socket, unsigned char *data, int len)
ssize_t wr = ssl_do_write(socket, data, len);
if (wr <= 0) {
@ -135,7 +143,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/socket.c elinks-0.12pre3/src/net
int err = SSL_get_error(socket->ssl, wr);
#elif defined(CONFIG_GNUTLS)
int err = wr;
@@ -235,7 +251,7 @@ ssl_read(struct socket *socket, unsigned
@@ -235,7 +251,7 @@ ssl_read(struct socket *socket, unsigned char *data, int len)
ssize_t rd = ssl_do_read(socket, data, len);
if (rd <= 0) {
@ -144,9 +152,10 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/socket.c elinks-0.12pre3/src/net
int err = SSL_get_error(socket->ssl, rd);
#elif defined(CONFIG_GNUTLS)
int err = rd;
diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/network/ssl/ssl.c
--- elinks-0.12pre3.orig/src/network/ssl/ssl.c 2009-04-28 12:19:38.782627000 +0200
+++ elinks-0.12pre3/src/network/ssl/ssl.c 2009-04-28 12:59:09.000000000 +0200
diff --git a/src/network/ssl/ssl.c b/src/network/ssl/ssl.c
index 685c31e..73446b5 100644
--- a/src/network/ssl/ssl.c
+++ b/src/network/ssl/ssl.c
@@ -7,6 +7,10 @@
#ifdef CONFIG_OPENSSL
#include <openssl/ssl.h>
@ -167,7 +176,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
#ifndef PATH_MAX
#define PATH_MAX 256 /* according to my /usr/include/bits/posix1_lim.h */
@@ -71,12 +75,28 @@ static struct option_info openssl_option
@@ -71,12 +75,28 @@ static union option_info openssl_options[] = {
N_("Enable or not the sending of X509 client certificates "
"to servers which request them.")),
@ -196,16 +205,16 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
NULL_OPTION_INFO,
};
@@ -182,7 +202,7 @@ static struct module gnutls_module = str
@@ -182,7 +202,7 @@ static struct module gnutls_module = struct_module(
/* done: */ done_gnutls
);
-#endif /* CONFIG_OPENSSL or CONFIG_GNUTLS */
+#endif /* USE_OPENSSL or CONFIG_GNUTLS */
static struct option_info ssl_options[] = {
static union option_info ssl_options[] = {
INIT_OPT_TREE("connection", N_("SSL"),
@@ -193,7 +213,7 @@ static struct option_info ssl_options[]
@@ -193,7 +213,7 @@ static union option_info ssl_options[] = {
};
static struct module *ssl_modules[] = {
@ -214,7 +223,7 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
&openssl_module,
#elif defined(CONFIG_GNUTLS)
&gnutls_module,
@@ -214,7 +234,7 @@ struct module ssl_module = struct_module
@@ -214,7 +234,7 @@ struct module ssl_module = struct_module(
int
init_ssl_connection(struct socket *socket)
{
@ -241,10 +250,11 @@ diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.c elinks-0.12pre3/src/networ
add_format_to_string(&str, "%ld-bit %s %s",
SSL_get_cipher_bits(ssl, NULL),
SSL_get_cipher_version(ssl),
diff -ruNp elinks-0.12pre3.orig/src/network/ssl/ssl.h elinks-0.12pre3/src/network/ssl/ssl.h
--- elinks-0.12pre3.orig/src/network/ssl/ssl.h 2009-03-29 00:14:03.000000000 +0100
+++ elinks-0.12pre3/src/network/ssl/ssl.h 2009-04-28 12:56:59.000000000 +0200
@@ -22,7 +22,7 @@ unsigned char *get_ssl_connection_cipher
diff --git a/src/network/ssl/ssl.h b/src/network/ssl/ssl.h
index 7c54a7a..21ca142 100644
--- a/src/network/ssl/ssl.h
+++ b/src/network/ssl/ssl.h
@@ -22,7 +22,7 @@ unsigned char *get_ssl_connection_cipher(struct socket *socket);
/* Internal type used in ssl module. */

View File

@ -1,9 +1,10 @@
commit b392a24716905f4b2a1efba45384705d90a1941c
Author: Witold Filipczyk <witekfl@poczta.onet.pl>
Date: Sun Aug 31 14:23:28 2008 +0200
Use real_box in dialog.c.
From f513964579f72fc77eea6e0961e49cc8299bf204 Mon Sep 17 00:00:00 2001
From: Witold Filipczyk <witekfl@poczta.onet.pl>
Date: Sun, 31 Aug 2008 14:23:28 +0200
Subject: [PATCH] Use real_box in dialog.c.
Signed-off-by: Kamil Dudka <kdudka@redhat.com>
---
src/bfu/button.c | 32 +++++++++++++-------------
src/bfu/button.h | 3 +-
src/bfu/checkbox.c | 13 +++++-----
@ -125,7 +126,7 @@ index 8267c94..8e6ac62 100644
return EVENT_PROCESSED;
}
diff --git a/src/bfu/button.h b/src/bfu/button.h
index ca7b3d6..3f00b26 100644
index e6e907d..de986c8 100644
--- a/src/bfu/button.h
+++ b/src/bfu/button.h
@@ -5,6 +5,7 @@
@ -136,7 +137,7 @@ index ca7b3d6..3f00b26 100644
struct terminal;
struct widget_data;
@@ -48,6 +49,6 @@ void add_dlg_button_do(struct dialog *dlg, unsigned char *text, int flags, widge
@@ -89,6 +90,6 @@ void add_dlg_button_do(struct dialog *dlg, unsigned char *text, int flags, widge
#endif
extern const struct widget_ops button_ops;
@ -806,7 +807,7 @@ index 6dcd31a..20fba4e 100644
void clear_terminal(struct terminal *);
diff --git a/src/terminal/window.c b/src/terminal/window.c
index d4cd6c1..1d2273b 100644
index 9ac7191..934207d 100644
--- a/src/terminal/window.c
+++ b/src/terminal/window.c
@@ -7,6 +7,7 @@
@ -817,10 +818,10 @@ index d4cd6c1..1d2273b 100644
#include "bfu/menu.h"
#include "terminal/event.h"
#include "terminal/tab.h"
@@ -205,3 +206,17 @@ assert_window_stacking(struct terminal *term)
}
@@ -227,3 +228,17 @@ would_window_receive_keypresses(const struct window *win)
return 1;
}
#endif /* CONFIG_DEBUG */
#endif /* CONFIG_SCRIPTING_SPIDERMONKEY */
+
+void
+set_window_ptr2(struct dialog_data *dlg_data, struct window *window, int x, int y)
@ -836,7 +837,7 @@ index d4cd6c1..1d2273b 100644
+ set_window_ptr(window, x, y);
+}
diff --git a/src/terminal/window.h b/src/terminal/window.h
index e94da64..c9122f1 100644
index 8bb329d..c8250ac 100644
--- a/src/terminal/window.h
+++ b/src/terminal/window.h
@@ -3,6 +3,7 @@
@ -855,3 +856,6 @@ index e94da64..c9122f1 100644
void get_parent_ptr(struct window *, int *, int *);
void add_empty_window(struct terminal *, void (*)(void *), void *);
--
1.7.1

View File

@ -1,11 +1,13 @@
%global prerel pre6
Name: elinks
Summary: A text-mode Web browser
Version: 0.12
Release: 0.33.pre5%{?dist}
Release: 0.34.%{prerel}%{?dist}
License: GPLv2
URL: http://elinks.or.cz
Group: Applications/Internet
Source: http://elinks.or.cz/download/elinks-%{version}pre5.tar.bz2
Source: http://elinks.or.cz/download/elinks-%{version}%{prerel}.tar.bz2
Source2: elinks.conf
BuildRequires: automake
@ -33,14 +35,13 @@ Patch1: elinks-0.10.1-utf_8_io-default.patch
Patch3: elinks-0.11.0-getaddrinfo.patch
Patch4: elinks-0.11.0-sysname.patch
Patch5: elinks-0.10.1-xterm.patch
Patch6: elinks-0.11.0-union.patch
Patch7: elinks-0.11.3-macropen.patch
Patch8: elinks-scroll.patch
Patch9: elinks-nss.patch
Patch10: elinks-nss-inc.patch
Patch11: elinks-0.12pre5-js185.patch
Patch12: elinks-0.12pre5-ddg-search.patch
Patch13: elinks-CVE-2012-4545.patch
Patch13: elinks-0.12pre6-autoconf.patch
%description
Elinks is a text-based Web browser. Elinks does not display any images,
@ -49,7 +50,7 @@ advantage over graphical browsers is its speed--Elinks starts and exits
quickly and swiftly displays Web pages.
%prep
%setup -q -n %{name}-%{version}pre5
%setup -q -n %{name}-%{version}%{prerel}
# Prevent crash when HOME is unset (bug #90663).
%patch0 -p1
@ -66,9 +67,6 @@ quickly and swiftly displays Web pages.
# Fix xterm terminal: "Linux" driver seems better than "VT100" (#128105)
%patch5 -p1
# Fix #157300 - Strange behavior on ppc64
%patch6 -p1
# fix for open macro in new glibc
%patch7 -p1
@ -87,7 +85,7 @@ quickly and swiftly displays Web pages.
# add default "ddg" dumb/smart rewrite prefixes for DuckDuckGo (#856348)
%patch12 -p1
# CVE-2012-4545
# add missing AC_LANG_PROGRAM around the first argument of AC_COMPILE_IFELSE
%patch13 -p1
# remove bogus serial numbers
@ -101,7 +99,8 @@ autoheader
%build
export CFLAGS="$RPM_OPT_FLAGS $(getconf LFS_CFLAGS) -D_GNU_SOURCE"
%configure %{?rescue:--without-gpm} --without-x --with-gssapi \
--enable-bittorrent --with-nss_compat_ossl --enable-256-colors
--enable-bittorrent --with-nss_compat_ossl --enable-256-colors \
--without-openssl --without-gnutls
# uncomment to turn off optimizations
#sed -i 's/-O2/-O0/' Makefile.config
@ -157,6 +156,12 @@ exit 0
%{_mandir}/man5/*
%changelog
* Mon Feb 25 2013 Kamil Dudka <kdudka@redhat.com> - 0.12-0.34.pre6
- update to latest upstream pre-release
- drop unneeded patches
- fix autoconf warnings
- explicitly disable using OpenSSL and GnuTLS
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.12-0.33.pre5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

View File

@ -1 +1 @@
92790144290131ac5e63b44548b45e08 elinks-0.12pre5.tar.bz2
3d0962f4b65fb039342fefd3ada050a9 elinks-0.12pre6.tar.bz2