summaryrefslogtreecommitdiffstats
path: root/networkmanager/dont-use-struct-ifpppstatsreq.patch
diff options
context:
space:
mode:
Diffstat (limited to 'networkmanager/dont-use-struct-ifpppstatsreq.patch')
-rw-r--r--networkmanager/dont-use-struct-ifpppstatsreq.patch44
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