summaryrefslogtreecommitdiffstats
path: root/src/external
Commit message (Collapse)AuthorAgeFilesLines
* build: make curl required by secretsPavel Březina2017-03-301-14/+2
| | | | | | | | Also remove --disable-libcurl since it doesn't make sense. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* CONFIGURE: Fix fallback if pkg-config for uuid is missingLukas Slebodnik2017-03-281-1/+1
| | | | Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
* KCM: Implement an internal ccache storage and retrieval APIJakub Hrozek2017-03-271-0/+17
| | | | | | | | | | | | In order for the KCM server to work with ccaches stored in different locations, implement a middle-man between the KCM server and the ccache storage. This module has asynchronous API because we can't assume anything about where the ccaches are stored. Reviewed-by: Michal Židek <mzidek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* KCM: Initial responder build and packagingJakub Hrozek2017-03-271-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds the initial build of the Kerberos Cache Manager responder (KCM). This is a deamon that is capable of holding and storing Kerberos ccaches. When KCM is used, the kerberos libraries (invoked through e.g. kinit) are referred to as a 'client' and the KCM deamon is referred to as 'server'. At the moment, only the Heimdal implementation of Kerberos implements the KCM server: https://www.h5l.org/manual/HEAD/info/heimdal/Credential-cache-server-_002d-KCM.html This patch adds a KCM server to SSSD. In MIT, only the 'client-side' support was added: http://k5wiki.kerberos.org/wiki/Projects/KCM_client This page also describes the protocol between the client and the server. The client is capable of talking to the server over either UNIX sockets (Linux, most Unixes) or Mach RPC (macOS). Our server only implements the UNIX sockets way and should be socket-activated by systemd, although can in theory be also ran explicitly. The KCM server only builds if the configuration option "--with-kcm" is enabled. It is packaged in a new subpackage sssd-kcm in order to allow distributions to enable the KCM credential caches by installing this subpackage only, without the rest of the SSSD. The sssd-kcm subpackage also includes a krb5.conf.d snippet that allows the admin to just uncomment the KCM defaults and instructs them to start the socket. The server can be configured in sssd.conf in the "[kcm]" section. By default, the server only listens on the same socket path the Heimdal server uses, which is "/var/run/.heim_org.h5l.kcm-socket". This is, however, configurable. The file src/responder/kcm/kcm.h is more or less directly imported from the MIT Kerberos tree, with an additional sentinel code and some comments. Not all KCM operations are implemented, only those that also the MIT client implements. That said, this KCM server should also be usable with a Heimdal client, although no special testing was with this hybrid. The patch also adds several error codes that will be used in later patches. Related to: https://pagure.io/SSSD/sssd/issue/2887 Reviewed-by: Michal Židek <mzidek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* BUILD: Detect libcurl during configureJakub Hrozek2017-03-141-0/+38
| | | | | | | Currently libcurl is optional and if not present, just silently skipped. Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* UTIL: Add a generic inotify moduleJakub Hrozek2017-02-151-0/+2
| | | | | | | | | | | | | | Adds a reusable module for watching files using the Linux-specific inotify(7) interface. Adds the possibility to watch the file's parent directory as well to make it possible to watch moves into the directory and allow watching file that doesn't exist at the time the watch is created. This interface is needed to implement the files provider, so this commit is related to: https://fedorahosted.org/sssd/ticket/2228 Reviewed-by: Pavel Březina <pbrezina@redhat.com>
* BUILD: Find a host-prefixed krb5-config when cross-compilingDavid Michael2016-12-161-1/+1
| | | | Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* BUILD: Drop libsss_configFabiano Fidêncio2016-11-242-22/+0
| | | | | | | | | | | | libsss_config has been used only by OpenLMI and the project has been deprecated making, then, no sense to keep the support on SSSD. Distros that, for some reason, are still packing and distributing OpenLMI can stick to SSSD 1.14 branch. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* TESTS: Check new line at end of fileLukas Slebodnik2016-11-231-1/+1
| | | | Reviewed-by: Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
* BUILD: Fix a typo in inotify.m4Jakub Hrozek2016-11-221-2/+2
| | | | | | | | This typo prevented HAVE_INOTIFY from ever being set and as an effect, prevented /etc/resolv.conf inotify detection from working Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
* BUILD: Accept krb5 1.15 for building the PAC pluginLukas Slebodnik2016-10-251-1/+2
| | | | Reviewed-by: Sumit Bose <sbose@redhat.com>
* BUILD: Not having /sbin/service is not fatalJakub Hrozek2016-10-141-1/+1
| | | | | | | If the target platform does not have the service executable, we must not fail the build, but proceed, just disabling the functionality in sssctl. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Only search for service in /sbin and /usr/sbinJakub Hrozek2016-10-141-1/+1
| | | | | | | The shell is executed for invocation of the service binary. Therefore it is better to search the binary only in safe paths. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Detect the path of the "service" executableJakub Hrozek2016-10-111-0/+13
| | | | Reviewed-by: Pavel Březina <pbrezina@redhat.com>
* CONFIGURE: Inform about optional build dependenciesLukas Slebodnik2016-07-072-4/+8
| | | | Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* BUILD: Fall back to non-strict http parser, if strict is not availableJakub Hrozek2016-06-291-1/+6
| | | | | | | | Some platforms (like Debian), don't ship http-parser-strict at all, but only the non-strict variant. Fall back to the non-strict library if the strict variant is not found. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* Secrets: m4 macros for jansson and http-parserChristian Heimes2016-06-292-0/+30
| | | | | | | | | | Prepares autoconf for the new Secrets Provider dependencies Related: https://fedorahosted.org/sssd/ticket/2913 Signed-off-by: Christian Heimes <cheimes@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>
* BUILD: Detect libsystemd-daemon or libsystemdLukas Slebodnik2016-06-291-0/+13
| | | | Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* BUILD: Fix detection of systemdLukas Slebodnik2016-06-291-20/+19
| | | | | | | | | | | | | The macro AM_COND_IF must be called after AM_CONDITIONAL Otherwise it will consider that condition is true. As a result of this the header file config.h had defined macro HAVE_SYSTEMD on all platforms Our macro AM_CHECK_SYSTEMD was removed becuase it was needed in src/external/systemd.m4 and should not be invoked later in configure.ac Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* confdb: Make it possible to use config snippetsMichal Židek2016-06-271-0/+12
| | | | | | | | | | Resolves: https://fedorahosted.org/sssd/ticket/2247 Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* sssctl: new toolPavel Březina2016-06-271-0/+4
| | | | Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* TESTS: Add an integration test for the timestamps cacheJakub Hrozek2016-06-231-0/+1
| | | | Reviewed-by: Sumit Bose <sbose@redhat.com>
* BUILD: Add build infrastructure for systemtap scriptsJakub Hrozek2016-06-101-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds infrastructure that generatest the probes.h and probes.o from the dtrace probes.d file. The probes.d file is empty except for the provider name in this commit, its content will be added with later commits that actually add some content. The probes.d file is always distributed in the tarball so that distributions can optionally enable systemtap support. The generation is done using the "dtrace" command because the probes.d file is compatible with the Solaris dtrace format. Please see "man 1 dtrace" for more information on the dtrace format and the command line tool. In order to make libtool happy, a fake libtool object is generated. This hunk was taken from the libvirt code. The AM_V_GEN macro is used to make the build compatible with the silent build configuration. To enable systemtap probing, configure sssd with: --enable-systemtap In order to do so, the 'dtrace' command-line utility must be installed. On Fedora and RHEL, this package is installed as part of the "systemtap-sdt-devel" package. You'll also want the 'systemtap' package installed as well as the matching versions of kernel-devel and kernel-debuginfo on your machine. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* build: move ndr_krb5pac check to the other Samba checksSumit Bose2016-04-212-9/+17
| | | | Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Accept krb5 1.14 for building the PAC pluginLukas Slebodnik2015-10-261-1/+2
| | | | Reviewed-by: Sumit Bose <sbose@redhat.com>
* CONFIGURE: Remove bashismLukas Slebodnik2015-09-261-1/+1
| | | | | | | | | | | | | | There were errors in configure script when /bin/sh was not bash ./configure: 15889: test: xfedora: unexpected operator ./configure: 19981: test: xyes: unexpected operator ./configure: 23103: test: x1: unexpected operator The equality operator "==" works in bash but it's not a standard. The man page test(1) also does not mention it. There is only short version "=" STRING1 = STRING2 the strings are equal
* Remove trailing whitespacePavel Reichl2015-09-032-5/+5
| | | | | Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>
* BUILD: Repair dependecies on deprecated librariesPetr Cech2015-07-281-12/+28
| | | | | | | | | | | Modules libsystemd-journal and libsystemd-login are deprecated and "libsystemd" should be used instead of them. Resolves: https://fedorahosted.org/sssd/ticket/2733 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Fix variable substitution in cwrap.m4Nikolai Kondrashov2015-05-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add another dollar sign to have variable name substituted by m4 in "cwrap.m4" further substituted with its value by shell in "configure". Before, this: [ test x$2 = xyes] would produce this in "configure" for uid_wrapper test: test xHAVE_UID_WRAPPER = xyes which is always false. Now the changed code: [ test x$$2 = xyes] Would produce this in "configure" instead: test x$HAVE_UID_WRAPPER = xyes which will properly process the test result. This fixes uid_wrapper and nss_wrapper detection, which were considered missing otherwise, resulting in cwrap tests not running. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* Add integration testsNikolai Kondrashov2015-05-283-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add "intgcheck" make target. Update CI to use it. The "intgcheck" target configures and builds sssd in a sub-directory, installs it into a prefix in another sub-directory, and then makes the "intgcheck-installed" target from within src/tests/intg in that separate build. The "intgcheck-installed" target in src/tests/intg runs py.test for all tests it can find in that directory, under fakeroot and nss_wrapper/uid_wrapper environments emulating running under root. It also adds the value of INTGCHECK_PYTEST_ARGS environment/make variable to the py.test command line. You can use it to pass additional py.test options, such as specifying a subset of tests to run. See "py.test --help" output. There are only two test suites in src/tests/intg at the moment: ent_test.py and ldap_test.py. The ent_test.py runs tests on ent.py - a module of assertion functions for checking entries in NSS database (passwd and group), for use in actual tests. The ent_test.py suite can be used as ent.py usage reference. The ldap_test.py suite sets up and starts a slapd instance, adds a few user and group entries, configures and starts sssd and verifies that those users and groups are retrieved correctly using various NSS functions. The tests are very basic at the moment. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Michal Židek <mzidek@redhat.com>
* BUILD: Add AM_PYTHON2_MODULE macroNikolai Kondrashov2015-05-281-0/+49
| | | | | | | | | Add AM_PYTHON2_MODULE - an autoconf macro checking for presence of Python 2 modules. This is for use with the upcoming integration tests configuration, but can be used by other code as well. Reviewed-by: Michal Židek <mzidek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* build: Only run cmocka tests if cmocka 1.0 or newer is availableJakub Hrozek2015-03-111-2/+2
| | | | Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Use python-config for detection *FLAGSLukas Slebodnik2015-02-251-31/+32
| | | | | | | | The script python-config was not available in older versions of python. This patch simplify detection of python CFLAGS and LDFLAGS and increase minimal required version of python to 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* UTIL: Remove python wrapper sss_python_unicode_from_stringLukas Slebodnik2015-02-251-2/+1
| | | | | | The function PyUnicode_FromString is available in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* UTIL: Remove compatibility macro PyModule_AddIntMacroLukas Slebodnik2015-02-251-1/+1
| | | | | | The macro PyModule_AddIntMacro is defined in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* UTIL: Remove python wrapper sss_python_set_checkLukas Slebodnik2015-02-251-1/+1
| | | | | | The macro PySet_Check is defined in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* UTIL: Remove python wrapper sss_python_set_addLukas Slebodnik2015-02-251-1/+1
| | | | | | The function PySet_Add is available in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* UTIL: Remove python wrapper sss_python_set_newLukas Slebodnik2015-02-251-1/+1
| | | | | | The function PySet_New is available in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* BUILD: Remove detection of type Py_ssize_tLukas Slebodnik2015-02-251-5/+0
| | | | | | The type Py_ssize_t is defined in python >= 2.6 Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* BUILD: Remove unused variablesLukas Slebodnik2015-02-251-2/+0
| | | | Reviewed-by: Stephen Gallagher <sgallagh@redhat.com>
* Remove strict requirements of python2Lukas Slebodnik2015-02-131-1/+1
| | | | | | | | | | * fix hashbangs * remove strict requirements of python2 in build system Resolves: https://fedorahosted.org/sssd/ticket/2017 Reviewed-by: Petr Viktorin <pviktori@redhat.com>
* RESOLV: Remove obsolete in-tree implementation of SRV and TXT parsingJakub Hrozek2015-02-111-14/+0
| | | | | | | | | SSSD contained several backwards-compatible definitions of SRV and TXT APIs as well as structures that carry TTL data. These were intended for RHEL-5 and older releases. Since we don't support those upstream, it's better to remove the code -- it has drifted apart from upstream anyway. Reviewed-by: Pavel Březina <pbrezina@redhat.com>
* RESOLV: Add an internal function to read TTL from a DNS packetJakub Hrozek2015-02-111-0/+12
| | | | | | | | | | | | Related: https://fedorahosted.org/sssd/ticket/1884 Adds an internal resolver function that reads the TTL for SRV records as specified by RFC-2181. Several internal c-ares definitions are used until c-ares contains a function that exposes all this information via a parsing function. Reviewed-by: Pavel Březina <pbrezina@redhat.com>
* Python3 support in SSSDBohuslav Kabrda2015-01-131-11/+8
| | | | https://fedorahosted.org/sssd/ticket/2017
* krb5: add wrapper for krb5_kt_have_content()Sumit Bose2014-12-071-0/+1
| | | | | | | | | krb5_kt_have_content() was introduced in MIT Kerberos 1.11. For older platforms this patch adds sss_krb5_kt_have_content() as a wrapper. Resolves https://fedorahosted.org/sssd/ticket/2518 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* BUILD: Detect nss_wrapper and uid_wrapper during configureJakub Hrozek2014-10-101-0/+31
| | | | | | | | Unit testing the utilities to become another user requires the use of the cwrap libraries. This patch augments our build system with macros to detect the nss_wrapper and and uid_wrapper libraries. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
* AUTOCONF: Update detection of libnfsidmapLukas Slebodnik2014-09-021-12/+15
| | | | | Reviewed-by: Michal Židek <mzidek@redhat.com> Reviewed-by: Roland Mainz <rmainz@redhat.com>
* NFSv4 client: add to build systemNoam Meltzer2014-09-021-0/+17
| | | | | Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Roland Mainz <rmainz@redhat.com>
* Add conditional build for MIT Kerberos localauth pluginSumit Bose2014-09-021-0/+15
| | | | | | | | This patch adds everything what is needed to build the MIT Kerberos localauth plugin if the used version of MIT Kerberos supports it. It does not implement the plugin. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
* Accept krb5 1.13 for building the PAC pluginNalin Dahyabhai2014-08-281-1/+2
| | | | Reviewed-by: Sumit Bose <sbose@redhat.com>