host-mkpasswd: fix crash on Fedora 28 build host

crypt() is an optional glibc feature. Some distros, like Fedora 28, are
phasing it out to be replaced with libxcrypt [1]. Unfortunately this
change is only ABI compatible, not source code compatible, i.e. the code
will compile with warnings about undefined crypt(), but the resulting
binary will crash.

Follow the guidance in the Fedora bug and include crypt.h when
_XOPEN_CRYPT is not defined.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1566464

Signed-off-by: Stefan Becker <chemobejk@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018.05.x
Stefan Becker 2018-05-02 12:05:08 +03:00 committed by Thomas Petazzoni
parent 45719594d0
commit 3c514c2dc5
1 changed files with 5 additions and 0 deletions

View File

@ -44,6 +44,11 @@
#include <sys/time.h>
#endif
/* glibc without crypt() */
#ifndef _XOPEN_CRYPT
#include <crypt.h>
#endif
/* Application-specific */
#include "utils.h"