diff options
Diffstat (limited to 'networkmanager/dont-use-struct-ifpppstatsreq.patch')
-rw-r--r-- | networkmanager/dont-use-struct-ifpppstatsreq.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/networkmanager/dont-use-struct-ifpppstatsreq.patch b/networkmanager/dont-use-struct-ifpppstatsreq.patch new file mode 100644 index 000000000..f6ece6f7f --- /dev/null +++ b/networkmanager/dont-use-struct-ifpppstatsreq.patch @@ -0,0 +1,44 @@ +From 6b64e4db2f3c9cfc0e0e240cf0bc58f3b3e90c1f Mon Sep 17 00:00:00 2001 +From: Jiří Klimeš <jklimes@redhat.com> +Date: Wed, 28 Mar 2012 14:42:24 +0000 +Subject: ppp: don't use struct ifpppstatsreq that was removed from linux/ip_ppp.h + +in recent kernels. + +We can use ifreq and ppp_stats structures separately. They needn't have to +to be packed in a structure. +--- +(limited to 'src/ppp-manager/nm-ppp-manager.c') + +diff --git a/src/ppp-manager/nm-ppp-manager.c b/src/ppp-manager/nm-ppp-manager.c +index 59698c3..243d2e1 100644 +--- a/src/ppp-manager/nm-ppp-manager.c ++++ b/src/ppp-manager/nm-ppp-manager.c +@@ -304,18 +304,20 @@ monitor_cb (gpointer user_data) + { + NMPPPManager *manager = NM_PPP_MANAGER (user_data); + NMPPPManagerPrivate *priv = NM_PPP_MANAGER_GET_PRIVATE (manager); +- struct ifpppstatsreq req; ++ struct ifreq req; ++ struct ppp_stats stats; + + memset (&req, 0, sizeof (req)); +- req.stats_ptr = (caddr_t) &req.stats; ++ memset (&stats, 0, sizeof (stats)); ++ req.ifr_data = (caddr_t) &stats; + +- strncpy (req.ifr__name, priv->ip_iface, sizeof (req.ifr__name)); ++ strncpy (req.ifr_name, priv->ip_iface, sizeof (req.ifr_name)); + if (ioctl (priv->monitor_fd, SIOCGPPPSTATS, &req) < 0) { + nm_log_warn (LOGD_PPP, "could not read ppp stats: %s", strerror (errno)); + } else { + g_signal_emit (manager, signals[STATS], 0, +- req.stats.p.ppp_ibytes, +- req.stats.p.ppp_obytes); ++ stats.p.ppp_ibytes, ++ stats.p.ppp_obytes); + } + + return TRUE; +-- +cgit v0.9.0.2-2-gbebe |