View | Details | Raw Unified | Return to bug 209132 | Differences between
and this patch

Collapse All | Expand All

(-)libtorrent-rasterbar/Makefile (-2 / +3 lines)
Lines 2-10 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	libtorrent-rasterbar
4
PORTNAME=	libtorrent-rasterbar
5
PORTVERSION=	1.1.0
5
PORTVERSION=	1.1.1
6
CATEGORIES?=	net-p2p ipv6
6
CATEGORIES?=	net-p2p ipv6
7
MASTER_SITES=	https://github.com/arvidn/libtorrent/releases/download/libtorrent-${PORTVERSION:R:S/./_/g}/
7
MASTER_SITES=	https://github.com/arvidn/libtorrent/releases/download/libtorrent-${PORTVERSION:S/./_/g}/
8
8
9
MAINTAINER=	matthew@reztek.cz
9
MAINTAINER=	matthew@reztek.cz
10
COMMENT?=	C++ library implementing a BitTorrent client
10
COMMENT?=	C++ library implementing a BitTorrent client
Lines 29-34 Link Here
29
		--with-boost-system=boost_system \
29
		--with-boost-system=boost_system \
30
		--with-libiconv \
30
		--with-libiconv \
31
		--with-openssl=${OPENSSLBASE}
31
		--with-openssl=${OPENSSLBASE}
32
CXXFLAGS=	-DBOOST_ASIO_HAS_STD_CHRONO
32
33
33
SHLIB_VER=	9
34
SHLIB_VER=	9
34
PLIST_SUB+=	SHLIB_VER="${SHLIB_VER}"
35
PLIST_SUB+=	SHLIB_VER="${SHLIB_VER}"
(-)libtorrent-rasterbar/distinfo (-3 / +3 lines)
Lines 1-3 Link Here
1
TIMESTAMP = 1471285838
1
TIMESTAMP = 1475198625
2
SHA256 (libtorrent-rasterbar-1.1.0.tar.gz) = 2713df7da4aec5263ac11b6626ea966f368a5a8081103fd8f2f2ed97b5cd731d
2
SHA256 (libtorrent-rasterbar-1.1.1.tar.gz) = f70c82367b0980460ef95aff3e117fd4a174477892d529beec434f74d615b31f
3
SIZE (libtorrent-rasterbar-1.1.0.tar.gz) = 3629123
3
SIZE (libtorrent-rasterbar-1.1.1.tar.gz) = 3641815
(-)libtorrent-rasterbar/files/patch-git_3624ce6c (-279 lines)
Lines 1-279 Link Here
1
From 3624ce6cfd4d197db75f01ae4be37723d7d9b638 Mon Sep 17 00:00:00 2001
2
From: Arvid Norberg <arvid.norberg@gmail.com>
3
Date: Sat, 4 Jun 2016 09:53:23 -0400
4
Subject: [PATCH] fixed crash on invalid input in http_parser (#782)
5
6
fixed crash on invalid input to http_parser
7
---
8
 ChangeLog                                 |   1 +
9
 include/libtorrent/add_torrent_params.hpp |   3 +-
10
 src/http_parser.cpp                       |  32 +++++++
11
 test/test_http_parser.cpp                 | 139 +++++++++++++++++++++++++-----
12
 4 files changed, 151 insertions(+), 24 deletions(-)
13
14
diff --git a/src/http_parser.cpp b/src/http_parser.cpp
15
index a9497f8..52f6152 100644
16
--- src/http_parser.cpp
17
+++ src/http_parser.cpp
18
@@ -174,6 +174,7 @@ namespace libtorrent
19
 		if (m_state == read_status)
20
 		{
21
 			TORRENT_ASSERT(!m_finished);
22
+			TORRENT_ASSERT(pos <= recv_buffer.end);
23
 			char const* newline = std::find(pos, recv_buffer.end, '\n');
24
 			// if we don't have a full line yet, wait.
25
 			if (newline == recv_buffer.end)
26
@@ -194,6 +195,7 @@ namespace libtorrent
27
 
28
 			char const* line = pos;
29
 			++newline;
30
+			TORRENT_ASSERT(newline >= pos);
31
 			int incoming = int(newline - pos);
32
 			m_recv_pos += incoming;
33
 			boost::get<1>(ret) += newline - (m_recv_buffer.begin + start_pos);
34
@@ -227,6 +229,7 @@ namespace libtorrent
35
 		if (m_state == read_header)
36
 		{
37
 			TORRENT_ASSERT(!m_finished);
38
+			TORRENT_ASSERT(pos <= recv_buffer.end);
39
 			char const* newline = std::find(pos, recv_buffer.end, '\n');
40
 			std::string line;
41
 
42
@@ -277,6 +280,12 @@ namespace libtorrent
43
 				if (name == "content-length")
44
 				{
45
 					m_content_length = strtoll(value.c_str(), 0, 10);
46
+					if (m_content_length < 0)
47
+					{
48
+						m_state = error_state;
49
+						error = true;
50
+						return ret;
51
+					}
52
 				}
53
 				else if (name == "connection")
54
 				{
55
@@ -294,12 +303,24 @@ namespace libtorrent
56
 					if (string_begins_no_case("bytes ", ptr)) ptr += 6;
57
 					char* end;
58
 					m_range_start = strtoll(ptr, &end, 10);
59
+					if (m_range_start < 0)
60
+					{
61
+						m_state = error_state;
62
+						error = true;
63
+						return ret;
64
+					}
65
 					if (end == ptr) success = false;
66
 					else if (*end != '-') success = false;
67
 					else
68
 					{
69
 						ptr = end + 1;
70
 						m_range_end = strtoll(ptr, &end, 10);
71
+						if (m_range_end < 0)
72
+						{
73
+							m_state = error_state;
74
+							error = true;
75
+							return ret;
76
+						}
77
 						if (end == ptr) success = false;
78
 					}
79
 
80
@@ -318,6 +339,7 @@ namespace libtorrent
81
 				}
82
 
83
 				TORRENT_ASSERT(m_recv_pos <= recv_buffer.left());
84
+				TORRENT_ASSERT(pos <= recv_buffer.end);
85
 				newline = std::find(pos, recv_buffer.end, '\n');
86
 			}
87
 			boost::get<1>(ret) += newline - (m_recv_buffer.begin + start_pos);
88
@@ -347,6 +369,12 @@ namespace libtorrent
89
 					int header_size;
90
 					if (parse_chunk_header(buf, &chunk_size, &header_size))
91
 					{
92
+						if (chunk_size < 0)
93
+						{
94
+							m_state = error_state;
95
+							error = true;
96
+							return ret;
97
+						}
98
 						if (chunk_size > 0)
99
 						{
100
 							std::pair<boost::int64_t, boost::int64_t> chunk_range(m_cur_chunk_end + header_size
101
@@ -419,6 +447,7 @@ namespace libtorrent
102
 	bool http_parser::parse_chunk_header(buffer::const_interval buf
103
 		, boost::int64_t* chunk_size, int* header_size)
104
 	{
105
+		TORRENT_ASSERT(buf.begin <= buf.end);
106
 		char const* pos = buf.begin;
107
 
108
 		// ignore one optional new-line. This is since each chunk
109
@@ -429,6 +458,7 @@ namespace libtorrent
110
 		if (pos < buf.end && pos[0] == '\n') ++pos;
111
 		if (pos == buf.end) return false;
112
 
113
+		TORRENT_ASSERT(pos <= buf.end);
114
 		char const* newline = std::find(pos, buf.end, '\n');
115
 		if (newline == buf.end) return false;
116
 		++newline;
117
@@ -441,6 +471,8 @@ namespace libtorrent
118
 
119
 		// first, read the chunk length
120
 		*chunk_size = strtoll(pos, 0, 16);
121
+		if (*chunk_size < 0) return true;
122
+
123
 		if (*chunk_size != 0)
124
 		{
125
 			*header_size = newline - buf.begin;
126
diff --git a/test/test_http_parser.cpp b/test/test_http_parser.cpp
127
index c26d1c8..6835a12 100644
128
--- test/test_http_parser.cpp
129
+++ test/test_http_parser.cpp
130
@@ -361,29 +361,6 @@ TORRENT_TEST(http_parser)
131
 		TEST_EQUAL(parser.headers().find("test2")->second, "bar");
132
 	}
133
 
134
-	// test chunked encoding
135
-
136
-	parser.reset();
137
-
138
-	char const* chunked_input =
139
-		"HTTP/1.1 200 OK\r\n"
140
-		"Transfer-Encoding: chunked\r\n"
141
-		"Content-Type: text/plain\r\n"
142
-		"\r\n"
143
-		"4\r\ntest\r\n4\r\n1234\r\n10\r\n0123456789abcdef\r\n"
144
-		"0\r\n\r\n";
145
-	received = feed_bytes(parser, chunked_input);
146
-
147
-	TEST_EQUAL(strlen(chunked_input), 24 + 94)
148
-	TEST_CHECK(received == make_tuple(24, 94, false));
149
-	TEST_CHECK(parser.finished());
150
-
151
-	char mutable_buffer[100];
152
-	memcpy(mutable_buffer, parser.get_body().begin, parser.get_body().left());
153
-	int len = parser.collapse_chunk_headers(mutable_buffer, parser.get_body().left());
154
-
155
-	TEST_CHECK(std::equal(mutable_buffer, mutable_buffer + len, "test12340123456789abcdef"));
156
-
157
 	// test url parsing
158
 
159
 	error_code ec;
160
@@ -476,3 +453,119 @@ TORRENT_TEST(http_parser)
161
 	TEST_EQUAL(is_redirect(400), false);
162
 }
163
 
164
+TORRENT_TEST(chunked_encoding)
165
+{
166
+	char const* chunked_input =
167
+		"HTTP/1.1 200 OK\r\n"
168
+		"Transfer-Encoding: chunked\r\n"
169
+		"Content-Type: text/plain\r\n"
170
+		"\r\n"
171
+		"4\r\ntest\r\n4\r\n1234\r\n10\r\n0123456789abcdef\r\n"
172
+		"0\r\n\r\n";
173
+
174
+	http_parser parser;
175
+	boost::tuple<int, int, bool> const received
176
+		= feed_bytes(parser, chunked_input);
177
+
178
+	TEST_EQUAL(strlen(chunked_input), 24 + 94)
179
+	TEST_CHECK(received == make_tuple(24, 94, false));
180
+	TEST_CHECK(parser.finished());
181
+
182
+	char mutable_buffer[100];
183
+	memcpy(mutable_buffer, parser.get_body().begin, parser.get_body().left());
184
+	int len = parser.collapse_chunk_headers(mutable_buffer, parser.get_body().left());
185
+
186
+	TEST_CHECK(std::equal(mutable_buffer, mutable_buffer + len, "test12340123456789abcdef"));
187
+}
188
+
189
+TORRENT_TEST(invalid_content_length)
190
+{
191
+	char const* chunked_input =
192
+		"HTTP/1.1 200 OK\r\n"
193
+		"Transfer-Encoding: chunked\r\n"
194
+		"Content-Length: -45345\r\n"
195
+		"\r\n";
196
+
197
+	http_parser parser;
198
+	boost::tuple<int, int, bool> const received
199
+		= feed_bytes(parser, chunked_input);
200
+
201
+	TEST_CHECK(boost::get<2>(received) == true);
202
+}
203
+
204
+TORRENT_TEST(invalid_chunked)
205
+{
206
+	char const* chunked_input =
207
+		"HTTP/1.1 200 OK\r\n"
208
+		"Transfer-Encoding: chunked\r\n"
209
+		"\r\n"
210
+		"-53465234545\r\n"
211
+		"foobar";
212
+
213
+	http_parser parser;
214
+	boost::tuple<int, int, bool> const received
215
+		= feed_bytes(parser, chunked_input);
216
+
217
+	TEST_CHECK(boost::get<2>(received) == true);
218
+}
219
+
220
+TORRENT_TEST(invalid_content_range_start)
221
+{
222
+	char const* chunked_input =
223
+		"HTTP/1.1 206 OK\n"
224
+		"Content-Range: bYTes -3-4\n"
225
+		"\n";
226
+
227
+	http_parser parser;
228
+	boost::tuple<int, int, bool> const received
229
+		= feed_bytes(parser, chunked_input);
230
+
231
+	TEST_CHECK(boost::get<2>(received) == true);
232
+}
233
+
234
+TORRENT_TEST(invalid_content_range_end)
235
+{
236
+	char const* chunked_input =
237
+		"HTTP/1.1 206 OK\n"
238
+		"Content-Range: bYTes 3--434\n"
239
+		"\n";
240
+
241
+	http_parser parser;
242
+	boost::tuple<int, int, bool> const received
243
+		= feed_bytes(parser, chunked_input);
244
+
245
+	TEST_CHECK(boost::get<2>(received) == true);
246
+}
247
+
248
+TORRENT_TEST(invalid_chunk_afl)
249
+{
250
+	boost::uint8_t const invalid_chunked_input[] = {
251
+		0x48, 0x6f, 0x54, 0x50, 0x2f, 0x31, 0x2e, 0x31, // HoTP/1.1 200 OK
252
+		0x20, 0x32, 0x30, 0x30, 0x20, 0x4f, 0x4b, 0x0d, // Cont-Length: 20
253
+		0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x2d, 0x4c, 0x65, // Contente: tn
254
+		0x6e, 0x67, 0x74, 0x68, 0x3a, 0x20, 0x32, 0x30, // Transfer-Encoding: chunked
255
+		0x0d, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, //
256
+		0x74, 0x65, 0x3a, 0x20, 0x74, 0x6e, 0x0d, 0x0a, //
257
+		0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, //
258
+		0x2d, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, // -89abc9abcdef
259
+		0x67, 0x3a, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, // �
260
+		0x65, 0x64, 0x0d, 0x0a, 0x0d, 0x0d, 0x0a, 0x0d, // T����������def
261
+		0x0a, 0x0a, 0x2d, 0x38, 0x39, 0x61, 0x62, 0x63, // �
262
+		0x39, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x0d, // T�����������est-headyr: foobar
263
+		0x0a, 0xd6, 0x0d, 0x0a, 0x54, 0xbd, 0xbd, 0xbd,
264
+		0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0x64,
265
+		0x65, 0x66, 0x0d, 0x0a, 0xd6, 0x0d, 0x0a, 0x54,
266
+		0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd, 0xbd,
267
+		0xbd, 0xbd, 0xbd, 0x65, 0x73, 0x74, 0x2d, 0x68,
268
+		0x65, 0x61, 0x64, 0x79, 0x72, 0x3a, 0x20, 0x66,
269
+		0x6f, 0x6f, 0x62, 0x61, 0x72, 0x0d, 0x0a, 0x0d,
270
+		0x0a, 0x00
271
+	};
272
+
273
+	http_parser parser;
274
+	boost::tuple<int, int, bool> const received
275
+		= feed_bytes(parser, reinterpret_cast<char const*>(invalid_chunked_input));
276
+
277
+	TEST_CHECK(boost::get<2>(received) == true);
278
+}
279
+
(-)libtorrent-rasterbar/files/patch-git_95e348be (-132 lines)
Lines 1-132 Link Here
1
From 95e348bef7ad92d7e26da712b4df478c8c739f87 Mon Sep 17 00:00:00 2001
2
From: Arvid Norberg <arvid.norberg@gmail.com>
3
Date: Fri, 29 Apr 2016 12:00:39 -0400
4
Subject: [PATCH] fix name clash with 'thread' on freebsd (#664)
5
6
---
7
 test/dht_server.cpp         |  2 +-
8
 test/peer_server.cpp        |  2 +-
9
 test/test_alert_manager.cpp |  2 +-
10
 test/test_threads.cpp       | 12 ++++++------
11
 test/test_time.cpp          |  8 ++++----
12
 test/udp_tracker.cpp        |  2 +-
13
 6 files changed, 14 insertions(+), 14 deletions(-)
14
15
diff --git a/test/dht_server.cpp b/test/dht_server.cpp
16
index 93a3b63..84b8a34 100644
17
--- test/dht_server.cpp
18
+++ test/dht_server.cpp
19
@@ -89,7 +89,7 @@ struct dht_server
20
 
21
 		fprintf(stderr, "%s: DHT initialized on port %d\n", time_now_string(), m_port);
22
 
23
-		m_thread.reset(new thread(boost::bind(&dht_server::thread_fun, this)));
24
+		m_thread.reset(new libtorrent::thread(boost::bind(&dht_server::thread_fun, this)));
25
 	}
26
 
27
 	~dht_server()
28
diff --git a/test/peer_server.cpp b/test/peer_server.cpp
29
index 315c055..8297acf 100644
30
--- test/peer_server.cpp
31
+++ test/peer_server.cpp
32
@@ -92,7 +92,7 @@ struct peer_server
33
 
34
 		fprintf(stderr, "%s: PEER peer initialized on port %d\n", time_now_string(), m_port);
35
 
36
-		m_thread.reset(new thread(boost::bind(&peer_server::thread_fun, this)));
37
+		m_thread.reset(new libtorrent::thread(boost::bind(&peer_server::thread_fun, this)));
38
 	}
39
 
40
 	~peer_server()
41
diff --git a/test/test_alert_manager.cpp b/test/test_alert_manager.cpp
42
index 3432336..bf0c28f 100644
43
--- test/test_alert_manager.cpp
44
+++ test/test_alert_manager.cpp
45
@@ -262,7 +262,7 @@ TORRENT_TEST(wait_for_alert)
46
 	mgr.get_all(alerts, num_resume);
47
 
48
 	start = clock_type::now();
49
-	thread posting_thread(boost::bind(&post_torrent_added, &mgr));
50
+	libtorrent::thread posting_thread(boost::bind(&post_torrent_added, &mgr));
51
 
52
 	a = mgr.wait_for_alert(seconds(10));
53
 	end = clock_type::now();
54
diff --git a/test/test_threads.cpp b/test/test_threads.cpp
55
index 5c9475d..55b6010 100644
56
--- test/test_threads.cpp
57
+++ test/test_threads.cpp
58
@@ -77,11 +77,11 @@ TORRENT_TEST(threads)
59
 {
60
 	condition_variable cond;
61
 	libtorrent::mutex m;
62
-	std::list<thread*> threads;
63
+	std::list<libtorrent::thread*> threads;
64
 	int waiting = 0;
65
 	for (int i = 0; i < 20; ++i)
66
 	{
67
-		threads.push_back(new thread(boost::bind(&fun, &cond, &m, &waiting, i)));
68
+		threads.push_back(new libtorrent::thread(boost::bind(&fun, &cond, &m, &waiting, i)));
69
 	}
70
 
71
 	// make sure all threads are waiting on the condition_variable
72
@@ -96,7 +96,7 @@ TORRENT_TEST(threads)
73
 	cond.notify_all();
74
 	l.unlock();
75
 
76
-	for (std::list<thread*>::iterator i = threads.begin(); i != threads.end(); ++i)
77
+	for (std::list<libtorrent::thread*>::iterator i = threads.begin(); i != threads.end(); ++i)
78
 	{
79
 		(*i)->join();
80
 		delete *i;
81
@@ -107,8 +107,8 @@ TORRENT_TEST(threads)
82
 	boost::atomic<int> c(0);
83
 	for (int i = 0; i < 3; ++i)
84
 	{
85
-		threads.push_back(new thread(boost::bind(&increment, &cond, &m, &waiting, &c)));
86
-		threads.push_back(new thread(boost::bind(&decrement, &cond, &m, &waiting, &c)));
87
+		threads.push_back(new libtorrent::thread(boost::bind(&increment, &cond, &m, &waiting, &c)));
88
+		threads.push_back(new libtorrent::thread(boost::bind(&decrement, &cond, &m, &waiting, &c)));
89
 	}
90
 
91
 	// make sure all threads are waiting on the condition_variable
92
@@ -123,7 +123,7 @@ TORRENT_TEST(threads)
93
 	cond.notify_all();
94
 	l.unlock();
95
 
96
-	for (std::list<thread*>::iterator i = threads.begin(); i != threads.end(); ++i)
97
+	for (std::list<libtorrent::thread*>::iterator i = threads.begin(); i != threads.end(); ++i)
98
 	{
99
 		(*i)->join();
100
 		delete *i;
101
diff --git a/test/test_time.cpp b/test/test_time.cpp
102
index 817dd1d..f8ddd30 100644
103
--- test/test_time.cpp
104
+++ test/test_time.cpp
105
@@ -83,10 +83,10 @@ TORRENT_TEST(time)
106
 	
107
 	mutex m;
108
 	condition_variable cv;
109
-	thread t1(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
110
-	thread t2(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
111
-	thread t3(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
112
-	thread t4(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
113
+	libtorrent::thread t1(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
114
+	libtorrent::thread t2(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
115
+	libtorrent::thread t3(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
116
+	libtorrent::thread t4(boost::bind(&check_timer_loop, boost::ref(m), boost::ref(last), boost::ref(cv)));
117
 
118
 	test_sleep(100);
119
 
120
diff --git a/test/udp_tracker.cpp b/test/udp_tracker.cpp
121
index bb63434..5d5a59f 100644
122
--- test/udp_tracker.cpp
123
+++ test/udp_tracker.cpp
124
@@ -171,7 +171,7 @@ struct udp_tracker
125
 
126
 		fprintf(stderr, "%s: UDP tracker initialized on port %d\n", time_now_string(), m_port);
127
 
128
-		m_thread.reset(new thread(boost::bind(&udp_tracker::thread_fun, this)));
129
+		m_thread.reset(new libtorrent::thread(boost::bind(&udp_tracker::thread_fun, this)));
130
 	}
131
 
132
 	void stop()
(-)libtorrent-rasterbar/files/patch-redundant-digests (+80 lines)
Line 0 Link Here
1
--- src/hasher.cpp	2016-04-10 17:39:15.000000000 -0400
2
+++ src/hasher.cpp	2016-04-28 01:03:58.003106000 -0400
3
@@ -32,5 +32,4 @@
4
 
5
 #include "libtorrent/hasher.hpp"
6
-#include "libtorrent/sha1.hpp"
7
 
8
 namespace libtorrent
9
--- src/Makefile.in	2016-04-10 20:30:27.000000000 -0400
10
+++ src/Makefile.in	2016-04-28 00:42:01.014567000 -0400
11
@@ -165,5 +165,5 @@
12
 	resolver.cpp rss.cpp session.cpp session_call.cpp \
13
 	session_handle.cpp session_impl.cpp session_settings.cpp \
14
-	proxy_settings.cpp settings_pack.cpp sha1.cpp smart_ban.cpp \
15
+	proxy_settings.cpp settings_pack.cpp smart_ban.cpp \
16
 	socket_io.cpp socket_type.cpp socks5_stream.cpp stat.cpp \
17
 	stat_cache.cpp storage.cpp session_stats.cpp string_util.cpp \
18
@@ -187,4 +187,5 @@
19
 	../ed25519/src/seed.cpp ../ed25519/src/sha512.cpp \
20
 	../ed25519/src/sign.cpp ../ed25519/src/verify.cpp
21
+@WITH_OPENSSL_FALSE@am__libtorrent_rasterbar_la_SOURCES_DIST += sha1.cpp
22
 am__dirstamp = $(am__leading_dot)dirstamp
23
 @ENABLE_DHT_TRUE@am__objects_1 = kademlia/dht_storage.lo \
24
@@ -229,5 +230,5 @@
25
 	resolver.lo rss.lo session.lo session_call.lo \
26
 	session_handle.lo session_impl.lo session_settings.lo \
27
-	proxy_settings.lo settings_pack.lo sha1.lo smart_ban.lo \
28
+	proxy_settings.lo settings_pack.lo smart_ban.lo \
29
 	socket_io.lo socket_type.lo socks5_stream.lo stat.lo \
30
 	stat_cache.lo storage.lo session_stats.lo string_util.lo \
31
@@ -239,4 +240,5 @@
32
 	web_peer_connection.lo xml_parse.lo version.lo \
33
 	file_progress.lo $(am__objects_1)
34
+@WITH_OPENSSL_FALSE@am_libtorrent_rasterbar_la_OBJECTS += sha1.lo
35
 libtorrent_rasterbar_la_OBJECTS =  \
36
 	$(am_libtorrent_rasterbar_la_OBJECTS)
37
@@ -601,5 +603,4 @@
38
   proxy_settings.cpp              \
39
   settings_pack.cpp               \
40
-  sha1.cpp                        \
41
   smart_ban.cpp                   \
42
   socket_io.cpp                   \
43
@@ -636,4 +637,5 @@
44
   $(KADEMLIA_SOURCES)
45
 
46
+@WITH_OPENSSL_FALSE@libtorrent_rasterbar_la_SOURCES += sha1.cpp
47
 libtorrent_rasterbar_la_LDFLAGS = -version-info $(INTERFACE_VERSION_INFO)
48
 libtorrent_rasterbar_la_LIBADD = @BOOST_SYSTEM_LIB@ @OPENSSL_LIBS@
49
@@ -879,5 +881,5 @@
50
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session_stats.Plo@am__quote@
51
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/settings_pack.Plo@am__quote@
52
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Plo@am__quote@
53
+@WITH_OPENSSL_FALSE@@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Plo@am__quote@
54
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/smart_ban.Plo@am__quote@
55
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/socket_io.Plo@am__quote@
56
--- include/libtorrent/Makefile.in	2016-04-10 20:30:27.000000000 -0400
57
+++ include/libtorrent/Makefile.in	2016-04-28 00:59:12.131740000 -0400
58
@@ -453,5 +453,4 @@
59
   session_status.hpp           \
60
   settings_pack.hpp            \
61
-  sha1.hpp                     \
62
   sha1_hash.hpp                \
63
   sliding_average.hpp          \
64
@@ -540,4 +539,5 @@
65
   kademlia/get_item.hpp             \
66
   kademlia/get_peers.hpp
67
+@WITH_OPENSSL_FALSE@nobase_include_HEADERS += sha1.hpp
68
 
69
 all: all-am
70
--- include/libtorrent/hasher.hpp	2016-08-23 00:28:09.000000000 -0400
71
+++ include/libtorrent/hasher.hpp	2016-09-29 21:29:54.416665000 -0400
72
@@ -34,4 +34,8 @@
73
 #define TORRENT_HASHER_HPP_INCLUDED
74
 
75
+#if !defined(TORRENT_USE_OPENSSL) && defined(__FreeBSD__)
76
+#	define TORRENT_USE_OPENSSL
77
+#endif
78
+
79
 #include "libtorrent/peer_id.hpp"
80
 #include "libtorrent/config.hpp"
(-)libtorrent-rasterbar/pkg-plist (-2 / +1 lines)
Lines 3-9 Link Here
3
include/libtorrent/address.hpp
3
include/libtorrent/address.hpp
4
include/libtorrent/alert.hpp
4
include/libtorrent/alert.hpp
5
include/libtorrent/alert_manager.hpp
5
include/libtorrent/alert_manager.hpp
6
include/libtorrent/alert_observer.hpp
7
include/libtorrent/alert_types.hpp
6
include/libtorrent/alert_types.hpp
8
include/libtorrent/alloca.hpp
7
include/libtorrent/alloca.hpp
9
include/libtorrent/allocator.hpp
8
include/libtorrent/allocator.hpp
Lines 150-156 Link Here
150
include/libtorrent/session_stats.hpp
149
include/libtorrent/session_stats.hpp
151
include/libtorrent/session_status.hpp
150
include/libtorrent/session_status.hpp
152
include/libtorrent/settings_pack.hpp
151
include/libtorrent/settings_pack.hpp
153
include/libtorrent/sha1.hpp
154
include/libtorrent/sha1_hash.hpp
152
include/libtorrent/sha1_hash.hpp
155
include/libtorrent/sliding_average.hpp
153
include/libtorrent/sliding_average.hpp
156
include/libtorrent/socket.hpp
154
include/libtorrent/socket.hpp
Lines 172-177 Link Here
172
include/libtorrent/timestamp_history.hpp
170
include/libtorrent/timestamp_history.hpp
173
include/libtorrent/tommath.h
171
include/libtorrent/tommath.h
174
include/libtorrent/tommath_class.h
172
include/libtorrent/tommath_class.h
173
include/libtorrent/tommath_private.h
175
include/libtorrent/tommath_superclass.h
174
include/libtorrent/tommath_superclass.h
176
include/libtorrent/torrent.hpp
175
include/libtorrent/torrent.hpp
177
include/libtorrent/torrent_handle.hpp
176
include/libtorrent/torrent_handle.hpp

Return to bug 209132