public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
To: git-commits@fedoraproject.org
Subject: [rpms/calls] f44: Upstream release 50~rc0 (fedora#2443557)
Date: Sun, 31 May 2026 18:20:24 GMT [thread overview]
Message-ID: <178025162462.1.6114903181736162405.rpms-calls-825ff7a5115c@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/calls
Branch : f44
Commit : 825ff7a5115ca1976b3e588234ce1665012d8e4b
Author : Tomi Lähteenmäki <lihis@lihis.net>
Date : 2026-02-28T19:47:45+02:00
Stats : +15/-366 in 4 file(s)
URL : https://src.fedoraproject.org/rpms/calls/c/825ff7a5115ca1976b3e588234ce1665012d8e4b?branch=f44
Log:
Upstream release 50~rc0 (fedora#2443557)
---
diff --git a/.gitignore b/.gitignore
index 5c8bea6..59f040f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -50,3 +50,5 @@
/calls-v48.2.tar.gz
/calls-v49.1.tar.gz
/calls-v49.1.1.tar.gz
+/calls-v50_rc.0.tar.gz
+/libcall-ui-3a2044f8e7c45387954ed35d22c6b6309e6751d6.tar.gz
diff --git a/807.patch b/807.patch
deleted file mode 100644
index ab353a6..0000000
--- a/807.patch
+++ /dev/null
@@ -1,352 +0,0 @@
-From 009c1c05cd11c2ee3ab8e35f2f13463772ca9840 Mon Sep 17 00:00:00 2001
-From: Christian Glombek <c.glombek@cosa.systems>
-Date: Wed, 26 Nov 2025 08:11:02 +0100
-Subject: [PATCH 1/3] calls-network-watch: Fix buffer overflow in req_route
- functions
-
-Signed-off-by: Christian Glombek <c.glombek@cosa.systems>
----
- src/calls-network-watch.c | 81 ++++++++++++++++++---------------------
- 1 file changed, 37 insertions(+), 44 deletions(-)
-
-diff --git a/src/calls-network-watch.c b/src/calls-network-watch.c
-index 576d32c87..9d5ff2366 100644
---- a/src/calls-network-watch.c
-+++ b/src/calls-network-watch.c
-@@ -30,6 +30,10 @@
-
- #include <arpa/inet.h>
- #include <linux/rtnetlink.h>
-+#include <errno.h>
-+#include <unistd.h>
-+#include <string.h>
-+#include <time.h>
-
- /**
- * SECTION:calls-network-watch
-@@ -89,69 +93,58 @@ static void initable_iface_init (GInitableIface *iface);
- G_DEFINE_TYPE_WITH_CODE (CallsNetworkWatch, calls_network_watch, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (G_TYPE_INITABLE, initable_iface_init))
-
--#define DUMMY_TARGET_V4 "1.2.3.4"
--#define DUMMY_TARGET_V6 "::1.2.3.4"
-
- static gboolean
--req_route_v4 (CallsNetworkWatch *self)
-+req_route (CallsNetworkWatch *self, int family)
- {
-- int addr_len = 4;
-- int len = RTA_LENGTH (addr_len);
-+ struct in_addr dst4;
-+ struct in6_addr dst6;
- struct rtattr *rta;
-+ size_t off, max;
-+ int addr_len, rta_len;
-
- g_assert (CALLS_IS_NETWORK_WATCH (self));
-
-- self->req->n.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg));
-- self->req->n.nlmsg_flags = NLM_F_REQUEST;
-- self->req->n.nlmsg_type = RTM_GETROUTE;
-- self->req->r.rtm_family = AF_INET;
--
--
-- rta = ((struct rtattr *) (((void *) (&self->req->n)) +
-- NLMSG_ALIGN (self->req->n.nlmsg_len)));
-- rta->rta_type = RTA_DST;
-- rta->rta_len = len;
--
-- /* use a dummy target destination */
-- if (inet_pton (AF_INET, DUMMY_TARGET_V4, RTA_DATA (rta)) != 1)
-+ if (family == AF_INET)
-+ addr_len = sizeof (struct in_addr);
-+ else if (family == AF_INET6)
-+ addr_len = sizeof (struct in6_addr);
-+ else
- return FALSE;
-
-- self->req->n.nlmsg_len = NLMSG_ALIGN (self->req->n.nlmsg_len) + RTA_ALIGN (len);
--
-- return TRUE;
--}
--
--
--static gboolean
--req_route_v6 (CallsNetworkWatch *self)
--{
-- int addr_len = 16;
-- int len = RTA_LENGTH (addr_len);
-- struct rtattr *rta;
--
-- g_assert (CALLS_IS_NETWORK_WATCH (self));
-+ rta_len = RTA_LENGTH (addr_len);
-+ max = sizeof (*self->req);
-+ off = NLMSG_ALIGN (self->req->n.nlmsg_len);
-+ if (off + rta_len > max) {
-+ g_warning ("%s req buffer is too small", family == AF_INET ? "ipv4" : "ipv6");
-+ return FALSE;
-+ }
-
- self->req->n.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg));
- self->req->n.nlmsg_flags = NLM_F_REQUEST;
- self->req->n.nlmsg_type = RTM_GETROUTE;
-- self->req->r.rtm_family = AF_INET6;
-+ self->req->r.rtm_family = family;
-+ self->req->r.rtm_dst_len = family == AF_INET ? 32 : 128;
-+
-+ /* dummy target destination for route query */
-+ if ((family == AF_INET && inet_pton (AF_INET, "1.2.3.4", &dst4) != 1) ||
-+ (family == AF_INET6 && inet_pton (AF_INET6, "::1.2.3.4", &dst6) != 1))
-+ return FALSE;
-
-- rta = ((struct rtattr *) (((void *) (&self->req->n)) +
-- NLMSG_ALIGN (self->req->n.nlmsg_len)));
-+ rta = (struct rtattr *) ((char *) self->req + off);
- rta->rta_type = RTA_DST;
-- rta->rta_len = len;
-+ rta->rta_len = rta_len;
-
-- /* use a dummy target destination */
-- if (inet_pton (AF_INET6, DUMMY_TARGET_V6, RTA_DATA (rta)) != 1)
-- return FALSE;
-+ if (family == AF_INET)
-+ memcpy (RTA_DATA (rta), &dst4, addr_len);
-+ else
-+ memcpy (RTA_DATA (rta), &dst6, addr_len);
-
-- self->req->n.nlmsg_len = NLMSG_ALIGN (self->req->n.nlmsg_len) + RTA_ALIGN (len);
-+ self->req->n.nlmsg_len = off + RTA_ALIGN (rta->rta_len);
-
- return TRUE;
- }
-
--#undef DUMMY_TARGET_V4
--#undef DUMMY_TARGET_V6
-
- static gboolean
- talk_rtnl (CallsNetworkWatch *self)
-@@ -255,7 +248,7 @@ fetch_ipv4 (CallsNetworkWatch *self)
- {
- g_assert (CALLS_IS_NETWORK_WATCH (self));
-
-- if (!req_route_v4 (self))
-+ if (!req_route (self, AF_INET))
- return FALSE;
-
- if (!talk_rtnl (self))
-@@ -269,7 +262,7 @@ fetch_ipv6 (CallsNetworkWatch *self)
- {
- g_assert (CALLS_IS_NETWORK_WATCH (self));
-
-- if (!req_route_v6 (self))
-+ if (!req_route (self, AF_INET6))
- return FALSE;
-
- if (!talk_rtnl (self))
---
-GitLab
-
-
-From 9339fa7a5c7b42b4663f27cdbf07346cffb286e2 Mon Sep 17 00:00:00 2001
-From: Christian Glombek <c.glombek@cosa.systems>
-Date: Wed, 26 Nov 2025 08:13:33 +0100
-Subject: [PATCH 2/3] calls-network-watch: Fix hang in recvmsg in talk_rtnl
- function
-
-Signed-off-by: Christian Glombek <c.glombek@cosa.systems>
----
- src/calls-network-watch.c | 73 +++++++++++++++++++++++++--------------
- 1 file changed, 48 insertions(+), 25 deletions(-)
-
-diff --git a/src/calls-network-watch.c b/src/calls-network-watch.c
-index 9d5ff2366..3ba7facf6 100644
---- a/src/calls-network-watch.c
-+++ b/src/calls-network-watch.c
-@@ -149,33 +149,47 @@ req_route (CallsNetworkWatch *self, int family)
- static gboolean
- talk_rtnl (CallsNetworkWatch *self)
- {
-- struct iovec iov;
-- struct iovec riov;
-- struct sockaddr_nl nladdr = { .nl_family = AF_NETLINK };
-- struct msghdr msg = {
-- .msg_name = &nladdr,
-- .msg_namelen = sizeof (nladdr),
-- .msg_iov = &iov,
-- .msg_iovlen = 1,
-- };
--
-+ struct sockaddr_nl nladdr;
-+ struct iovec iov, riov;
-+ struct msghdr msg;
- struct nlmsghdr *h;
-+ struct nlmsgerr *err;
-+ char *buf;
- int status;
-
- g_assert (CALLS_IS_NETWORK_WATCH (self));
-
-- iov.iov_base = (void *) &self->req->n;
-+ {
-+ struct timeval tv = { .tv_sec = 5, .tv_usec = 0 };
-+ if (setsockopt (self->fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof (tv)) < 0) {
-+ g_warning ("Could not set SO_RCVTIMEO: %m");
-+ return FALSE;
-+ }
-+ }
-+
-+ memset (&nladdr, 0, sizeof (nladdr));
-+ nladdr.nl_family = AF_NETLINK;
-+
-+ iov.iov_base = &self->req->n;
- iov.iov_len = self->req->n.nlmsg_len;
-+
-+ memset (&msg, 0, sizeof (msg));
-+ msg.msg_name = &nladdr;
-+ msg.msg_namelen = sizeof(nladdr);
-+ msg.msg_iov = &iov;
-+ msg.msg_iovlen = 1;
-+
- self->req->n.nlmsg_seq = self->seq++;
-
- status = sendmsg (self->fd, &msg, 0);
- if (status < 0) {
-- g_warning ("Could not send rtnetlink: %d", errno);
-+ g_warning ("Could not send rtnetlink: %m");
- return FALSE;
- }
-
- /* change msg to use response iov */
-- riov.iov_base = self->buf;
-+ buf = self->buf;
-+ riov.iov_base = buf;
- riov.iov_len = sizeof (self->buf);
-
- msg.msg_iov = &riov;
-@@ -183,24 +197,33 @@ talk_rtnl (CallsNetworkWatch *self)
-
- status = recvmsg (self->fd, &msg, 0);
-
-- if (status == -1) {
-- g_warning ("Could not receive rtnetlink: %d", errno);
-+ if (status < 0) {
-+ if (errno == EAGAIN || errno == EWOULDBLOCK)
-+ g_warning ("Timed out waiting for rtnetlink response");
-+ else
-+ g_warning ("Could not receive rtnetlink: %m");
-+
- return FALSE;
- }
-
-- h = (struct nlmsghdr *) self->buf;
-+ h = (struct nlmsghdr *) buf;
-+
- if (h->nlmsg_type == NLMSG_ERROR) {
-- /* TODO figure out why this fails and provide more information in the warning */
-+ err = NLMSG_DATA (h);
-+
-+ if (err->error == 0) {
-+ self->repeated_warning = FALSE;
-+ return TRUE; /* SUCCESS! */
-+ }
-+
- if (!self->repeated_warning)
-- g_warning ("Unexpected error response to netlink request while trying "
-- "to fetch local IP address");
-+ g_warning ("Unexpected rtnetlink error: %s", strerror (-err->error));
-
- self->repeated_warning = TRUE;
- return FALSE;
- }
-
- self->repeated_warning = FALSE;
--
- return TRUE;
- }
-
-@@ -217,7 +240,7 @@ get_prefsrc (CallsNetworkWatch *self,
- g_assert (CALLS_IS_NETWORK_WATCH (self));
-
- h = (struct nlmsghdr *) self->buf;
-- r = NLMSG_DATA (self->buf);
-+ r = NLMSG_DATA (h);
- rta = RTM_RTA (r);
- len = h->nlmsg_len - NLMSG_LENGTH (sizeof (*r));
-
-@@ -232,13 +255,13 @@ get_prefsrc (CallsNetworkWatch *self,
- if (!found)
- return FALSE;
-
-- if (family == AF_INET) {
-+ memset (self->tmp_addr, 0, sizeof (self->tmp_addr));
-+ if (family == AF_INET)
- inet_ntop (AF_INET, RTA_DATA (rta), self->tmp_addr, INET_ADDRSTRLEN);
-- } else if (family == AF_INET6) {
-+ else if (family == AF_INET6)
- inet_ntop (AF_INET6, RTA_DATA (rta), self->tmp_addr, INET6_ADDRSTRLEN);
-- } else {
-+ else
- return FALSE;
-- }
-
- return TRUE;
- }
---
-GitLab
-
-
-From 9178816db0cd941126f731f2067b1273adba335b Mon Sep 17 00:00:00 2001
-From: Christian Glombek <c.glombek@cosa.systems>
-Date: Wed, 26 Nov 2025 08:15:46 +0100
-Subject: [PATCH 3/3] calls-network-watch: Init defaults for socket
-
-Signed-off-by: Christian Glombek <c.glombek@cosa.systems>
----
- src/calls-network-watch.c | 16 ++++++++++++----
- 1 file changed, 12 insertions(+), 4 deletions(-)
-
-diff --git a/src/calls-network-watch.c b/src/calls-network-watch.c
-index 3ba7facf6..325a96eba 100644
---- a/src/calls-network-watch.c
-+++ b/src/calls-network-watch.c
-@@ -411,25 +411,33 @@ calls_network_watch_initable_init (GInitable *initable,
- GCancellable *cancelable,
- GError **error)
- {
-+ struct sockaddr_nl addr;
- CallsNetworkWatch *self = CALLS_NETWORK_WATCH (initable);
-
- self->fd = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);
- if (self->fd == -1 && error) {
-- int errsv = errno;
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
-- "Failed to create netlink socket: %d", errsv);
-+ "Failed to create netlink socket: %m");
- return FALSE;
- }
-
-+ memset (&addr, 0, sizeof (addr));
-+ addr.nl_family = AF_NETLINK;
-+ addr.nl_pid = getpid();
-+ addr.nl_groups = 0; /* no notifications */
-+ if (bind (self->fd, (struct sockaddr *) &addr, sizeof (addr)) < 0) {
-+ g_warning ("Failed to bind netlink socket: %m");
-+ }
-+
- if (fetch_ipv4 (self))
- self->ipv4 = g_strdup (self->tmp_addr);
- else
-- self->ipv4 = g_strdup ("127.0.0.1");
-+ self->ipv4 = NULL;
-
- if (fetch_ipv6 (self))
- self->ipv6 = g_strdup (self->tmp_addr);
- else
-- self->ipv6 = g_strdup ("::1");
-+ self->ipv6 = NULL;
-
- return TRUE;
- }
---
-GitLab
-
diff --git a/calls.spec b/calls.spec
index 2a2010e..de86577 100644
--- a/calls.spec
+++ b/calls.spec
@@ -1,16 +1,14 @@
-%global libcall_ui_commit f66056ace818ff19b507335634dd67138a92c77f
+%global libcall_ui_commit 3a2044f8e7c45387954ed35d22c6b6309e6751d6
Name: calls
-Version: 49.1.1
-Release: 7%{?dist}
+Version: 50~rc.0
+Release: 1%{?dist}
Summary: A phone dialer and call handler
License: GPL-3.0-or-later AND LGPL-2.1-or-later
URL: https://gitlab.gnome.org/GNOME/calls
-Source0: https://gitlab.gnome.org/GNOME/calls/-/archive/v%{version}/%{name}-v%{version}.tar.gz
+Source0: https://gitlab.gnome.org/GNOME/calls/-/archive/v%{version_no_tilde _}/%{name}-v%{version_no_tilde _}.tar.gz
Source1: https://gitlab.gnome.org/World/Phosh/libcall-ui/-/archive/%{libcall_ui_commit}/libcall-ui-%{libcall_ui_commit}.tar.gz
-# https://gitlab.gnome.org/GNOME/calls/-/merge_requests/807
-Patch0: 807.patch
ExcludeArch: %{ix86}
@@ -19,10 +17,9 @@ BuildRequires: meson
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: dbus-daemon
-
BuildRequires: pkgconfig(libcallaudio-0.1)
-BuildRequires: pkgconfig(gobject-2.0) >= 2.74
-BuildRequires: pkgconfig(glib-2.0) >= 2.74
+BuildRequires: pkgconfig(gobject-2.0) >= 2.76
+BuildRequires: pkgconfig(glib-2.0) >= 2.76
BuildRequires: pkgconfig(gtk4) >= 4.12
BuildRequires: pkgconfig(libadwaita-1) >= 1.6
BuildRequires: pkgconfig(gsound)
@@ -33,17 +30,19 @@ BuildRequires: pkgconfig(folks)
BuildRequires: pkgconfig(mm-glib)
BuildRequires: pkgconfig(libfeedback-0.0) >= 0.0.1
BuildRequires: pkgconfig(gstreamer-1.0)
+BuildRequires: pkgconfig(gmobile) >= 0.3.0
BuildRequires: gstreamer1-plugins-good-gtk
BuildRequires: sofia-sip-glib-devel
BuildRequires: systemd-rpm-macros
-
BuildRequires: desktop-file-utils
BuildRequires: /usr/bin/xvfb-run
BuildRequires: /usr/bin/xauth
BuildRequires: libappstream-glib
BuildRequires: python3-docutils
+BuildRequires: mobile-broadband-provider-info-devel
Requires: hicolor-icon-theme
+Requires: mobile-broadband-provider-info
Recommends: feedbackd
@@ -54,9 +53,9 @@ Provides: gnome-calls%{?_isa} = %{version}-%{release}
A phone dialer and call handler.
%prep
-%autosetup -a1 -p1 -n %{name}-v%{version}
+%autosetup -a1 -p1 -n %{name}-v%{version_no_tilde _}
-mv libcall-ui-%{libcall_ui_commit}/* subprojects/libcall-ui/
+mv libcall-ui-%{libcall_ui_commit} subprojects/libcall-ui
%conf
%meson
diff --git a/sources b/sources
index df4f6e0..0d7fc2d 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-SHA512 (calls-v49.1.1.tar.gz) = d779895dca462157160e0c5be594990f02382dda01439d30af1b904ca00bebca7ba552397517e587d4d4c06030f5080deb768788b76cdd28958113dbbb138411
-SHA512 (libcall-ui-f66056ace818ff19b507335634dd67138a92c77f.tar.gz) = 26e2ebd3332df4280accd13870e739dc7c2c39bd9df5a5a6eedd3818fa3478908318c280345e5b7e666e89dedb88841548328fa1daca9c510f5044e909da0bc1
+SHA512 (calls-v50_rc.0.tar.gz) = 106a54f0343533ae8cbbf99358867792505f0b0273e51f2f5cd96346e9d27942715b6a368b02f1517c5250c15f5551d2d3c9b6f1081ed4e599637858486f43e6
+SHA512 (libcall-ui-3a2044f8e7c45387954ed35d22c6b6309e6751d6.tar.gz) = 67dc19192b90c136a2fdc88d36bcaeb6f1ec2377bbffe32644cceef570054a65dfc2869b5433c28ea47e6c32a27e5610a90239f1f57584438460c32eee1b684b
reply other threads:[~2026-05-31 18:20 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178025162462.1.6114903181736162405.rpms-calls-825ff7a5115c@fedoraproject.org \
--to=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox