diff mbox series

pppd: use uclibc libcrypt instead of openssl

Message ID 20190906101849.4621-1-alexander.i.mukhin@gmail.com
State Changes Requested
Headers show
Series pppd: use uclibc libcrypt instead of openssl | expand

Commit Message

Alexander Mukhin Sept. 6, 2019, 10:18 a.m. UTC
If building with uclibc, fall back to using its cryptographic routines
instead of openssl. This removes unnecessary dependence.

Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
---
 package/pppd/Config.in |  2 +-
 package/pppd/pppd.mk   | 10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

Comments

Thomas Petazzoni Sept. 6, 2019, 11:35 a.m. UTC | #1
Hello Alexander,

On Fri,  6 Sep 2019 13:18:49 +0300
Alexander Mukhin <alexander.i.mukhin@gmail.com> wrote:

> If building with uclibc, fall back to using its cryptographic routines
> instead of openssl. This removes unnecessary dependence.
> 
> Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>

I am surprised: which functions are provided by uClibc that glibc
doesn't provide ?

Also, what about the musl C library that we support ?

Thomas
Baruch Siach Sept. 6, 2019, 11:49 a.m. UTC | #2
Hi Thomas,

On Fri, Sep 06 2019, Thomas Petazzoni wrote:
> On Fri,  6 Sep 2019 13:18:49 +0300
> Alexander Mukhin <alexander.i.mukhin@gmail.com> wrote:
>
>> If building with uclibc, fall back to using its cryptographic routines
>> instead of openssl. This removes unnecessary dependence.
>> 
>> Signed-off-by: Alexander Mukhin <alexander.i.mukhin@gmail.com>
>
> I am surprised: which functions are provided by uClibc that glibc
> doesn't provide ?
>
> Also, what about the musl C library that we support ?

pppd has:

	depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree

baruch
Alexander Mukhin Sept. 6, 2019, 4:31 p.m. UTC | #3
Hello Thomas,

On Fri, Sep 06, 2019 at 01:35:41PM +0200, Thomas Petazzoni wrote:
> I am surprised: which functions are provided by uClibc that glibc
> doesn't provide ?

According to Fabrice Fontaine's commit 541021, glibc since 2.28 dropped
support for DES encryption functions encrypt(), setkey(), etc. But
uclibc still provides them.
Thomas Petazzoni Sept. 7, 2019, 12:32 p.m. UTC | #4
Hello Alexander,

On Fri, 6 Sep 2019 19:31:07 +0300
Alexander Mukhin <alexander.i.mukhin@gmail.com> wrote:

> On Fri, Sep 06, 2019 at 01:35:41PM +0200, Thomas Petazzoni wrote:
> > I am surprised: which functions are provided by uClibc that glibc
> > doesn't provide ?  
> 
> According to Fabrice Fontaine's commit 541021, glibc since 2.28 dropped
> support for DES encryption functions encrypt(), setkey(), etc. But
> uclibc still provides them.

OK, thanks for the additional details. Could you send an updated
version which explains this in the commit log ?

Thanks,

Thomas
diff mbox series

Patch

diff --git a/package/pppd/Config.in b/package/pppd/Config.in
index bf05689f53..7db5674bf1 100644
--- a/package/pppd/Config.in
+++ b/package/pppd/Config.in
@@ -3,7 +3,7 @@  config BR2_PACKAGE_PPPD
 	depends on !BR2_STATIC_LIBS
 	depends on !BR2_TOOLCHAIN_USES_MUSL # Use __P() macro all over the tree
 	depends on BR2_USE_MMU
-	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_OPENSSL if BR2_TOOLCHAIN_USES_GLIBC
 	help
 	  An implementation of the Point-to-point protocol.
 
diff --git a/package/pppd/pppd.mk b/package/pppd/pppd.mk
index 4dffc17941..be6c443eec 100644
--- a/package/pppd/pppd.mk
+++ b/package/pppd/pppd.mk
@@ -12,10 +12,14 @@  PPPD_LICENSE_FILES = \
 	pppd/tdb.c pppd/plugins/pppoatm/COPYING \
 	pppdump/bsd-comp.c pppd/ccp.c pppd/plugins/passprompt.c
 
+PPPD_MAKE_OPTS = HAVE_INET6=y
+ifeq ($(BR2_TOOLCHAIN_USES_GLIBC),y)
 PPPD_DEPENDENCIES = openssl
-PPPD_MAKE_OPTS = \
-	HAVE_INET6=y \
-	OPENSSL_INCLUDE_DIR=$(STAGING_DIR)/usr/include/openssl
+PPPD_MAKE_OPTS += OPENSSL_INCLUDE_DIR=$(STAGING_DIR)/usr/include/openssl
+else
+PPPD_MAKE_OPTS += USE_CRYPT=y
+endif
+
 PPPD_INSTALL_STAGING = YES
 PPPD_TARGET_BINS = chat pppd pppdump pppstats
 PPPD_RADIUS_CONF = \