diff options
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rwxr-xr-x | Ports/openssh/package.sh | 2 | ||||
-rw-r--r-- | Userland/Libraries/LibC/unistd.h | 8 | ||||
-rw-r--r-- | Userland/Libraries/LibCore/Account.cpp | 1 | ||||
-rw-r--r-- | Userland/Libraries/LibCrypt/crypt.cpp | 3 | ||||
-rw-r--r-- | Userland/Libraries/LibCrypt/crypt.h | 28 |
6 files changed, 35 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index da833bb6d4..3d5809188e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -208,7 +208,9 @@ endif() add_link_options(--sysroot ${CMAKE_BINARY_DIR}/Root) include_directories(Userland/Libraries/LibC) +include_directories(Userland/Libraries/LibCrypt) include_directories(Userland/Libraries/LibM) +include_directories(Userland/Libraries/LibPthread) include_directories(Userland/Libraries/LibSystem) include_directories(Userland/Services) include_directories(Userland) diff --git a/Ports/openssh/package.sh b/Ports/openssh/package.sh index aa67b85d6a..dcfb688dd9 100755 --- a/Ports/openssh/package.sh +++ b/Ports/openssh/package.sh @@ -8,6 +8,8 @@ depends="zlib openssl" useconfigure=true configopts="--prefix=/usr/local --disable-utmp --disable-strip --sysconfdir=/etc/ssh --with-ssl-dir=${SERENITY_INSTALL_ROOT}/usr/local/lib" +export LDFLAGS="-lcrypt -lcore" + pre_configure() { run autoreconf } diff --git a/Userland/Libraries/LibC/unistd.h b/Userland/Libraries/LibC/unistd.h index 7f54106434..acfd13c2bc 100644 --- a/Userland/Libraries/LibC/unistd.h +++ b/Userland/Libraries/LibC/unistd.h @@ -171,14 +171,6 @@ enum { long sysconf(int name); -struct crypt_data { - int initialized; - char result[65]; -}; - -char* crypt(const char* key, const char* salt); -char* crypt_r(const char* key, const char* salt, struct crypt_data* data); - // If opterr is set (the default), print error messages to stderr. extern int opterr; // On errors, optopt is set to the erroneous *character*. diff --git a/Userland/Libraries/LibCore/Account.cpp b/Userland/Libraries/LibCore/Account.cpp index e357cdd498..869958c604 100644 --- a/Userland/Libraries/LibCore/Account.cpp +++ b/Userland/Libraries/LibCore/Account.cpp @@ -9,6 +9,7 @@ #include <AK/ScopeGuard.h> #include <LibCore/Account.h> #include <LibCore/File.h> +#include <crypt.h> #include <errno.h> #include <grp.h> #include <pwd.h> diff --git a/Userland/Libraries/LibCrypt/crypt.cpp b/Userland/Libraries/LibCrypt/crypt.cpp index c969d7bc50..bf14db6c91 100644 --- a/Userland/Libraries/LibCrypt/crypt.cpp +++ b/Userland/Libraries/LibCrypt/crypt.cpp @@ -6,8 +6,9 @@ #include <AK/Base64.h> #include <AK/Types.h> #include <LibCrypto/Hash/SHA2.h> +#include <crypt.h> +#include <errno.h> #include <string.h> -#include <unistd.h> extern "C" { diff --git a/Userland/Libraries/LibCrypt/crypt.h b/Userland/Libraries/LibCrypt/crypt.h new file mode 100644 index 0000000000..c51744a666 --- /dev/null +++ b/Userland/Libraries/LibCrypt/crypt.h @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +/* standard symbolic constants and types + * + * values from POSIX standard unix specification + * + * https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html + */ + +#pragma once + +#include <sys/cdefs.h> + +__BEGIN_DECLS + +struct crypt_data { + int initialized; + char result[65]; +}; + +char* crypt(const char* key, const char* salt); +char* crypt_r(const char* key, const char* salt, struct crypt_data* data); + +__END_DECLS |