Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package c-ares for openSUSE:Factory checked 
in at 2026-11-10 16:29:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/c-ares (Old)
 and      /work/SRC/openSUSE:Factory/.c-ares.new.3759290 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "c-ares"

Tue Nov 10 16:29:42 2026 rev:30 rq:1396362 version:1.34.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/c-ares/c-ares.changes    2026-08-25 
13:19:06.986901306 +0200
+++ /work/SRC/openSUSE:Factory/.c-ares.new.3759290/c-ares.changes       
2026-11-10 16:29:49.120282772 +0100
@@ -1,0 +2,18 @@
+Fri Nov  6 09:23:54 UTC 2026 - Adam Majer <[email protected]>
+
+- c-ares 1.34.9:
+  * buffer overflow when ares_dup() or ares_save_options() runs while another 
thread changes the servers (bsc#1289583)
+  * uninitialized memory returned for a numeric IPv6 name with a prefix length 
(bsc#1289584)
+  * the query cache could return an answer obtained using different EDNS 
options (bsc#1289585)
+  * use-after-free when an application cancels lookups from a callback, or 
shuts a channel down (bsc#1289578)
+  * use-after-free of a connection after the socket-state callback returns 
(bsc#1289579)
+  * use-after-free when an application cancels lookups from a server-state 
callback (bsc#1289580)
+  * use-after-free of a server record when an application changes its DNS 
servers from a callback (bsc#1289581)
+  * use-after-free of a cached DNS answer while the application is still 
reading it (bsc#1289582)
+  * memory corruption when an application cancels its lookups after a 
connection failure (bsc#1289574)
+  * a DNS reply that arrived from a different server than the one queried 
could be accepted (bsc#1289575)
+  * use-after-free of a lookup after shutting down a failed connection 
(bsc#1289576)
+
+- test-fixes.patch: fix testsuite to only use localhost
+
+-------------------------------------------------------------------
@@ -4 +22 @@
-- c-ares 1.36.8:
+- c-ares 1.34.8:
@@ -12,0 +31 @@
+- old-gtest.patch: old gtest adaptation to run tests in SLE15:Update
@@ -20 +39 @@
-- c-ares 1.35.6:
+- c-ares 1.34.6:

Old:
----
  c-ares-1.34.8.tar.gz
  c-ares-1.34.8.tar.gz.asc

New:
----
  c-ares-1.34.9.tar.gz
  c-ares-1.34.9.tar.gz.asc
  old-gtest.patch
  test-fixes.patch

----------(New B)----------
  New:
- old-gtest.patch: old gtest adaptation to run tests in SLE15:Update
- README.md: Add readme with build status
  New:
- test-fixes.patch: fix testsuite to only use localhost
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ c-ares.spec ++++++
--- /var/tmp/diff_new_pack.ZmdEDR/_old  2026-11-10 16:29:50.022320502 +0100
+++ /var/tmp/diff_new_pack.ZmdEDR/_new  2026-11-10 16:29:50.023320544 +0100
@@ -26,7 +26,7 @@
 %endif
 
 Name:           c-ares%pkg_suffix
-Version:        1.34.8
+Version:        1.34.9
 Release:        0
 Summary:        Library for asynchronous name resolves
 License:        MIT
@@ -37,6 +37,8 @@
 Source4:        baselibs.conf
 Source5:        series
 Source10:       README.md
+Patch1:         old-gtest.patch
+Patch2:         test-fixes.patch
 BuildRequires:  c++_compiler
 BuildRequires:  cmake
 # Needed for getservbyport_r function to work properly.
@@ -109,7 +111,8 @@
 %endif
 
 %if ("@BUILD_FLAVOR@" != "testsuite")
-%ldconfig_scriptlets -n %{libname}
+%post   -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
 %endif
 
 %check

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.ZmdEDR/_old  2026-11-10 16:29:50.088323263 +0100
+++ /var/tmp/diff_new_pack.ZmdEDR/_new  2026-11-10 16:29:50.091323388 +0100
@@ -1,5 +1,4 @@
-mtime: 1787566442
-commit: 960fa3e6180998b153814441fceb1c421351d2d2562ac168fa45b0f46789f1b9
-url: https://src.opensuse.org/adamm/c-ares.git
-revision: factory
+mtime: 1794238356
+commit: 5e566a1154a87f0accfe066184453e72fde41824b3d55d3506c8b008ff417ce6
+url: https://src.opensuse.org/clibs/c-ares
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-11-09 16:32:36.000000000 +0100
@@ -0,0 +1 @@
+.osc

++++++ c-ares-1.34.8.tar.gz -> c-ares-1.34.9.tar.gz ++++++
++++ 7536 lines of diff (skipped)


++++++ old-gtest.patch ++++++
diff --git a/test/ares-test-main.cc b/test/ares-test-main.cc
index d16f34b1..568118af 100644
--- a/test/ares-test-main.cc
+++ b/test/ares-test-main.cc
@@ -28,6 +28,14 @@
 
 #include "ares-test.h"
 
+#ifdef ARES_TEST_OLD_GTEST
+namespace testing {
+namespace internal {
+extern ::std::vector< ::std::string> g_argvs;
+}
+}
+#endif
+
 #ifdef __APPLE__
 #  include <mach/mach.h>
 #  include <mach/mach_time.h>
@@ -110,5 +118,11 @@ int main(int argc, char* argv[]) {
   WSACleanup();
 #endif
 
+#ifdef ARES_TEST_OLD_GTEST
+  // Workaround for GTest 1.8.0 double-free of g_argvs upon exit
+  // across multiple linked shared libraries (libgtest.so and libgmock.so)
+  std::vector<std::string>().swap(testing::internal::g_argvs);
+#endif
+
   return rc;
 }
diff --git a/test/ares-test.h b/test/ares-test.h
index e65b264c..494fd097 100644
--- a/test/ares-test.h
+++ b/test/ares-test.h
@@ -35,6 +35,17 @@
 #include "gtest/gtest.h"
 #include "gmock/gmock.h"
 
+#ifndef INSTANTIATE_TEST_SUITE_P
+#  define INSTANTIATE_TEST_SUITE_P INSTANTIATE_TEST_CASE_P
+#  define ARES_TEST_OLD_GTEST 1
+#  define GetTestSuitePatternHolder GetTestCasePatternHolder
+#  define GET_5TH_ARG(arg1, arg2, arg3, arg4, arg5, ...) arg5
+#  define AddTestPattern_MACRO_CHOOSER(...) GET_5TH_ARG(__VA_ARGS__, 
AddTestPattern_4, AddTestPattern_3, dummy)
+#  define AddTestPattern_3(a, b, c) AddTestPattern(a, b, c)
+#  define AddTestPattern_4(a, b, c, d) AddTestPattern(a, b, c)
+#  define AddTestPattern(...) 
AddTestPattern_MACRO_CHOOSER(__VA_ARGS__)(__VA_ARGS__)
+#endif
+
 #if defined(HAVE_USER_NAMESPACE) && defined(HAVE_UTS_NAMESPACE)
 #  define HAVE_CONTAINER
 #endif

++++++ series ++++++
--- /var/tmp/diff_new_pack.ZmdEDR/_old  2026-11-10 16:29:50.484339827 +0100
+++ /var/tmp/diff_new_pack.ZmdEDR/_new  2026-11-10 16:29:50.488339994 +0100
@@ -1,3 +1,2 @@
-
-(No newline at EOF)
+old-gtest.patch
 

++++++ test-fixes.patch ++++++
commit d96b3fa9146f71ec77cd1dd536ad4b62307c1a76
Author: Adam Majer <[email protected]>
Date:   Mon Nov 9 16:26:28 2026 +0100

    test: use loopback for dead-server endpoints in SockStateDeliveryTest
    
    SockStateDeliveryTest used 192.0.2.1:53 and 198.51.100.1:53 as
    unreachable DNS server endpoints to keep the connection open during
    channel teardown operations.
    
    In isolated build environments and VMs lacking a default network routea,
    UDP connect() to these external subnets fails immediately with ENETUNREACH.
    c-ares maps this to ARES_ECONNREFUSED and terminates the query synchronously
    inside ares_query_dnsrec(), failing the ASSERT_FALSE(result->done_) check
    and causing subsequent SawClose() assertions to fail across all three tests
    (CancelReportsSocketClose, SetServersReportsSocketClose, and
    DestroyReportsSocketClose).
    
    Switch the dead-server addresses to 127.0.0.1:53055 and 127.0.0.1:53056,
    matching the convention used by other mock tests in ares-test-mock.cc.

diff --git a/test/ares-test-mock.cc b/test/ares-test-mock.cc
index cc5e6482..77aa0f9c 100644
--- a/test/ares-test-mock.cc
+++ b/test/ares-test-mock.cc
@@ -4008,9 +4008,9 @@ protected:
     ASSERT_EQ(ARES_SUCCESS,
               ares_init_options(chan, &opts, ARES_OPT_SOCK_STATE_CB));
     ASSERT_NE(nullptr, *chan);
-    /* TEST-NET-1, guaranteed not to answer, so the socket is still open when
-     * the call under test runs. */
-    ASSERT_EQ(ARES_SUCCESS, ares_set_servers_csv(*chan, "192.0.2.1:53"));
+    /* Dead server on loopback, guaranteed not to answer, so the socket is 
still
+     * open when the call under test runs. */
+    ASSERT_EQ(ARES_SUCCESS, ares_set_servers_csv(*chan, "127.0.0.1:53055"));
 
     ares_query_dnsrec(*chan, "www.google.com", ARES_CLASS_IN, ARES_REC_TYPE_A,
                       QueryCallback, result, NULL);
@@ -4039,7 +4039,7 @@ TEST_F(SockStateDeliveryTest, 
SetServersReportsSocketClose) {
   QueryResult         result;
 
   OpenConnection(&chan, &data, &result);
-  EXPECT_EQ(ARES_SUCCESS, ares_set_servers_csv(chan, "198.51.100.1:53"));
+  EXPECT_EQ(ARES_SUCCESS, ares_set_servers_csv(chan, "127.0.0.1:53056"));
   EXPECT_TRUE(SawClose(data)) << "ares_set_servers_csv() closed the socket "
                                  "without telling the application";
   ares_destroy(chan);

Reply via email to