Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
List overview
Download
Arch-excludes
March 2022
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
arch-excludes@lists.fedoraproject.org
2 participants
371 discussions
Start a n
N
ew thread
Architecture specific change in rpms/proxygen.git
by githook-noreplyï¼ fedoraproject.org
28 Feb '22
28 Feb '22
The package rpms/proxygen.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/proxygen.git/commit/?id=bb71f86efc9…
. Change: -%ifarch i686 x86_64 Thanks. Full change: ============ commit bb71f86efc91cb41ad0af18e7f0866f6353a0bd2 Author: Michel Alexandre Salim <salimma(a)fedoraproject.org> Date: Mon Feb 28 15:58:12 2022 -0800 Update to 2022.02.21.00; drop static build; enable passing tests Signed-off-by: Michel Alexandre Salim <salimma(a)fedoraproject.org> diff --git a/proxygen-exclude-failed-tests.patch b/proxygen-exclude-failed-tests.patch new file mode 100644 index 0000000..2c163a3 --- /dev/null +++ b/proxygen-exclude-failed-tests.patch @@ -0,0 +1,369 @@ +diff '--color=auto' -ruN proxygen-orig/proxygen/httpserver/tests/HTTPServerTest.cpp proxygen-exclude-failed-tests/proxygen/httpserver/tests/HTTPServerTest.cpp +--- proxygen-orig/proxygen/httpserver/tests/HTTPServerTest.cpp 2022-02-20 23:22:18.000000000 -0800 ++++ proxygen-exclude-failed-tests/proxygen/httpserver/tests/HTTPServerTest.cpp 2022-02-28 16:04:56.394152791 -0800 +@@ -307,58 +307,6 @@ + return sslCfg; + } + +-TEST(SSL, SSLTest) { +- HTTPServer::IPConfig cfg{folly::SocketAddress("127.0.0.1", 0), +- HTTPServer::Protocol::HTTP}; +- wangle::SSLContextConfig sslCfg = getSslContextConfig(false); +- cfg.sslConfigs.push_back(sslCfg); +- +- HTTPServerOptions options; +- options.threads = 4; +- +- auto server = std::make_unique<HTTPServer>(std::move(options)); +- +- std::vector<HTTPServer::IPConfig> ips{cfg}; +- server->bind(ips); +- +- ServerThread st(server.get()); +- EXPECT_TRUE(st.start()); +- +- folly::EventBase evb; +- auto ctx = std::make_shared<SSLContext>(); +- folly::AsyncSSLSocket::UniquePtr sock(new folly::AsyncSSLSocket(ctx, &evb)); +- Cb cb(sock.get()); +- sock->connect(&cb, server->addresses().front().address, 1000); +- evb.loop(); +- EXPECT_TRUE(cb.success); +-} +- +-TEST(SSL, SSLTestWithMultiCAs) { +- HTTPServer::IPConfig cfg{folly::SocketAddress("127.0.0.1", 0), +- HTTPServer::Protocol::HTTP}; +- wangle::SSLContextConfig sslCfg = getSslContextConfig(true); +- cfg.sslConfigs.push_back(sslCfg); +- +- HTTPServerOptions options; +- options.threads = 4; +- +- auto server = std::make_unique<HTTPServer>(std::move(options)); +- +- std::vector<HTTPServer::IPConfig> ips{cfg}; +- server->bind(ips); +- +- ServerThread st(server.get()); +- EXPECT_TRUE(st.start()); +- +- folly::EventBase evb; +- auto ctx = std::make_shared<SSLContext>(); +- folly::AsyncSSLSocket::UniquePtr sock(new folly::AsyncSSLSocket(ctx, &evb)); +- Cb cb(sock.get()); +- sock->connect(&cb, server->addresses().front().address, 1000); +- evb.loop(); +- EXPECT_TRUE(cb.success); +-} +- + /** + * A dummy filter to make RequestHandlerChain longer. + */ +@@ -459,210 +407,6 @@ + return std::make_pair(std::move(server), std::move(st)); + } + +-TEST(SSL, TestAllowInsecureOnSecureServer) { +- std::unique_ptr<HTTPServer> server; +- std::unique_ptr<ServerThread> st; +- std::tie(server, st) = setupServer(true); +- +- folly::EventBase evb; +- URL url(folly::to<std::string>( +- "
http://localhost
:", server->addresses().front().address.getPort())); +- HTTPHeaders headers; +- CurlClient curl(&evb, HTTPMethod::GET, url, nullptr, headers, ""); +- curl.setFlowControlSettings(64 * 1024); +- curl.setLogging(false); +- HHWheelTimer::UniquePtr timer{new HHWheelTimer( +- &evb, +- std::chrono::milliseconds(HHWheelTimer::DEFAULT_TICK_INTERVAL), +- AsyncTimeout::InternalEnum::NORMAL, +- std::chrono::milliseconds(1000))}; +- HTTPConnector connector(&curl, timer.get()); +- connector.connect(&evb, +- server->addresses().front().address, +- std::chrono::milliseconds(1000)); +- evb.loop(); +- auto response = curl.getResponse(); +- EXPECT_EQ(200, response->getStatusCode()); +-} +- +-TEST(SSL, DisallowInsecureOnSecureServer) { +- std::unique_ptr<HTTPServer> server; +- std::unique_ptr<ServerThread> st; +- std::tie(server, st) = setupServer(false); +- +- folly::EventBase evb; +- URL url(folly::to<std::string>( +- "
http://localhost
:", server->addresses().front().address.getPort())); +- HTTPHeaders headers; +- CurlClient curl(&evb, HTTPMethod::GET, url, nullptr, headers, ""); +- curl.setFlowControlSettings(64 * 1024); +- curl.setLogging(false); +- HHWheelTimer::UniquePtr timer{new HHWheelTimer( +- &evb, +- std::chrono::milliseconds(HHWheelTimer::DEFAULT_TICK_INTERVAL), +- AsyncTimeout::InternalEnum::NORMAL, +- std::chrono::milliseconds(1000))}; +- HTTPConnector connector(&curl, timer.get()); +- connector.connect(&evb, +- server->addresses().front().address, +- std::chrono::milliseconds(1000)); +- evb.loop(); +- auto response = curl.getResponse(); +- EXPECT_EQ(nullptr, response); +-} +- +-TEST(SSL, TestResumptionWithTickets) { +- std::unique_ptr<HTTPServer> server; +- +- std::unique_ptr<ServerThread> st; +- wangle::TLSTicketKeySeeds seeds; +- seeds.currentSeeds.push_back(hexlify("hello")); +- std::tie(server, st) = setupServer(false, seeds); +- +- folly::EventBase evb; +- auto ctx = std::make_shared<SSLContext>(); +- folly::AsyncSSLSocket::UniquePtr sock(new folly::AsyncSSLSocket(ctx, &evb)); +- Cb cb(sock.get()); +- sock->connect(&cb, server->addresses().front().address, 1000); +- evb.loop(); +- ASSERT_TRUE(cb.success); +- ASSERT_NE(nullptr, cb.session.get()); +- ASSERT_FALSE(cb.reusedSession); +- +- folly::AsyncSSLSocket::UniquePtr sock2(new folly::AsyncSSLSocket(ctx, &evb)); +- sock2->setSSLSession(cb.session); +- Cb cb2(sock2.get()); +- sock2->connect(&cb2, server->addresses().front().address, 1000); +- evb.loop(); +- ASSERT_TRUE(cb2.success); +- ASSERT_NE(nullptr, cb2.session.get()); +- ASSERT_TRUE(cb2.reusedSession); +-} +- +-TEST(SSL, TestResumptionAfterUpdateFails) { +- std::unique_ptr<HTTPServer> server; +- std::unique_ptr<ServerThread> st; +- wangle::TLSTicketKeySeeds seeds; +- seeds.currentSeeds.push_back(hexlify("hello")); +- std::tie(server, st) = setupServer(false, seeds); +- +- folly::EventBase evb; +- auto ctx = std::make_shared<SSLContext>(); +- folly::AsyncSSLSocket::UniquePtr sock(new folly::AsyncSSLSocket(ctx, &evb)); +- Cb cb(sock.get()); +- sock->connect(&cb, server->addresses().front().address, 1000); +- evb.loop(); +- ASSERT_TRUE(cb.success); +- ASSERT_NE(nullptr, cb.session.get()); +- ASSERT_FALSE(cb.reusedSession); +- +- wangle::TLSTicketKeySeeds newSeeds; +- newSeeds.currentSeeds.push_back(hexlify("goodbyte")); +- server->updateTicketSeeds(newSeeds); +- +- folly::AsyncSSLSocket::UniquePtr sock2(new folly::AsyncSSLSocket(ctx, &evb)); +- sock2->setSSLSession(cb.session); +- Cb cb2(sock2.get()); +- sock2->connect(&cb2, server->addresses().front().address, 1000); +- evb.loop(); +- ASSERT_TRUE(cb2.success); +- ASSERT_NE(nullptr, cb2.session.get()); +- ASSERT_FALSE(cb2.reusedSession); +- +- folly::AsyncSSLSocket::UniquePtr sock3(new folly::AsyncSSLSocket(ctx, &evb)); +- sock3->setSSLSession(cb2.session); +- Cb cb3(sock3.get()); +- sock3->connect(&cb3, server->addresses().front().address, 1000); +- evb.loop(); +- ASSERT_TRUE(cb3.success); +- ASSERT_NE(nullptr, cb3.session.get()); +- ASSERT_TRUE(cb3.reusedSession); +-} +- +-TEST(SSL, TestUpdateTLSCredentials) { +- // Set up a temporary file with credentials that we will update +- folly::test::TemporaryFile credFile; +- auto copyCreds = [path = credFile.path()](const std::string& certFile, +- const std::string& keyFile) { +- std::string certData, keyData; +- folly::readFile(certFile.c_str(), certData); +- folly::writeFile(certData, path.c_str(), O_WRONLY | O_CREAT | O_TRUNC); +- folly::writeFile(std::string("\n"), path.c_str(), O_WRONLY | O_APPEND); +- folly::readFile(keyFile.c_str(), keyData); +- folly::writeFile(keyData, path.c_str(), O_WRONLY | O_APPEND); +- }; +- +- auto getCertDigest = [&](const X509* x) -> std::string { +- unsigned int n; +- unsigned char md[EVP_MAX_MD_SIZE]; +- const EVP_MD* dig = EVP_sha256(); +- +- if (!X509_digest(x, dig, md, &n)) { +- throw std::runtime_error("Cannot calculate digest"); +- } +- return std::string((const char*)md, n); +- }; +- +- HTTPServer::IPConfig cfg{folly::SocketAddress("127.0.0.1", 0), +- HTTPServer::Protocol::HTTP}; +- wangle::SSLContextConfig sslCfg; +- sslCfg.isDefault = true; +- copyCreds(kTestDir + "certs/test_cert1.pem", +- kTestDir + "certs/test_key1.pem"); +- sslCfg.clientCAFile = kTestDir + "/certs/ca_cert.pem"; +- sslCfg.clientVerification = +- folly::SSLContext::VerifyClientCertificate::IF_PRESENTED; +- sslCfg.setCertificate(credFile.path().string(), credFile.path().string(), ""); +- cfg.sslConfigs.push_back(sslCfg); +- +- HTTPServer::IPConfig insecureCfg{folly::SocketAddress("127.0.0.1", 0), +- HTTPServer::Protocol::HTTP}; +- +- HTTPServerOptions options; +- options.threads = 4; +- +- auto server = std::make_unique<HTTPServer>(std::move(options)); +- +- std::vector<HTTPServer::IPConfig> ips{cfg, insecureCfg}; +- server->bind(ips); +- +- ServerThread st(server.get()); +- EXPECT_TRUE(st.start()); +- +- // First connection which should return old cert +- folly::EventBase evb; +- auto ctx = std::make_shared<SSLContext>(); +- std::string certDigest1, certDigest2; +- +- // Connect and store digest of server cert +- auto connectAndFetchServerCert = [&]() -> std::string { +- folly::AsyncSSLSocket::UniquePtr sock(new folly::AsyncSSLSocket(ctx, &evb)); +- Cb cb(sock.get()); +- sock->connect(&cb, server->addresses().front().address, 1000); +- evb.loop(); +- EXPECT_TRUE(cb.success); +- +- auto x509 = cb.getPeerCert(); +- EXPECT_NE(x509, nullptr); +- return getCertDigest(x509); +- }; +- +- // Original cert +- auto cert1 = connectAndFetchServerCert(); +- EXPECT_EQ(cert1.length(), SHA256_DIGEST_LENGTH); +- +- // Update cert/key +- copyCreds(kTestDir + "certs/test_cert2.pem", +- kTestDir + "certs/test_key2.pem"); +- server->updateTLSCredentials(); +- evb.loop(); +- +- // Should get new cert +- auto cert2 = connectAndFetchServerCert(); +- EXPECT_EQ(cert2.length(), SHA256_DIGEST_LENGTH); +- EXPECT_NE(cert1, cert2); +-} +- + TEST(GetListenSocket, TestNoBootstrap) { + HTTPServerOptions options; + auto server = std::make_unique<HTTPServer>(std::move(options)); +@@ -673,31 +417,6 @@ + ASSERT_EQ(-1, socketFd); + } + +-TEST(GetListenSocket, TestBootstrapWithNoBinding) { +- std::unique_ptr<HTTPServer> server; +- std::unique_ptr<ServerThread> st; +- wangle::TLSTicketKeySeeds seeds; +- seeds.currentSeeds.push_back(hexlify("hello")); +- std::tie(server, st) = setupServer(false, seeds); +- +- // Stop listening on socket +- server->stopListening(); +- +- auto socketFd = server->getListenSocket(); +- ASSERT_EQ(-1, socketFd); +-} +- +-TEST(GetListenSocket, TestBootstrapWithBinding) { +- std::unique_ptr<HTTPServer> server; +- std::unique_ptr<ServerThread> st; +- wangle::TLSTicketKeySeeds seeds; +- seeds.currentSeeds.push_back(hexlify("hello")); +- std::tie(server, st) = setupServer(false, seeds); +- +- auto socketFd = server->getListenSocket(); +- ASSERT_NE(-1, socketFd); +-} +- + TEST(UseExistingSocket, TestWithExistingAsyncServerSocket) { + AsyncServerSocket::UniquePtr serverSocket(new folly::AsyncServerSocket); + serverSocket->bind(0); +@@ -874,26 +593,6 @@ + EXPECT_EQ(200, resp->getStatusCode()); + } + +-TEST_F(ScopedServerTest, StartSSLWithInsecure) { +- wangle::SSLContextConfig sslCfg; +- sslCfg.isDefault = true; +- sslCfg.setCertificate( +- kTestDir + "certs/test_cert1.pem", kTestDir + "certs/test_key1.pem", ""); +- sslCfg.clientCAFile = kTestDir + "/certs/ca_cert.pem"; +- sslCfg.clientVerification = +- folly::SSLContext::VerifyClientCertificate::IF_PRESENTED; +- cfg_.sslConfigs.push_back(sslCfg); +- cfg_.allowInsecureConnectionsOnSecureServer = true; +- auto server = createScopedServer(); +- auto client = connectPlainText(); +- auto resp = client->getResponse(); +- EXPECT_EQ(200, resp->getStatusCode()); +- +- client = connectSSL(); +- resp = client->getResponse(); +- EXPECT_EQ(200, resp->getStatusCode()); +-} +- + class ConnectionFilterTest : public ScopedServerTest { + protected: + HTTPServerOptions createDefaultOpts() override { +@@ -924,36 +623,3 @@ + return options; + } + }; +- +-TEST_F(ConnectionFilterTest, Test) { +- wangle::SSLContextConfig sslCfg; +- sslCfg.isDefault = true; +- sslCfg.setCertificate( +- kTestDir + "certs/test_cert1.pem", kTestDir + "certs/test_key1.pem", ""); +- sslCfg.clientCAFile = kTestDir + "certs/client_ca_cert.pem"; +- // Permissive client auth. +- sslCfg.clientVerification = +- folly::SSLContext::VerifyClientCertificate::IF_PRESENTED; +- cfg_.sslConfigs.push_back(sslCfg); +- +- auto server = createScopedServer(); +- auto insecureClient = connectPlainText(); +- auto certlessClient = connectSSL(); +- auto certlessClient2 = connectSSL(kTestDir + "certs/ca_cert.pem"); +- auto secureClient = connectSSL(kTestDir + "certs/ca_cert.pem", +- kTestDir + "certs/client_cert.pem", +- kTestDir + "certs/client_key.pem"); +- +- // The following clients fail newConnectionFilter. +- EXPECT_EQ(nullptr, insecureClient->getResponse()); +- EXPECT_EQ(nullptr, certlessClient->getResponse()); +- EXPECT_EQ(nullptr, certlessClient2->getResponse()); +- +- // Only secureClient passes. +- auto response = secureClient->getResponse(); +- EXPECT_EQ(200, response->getStatusCode()); +- +- // Check the header set by TestHandler. +- auto headers = response->getHeaders(); +- EXPECT_EQ("testuser1", headers.getSingleOrEmpty("X-Client-CN")); +-} diff --git a/proxygen.spec b/proxygen.spec index 452b2cc..af14dae 100644 --- a/proxygen.spec +++ b/proxygen.spec @@ -1,13 +1,4 @@ -# fizz has link issues on some platforms: -#
https://bugzilla.redhat.com/show_bug.cgi?id=1893332
-%ifarch i686 x86_64 -%bcond_without static -%else -%bcond_with static -%endif - -# tests need to be fixed for gmock -%bcond_with tests +%bcond_without check #
https://bugzilla.redhat.com/show_bug.cgi?id=1927961
%bcond_with docs @@ -15,13 +6,14 @@ %global _static_builddir static_build Name: proxygen -Version: 2021.12.20.00 +Version: 2022.02.21.00 Release: %autorelease Summary: A collection of C++ HTTP libraries including an easy to use HTTP server. License: BSD URL:
https://github.com/facebook/proxygen
-Source0: %{url}/releases/download/v%{version}/%{name}-v%{version}.tar.gz +Source: %{url}/releases/download/v%{version}/%{name}-v%{version}.tar.gz +Patch: %{name}-exclude-failed-tests.patch # Folly is known not to work on big-endian CPUs #
https://bugzilla.redhat.com/show_bug.cgi?id=1892152
@@ -38,13 +30,7 @@ BuildRequires: libzstd-devel %if %{with docs} BuildRequires: doxygen %endif -%if %{with static} -BuildRequires: folly-static -BuildRequires: fizz-static -BuildRequires: wangle-static -BuildRequires: libzstd-static -%endif -%if %{with tests} +%if %{with check} BuildRequires: gmock-devel BuildRequires: gtest-devel %endif @@ -64,6 +50,7 @@ library.} %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-static < 2022.02.21.00-1 %description devel %{_description} @@ -89,36 +76,13 @@ Summary: Shared libraries for %{name} The %{name}-libs package contains shared libraries provided by proxygen. -%if %{with static} -%package static -Summary: Static development libraries for %{name} -Requires: %{name}-devel%{?_isa} = %{version}-%{release} - -%description static %{_description} - -The %{name}-static package contains static libraries for -developing applications that use %{name}. -%endif - - %prep %autosetup -c -p1 -%build -%if %{with static} -mkdir %{_static_builddir} -pushd %{_static_builddir} -%cmake .. \ - -DBUILD_TESTS=OFF \ - -DBUILD_SHARED_LIBS=OFF \ - -DCMAKE_INSTALL_DIR=%{_libdir}/cmake/%{name}-static \ - -DPACKAGE_VERSION=%{version} \ -%cmake_build -popd -%endif +%build %cmake \ -%if %{with tests} +%if %{with check} -DBUILD_TESTS=ON \ %else -DBUILD_TESTS=OFF \ @@ -132,22 +96,17 @@ popd doxygen %endif + %install -%if %{with static} -# static build -pushd %{_static_builddir} %cmake_install -popd -%endif -# shared build -%cmake_install -%if %{with tests} +%if %{with check} %check %ctest %endif + %files %license LICENSE %{_bindir}/* @@ -166,11 +125,6 @@ popd %doc html %endif -%if %{with static} -%files static -%{_libdir}/*.a -%{_libdir}/cmake/%{name}-static -%endif %changelog %autochangelog diff --git a/sources b/sources index 8ce0b7e..8154f27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (proxygen-v2021.12.20.00.tar.gz) = 506612c781c32749acdb4e66b18e6ddc354dad7f82a0428107a8e552357997b7013daa7c4549840f9d052adc3fa116ba0fa34674417f94e5221a441283a9358c +SHA512 (proxygen-v2022.02.21.00.tar.gz) = 00c80ac6c32d64ab77edaf00763f800046ab97e22b12c6d0c98e163ff08fe01b2ab303008c7bba7d1a35e8366311fc3366995ae2e3efab412200d8012e5173be commit 64532fc6ea4273a06e838bd4df4a51974d94d7bc Author: Fedora Release Engineering <releng(a)fedoraproject.org> Date: Fri Jan 21 09:31:58 2022 +0000 - Rebuilt for
https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng(a)fedoraproject.org>
1
0
0
0
← Newer
1
...
35
36
37
38
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Results per page:
10
25
50
100
200