From d1f02ea01c94890cabcd82283e16b9f1feb3c813 Mon Sep 17 00:00:00 2001 From: Dmitry Marakasov Date: Fri, 27 May 2016 17:38:21 +0000 Subject: [PATCH] - Update to 2.7.0 --- security/i2pd/Makefile | 5 +- security/i2pd/distinfo | 5 +- .../i2pd/files/patch-build_CMakeLists.txt | 35 ------------- security/i2pd/files/patch-httpparser | 49 +++++++++++++++++++ 4 files changed, 54 insertions(+), 40 deletions(-) delete mode 100644 security/i2pd/files/patch-build_CMakeLists.txt create mode 100644 security/i2pd/files/patch-httpparser diff --git a/security/i2pd/Makefile b/security/i2pd/Makefile index aca0d628159e..218b40d3b0f6 100644 --- a/security/i2pd/Makefile +++ b/security/i2pd/Makefile @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= i2pd -PORTVERSION= 2.3.0 +PORTVERSION= 2.7.0 CATEGORIES= security net-p2p MAINTAINER= amdmi3@FreeBSD.org @@ -11,10 +11,9 @@ COMMENT= C++ implementation of I2P client LICENSE= BSD3CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -BROKEN_powerpc64= Does not build - LIB_DEPENDS= libboost_thread.so:devel/boost-libs +BROKEN_powerpc64= Does not build BROKEN_FreeBSD_9= does not build USE_GITHUB= yes diff --git a/security/i2pd/distinfo b/security/i2pd/distinfo index 7f4250f39ce7..e9e4082f4f8a 100644 --- a/security/i2pd/distinfo +++ b/security/i2pd/distinfo @@ -1,2 +1,3 @@ -SHA256 (PurpleI2P-i2pd-2.3.0_GH0.tar.gz) = 2397311cb10b04b843d136d9afe01b57f92bfaff72324cfa370f2d0fd74ae7dd -SIZE (PurpleI2P-i2pd-2.3.0_GH0.tar.gz) = 367391 +TIMESTAMP = 1464019672 +SHA256 (PurpleI2P-i2pd-2.7.0_GH0.tar.gz) = e4a3e192e424492962092f65a04fe12cac10f267ba2c99e2e62ca917741fba7e +SIZE (PurpleI2P-i2pd-2.7.0_GH0.tar.gz) = 410922 diff --git a/security/i2pd/files/patch-build_CMakeLists.txt b/security/i2pd/files/patch-build_CMakeLists.txt deleted file mode 100644 index 727126e7f886..000000000000 --- a/security/i2pd/files/patch-build_CMakeLists.txt +++ /dev/null @@ -1,35 +0,0 @@ ---- build/CMakeLists.txt.orig 2016-01-12 15:14:22 UTC -+++ build/CMakeLists.txt -@@ -209,7 +209,7 @@ else() - endif () - - if (WITH_PCH) -- include_directories(${CMAKE_BINARY_DIR}) -+ include_directories( BEFORE ${CMAKE_BINARY_DIR}) - add_library(stdafx STATIC "${CMAKE_SOURCE_DIR}/stdafx.cpp") - if(MSVC) - target_compile_options(stdafx PRIVATE /Ycstdafx.h /Zm155) -@@ -246,11 +246,9 @@ if(NOT DEFINED OPENSSL_INCLUDE_DIR) - message(SEND_ERROR "Could not find OpenSSL. Please download and install it first!") - endif() - --find_package ( MiniUPnPc ) --if (MINIUPNPC_FOUND) -- include_directories( ${MINIUPNPC_INCLUDE_DIR} ) --else () -- set(WITH_UPNP OFF) -+if (WITH_UPNP) -+ find_package ( MiniUPnPc REQUIRED ) -+ include_directories( SYSTEM ${MINIUPNPC_INCLUDE_DIR} ) - endif() - - find_package ( ZLIB ) -@@ -289,7 +287,7 @@ endif () - link_directories(${CMAKE_CURRENT_BINARY_DIR}/zlib/lib ${ZLIB_ROOT}/lib) - - # load includes --include_directories( ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ) -+include_directories( SYSTEM ${Boost_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} ) - - # show summary - message(STATUS "---------------------------------------") diff --git a/security/i2pd/files/patch-httpparser b/security/i2pd/files/patch-httpparser new file mode 100644 index 000000000000..a48fee8952a2 --- /dev/null +++ b/security/i2pd/files/patch-httpparser @@ -0,0 +1,49 @@ +commit 43a90d7b98b1b317022f468bcf23027e039142fe +Author: hagen +Date: Thu May 26 00:00:00 2016 +0000 + + * HTTP.cpp : fix parse_header_line (#501) + +diff --git HTTP.cpp HTTP.cpp +index 83f1ac3..66dbc76 100644 +--- HTTP.cpp ++++ HTTP.cpp +@@ -45,9 +45,10 @@ namespace http { + bool parse_header_line(const std::string & line, std::map & headers) { + std::size_t pos = 0; + std::size_t len = 2; /* strlen(": ") */ ++ std::size_t max = line.length(); + if ((pos = line.find(": ", pos)) == std::string::npos) + return false; +- while (isspace(line.at(pos + len))) ++ while ((pos + len) < max && isspace(line.at(pos + len))) + len++; + std::string name = line.substr(0, pos); + std::string value = line.substr(pos + len); +diff --git tests/test-http-req.cpp tests/test-http-req.cpp +index 10ea621..d536262 100644 +--- tests/test-http-req.cpp ++++ tests/test-http-req.cpp +@@ -68,6 +68,7 @@ int main() { + buf = + "GET http://inr.i2p HTTP/1.1\r\n" + "Host: stats.i2p\r\n" ++ "Accept-Encoding: \r\n" + "Accept: */*\r\n" + "\r\n"; + len = strlen(buf); +@@ -76,9 +77,13 @@ int main() { + assert(req->method == "GET"); + assert(req->uri == "http://inr.i2p"); + assert(req->host == "stats.i2p"); +- assert(req->headers.size() == 2); ++ assert(req->headers.size() == 3); + assert(req->headers.count("Host") == 1); + assert(req->headers.count("Accept") == 1); ++ assert(req->headers.count("Accept-Encoding") == 1); ++ assert(req->headers["Host"] == "stats.i2p"); ++ assert(req->headers["Accept"] == "*/*"); ++ assert(req->headers["Accept-Encoding"] == ""); + delete req; + + return 0;