summary refs log tree commit diff
path: root/gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2023-09-24 02:00:00 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2023-10-15 02:00:00 +0200
commitced8b56090bdb4a7223ef6246acbe15568ffdb2d (patch)
treeba0b2a30c50855effead45a50ae9b2cc921124b7 /gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
parenta112b43b2a8425915c764a2bc9e6cf0ea58cb512 (diff)
downloadguix-ced8b56090bdb4a7223ef6246acbe15568ffdb2d.tar.gz
gnu: connman: Update to 1.42.
* gnu/packages/connman.scm (connman): Update to 1.42.
[source]: Replace all (obsolete) patches with a new one.
* gnu/packages/patches/connman-CVE-2022-32292.patch,
* gnu/packages/patches/connman-CVE-2022-32293-pt1.patch,
* gnu/packages/patches/connman-CVE-2022-32293-pt2.patch: Delete files.
* gnu/packages/patches/connman-add-missing-libppp-compat.h.patch: New file.
* gnu/local.mk (dist_patch_DATA): Remove deleted files, add new one.
Diffstat (limited to 'gnu/packages/patches/connman-add-missing-libppp-compat.h.patch')
-rw-r--r--gnu/packages/patches/connman-add-missing-libppp-compat.h.patch140
1 files changed, 140 insertions, 0 deletions
diff --git a/gnu/packages/patches/connman-add-missing-libppp-compat.h.patch b/gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
new file mode 100644
index 0000000000..4432c161fd
--- /dev/null
+++ b/gnu/packages/patches/connman-add-missing-libppp-compat.h.patch
@@ -0,0 +1,140 @@
+From: Tobias Geerinckx-Rice <me@tobias.gr>
+Date: Sun Sep 24 02:00:00 2023 +0200
+Subject: connman: Add missing libppp-compat.h.
+
+This file was taken verbatim from upstream commit
+a48864a2e5d2a725dfc6eef567108bc13b43857f.  Its absence was since
+fixed in upstream commit 09c1bbfd55647b18b5bbbb99ef2b6d902465ca16.
+
+---
+diff -Naur a/scripts/libppp-compat.h b/scripts/libppp-compat.h
+--- a/scripts/libppp-compat.h	1970-01-01 01:00:00.000000000 +0100
++++ b/scripts/libppp-compat.h	2023-09-29 00:45:18.726709659 +0200
+@@ -0,0 +1,127 @@
++/* Copyright (C) Eivind Naess, eivnaes@yahoo.com */
++/* SPDX-License-Identifier: GPL-2.0-or-later */
++
++#ifndef __LIBPPP_COMPAT_H__
++#define __LIBPPP_COMPAT_H__
++
++/* Define USE_EAPTLS compile with EAP TLS support against older pppd headers,
++ * pppd >= 2.5.0 use PPP_WITH_EAPTLS and is defined in pppdconf.h */
++#define USE_EAPTLS 1
++
++/* Define INET6 to compile with IPv6 support against older pppd headers,
++ * pppd >= 2.5.0 use PPP_WITH_IPV6CP and is defined in pppdconf.h */
++#define INET6 1
++
++/* PPP < 2.5.0 defines and exports VERSION which overlaps with current package VERSION define.
++ * this silly macro magic is to work around that. */
++#undef VERSION
++#include <pppd/pppd.h>
++
++#ifndef PPPD_VERSION
++#define PPPD_VERSION VERSION
++#endif
++
++#include <pppd/fsm.h>
++#include <pppd/ccp.h>
++#include <pppd/eui64.h>
++#include <pppd/ipcp.h>
++#include <pppd/ipv6cp.h>
++#include <pppd/eap.h>
++#include <pppd/upap.h>
++
++#ifdef HAVE_PPPD_CHAP_H
++#include <pppd/chap.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_NEW_H
++#include <pppd/chap-new.h>
++#endif
++
++#ifdef HAVE_PPPD_CHAP_MS_H
++#include <pppd/chap_ms.h>
++#endif
++
++#ifndef PPP_PROTO_CHAP
++#define PPP_PROTO_CHAP 0xc223
++#endif 
++
++#ifndef PPP_PROTO_EAP
++#define PPP_PROTO_EAP  0xc227
++#endif
++
++
++#if WITH_PPP_VERSION < PPP_VERSION(2,5,0)
++
++static inline bool
++debug_on (void)
++{
++	return debug;
++}
++
++static inline const char
++*ppp_ipparam (void)
++{
++	return ipparam;
++}
++
++static inline int
++ppp_ifunit (void)
++{
++	return ifunit;
++}
++
++static inline const char *
++ppp_ifname (void)
++{
++	return ifname;
++}
++
++static inline int
++ppp_get_mtu (int idx)
++{
++	return netif_get_mtu(idx);
++}
++
++typedef enum ppp_notify
++{
++    NF_PID_CHANGE,
++    NF_PHASE_CHANGE,
++    NF_EXIT,
++    NF_SIGNALED,
++    NF_IP_UP,
++    NF_IP_DOWN,
++    NF_IPV6_UP,
++    NF_IPV6_DOWN,
++    NF_AUTH_UP,
++    NF_LINK_DOWN,
++    NF_FORK,
++    NF_MAX_NOTIFY
++} ppp_notify_t;
++
++typedef void (ppp_notify_fn) (void *ctx, int arg);
++
++static inline void
++ppp_add_notify (ppp_notify_t type, ppp_notify_fn *func, void *ctx)
++{
++	struct notifier **list[NF_MAX_NOTIFY] = {
++		[NF_PID_CHANGE  ] = &pidchange,
++		[NF_PHASE_CHANGE] = &phasechange,
++		[NF_EXIT        ] = &exitnotify,
++		[NF_SIGNALED    ] = &sigreceived,
++		[NF_IP_UP       ] = &ip_up_notifier,
++		[NF_IP_DOWN     ] = &ip_down_notifier,
++		[NF_IPV6_UP     ] = &ipv6_up_notifier,
++		[NF_IPV6_DOWN   ] = &ipv6_down_notifier,
++		[NF_AUTH_UP     ] = &auth_up_notifier,
++		[NF_LINK_DOWN   ] = &link_down_notifier,
++		[NF_FORK        ] = &fork_notifier,
++	};
++
++	struct notifier **notify = list[type];
++	if (notify) {
++		add_notifier(notify, func, ctx);
++	}
++}
++
++#endif /* #if WITH_PPP_VERSION < PPP_VERSION(2,5,0) */
++#endif /* #if__LIBPPP_COMPAT_H__ */