New upstream bugfix only prerelease, removed already applied patches

This commit is contained in:
Ondrej Vasik 2008-09-29 20:43:28 +00:00
parent 61244e9928
commit 3b9e5e38f8
5 changed files with 11 additions and 109 deletions

View File

@ -1 +1 @@
elinks-0.12pre1.tar.bz2
elinks-0.12pre2.tar.bz2

View File

@ -1,54 +0,0 @@
diff --git a/src/protocol/bittorrent/peerconnect.c b/src/protocol/bittorrent/peerconnect.c
index aeafbf3..7a89523 100644
--- a/src/protocol/bittorrent/peerconnect.c
+++ b/src/protocol/bittorrent/peerconnect.c
@@ -271,9 +271,11 @@ enum bittorrent_state
make_bittorrent_peer_connection(struct bittorrent_connection *bittorrent,
struct bittorrent_peer *peer_info)
{
- struct uri uri;
+ struct string uri_string;
+ struct uri *uri;
struct bittorrent_peer_connection *peer;
- unsigned char port[5];
+ unsigned char port[6];
+ int port_length;
peer = init_bittorrent_peer_connection(-1);
if (!peer) return BITTORRENT_STATE_OUT_OF_MEM;
@@ -296,14 +298,27 @@ make_bittorrent_peer_connection(struct bittorrent_connection *bittorrent,
/* FIXME: Rather change the make_connection() interface. This is an ugly
* hack. */
/* FIXME: Set the ipv6 flag iff ... */
- memset(&uri, 0, sizeof(uri));
- uri.protocol = PROTOCOL_BITTORRENT;
- uri.host = peer_info->ip;
- uri.hostlen = strlen(peer_info->ip);
- uri.port = port;
- uri.portlen = snprintf(port, sizeof(port), "%u", peer_info->port);
-
- make_connection(peer->socket, &uri, send_bittorrent_peer_handshake, 1);
+ if (!init_string(&uri_string)) {
+ done_bittorrent_peer_connection(peer);
+ return BITTORRENT_STATE_OUT_OF_MEM;
+ }
+ /* The bittorrent protocol uses free syntax.
+ * It does not set uri->port nor uri->host */
+ add_to_string(&uri_string, "http://");
+ add_to_string(&uri_string, peer_info->ip);
+ add_char_to_string(&uri_string, ':');
+ port_length = snprintf(port, sizeof(port), "%u", peer_info->port);
+ add_bytes_to_string(&uri_string, port, port_length);
+
+ uri = get_uri(uri_string.source, URI_BASE);
+ done_string(&uri_string);
+ if (!uri) {
+ done_bittorrent_peer_connection(peer);
+ return BITTORRENT_STATE_OUT_OF_MEM;
+ }
+ uri->protocol = PROTOCOL_BITTORRENT;
+ make_connection(peer->socket, uri, send_bittorrent_peer_handshake, 1);
+ done_uri(uri);
return BITTORRENT_STATE_OK;
}

View File

@ -1,42 +0,0 @@
Fix crash after a tab was opened during reload.
---
commit b07fecc2be6eeb7e20e555f6128e50f1ed4ee7f9
tree 5df3f87ddb3ed9bae1126009cd755f7137c89cf6
parent 6b05cdb3a0a12e8cf8bae3860b1a59e86d3076a1
author Kalle Olavi Niemitalo <kon@iki.fi> Tue, 15 Jul 2008 00:09:27 +0300
committer Kalle Olavi Niemitalo <Kalle@Astalo.kon.iki.fi> Tue, 15 Jul 2008 00:09:27 +0300
NEWS | 2 ++
src/viewer/text/vs.c | 6 ++++++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/NEWS b/NEWS
index b01a90a..7108a8e 100644
--- a/NEWS
+++ b/NEWS
@@ -44,6 +44,8 @@
Miscellaneous:
+* critical: Fix crash after a tab was opened during reload. This was
+ triggered by the bug 620 fix in ELinks 0.12pre1.
* critical bug 723: fix dangling pointer crash when following a link
in a frame
* critical bug 756: ``assertion (cached)->object.refcount >= 0 failed''
diff --git a/src/viewer/text/vs.c b/src/viewer/text/vs.c
index d0bbdf5..a7978db 100644
--- a/src/viewer/text/vs.c
+++ b/src/viewer/text/vs.c
@@ -79,6 +79,12 @@ copy_vs(struct view_state *dst, struct view_state *src)
dst->ecmascript_fragile = 1;
#endif
+ /* destroy_vs(vs) does mem_free_if(vs->form_info), so each
+ * view_state must have its own form_info. Normally we make a
+ * copy below, but not if src->form_info_len is 0, which it
+ * can be even if src->form_info is not NULL. */
+ dst->form_info = NULL;
+
/* Clean as a baby. */
dst->doc_view = NULL;

View File

@ -1,11 +1,11 @@
Name: elinks
Summary: A text-mode Web browser
Version: 0.12
Release: 0.4.pre1%{?dist}
Release: 0.5.pre2%{?dist}
License: GPLv2
URL: http://elinks.or.cz
Group: Applications/Internet
Source: http://elinks.or.cz/download/elinks-%{version}pre1.tar.bz2
Source: http://elinks.or.cz/download/elinks-%{version}pre2.tar.bz2
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: automake
@ -28,9 +28,7 @@ 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-0.12pre1-tabreload.patch
Patch9: elinks-0.12-bittorrent.patch
Patch10: elinks-scroll.patch
Patch8: elinks-scroll.patch
%description
Links is a text-based Web browser. Links does not display any images,
@ -39,7 +37,7 @@ advantage over graphical browsers is its speed--Links starts and exits
quickly and swiftly displays Web pages.
%prep
%setup -q -n %{name}-%{version}pre1
%setup -q -n %{name}-%{version}pre2
# Prevent crash when HOME is unset (bug #90663).
%patch0 -p1
@ -56,12 +54,8 @@ quickly and swiftly displays Web pages.
%patch6 -p1
# fix for open macro in new glibc
%patch7 -p1
# upstream fix for opening tab during reload
%patch8 -p1
#upstream fix for bittorrent
%patch9 -p1
#upstream fix for out of screen dialogs
%patch10 -p1
%patch8 -p1
%build
./autogen.sh
@ -92,6 +86,10 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man5/*
%changelog
* Mon Sep 29 2008 Ondrej Vasik <ovasik@redhat.com> 0.12-0.5.pre2
- new upstream bugfix prerelease
- Removed already applied patches for tabreload and bittorrent
* Mon Sep 1 2008 Ondrej Vasik <ovasik@redhat.com> 0.12-0.4.pre1
- upstream fix for bittorrent protocol
- upstream fix for out of screen bittorrent dialog texts

View File

@ -1 +1 @@
23f745c33ea91f91ef5b2db385efdfff elinks-0.12pre1.tar.bz2
bfc2a531f633c9e25e108e5ce2d864ea elinks-0.12pre2.tar.bz2