From 774c20b684674ba8945ca0ffd3b850965e14c570 Mon Sep 17 00:00:00 2001 From: éclairevoyant <848000+eclairevoyant@users.noreply.github.com> Date: Sat, 19 Aug 2023 13:22:46 -0400 Subject: connman: 1.41 -> 1.42 --- .../connman/connman/create-libppp-compat.h.patch | 132 +++++++++++++++++++++ pkgs/tools/networking/connman/connman/default.nix | 21 ++-- 2 files changed, 139 insertions(+), 14 deletions(-) create mode 100644 pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch (limited to 'pkgs/tools/networking') diff --git a/pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch b/pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch new file mode 100644 index 00000000000..dde8a174ca2 --- /dev/null +++ b/pkgs/tools/networking/connman/connman/create-libppp-compat.h.patch @@ -0,0 +1,132 @@ +new file mode 100644 +index 000000000..eee1d09d6 +--- /dev/null ++++ b/scripts/libppp-compat.h +@@ -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 ++ ++#ifndef PPPD_VERSION ++#define PPPD_VERSION VERSION ++#endif ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#ifdef HAVE_PPPD_CHAP_H ++#include ++#endif ++ ++#ifdef HAVE_PPPD_CHAP_NEW_H ++#include ++#endif ++ ++#ifdef HAVE_PPPD_CHAP_MS_H ++#include ++#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__ */ diff --git a/pkgs/tools/networking/connman/connman/default.nix b/pkgs/tools/networking/connman/connman/default.nix index 0f4e1aaf5fb..abb6edc741e 100644 --- a/pkgs/tools/networking/connman/connman/default.nix +++ b/pkgs/tools/networking/connman/connman/default.nix @@ -59,28 +59,21 @@ let inherit (lib) optionals; in stdenv.mkDerivation rec { pname = "connman"; - version = "1.41"; + version = "1.42"; src = fetchurl { url = "mirror://kernel/linux/network/connman/${pname}-${version}.tar.xz"; - sha256 = "sha256-eftA9P3VUwxFqo5ZL7Froj02dPOpjPELiaZXbxmN5Yk="; + hash = "sha256-o+a65G/Age8una48qk92Sd6JLD3mIsICg6wMqBQjwqo="; }; patches = [ - (fetchpatch { - name = "pppd-2.5.0-compat.patch"; - url = "https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=a48864a2e5d2a725dfc6eef567108bc13b43857f"; - sha256 = "sha256-jB1qL13mceQ1riv3K+oFWw4VC7ohv/CcH9sjxZPXcG4="; - }) - (fetchpatch { - name = "CVE-2023-28488.patch"; - url = "https://git.kernel.org/pub/scm/network/connman/connman.git/patch/?id=99e2c16ea1cced34a5dc450d76287a1c3e762138"; - sha256 = "sha256-377CmsECji2w/c4bZXR+TxzTB7Lce0yo7KdK1oWfCVY="; - }) - ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + # simply the middle section of upstream commit a48864a2e5d2a725dfc6eef567108bc13b43857f + # dist tarball is broken, hence this patch as a workaround + ./create-libppp-compat.h.patch + ] ++ optionals stdenv.hostPlatform.isMusl [ # Fix Musl build by avoiding a Glibc-only API. (fetchpatch { url = "https://git.alpinelinux.org/aports/plain/community/connman/libresolv.patch?id=e393ea84386878cbde3cccadd36a30396e357d1e"; - sha256 = "1kg2nml7pdxc82h5hgsa3npvzdxy4d2jpz2f93pa97if868i8d43"; + hash = "sha256-7Q1bp8rD/gGVYUqnIXqjr9vypR8jlC926p3KYWl9kLw="; }) ]; -- cgit 1.4.1 From 0bb5211e807d060664f7905b9390426910293406 Mon Sep 17 00:00:00 2001 From: éclairevoyant <848000+eclairevoyant@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:16:55 -0400 Subject: connman: update maintainers remove matejc as they are part of the team https://github.com/orgs/NixOS/teams/retired-nixpkgs-contributors --- pkgs/tools/networking/connman/connman/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/tools/networking') diff --git a/pkgs/tools/networking/connman/connman/default.nix b/pkgs/tools/networking/connman/connman/default.nix index abb6edc741e..3143818bac3 100644 --- a/pkgs/tools/networking/connman/connman/default.nix +++ b/pkgs/tools/networking/connman/connman/default.nix @@ -183,7 +183,7 @@ stdenv.mkDerivation rec { meta = with lib; { description = "A daemon for managing internet connections"; homepage = "https://git.kernel.org/pub/scm/network/connman/connman.git/"; - maintainers = [ maintainers.matejc ]; + maintainers = with maintainers; [ eclairevoyant ]; platforms = platforms.linux; license = licenses.gpl2Only; }; -- cgit 1.4.1