From 0e39fefd7f18cf4616b0cda8663693083727d9c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= Date: Sat, 5 Apr 2014 14:12:50 +0200 Subject: [PATCH] [mcproxy] Split patches. --- mcproxy/patches/0001-add-cmake.patch | 54 ++++++++ mcproxy/patches/0002-uclibc-rm-stoi.patch | 40 ++++++ ...tch => 0003-uclibc-add-sourcefilter.patch} | 124 ------------------ 3 files changed, 94 insertions(+), 124 deletions(-) create mode 100644 mcproxy/patches/0001-add-cmake.patch create mode 100644 mcproxy/patches/0002-uclibc-rm-stoi.patch rename mcproxy/patches/{0001-Add-CMake-and-uclibc-compatibility-support.patch => 0003-uclibc-add-sourcefilter.patch} (50%) diff --git a/mcproxy/patches/0001-add-cmake.patch b/mcproxy/patches/0001-add-cmake.patch new file mode 100644 index 0000000..69bfa36 --- /dev/null +++ b/mcproxy/patches/0001-add-cmake.patch @@ -0,0 +1,54 @@ +--- /dev/null ++++ b/CMakeLists.txt +@@ -0,0 +1,51 @@ ++cmake_minimum_required(VERSION 2.8) ++ ++# Project Definition ++project(mcproxy CXX) ++set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11") ++add_definitions(-Wall -Wextra -pedantic) ++include_directories(${CMAKE_SOURCE_DIR}/mcproxy) ++ ++ ++add_executable(mcproxy-bin mcproxy/src/main.cpp ++ mcproxy/src/hamcast_logging.cpp ++ #utils ++ mcproxy/src/utils/mc_socket.cpp ++ mcproxy/src/utils/addr_storage.cpp ++ mcproxy/src/utils/mroute_socket.cpp ++ mcproxy/src/utils/if_prop.cpp ++ mcproxy/src/utils/reverse_path_filter.cpp ++ #proxy ++ mcproxy/src/proxy/proxy.cpp ++ mcproxy/src/proxy/sender.cpp ++ mcproxy/src/proxy/receiver.cpp ++ mcproxy/src/proxy/mld_receiver.cpp ++ mcproxy/src/proxy/igmp_receiver.cpp ++ mcproxy/src/proxy/mld_sender.cpp ++ mcproxy/src/proxy/igmp_sender.cpp ++ mcproxy/src/proxy/proxy_instance.cpp ++ mcproxy/src/proxy/routing.cpp ++ mcproxy/src/proxy/worker.cpp ++ mcproxy/src/proxy/timing.cpp ++ mcproxy/src/proxy/check_if.cpp ++ mcproxy/src/proxy/check_kernel.cpp ++ mcproxy/src/proxy/membership_db.cpp ++ mcproxy/src/proxy/querier.cpp ++ mcproxy/src/proxy/timers_values.cpp ++ mcproxy/src/proxy/interfaces.cpp ++ mcproxy/src/proxy/def.cpp ++ mcproxy/src/proxy/simple_mc_proxy_routing.cpp ++ mcproxy/src/proxy/simple_routing_data.cpp ++ #parser ++ mcproxy/src/parser/scanner.cpp ++ mcproxy/src/parser/token.cpp ++ mcproxy/src/parser/configuration.cpp ++ mcproxy/src/parser/parser.cpp ++ mcproxy/src/parser/interface.cpp ++) ++target_link_libraries(mcproxy-bin pthread) ++ ++# Installation ++install(TARGETS mcproxy-bin DESTINATION bin/) ++ diff --git a/mcproxy/patches/0002-uclibc-rm-stoi.patch b/mcproxy/patches/0002-uclibc-rm-stoi.patch new file mode 100644 index 0000000..a25c9fb --- /dev/null +++ b/mcproxy/patches/0002-uclibc-rm-stoi.patch @@ -0,0 +1,40 @@ +--- a/mcproxy/src/parser/parser.cpp ++++ b/mcproxy/src/parser/parser.cpp +@@ -126,7 +126,7 @@ void parser::parse_instance_definition(i + get_next_token(); + if (m_current_token.get_type() == TT_STRING) { + try { +- table_number = std::stoi(m_current_token.get_string()); ++ table_number = atoi(m_current_token.get_string().c_str()); + user_selected_table_number = true; + } catch (std::logic_error e) { + HC_LOG_ERROR("failed to parse line " << m_current_line << " table number: " << table_number << " is not a number"); +@@ -299,7 +299,7 @@ std::unique_ptr parser::pars + get_next_token(); + if (m_current_token.get_type() == TT_STRING) { + try { +- unsigned int prefix = std::stoi(m_current_token.get_string()); ++ unsigned int prefix = atoi(m_current_token.get_string().c_str()); + if (prefix > 128) { + throw; + } +@@ -561,7 +561,7 @@ void parser::parse_interface_rule_match_ + get_next_token(); + if (m_current_token.get_type() == TT_STRING) { + try { +- int tmp_timeout = std::stoi(m_current_token.get_string()); ++ int tmp_timeout = atoi(m_current_token.get_string().c_str()); + timeout = std::chrono::milliseconds(tmp_timeout); + } catch (...) { + error_notification(); +--- a/mcproxy/src/utils/addr_storage.cpp ++++ b/mcproxy/src/utils/addr_storage.cpp +@@ -298,7 +298,7 @@ addr_storage& addr_storage::set_port(uin + + addr_storage& addr_storage::set_port(const std::string& port) + { +- set_port(std::stoi(port.c_str())); ++ set_port(atoi(port.c_str())); + return *this; + } + diff --git a/mcproxy/patches/0001-Add-CMake-and-uclibc-compatibility-support.patch b/mcproxy/patches/0003-uclibc-add-sourcefilter.patch similarity index 50% rename from mcproxy/patches/0001-Add-CMake-and-uclibc-compatibility-support.patch rename to mcproxy/patches/0003-uclibc-add-sourcefilter.patch index 01571e9..8e7832c 100644 --- a/mcproxy/patches/0001-Add-CMake-and-uclibc-compatibility-support.patch +++ b/mcproxy/patches/0003-uclibc-add-sourcefilter.patch @@ -1,121 +1,3 @@ -From 7618500760e3c9c0d831714fdedb497c0738e131 Mon Sep 17 00:00:00 2001 -From: Steven Barth -Date: Tue, 25 Mar 2014 15:09:11 +0100 -Subject: [PATCH] Add CMake and uclibc support - ---- - CMakeLists.txt | 51 +++++++++++ - mcproxy/src/parser/parser.cpp | 6 +- - mcproxy/src/utils/addr_storage.cpp | 2 +- - mcproxy/src/utils/mc_socket.cpp | 2 + - mcproxy/src/utils/sourcefilter.cpp | 168 +++++++++++++++++++++++++++++++++++++ - 5 files changed, 225 insertions(+), 4 deletions(-) - create mode 100644 CMakeLists.txt - create mode 100644 mcproxy/src/utils/sourcefilter.cpp - -diff --git a/CMakeLists.txt b/CMakeLists.txt -new file mode 100644 -index 0000000..7499c19 ---- /dev/null -+++ b/CMakeLists.txt -@@ -0,0 +1,51 @@ -+cmake_minimum_required(VERSION 2.8) -+ -+# Project Definition -+project(mcproxy CXX) -+set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") -+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11") -+add_definitions(-Wall -Wextra -pedantic) -+include_directories(${CMAKE_SOURCE_DIR}/mcproxy) -+ -+ -+add_executable(mcproxy-bin mcproxy/src/main.cpp -+ mcproxy/src/hamcast_logging.cpp -+ #utils -+ mcproxy/src/utils/mc_socket.cpp -+ mcproxy/src/utils/addr_storage.cpp -+ mcproxy/src/utils/mroute_socket.cpp -+ mcproxy/src/utils/if_prop.cpp -+ mcproxy/src/utils/reverse_path_filter.cpp -+ #proxy -+ mcproxy/src/proxy/proxy.cpp -+ mcproxy/src/proxy/sender.cpp -+ mcproxy/src/proxy/receiver.cpp -+ mcproxy/src/proxy/mld_receiver.cpp -+ mcproxy/src/proxy/igmp_receiver.cpp -+ mcproxy/src/proxy/mld_sender.cpp -+ mcproxy/src/proxy/igmp_sender.cpp -+ mcproxy/src/proxy/proxy_instance.cpp -+ mcproxy/src/proxy/routing.cpp -+ mcproxy/src/proxy/worker.cpp -+ mcproxy/src/proxy/timing.cpp -+ mcproxy/src/proxy/check_if.cpp -+ mcproxy/src/proxy/check_kernel.cpp -+ mcproxy/src/proxy/membership_db.cpp -+ mcproxy/src/proxy/querier.cpp -+ mcproxy/src/proxy/timers_values.cpp -+ mcproxy/src/proxy/interfaces.cpp -+ mcproxy/src/proxy/def.cpp -+ mcproxy/src/proxy/simple_mc_proxy_routing.cpp -+ mcproxy/src/proxy/simple_routing_data.cpp -+ #parser -+ mcproxy/src/parser/scanner.cpp -+ mcproxy/src/parser/token.cpp -+ mcproxy/src/parser/configuration.cpp -+ mcproxy/src/parser/parser.cpp -+ mcproxy/src/parser/interface.cpp -+) -+target_link_libraries(mcproxy-bin pthread) -+ -+# Installation -+install(TARGETS mcproxy-bin DESTINATION bin/) -+ -diff --git a/mcproxy/src/parser/parser.cpp b/mcproxy/src/parser/parser.cpp -index c196be9..516a700 100644 ---- a/mcproxy/src/parser/parser.cpp -+++ b/mcproxy/src/parser/parser.cpp -@@ -125,7 +125,7 @@ void parser::parse_instance_definition(inst_def_set& ids) - get_next_token(); - if (m_current_token.get_type() == TT_STRING) { - try { -- table_number = std::stoi(m_current_token.get_string()); -+ table_number = atoi(m_current_token.get_string().c_str()); - user_selected_table_number = true; - } catch (std::logic_error e) { - HC_LOG_ERROR("failed to parse line " << m_current_line << " table number: " << table_number << " is not a number"); -@@ -298,7 +298,7 @@ std::unique_ptr parser::parse_rule_part(group_mem_protocol gmp) - get_next_token(); - if (m_current_token.get_type() == TT_STRING) { - try { -- unsigned int prefix = std::stoi(m_current_token.get_string()); -+ unsigned int prefix = atoi(m_current_token.get_string().c_str()); - if (prefix > 128) { - throw; - } -@@ -560,7 +560,7 @@ void parser::parse_interface_rule_match_binding( - get_next_token(); - if (m_current_token.get_type() == TT_STRING) { - try { -- int tmp_timeout = std::stoi(m_current_token.get_string()); -+ int tmp_timeout = atoi(m_current_token.get_string().c_str()); - timeout = std::chrono::milliseconds(tmp_timeout); - } catch (...) { - error_notification(); -diff --git a/mcproxy/src/utils/addr_storage.cpp b/mcproxy/src/utils/addr_storage.cpp -index 125ccbf..e812ac9 100644 ---- a/mcproxy/src/utils/addr_storage.cpp -+++ b/mcproxy/src/utils/addr_storage.cpp -@@ -298,7 +298,7 @@ addr_storage& addr_storage::set_port(uint16_t port) - - addr_storage& addr_storage::set_port(const std::string& port) - { -- set_port(std::stoi(port.c_str())); -+ set_port(atoi(port.c_str())); - return *this; - } - -diff --git a/mcproxy/src/utils/mc_socket.cpp b/mcproxy/src/utils/mc_socket.cpp -index b8fb3ae..8c32e08 100644 --- a/mcproxy/src/utils/mc_socket.cpp +++ b/mcproxy/src/utils/mc_socket.cpp @@ -37,6 +37,8 @@ @@ -127,9 +9,6 @@ index b8fb3ae..8c32e08 100644 std::string ipAddrResolver(std::string ipAddr) { std::string str[][2] = { -diff --git a/mcproxy/src/utils/sourcefilter.cpp b/mcproxy/src/utils/sourcefilter.cpp -new file mode 100644 -index 0000000..64aafde --- /dev/null +++ b/mcproxy/src/utils/sourcefilter.cpp @@ -0,0 +1,168 @@ @@ -301,6 +180,3 @@ index 0000000..64aafde + + return result; +} --- -1.8.3.2 -