aboutsummaryrefslogtreecommitdiffstats
path: root/testing/sssd
diff options
context:
space:
mode:
Diffstat (limited to 'testing/sssd')
-rw-r--r--testing/sssd/0001-makefile.patch32
-rw-r--r--testing/sssd/0002-src.patch38
-rw-r--r--testing/sssd/0003-alpine.patch98
-rw-r--r--testing/sssd/APKBUILD53
-rw-r--r--testing/sssd/cifsidmap.h160
-rw-r--r--testing/sssd/musl_fixup.patch68
-rw-r--r--testing/sssd/nss.h15
-rw-r--r--testing/sssd/sssd.initd10
8 files changed, 124 insertions, 350 deletions
diff --git a/testing/sssd/0001-makefile.patch b/testing/sssd/0001-makefile.patch
index 9127d34ebd3..4552bdfabab 100644
--- a/testing/sssd/0001-makefile.patch
+++ b/testing/sssd/0001-makefile.patch
@@ -1,8 +1,8 @@
diff --git a/Makefile.am b/Makefile.am
-index 718041634..820378495 100644
+index f6bc9414d..a435507e7 100644
--- a/Makefile.am
+++ b/Makefile.am
-@@ -501,6 +501,7 @@ AM_CPPFLAGS = \
+@@ -508,6 +508,7 @@ AM_CPPFLAGS = \
-I$(srcdir)/src/sss_client \
-I$(srcdir)/src \
-I. \
@@ -10,7 +10,7 @@ index 718041634..820378495 100644
$(POPT_CFLAGS) \
$(TALLOC_CFLAGS) \
$(TDB_CFLAGS) \
-@@ -905,6 +906,7 @@ libsss_child_la_LIBADD = \
+@@ -942,6 +943,7 @@ libsss_child_la_LIBADD = \
$(TEVENT_LIBS) \
$(DHASH_LIBS) \
libsss_debug.la \
@@ -18,7 +18,7 @@ index 718041634..820378495 100644
$(NULL)
libsss_child_la_LDFLAGS = -avoid-version
-@@ -1754,6 +1756,7 @@ sss_signal_SOURCES = \
+@@ -1873,6 +1875,7 @@ sss_signal_SOURCES = \
$(NULL)
sss_signal_LDADD = \
libsss_debug.la \
@@ -26,15 +26,15 @@ index 718041634..820378495 100644
$(NULL)
sss_override_SOURCES = \
-@@ -1912,6 +1915,7 @@ libsss_test_common_la_LIBADD = \
+@@ -2027,6 +2030,7 @@ libsss_test_common_la_LIBADD = \
$(TEVENT_LIBS) \
$(LDB_LIBS) \
$(SSSD_INTERNAL_LTLIBS) \
+ -lintl \
$(NULL)
-
- if HAVE_CHECK
-@@ -2659,6 +2663,7 @@ test_authtok_LDADD = \
+ if BUILD_SYSTEMTAP
+ libsss_test_common_la_LIBADD += stap_generated_probes.lo
+@@ -2748,6 +2752,7 @@ test_authtok_LDADD = \
$(POPT_LIBS) \
libsss_test_common.la \
libsss_debug.la \
@@ -42,7 +42,7 @@ index 718041634..820378495 100644
$(NULL)
test_prompt_config_SOURCES = \
-@@ -4356,7 +4361,8 @@ ldap_child_LDADD = \
+@@ -4552,7 +4557,8 @@ ldap_child_LDADD = \
$(TALLOC_LIBS) \
$(POPT_LIBS) \
$(DHASH_LIBS) \
@@ -52,14 +52,18 @@ index 718041634..820378495 100644
if BUILD_SEMANAGE
selinux_child_SOURCES = \
-@@ -4447,6 +4453,7 @@ p11_child_LDADD = \
+@@ -4637,6 +4643,7 @@ p11_child_LDADD = \
$(DHASH_LIBS) \
$(POPT_LIBS) \
libsss_crypt.la \
+ -lintl \
$(NULL)
- if HAVE_NSS
p11_child_LDADD += \
---
-2.27.0
-
+ $(P11_KIT_LIBS) \
+@@ -4706,6 +4706,7 @@
+ $(JANSSON_LIBS) \
+ $(JOSE_LIBS) \
+ $(CURL_LIBS) \
++ -lintl \
+ $(NULL)
+ endif
diff --git a/testing/sssd/0002-src.patch b/testing/sssd/0002-src.patch
deleted file mode 100644
index 2e51b94c3b7..00000000000
--- a/testing/sssd/0002-src.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
-index 0251ab606..e7808f878 100644
---- a/src/confdb/confdb.h
-+++ b/src/confdb/confdb.h
-@@ -22,6 +22,7 @@
- #ifndef _CONF_DB_H
- #define _CONF_DB_H
-
-+#include <sys/types.h>
- #include <stdbool.h>
- #include <talloc.h>
- #include <tevent.h>
-diff --git a/src/util/util.h b/src/util/util.h
-index 8a754dbfd..ac4bf62fc 100644
---- a/src/util/util.h
-+++ b/src/util/util.h
-@@ -31,6 +31,7 @@
- #include <pcre.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/param.h>
- #include <netinet/in.h>
-
- #include <talloc.h>
-@@ -46,6 +47,10 @@
- #include "util/sss_format.h"
- #include "util/debug.h"
-
-+#ifndef ALLPERMS
-+#define ALLPERMS (S_ISUID | S_ISGID | S_IRGRP | S_IRWXU | S_IRWXG | S_IRWXO)
-+#endif
-+
- /* name of the monitor server instance */
- #define SSSD_PIDFILE PID_PATH"/sssd.pid"
- #define MAX_PID_LENGTH 10
---
-2.27.0
-
diff --git a/testing/sssd/0003-alpine.patch b/testing/sssd/0003-alpine.patch
deleted file mode 100644
index 5e47ae39eac..00000000000
--- a/testing/sssd/0003-alpine.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 820378495..bb868ec56 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4766,13 +4766,17 @@ else
- if HAVE_GENTOO
- init_SCRIPTS += \
- src/sysv/gentoo/sssd
-+else
-+if HAVE_ALPINE
-+ init_SCRIPTS += \
-+ src/sysv/alpine/sssd
- else
- init_SCRIPTS += \
- src/sysv/sssd
- endif
- endif
- endif
--
-+endif
-
- dist_sssddata_DATA = \
- src/config/etc/sssd.api.conf \
-diff --git a/configure.ac b/configure.ac
-index 5154918b1..efdb5f09c 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -510,7 +510,7 @@ AC_DEFINE_UNQUOTED([ABS_SRC_DIR], ["$my_srcdir"], [Absolute path to the source d
-
- AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
- contrib/sssd-pcsc.rules
-- src/sysv/sssd src/sysv/gentoo/sssd src/sysv/SUSE/sssd
-+ src/sysv/sssd src/sysv/gentoo/sssd src/sysv/SUSE/sssd src/sysv/alpine/sssd
- po/Makefile.in src/man/Makefile src/tests/cwrap/Makefile
- src/tests/intg/Makefile src/tests/test_CA/Makefile
- src/lib/ipa_hbac/ipa_hbac.pc src/lib/ipa_hbac/ipa_hbac.doxy
-diff --git a/src/external/platform.m4 b/src/external/platform.m4
-index 75853622f..5a2d50427 100644
---- a/src/external/platform.m4
-+++ b/src/external/platform.m4
-@@ -1,5 +1,5 @@
- AC_ARG_WITH([os],
-- [AC_HELP_STRING([--with-os=OS_TYPE], [Type of your operation system (fedora|redhat|suse|gentoo)])]
-+ [AC_HELP_STRING([--with-os=OS_TYPE], [Type of your operation system (fedora|redhat|suse|gentoo|alpine)])]
- )
- osname=""
- if test x"$with_os" != x ; then
-@@ -7,6 +7,7 @@ if test x"$with_os" != x ; then
- test x"$with_os" = xredhat || \
- test x"$with_os" = xsuse || \
- test x"$with_os" = xgentoo || \
-+ test x"$with_os" = xalpine || \
- test x"$with_os" = xdebian ; then
- osname=$with_os
- else
-@@ -25,6 +26,8 @@ if test x"$osname" = x ; then
- osname="debian"
- elif test -f /etc/gentoo-release ; then
- osname="gentoo"
-+ elif test -f /etc/alpine-release ; then
-+ osname="alpine"
- fi
-
- AC_MSG_NOTICE([Detected operating system type: $osname])
-@@ -35,6 +38,7 @@ AM_CONDITIONAL([HAVE_REDHAT], [test x"$osname" = xredhat])
- AM_CONDITIONAL([HAVE_SUSE], [test x"$osname" = xsuse])
- AM_CONDITIONAL([HAVE_DEBIAN], [test x"$osname" = xdebian])
- AM_CONDITIONAL([HAVE_GENTOO], [test x"$osname" = xgentoo])
-+AM_CONDITIONAL([HAVE_ALPINE], [test x"$osname" = xalpine])
-
- AS_CASE([$osname],
- [redhat], [AC_DEFINE_UNQUOTED([HAVE_REDHAT], 1, [Build with redhat config])],
-diff --git a/src/sysv/alpine/sssd.in b/src/sysv/alpine/sssd.in
-new file mode 100644
-index 000000000..597bf8ce9
---- /dev/null
-+++ b/src/sysv/alpine/sssd.in
-@@ -0,0 +1,17 @@
-+#!/sbin/openrc-run
-+
-+depend(){
-+ need localmount netmount clock
-+}
-+
-+start(){
-+ ebegin "Starting sssd"
-+ start-stop-daemon --start --exec ${exec_prefix}/usr/sbin/sssd -- -Df ${SSSD_OPTIONS}
-+ eend ${?}
-+}
-+
-+stop(){
-+ ebegin "Stopping sssd"
-+ start-stop-daemon --stop --pidfile ${prefix}/var/run/sssd.pid
-+ eend ${?}
-+}
---
-2.27.0
-
diff --git a/testing/sssd/APKBUILD b/testing/sssd/APKBUILD
index a342dd4e849..761d23e140e 100644
--- a/testing/sssd/APKBUILD
+++ b/testing/sssd/APKBUILD
@@ -2,10 +2,10 @@
# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
# Maintainer: Vince Mele <vmele@inoc.com>
pkgname=sssd
-pkgver=1.16.5
+pkgver=2.9.3
pkgrel=0
pkgdesc="System Security Services Daemon"
-url="https://pagure.io/SSSD/sssd"
+url="https://github.com/SSSD/sssd"
arch="x86_64"
license="GPL-3.0-or-later"
@@ -24,8 +24,10 @@ depends="
makedepends="
autoconf
automake
+ bash
bind-tools
c-ares-dev
+ cifs-utils-dev
curl-dev
dbus-dev
ding-libs-dev
@@ -34,34 +36,37 @@ makedepends="
glib-dev
http-parser-dev
jansson-dev
+ jose-dev
keyutils-dev
krb5-dev
ldb-dev
libtool
+ libunistring-dev
libxml2-utils
libxslt
linux-pam-dev
+ musl-nscd-dev
nss-dev
openldap-dev
- pcre-dev
+ p11-kit-dev
+ pcre2-dev
popt-dev
python3-dev
talloc-dev
tdb-dev
tevent-dev
"
-subpackages="$pkgname-dev $pkgname-openrc"
-source="https://releases.pagure.org/SSSD/sssd/sssd-$pkgver.tar.gz
+subpackages="$pkgname-dev py3-$pkgname-pyc py3-$pkgname:py3 $pkgname-openrc"
+source="https://github.com/SSSD/sssd/releases/download/$pkgver/sssd-$pkgver.tar.gz
0001-makefile.patch
- 0002-src.patch
- 0003-alpine.patch
- nss.h
- cifsidmap.h
+ musl_fixup.patch
+ sssd.initd
"
+
prepare() {
default_prepare
- cp "$srcdir"/nss.h "$srcdir"/cifsidmap.h "$builddir"/src/
- autoreconf -i
+
+ autoreconf -fvi
}
build() {
@@ -72,11 +77,10 @@ build() {
--localstatedir=/var \
--libexecdir=/usr/lib/sssd \
--datadir=/usr/share \
- --enable-pammoddir=/usr/lib/security \
+ --enable-pammoddir=/lib/security \
--with-pid-path=/run \
--with-initscript=sysv \
--with-init-dir=/etc/init.d \
- --with-os=alpine \
--disable-cifs-idmap-plugin \
--disable-rpath \
--disable-static \
@@ -98,21 +102,20 @@ check() {
package() {
make -j1 DESTDIR="$pkgdir" install
- # Remove files we don't want to package
- find "$pkgdir" -name '*.la' -delete
- find "$pkgdir" -name '*.pyc' -delete
- find "$pkgdir" -name '*.egg-info' -delete
+ install -Dm755 "$srcdir"/sssd.initd "$pkgdir"/etc/init.d/sssd
- # pkgdir will allways be set, so silence shellsheck warning:
- # SC2115: Use "${var:?}" to ensure this never expands to /usr/share .
# shellcheck disable=SC2115
rm -r "$pkgdir"/usr/share
rm -r "$pkgdir"/run
}
-sha512sums="3a3bcbe7707b92e4e84414e19b896153d634745bfe53957a5c916b78b292c05d1f2381346552bf98a4a7bd1f12e68d6d7cabdaabbe8df78973d2a1ad6bf7e38f sssd-1.16.5.tar.gz
-cc1d2c5f8b5efc1b0cde720764607382c0ae5657847ec59ab941ff4fb2414ce01396a72cf42c06c038389189f751711bd8fb0aaabe83ee827e2d1ec0bfc1dd4b 0001-makefile.patch
-24f6573bb06ace5b66724212c855b53459339a706b130ae5a4fcb997f4f06f1f9069c008b142bbc48618c72a49d16cbec550806a128b9392b793cb4d83d3413d 0002-src.patch
-2edf2c7931afdcfc2a617a982315272a334af53c87ae7d8a057ca8acb1fbfe154ca46b6053f3a3cc237e8f54f8f7d05254686ed50b9b2f274e0bb06971e2be06 0003-alpine.patch
-5abb1ffd1302eaa25736404ae148c0ffdeb7ce42fa2745be3436e887a2aa96b9620287f19b2790cb59cbccc2c04a9dee1adec4fa8e813d322cde82793500e33b nss.h
-b88d4f1ba847477783b43542f1248881d4fb8e8a0d4165c65c358fcb442891d2cc7c96b05e2a8e7c05fdc17ecd76f16295c1ffac3f1c9bfd0375c5e65e56201d cifsidmap.h"
+py3() {
+ amove usr/lib/python*
+}
+
+sha512sums="
+e1c3e107c98ac2cbc4f38e435910ebd560464773e7e93c8982db37d1ccdf78bc5e3f514bbcd2aaae54074ca6197b2067531180b83ee8c0e7f94878a824834a21 sssd-2.9.3.tar.gz
+a62843c65d864fa372b7ed550bdd6f277f054f3efae941c48e9bab239758dad079886f26fbb06fe15310845ba8dc5126d108b06864712c88904b08847a032308 0001-makefile.patch
+c9db51a773c821a2c5327d2e4b0d3c81dd89d780aa7f9dd66ff88a7419a8072907047c8d9faec17ea14c5404c636485eceda85df0b299f40fae362ef7bfb34e8 musl_fixup.patch
+7198c66c96ba48c43def004e302be2e3348d43a4b5a1b35eb25f99081f1f6dce89d3994377a3064f72462509648bfbca1062493d244e413f0c47122cc0436bc9 sssd.initd
+"
diff --git a/testing/sssd/cifsidmap.h b/testing/sssd/cifsidmap.h
deleted file mode 100644
index e13083b1996..00000000000
--- a/testing/sssd/cifsidmap.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * ID Mapping Plugin interface for cifs-utils
- * Copyright (C) 2012 Jeff Layton (jlayton@samba.org)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdint.h>
-
-#include <sys/types.h>
-
-#ifndef _CIFSIDMAP_H
-#define _CIFSIDMAP_H
-
-#define NUM_AUTHS (6) /* number of authority fields */
-#define SID_MAX_SUB_AUTHORITIES (15) /* max number of sub authority fields */
-
-/*
- * Binary representation of a SID as presented to/from the kernel. Note that
- * the sub_auth field is always stored in little-endian here.
- */
-struct cifs_sid {
- uint8_t revision; /* revision level */
- uint8_t num_subauth;
- uint8_t authority[NUM_AUTHS];
- uint32_t sub_auth[SID_MAX_SUB_AUTHORITIES];
-} __attribute__((packed));
-
-
-/*
- * The type of the ID stored within cifs_uxid. UNKNOWN generally means that
- * the mapping failed for some reason. BOTH means that the ID is usable as
- * either a UID or a GID -- IOW, the UID and GID namespaces are unity-mapped.
- */
-#define CIFS_UXID_TYPE_UNKNOWN (0) /* mapping type is unknown */
-#define CIFS_UXID_TYPE_UID (1) /* mapping is a UID */
-#define CIFS_UXID_TYPE_GID (2) /* mapping is a GID */
-#define CIFS_UXID_TYPE_BOTH (3) /* usable as UID or GID */
-
-/* This struct represents a uid or gid and its type */
-struct cifs_uxid {
- union {
- uid_t uid;
- gid_t gid;
- } id;
- unsigned char type;
-} __attribute__((packed));
-
-/*
- * Plugins should implement the following functions:
- */
-
-/**
- * cifs_idmap_init_plugin - Initialize the plugin interface
- * @handle - return pointer for an opaque handle
- * @errmsg - pointer to error message pointer
- *
- * This function should do whatever is required to establish a context
- * for later ID mapping operations. The "handle" is an opaque context
- * cookie that will be passed in on subsequent ID mapping operations.
- * The errmsg is used to pass back an error string both during the init
- * and in subsequent idmapping functions. On any error, the plugin
- * should point *errmsg at a string describing that error. Returns 0
- * on success and non-zero on error.
- */
-extern int cifs_idmap_init_plugin(void **handle, const char **errmsg);
-
-/**
- * cifs_idmap_exit_plugin - Destroy an idmapping context
- * @handle - context handle that should be destroyed
- *
- * When programs are finished with the idmapping plugin, they'll call
- * this function to destroy any context that was created during the
- * init_plugin. The handle passed back in was the one given by the init
- * routine.
- */
-extern void cifs_idmap_exit_plugin(void *handle);
-
-/**
- * cifs_idmap_sid_to_str - convert cifs_sid to a string
- * @handle - context handle
- * @sid - pointer to a cifs_sid
- * @name - return pointer for the name
- *
- * This function should convert the given cifs_sid to a string
- * representation or mapped name in a heap-allocated buffer. The caller
- * of this function is expected to free "name" on success. Returns 0 on
- * success and non-zero on error. On error, the errmsg pointer passed
- * in to the init_plugin function should point to an error string. The
- * caller will not free the error string.
- */
-extern int cifs_idmap_sid_to_str(void *handle, const struct cifs_sid *sid,
- char **name);
-
-/**
- * cifs_idmap_str_to_sid - convert string to struct cifs_sid
- * @handle - context handle
- * @name - pointer to name string to be converted
- * @sid - pointer to struct cifs_sid where result should go
- *
- * This function converts a name string or string representation of
- * a SID to a struct cifs_sid. The cifs_sid should already be
- * allocated. Returns 0 on success and non-zero on error. On error, the
- * plugin should reset the errmsg pointer passed to the init_plugin
- * function to an error string. The caller will not free the error string.
- */
-extern int cifs_idmap_str_to_sid(void *handle, const char *name,
- struct cifs_sid *sid);
-
-/**
- * cifs_idmap_sids_to_ids - convert struct cifs_sids to struct cifs_uxids
- * @handle - context handle
- * @sid - pointer to array of struct cifs_sids to be converted
- * @num - number of sids to be converted
- * @cuxid - pointer to preallocated array of struct cifs_uxids for return
- *
- * This function should map an array of struct cifs_sids to an array of
- * struct cifs_uxids.
- *
- * Returns 0 if at least one conversion was successful and non-zero on error.
- * Any that were not successfully converted will have a cuxid->type of
- * CIFS_UXID_TYPE_UNKNOWN.
- *
- * On any error, the plugin should reset the errmsg pointer passed to the
- * init_plugin function to an error string. The caller will not free the error
- * string.
- */
-extern int cifs_idmap_sids_to_ids(void *handle, const struct cifs_sid *sid,
- const size_t num, struct cifs_uxid *cuxid);
-
-/**
- * cifs_idmap_ids_to_sids - convert uid to struct cifs_sid
- * @handle - context handle
- * @cuxid - pointer to array of struct cifs_uxid to be converted to SIDs
- * @num - number of cifs_uxids to be converted to SIDs
- * @sid - pointer to preallocated array of struct cifs_sid where results
- * should be stored
- *
- * This function should map an array of cifs_uxids an array of struct cifs_sids.
- * Returns 0 if at least one conversion was successful and non-zero on error.
- * Any sids that were not successfully converted should have their revision
- * number set to 0.
- *
- * On any error, the plugin should reset the errmsg pointer passed to the
- * init_plugin function to an error string. The caller will not free the error
- * string.
- */
-extern int cifs_idmap_ids_to_sids(void *handle, const struct cifs_uxid *cuxid,
- const size_t num, struct cifs_sid *sid);
-#endif /* _CIFSIDMAP_H */
diff --git a/testing/sssd/musl_fixup.patch b/testing/sssd/musl_fixup.patch
new file mode 100644
index 00000000000..53908727d83
--- /dev/null
+++ b/testing/sssd/musl_fixup.patch
@@ -0,0 +1,68 @@
+fix musl build failures
+
+Missing _PATH_HOSTS and some NETDB defines when musl is enabled.
+
+These are work arounds for now while we figure out where the real fix should reside (musl, gcompact, sssd):
+
+./sssd-2.5.1/src/providers/fail_over.c:1199:19: error: '_PATH_HOSTS' undeclared (first use in this function)
+| 1199 | _PATH_HOSTS);
+| | ^~~~~~~~~~~
+
+and
+
+i./sssd-2.5.1/src/sss_client/nss_ipnetworks.c:415:21: error: 'NETDB_INTERNAL' undeclared (first use in this function)
+| 415 | *h_errnop = NETDB_INTERNAL;
+
+
+Upstream-Status: Pending
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+Index: sssd-2.5.1/src/providers/fail_over.c
+===================================================================
+diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c
+index 9cb2683..655438c 100644
+--- a/src/providers/fail_over.c
++++ b/src/providers/fail_over.c
+@@ -31,6 +31,10 @@
+ #include <talloc.h>
+ #include <netdb.h>
+
++#if !defined(_PATH_HOSTS)
++#define _PATH_HOSTS "/etc/hosts"
++#endif
++
+ #include "util/dlinklist.h"
+ #include "util/refcount.h"
+ #include "util/util.h"
+diff --git a/src/sss_client/sss_cli.h b/src/sss_client/sss_cli.h
+index dd36e21..96f279d 100644
+--- a/src/sss_client/sss_cli.h
++++ b/src/sss_client/sss_cli.h
+@@ -44,6 +44,14 @@ typedef int errno_t;
+ #define EOK 0
+ #endif
+
++#ifndef NETDB_INTERNAL
++# define NETDB_INTERNAL (-1)
++#endif
++
++#ifndef NETDB_SUCCESS
++# define NETDB_SUCCESS (0)
++#endif
++
+ #define SSS_NSS_PROTOCOL_VERSION 1
+ #define SSS_PAM_PROTOCOL_VERSION 3
+ #define SSS_SUDO_PROTOCOL_VERSION 1
+diff --git a/src/tools/tools_mc_util.c b/src/tools/tools_mc_util.c
+index a4f3a81..cad1f3e 100644
+--- a/src/tools/tools_mc_util.c
++++ b/src/tools/tools_mc_util.c
+@@ -168,7 +168,7 @@ static errno_t wait_till_nss_responder_invalidate_cache(void)
+ {
+ struct stat stat_buf = { 0 };
+ const time_t max_wait = 1000000; /* 1 second */
+- const __useconds_t step_time = 5000; /* 5 milliseconds */
++ const useconds_t step_time = 5000; /* 5 milliseconds */
+ const size_t steps_count = max_wait / step_time;
+ int ret;
+
diff --git a/testing/sssd/nss.h b/testing/sssd/nss.h
deleted file mode 100644
index e15ee3ee34e..00000000000
--- a/testing/sssd/nss.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef NSS__H
-#define NSS__H
-
-#include <nss/nss.h>
-
-enum nss_status
-{
- NSS_STATUS_TRYAGAIN = -2,
- NSS_STATUS_UNAVAIL = -1,
- NSS_STATUS_NOTFOUND = 0,
- NSS_STATUS_SUCCESS = 1,
- NSS_STATUS_RETURN = 2
-};
-
-#endif
diff --git a/testing/sssd/sssd.initd b/testing/sssd/sssd.initd
new file mode 100644
index 00000000000..38875b59bb6
--- /dev/null
+++ b/testing/sssd/sssd.initd
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+
+command="/usr/sbin/sssd"
+command_args="-D $SSSD_OPTIONS"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend(){
+ need localmount netmount clock
+}