ppp icon indicating copy to clipboard operation
ppp copied to clipboard

Release tarball at https://download.samba.org/ tainted

Open ruabmbua opened this issue 1 year ago • 7 comments

While changing the default configuration of ppp in yocto linux, I noticed, that as soon as I change some configure flags, it results in linker errors. After troubleshooting a bit, I noticed it only fails when building from the release tarball.

It seems like file pppd/pppdconf.h was accidentally included in the release tarball. This results in it being included instead of the one generated by configure / autotools, and some defines like PPP_WITH_PEAP being inconsistent between multiple config headers.

I am currently applying this patch, to resolve the issue (can not upload as attachment so I will just include it here):

From bacf2caa91d7251171dad80bc497ab7712a1c195 Mon Sep 17 00:00:00 2001
From: Roland Ruckerbauer <[email protected]>
Date: Tue, 9 Apr 2024 10:37:17 +0200
Subject: [PATCH] Deleted pppdconf.h which results in inconsistent defines

The file was probably included in the release tarball by accident.

---
 pppd/pppdconf.h | 80 -------------------------------------------------
 1 file changed, 80 deletions(-)
 delete mode 100644 pppd/pppdconf.h

diff --git a/pppd/pppdconf.h b/pppd/pppdconf.h
deleted file mode 100644
index 0ae9976..0000000
--- a/pppd/pppdconf.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* pppd/pppdconf.h.  Generated from pppdconf.h.in by configure.  */
-/*
- * Copyright (c) 2022 Eivind Næss. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The name(s) of the authors of this software must not be used to
- *    endorse or promote products derived from this software without
- *    prior written permission.
- *
- * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
- * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
- * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
- * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
- * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-/*
- * This file is generated by configure and sets the features enabled
- *   in pppd when configured.
- */
-
-#ifndef PPP_PPPDCONF_H
-#define PPP_PPPDCONF_H
-
-/* Have Microsoft CHAP support */
-#define PPP_WITH_CHAPMS 1
-
-/* Have Microsoft LAN Manager support */
-/* #undef PPP_WITH_MSLANMAN */
-
-/* Have Microsoft MPPE support */
-#define PPP_WITH_MPPE 1
-
-/* Have multilink support */
-/* #undef PPP_WITH_MULTILINK */
-
-/* Have packet activity filter support */
-/* #undef PPP_WITH_FILTER */
-
-/* Have support for loadable plugins */
-#define PPP_WITH_PLUGINS 1
-
-/* Have Callback Protocol support */
-/* #undef PPP_WITH_CBCP */
-
-/* Include TDB support */
-/* #undef PPP_WITH_TDB */
-
-/* Have IPv6 Control Protocol */
-#define PPP_WITH_IPV6CP 1
-
-/* Support for Pluggable Authentication Modules */
-/* #undef PPP_WITH_PAM */
-
-/* Have EAP-SRP authentication support */
-/* #undef PPP_WITH_SRP */
-
-/* Have EAP-TLS authentication support */
-#define PPP_WITH_EAPTLS 1
-
-/* Have PEAP authentication support */
-#define PPP_WITH_PEAP 1
-
-/* The pppd version */
-#define PPPD_VERSION "2.5.0"
-
-#endif

ruabmbua avatar Apr 09 '24 08:04 ruabmbua

Thanks for noting that.

paulusmack avatar Apr 09 '24 10:04 paulusmack

Forgot to tell you the exact version I tested: I am using the 2.5.0 tarball. Did not check any others.

ruabmbua avatar Apr 09 '24 11:04 ruabmbua

@paulusmack, @enaess: A solution for this ticket?

Neustradamus avatar Aug 17 '24 13:08 Neustradamus

I'll make sure the tarball for 2.5.1 doesn't have this extraneous file. As for 2.5.0, I don't think I want to change it at this stage.

paulusmack avatar Aug 20 '24 10:08 paulusmack

@paulusmack

You could try adding this in the pppd/Makefile.am

BUILT_SOURCE = \
    pppdconf.h

I haven't extensively tested every permutation of this, but the idea is that we'd be able to install pppdconf.h into /usr/include/ppp/* , but not to include it in the resulting tar.gz file for release (i.e. make dist-gzip)

enaess avatar Aug 20 '24 17:08 enaess

@paulusmack

You could try adding this in the pppd/Makefile.am

BUILT_SOURCE = \
    pppdconf.h

I haven't extensively tested every permutation of this, but the idea is that we'd be able to install pppdconf.h into /usr/include/ppp/* , but not to include it in the resulting tar.gz file for release (i.e. make dist-gzip)

I make this change, and I'm sure I tested it, and I merged it. But now when I come to do make dist-gzip, I'm still getting pppd/pppdconf.h included in the tarball. I tried various things like setting nodist_pppd_include_HEADERS = pppdconf.h, but that doesn't fix it.

Any other suggestions?

paulusmack avatar Sep 14 '24 11:09 paulusmack

I made the ppp-2.5.1 release and manually removed pppd/pppdconf.h. I'll leave this open for now since I'd rather not have to remember to do that. Hopefully someone can come up with the proper solution before we get to 2.5.2. @enaess ?

paulusmack avatar Sep 18 '24 04:09 paulusmack