History log of /sssd/src/providers/data_provider_be.c
Revision Date Author Comments Expand
fd25e68446ae86135489edb0823607b394f4ec40 09-Nov-2016 Jakub Hrozek <jhrozek@redhat.com>

MONITOR: Remove unused shutDown sbus method The shutDown method has not been used or set for a long time. Trim the internal interface by removing all references to this internal method. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

ab792150c97bd6eba1f8cd46653f41a0c64fd765 09-Nov-2016 Jakub Hrozek <jhrozek@redhat.com>

MONITOR: Remove deprecated pong sbus method The pong method is deprecated since we started using the watchdog. Since this is dead code, it makes sense to just remove it. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

75dead699a19dda7d8dfca89e2f97efbf0c264a2 12-Jul-2016 Petr Cech <pcech@redhat.com>

PROVIDERS: Setting right {u,g}id if unprivileged be_ctx had talloc_zero() initialized uid and gid which was used in function dp_init(). Therefore back-end was every time started as root and therefore non-root responders could not communicate with back-end due to wrong permission of unix sockets. This patch sets right uid and gid to data-providers if sssd runs as non-root user. Resolves: https://fedorahosted.org/sssd/ticket/3077 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

dea636af4d1902a081ee891f1b19ee2f8729d759 20-Jun-2016 Pavel Březina <pbrezina@redhat.com>

DP: Switch to new interface Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

/sssd/Makefile.am ad/ad_access.c ad/ad_access.h ad/ad_autofs.c ad/ad_common.h ad/ad_id.c ad/ad_id.h ad/ad_init.c ad/ad_subdomains.c ad/ad_subdomains.h ad/ad_sudo.c backend.h data_provider/dp_custom_data.h data_provider/dp_iface.c data_provider/dp_iface.h data_provider/dp_target_auth.c data_provider/dp_target_autofs.c data_provider/dp_target_hostid.c data_provider/dp_target_id.c data_provider/dp_target_subdomains.c data_provider/dp_target_sudo.c data_provider_be.c data_provider_req.c data_provider_req.h ipa/ipa_access.c ipa/ipa_access.h ipa/ipa_auth.c ipa/ipa_auth.h ipa/ipa_autofs.c ipa/ipa_common.h ipa/ipa_hbac_common.c ipa/ipa_hostid.c ipa/ipa_hostid.h ipa/ipa_id.c ipa/ipa_id.h ipa/ipa_init.c ipa/ipa_selinux.c ipa/ipa_selinux.h ipa/ipa_subdomains.c ipa/ipa_subdomains.h ipa/ipa_subdomains_ext_groups.c ipa/ipa_subdomains_id.c ipa/ipa_subdomains_server.c ipa/ipa_sudo.c krb5/krb5_auth.c krb5/krb5_auth.h krb5/krb5_common.h krb5/krb5_init.c ldap/ldap_access.c ldap/ldap_auth.c ldap/ldap_common.c ldap/ldap_common.h ldap/ldap_id.c ldap/ldap_init.c ldap/sdap_access.h ldap/sdap_autofs.c ldap/sdap_autofs.h ldap/sdap_idmap.c ldap/sdap_online_check.c ldap/sdap_sudo.c ldap/sdap_sudo.h proxy/proxy.h proxy/proxy_auth.c proxy/proxy_client.c proxy/proxy_id.c proxy/proxy_init.c simple/simple_access.c simple/simple_access_check.c /sssd/src/responder/autofs/autofssrv_dp.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/ssh/sshsrv_dp.c /sssd/src/responder/sudo/sudosrv_dp.c /sssd/src/tests/cmocka/test_nested_groups.c /sssd/src/tests/simple_access-tests.c
cc2d77d5218c188119fa954c856e858cbde76947 20-Jun-2016 Pavel Březina <pbrezina@redhat.com>

Rename dp_backend.h to backend.h Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

/sssd/Makefile.am /sssd/src/p11_child/p11_child_nss.c ad/ad_access.c ad/ad_gpo.c ad/ad_gpo_child.c ad/ad_srv.c ad/ad_subdomains.h backend.h be_dyndns.c be_ptask.c be_refresh.c data_provider_be.c data_provider_callbacks.c data_provider_fo.c ipa/ipa_auth.h ipa/ipa_dyndns.h ipa/ipa_subdomains.h ipa/selinux_child.c krb5/krb5_auth.h krb5/krb5_child.c krb5/krb5_common.c krb5/krb5_common.h ldap/ldap_access.c ldap/ldap_child.c ldap/ldap_common.h ldap/sdap.h ldap/sdap_access.c ldap/sdap_access.h ldap/sdap_async.h ldap/sdap_async_sudo.c ldap/sdap_autofs.c ldap/sdap_dyndns.c ldap/sdap_dyndns.h ldap/sdap_sudo.c ldap/sdap_sudo.h ldap/sdap_sudo_shared.h proxy/proxy.h proxy/proxy_child.c simple/simple_access.c simple/simple_access_check.c /sssd/src/tests/cmocka/test_be_ptask.c /sssd/src/tests/cmocka/test_data_provider_be.c
50c2a57dea6d38a4f6753a917a5d745b07036325 20-Jun-2016 Pavel Březina <pbrezina@redhat.com>

Rename dp_refresh.h to be_refresh.h Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

3b99f7a97553a0a357d50abe507d4f0060c4ecea 20-Jun-2016 Pavel Březina <pbrezina@redhat.com>

Rename dp_ptask to be_ptask Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

c42bd764452ecda95b7d8d3ce027c70b4ad5982c 12-Jan-2016 Jakub Hrozek <jhrozek@redhat.com>

DP: Print warning when the handler is not configured We would previously only print the generic warning, not the user-supplied error message. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Petr Cech <pcech@redhat.com>

de1131abe5ba7aaeb59f81fc3a9cd2a71c0b52dd 14-Dec-2015 Lukas Slebodnik <lslebodn@redhat.com>

DEBUG: Add missing new lines Reviewed-by: Petr Cech <pcech@redhat.com>

0741237b3f9209af43d956216b3c2f09b90c4ebc 10-Dec-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Reduce code duplication in Data Provider handlers Instead of setting the three same variables over again, add a structure be_sbus_reply_data with a default initializer BE_SBUS_REPLY_DATA_INIT. The handlers can then set the structure to BE_SBUS_REPLY_DATA_INIT on declaration or set a particular value with be_sbus_reply_data_set. The handler can also reply to the message (typically on failure state) with be_sbus_req_reply_data() Reviewed-by: Pavel Březina <pbrezina@redhat.com>

4afc1f2b6ca066d30d2be5ccda9fa760b5a6016e 10-Dec-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Reduce code duplication in the callback handlers Instead of calling sbus_request_return_and_finish() directly with the same checks copied over, add a be_sbus_reply() helper instead. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

17c1656db0a1c4153f80a893978c1c28a5784d55 20-Nov-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Do not confuse static analysers with dead code Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

e8ae3af6724164048a85c374ea8045a368a2d34e 14-Nov-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Check callback messages for valid UTF-8 https://fedorahosted.org/sssd/ticket/2861 Messages passed from Data Provider to responder must be valid UTF-8 strings. Because providers might not be completely under our control, we need to check if the messages we receive are valid UTF-8 and if they are not, use a fallback. Reviewed-by: Sumit Bose <sbose@redhat.com>

8bc6bc6d87127d615f7a81d7151cb46007feff63 14-Nov-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Drop dp_pam_err_to_string Resolves: https://fedorahosted.org/sssd/ticket/2861 All back end requests were using pam_strerror() to print additional info about why request failed. Since pam_strerror() returns localized message and we don't know the locale beforehand, this message failed to be transferred through D-Bus, resulting in a crash. Reviewed-by: Sumit Bose <sbose@redhat.com>

b2d7301516a8a6ca69e38999170da8a0ecb2bdba 10-Nov-2015 Pavel Březina <pbrezina@redhat.com>

BE: Add IFP to known clients This gets rid of confusing debug message: [be_client_destructor] (0x0020): Unknown client removed ... Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

99c5f2f6ba0af6ce52be0d82ec2794bacc215742 21-Sep-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Provide a way to mark subdomain as disabled and auto-enable it later with offline_timeout https://fedorahosted.org/sssd/ticket/2637 Adds a new Data Provider function be_mark_dom_offline() that is a replacement for be_mark_offline(). When called, the function would either set the whole back end offline, just like be_mark_offline or just set the subdomain status to inactive. When a subdomain is inactive, there is a singleton timed task that would re-set the subdomin after offline_timeout seconds. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

376eaf187c13c2a1eaea0ffbdd970b6b563ab74c 14-Sep-2015 Petr Cech <pcech@redhat.com>

DATA_PROVIDER: BE_REQ as string in log message Add be_req2str() for translation BE_REQ to string. So we will have || Got request for [0x1001][FAST BE_REQ_USER][1][name=celestian] instead of || Got request for [0x1001][1][name=celestian] Function be_req2str() is used in data provider and in responder too. So this patch create new header file data_provider_req.h which delivers function be_req2str() and definitions of BE_REQ_*. Resolves: https://fedorahosted.org/sssd/ticket/2708 Reviewed-by: Pavel Reichl <preichl@redhat.com>

cdc44abdf944b0de541fe93ecd77df4d09c856b1 15-Jul-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Add DP_WILDCARD and SSS_DP_WILDCARD_USER/SSS_DP_WILDCARD_GROUP Related: https://fedorahosted.org/sssd/ticket/2553 Extends the Data Provider interface and the responder<->Data provider interface with wildcard lookups. The patch uses a new "wildcard" prefix rather than reusing the existing user/group prefixes. Reviewed-by: Pavel Březina <pbrezina@redhat.com>

caacea0dbfdc92613ae992681053b1d2665b80ca 19-Jun-2015 Sumit Bose <sbose@redhat.com>

LDAP/IPA: add user lookup by certificate Related to https://fedorahosted.org/sssd/ticket/2596 Reviewed-by: Pavel Březina <pbrezina@redhat.com>

d9296ba018228ac6a19f710b8bb9044c4ea9ab5b 01-Jun-2015 Jakub Hrozek <jhrozek@redhat.com>

DP: Set extra_value to NULL for enum requests Some providers, notably IPA, rely on extra_value to be either a useful value or NULL. In enumeration, however, extra_value was random. Set the extra_value pointer explicitly to NULL to make it clear that it's not used for enumeration and also use talloc_zero as future-proof. Resolves: https://fedorahosted.org/sssd/ticket/2659 Reviewed-by: Sumit Bose <sbose@redhat.com>

fb045f6e5a9a7f8936ad6f89c28862dcd035a4fe 08-May-2015 Sumit Bose <sbose@redhat.com>

Add pre-auth request Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

87f8bee53ee1b4ca87b602ff8536bc5fd5b5b595 17-Mar-2015 Lukas Slebodnik <lslebodn@redhat.com>

Add missing new lines to debug messages Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

/sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_sudo.c /sssd/src/db/sysdb_views.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c ad/ad_common.c ad/ad_init.c ad/ad_subdomains.c data_provider_be.c dp_dyndns.c dp_ptask.c ipa/ipa_access.c ipa/ipa_hbac_rules.c ipa/ipa_hostid.c ipa/ipa_selinux.c ipa/ipa_subdomains.c krb5/krb5_child.c krb5/krb5_wait_queue.c ldap/ldap_id.c ldap/sdap.c ldap/sdap_async.c ldap/sdap_async_connection.c ldap/sdap_async_initgroups.c ldap/sdap_utils.c /sssd/src/responder/autofs/autofssrv_cmd.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pac/pacsrv_utils.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/responder/sudo/sudosrv_query.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/tests/krb5_child-test.c /sssd/src/tools/files.c /sssd/src/tools/sss_sync_ops.c /sssd/src/util/debug.c /sssd/src/util/domain_info_utils.c /sssd/src/util/find_uid.c /sssd/src/util/server.c /sssd/src/util/sss_ini.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_semanage.c /sssd/src/util/usertools.c
bdc2aced1185c4ee36921fa01b8dc01789a63900 25-Feb-2015 Jakub Hrozek <jhrozek@redhat.com>

PAM: print the pam status as string, too On several places, let's add a pam_strerror() call so that it's easier to debug user problems. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>

b07a3b729892d2bc2ffa73d93de95e19003cc6c8 27-Jan-2015 Pavel Reichl <preichl@redhat.com>

add missing '\n' in debug messages Also reformat debug strings not to exceed 80 columns long lines. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

9fa95168d80beba04b333b06edc492ecb8b085a1 23-Jan-2015 Pavel Březina <pbrezina@redhat.com>

sbus: add new iface via sbus_conn_register_iface() Rename sbus_conn_add_interface() to sbus_conn_register_iface() and remove sbus_new_interface() calls since it is just one more unnecessary call outside the sbus code. The function sbus_new_interface() is made static and used directly in sbus_conn_register_iface(). The name was chosen to better describe what the function is doing. That it registers an interface on a given object path. The same interface can be used with different paths so it is not really about adding an interface. Preparation for: https://fedorahosted.org/sssd/ticket/2339 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

ae104bcbb705d3081a7a974342a237de8364d0b3 24-Nov-2014 Jakub Hrozek <jhrozek@redhat.com>

BE: Fix a debug message Reviewed-by: Pavel Reichl <preichl@redhat.com>

10d571677bf11c8b2c357026f24de40cae3094f5 18-Nov-2014 Jakub Hrozek <jhrozek@redhat.com>

BE: Become a regular user after initialization Some parts of initialization (Kerberos ticket renewal, checking the keytab for the right principal) still require the root privileges. Drop privileges after initializing the back ends. Related: https://fedorahosted.org/sssd/ticket/2370 Reviewed-by: Sumit Bose <sbose@redhat.com>

04ba431db8a89916f43666c090080a5f2b7e4b9b 06-Nov-2014 Jakub Hrozek <jhrozek@redhat.com>

BE: Make struct bet_queue_item private to sssd_be Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

19e9c1c1a21790974400db9349637788727b6564 22-Oct-2014 Jakub Hrozek <jhrozek@redhat.com>

BE: Own the sbus socket as the SSSD user In some cases, the back end might still be running as root, but the responder would be running unprivileged. In this case, we need to allow connecting from the SSSD user ID. Reviewed-by: Pavel Reichl <preichl@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

5960687483a5d3d99093c9d6ab64e11c9bde7f7b 22-Oct-2014 Jakub Hrozek <jhrozek@redhat.com>

SBUS: Chown the sbus socket if needed When setting up the sbus server, we might need to chown the sbus socket to make sure non-root peers, running as the SSSD user are able to access the file. Reviewed-by: Pavel Reichl <preichl@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

ac40d2f2b2b2fc35c95389f5e28febd580bd2b7a 20-Oct-2014 Jakub Hrozek <jhrozek@redhat.com>

SSSD: Add the options to specify a UID and GID to run as Adds new command line options --uid and --gid to all SSSD servers, making it possible to switch to another user ID if needed. So far all code still runs as root. Reviewed-by: Pavel Reichl <preichl@redhat.com>

1925ce32f7c1dc226be31d4301a0a1dbb2448baa 09-Oct-2014 Jakub Hrozek <jhrozek@redhat.com>

UTIL: Do not depend on monitor code Just moves code around. There should be a way to use the server.c module without linking the monitor code. Reviewed-by: Pavel Reichl <preichl@redhat.com>

0433376c464da45753b3444b14f984f79cc3d770 09-Oct-2014 Lukas Slebodnik <lslebodn@redhat.com>

DP: Print a type as hexadecimal number in debug message. All request from nss responder, start in domain log with debug message in function be_get_account_info e.g. [be_get_account_info] (0x0100): Got request for [4099][1][name=user1] [be_get_account_info] (0x0100): Got request for [4098][1][name=group1] [be_get_account_info] (0x0100): Got request for [4097][1][name=user1] The 1st number is type, which is defined as hexadecimal nuber in header file src/providers/data_provider.h #define BE_REQ_USER 0x0001 #define BE_REQ_GROUP 0x0002 #define BE_REQ_INITGROUPS 0x0003 ... This patch changes formatting from decimal representation to hexadecimal; so you needn't convert it in head while analysing log files. Reviewed-by: Pavel Reichl <preichl@redhat.com>

a8e9aedbf7f6ada4e9f505da5fad8a61e4066684 19-Aug-2014 Pavel Březina <pbrezina@redhat.com>

sudo: work with correct D-Bus iterator Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

193ff97ae3bd19e71c984fb3baa1805a4164549b 19-Aug-2014 Michal Zidek <mzidek@redhat.com>

be_get_account_info change level of debug message Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

9ee8bf83ab1cb53e93111adb64c4a66e607d7115 13-Aug-2014 Jakub Hrozek <jhrozek@redhat.com>

BE: Handle SIGUSR2 It was possible to send SIGUSR1 and to both sssd and sssd_be processes, but only possible to send SIGUSR2 to sssd. This patches fixes the dichotomy by making the sssd_be process handle SIGUSR2 as well. Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Dan Lavu <dlavu@redhat.com>

45eb92f4564c76d04535b5c8e85e769db3ea93a3 31-Jul-2014 Michal Zidek <mzidek@redhat.com>

Exit offline mode only if server is available. This patch adds periodic check to test if backend can exit offline mode and only marks backend as not offline if server for the service is available. Prior to this patch we marked backend as not offline if the offline_timeout was reached without checking for the server availability and when the next request failed again we switched back to the offline mode. This caused significant slowdowns in some edge cases. Fixes: https://fedorahosted.org/sssd/ticket/2355 Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

b39098de5bbb7513d5509fb30a3096a3bd9d43f2 31-Jul-2014 Michal Zidek <mzidek@redhat.com>

ptask: Add backoff feature to the ptask api. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

ab0ab5a30379b84d6e05e1f2dc457bd1dd97401f 31-Jul-2014 Michal Zidek <mzidek@redhat.com>

ptask: Allow adding random_offset to scheduled execution time Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

dfef1d050c35398c6061256a947b4cc9c1f4b8e6 24-Jul-2014 Pavel Březina <pbrezina@redhat.com>

sudo: use dbus array for rules refresh D-Bus only supports 255 signatures which caused a segmentation fault when sudo responder tried to refresh more rules at once. Resolves: https://fedorahosted.org/sssd/ticket/2387 Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

db18dda869bc6c52a41797b2066cf121cf10f49c 22-Jul-2014 Pavel Reichl <preichl@redhat.com>

UTIL: rename find_subdomain_by_name The function was named "find_subdomain" yet it could find both main domain and subdomain. sed 's/find_subdomain_by_name/find_domain_by_name/' -i `find . -name "*.[ch]"` Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>

b76419cf8830440b46c20a15585562343c7b1924 08-Jul-2014 Jakub Hrozek <jhrozek@redhat.com>

IFP: Provide a SBUS method to reconnect to sysbus Introduces a new method implemented only by the IFP responder. When this method is received, the responder attempts to reconnect to the system bus, if not connected already. Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Pavel Reichl <preichl@redhat.com>

ed61bfc5184d9c7a46d17681a22a1abb64423708 30-Apr-2014 Pavel Reichl <preichl@redhat.com>

AD Provider: bugfix use-after-free Resolves: https://fedorahosted.org/sssd/ticket/2322 Reviewed-by: Sumit Bose <sbose@redhat.com>

ef2455b63380ecd17bea94270ceaabe15dcf6456 22-Apr-2014 Jakub Hrozek <jhrozek@redhat.com>

DP: Remove unused 'force' parameter from the subdomain handler The force argument was unused and made the code more complex than required. Moreover, the force argument would have made the subdomain handler behave differently than other identity domains -- when the front end decides it's time to update the domains, the back end should just update them. Handling multiple concurrent requests from multiple responders (typically after startup) is handled at the generic back end level (see be_queue_request). Reviewed-by: Pavel Březina <pbrezina@redhat.com>

cb4d5b588e704114b7090678752d33512baa718e 04-Apr-2014 Jakub Hrozek <jhrozek@redhat.com>

IFP: Re-add the InfoPipe server Related: https://fedorahosted.org/sssd/ticket/2072 This commit only adds the responder and the needed plumbing. No DBus related code is in yet.

06b7bc8ca2e005ed510210d3b8dee16afbabbcc9 14-Mar-2014 Stef Walter <stefw@redhat.com>

sbus: Add the sbus_request_parse_or_finish() method Some DBus types returned from dbus_message_get_args() require memory to be released when done. We automatically attach these to the talloc struct sbus_request memory context in this function. This accepts varargs similar to dbus_message_get_args(), which are rather awkward. However instead of reworking them completely, future generated marshalling code will replace most uses of these varargs. If parsing the dbus message fails, then it responds to the DBus caller with an appropriate error such as o.f.D.Error.InvalidArgs. In these cases (ie: when it returns FALSE) the sbus_request is finished. Migrated some, but not all, uses of dbus_message_get_args() to the new function. Some instances have uncommon semantics such as terminating the connection upon failure to parse a message. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

07e941c1bbdc752142bbd3b838c540bc7ecd0ed7 14-Mar-2014 Stef Walter <stefw@redhat.com>

sbus: Refactor how we export DBus interfaces Most importantly, stop using per connection private data. This doesn't scale when you have more than one thing exporting or exported on a connection. Remove struct sbus_interface and expand sbus_conn_add_interface() function. Remove various struct sbus_interface args to connection initialization functions and make callers use sbus_conn_add_interface() directly. The old method was optimized for exporting one interface on a connection. We'll have connections that export zero, one or more interfaces. To export an interface on a DBus server, call sbus_conn_add_interface() from within the sbus_server_conn_init_fn. To export an interface on a DBus client, call sbus_conn_add_interface() after sbus_new_connection() returns. As before struct sbus_interface represents an object exported via DBus. However it is now talloc allocated. One can set instance data on the struct sbus_interface. This instance data is passed to the various handlers and used in their implementation. However, we now have type safe interface exporting in the various high level sss_process_init() sss_monitor_init() and so on. Introspection support was not in use, and is now gone until we implement it using the metadata (future patch). Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

d9577dbd92555b0755881e37724019ef9c578404 14-Mar-2014 Stef Walter <stefw@gnome.org>

sbus: Add struct sbus_request to represent a DBus invocation struct sbus_request represents a request from a dbus client being handled by a dbus server implementation. The struct contains the message, connection and method (and in the future teh property) which is being requested. In the future it will contain caller information as well. sbus_request is a talloc memory context, and is a good place to attach any allocations and memory specific to the request. Each handler accepts an sbus_request. If a handler returns EOK, it is assumed that the handler will finish the request. Any of the sbus_request_*finish() methods can be used to complete the request and send back a reply. sbus_request_return_and_finish() uses the same argument varargs syntax as dbus_message_append_args(), which isn't a great syntax. Document it a bit, but don't try to redesign: The marshalling work (will follow this patch set) will remove the need to use varargs for most DBus implementation code. This patch migrates the monitor and data provider dbus code to use sbus_request, but does not try to rework the talloc context's to use it. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

5bad17538eab85ce69e0355cd25b52b4a473cc36 14-Mar-2014 Stef Walter <stefw@redhat.com>

providers: Fix types passed to dbus varargs functions Fix some incorrect types passed to dbus_message_get_args(), dbus_message_append_args() or functions accepting similar varargs and types. In particular sizeof(bool) != sizeof(dbus_bool_t) on most platforms. This probably only worked because the compiler was aligning stack variables and so writing off the end of one of them wasn't the end of the world. In addition fix cases where int != int32_t != uint32_t. Although these will work on many common platforms, assuming these are interchangeable is not cross platform safe. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Pavel Březina <pbrezina@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>

b668c77874c6fed325471bdcf5954979a0d734e2 24-Feb-2014 Stef Walter <stefw@redhat.com>

sbus: Use constants to make dbus calls This allows us to remove duplicated information, and have the compiler check that when an method name is changed or removed the callers are updated. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

769347ad4d35d43488eb98f980143495b0db415d 24-Feb-2014 Stef Walter <stefw@redhat.com>

sbus: Rework sbus to use interface metadata and vtables Previous commits added support for interface metadata and handler vtables. This commit ports sbus_dbus_connection to use them. Port the internal uses of dbus to use the new scheme in a very minimal way. Further cleanup is possible here. This commit provides basic definitions of the internal dbus interfaces. The interfaces aren't fully defined, as the handlers will continue to unpack manually, and often overload DBus methods with different arguments (which is rather unorthodox, but not the end of the world). Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

3e7d7af1953410f3f009bf3b2e481a46fb80de83 24-Feb-2014 Stef Walter <stefw@redhat.com>

nss: Stop using one DBus interface with totally different methods This is an incorrect use of DBus, where we use a single interface name with completely different sets of methods. Easily fixed. Once the vtable stuff is in use then this would be automatically detected and fail to build. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Sumit Bose <sbose@redhat.com> Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

83bf46f4066e3d5e838a32357c201de9bd6ecdfd 12-Feb-2014 Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>

Update DEBUG* invocations to use new levels Use a script to update DEBUG* macro invocations, which use literal numbers for levels, to use bitmask macros instead: grep -rl --include '*.[hc]' DEBUG . | while read f; do mv "$f"{,.orig} perl -e 'use strict; use File::Slurp; my @map=qw" SSSDBG_FATAL_FAILURE SSSDBG_CRIT_FAILURE SSSDBG_OP_FAILURE SSSDBG_MINOR_FAILURE SSSDBG_CONF_SETTINGS SSSDBG_FUNC_DATA SSSDBG_TRACE_FUNC SSSDBG_TRACE_LIBS SSSDBG_TRACE_INTERNAL SSSDBG_TRACE_ALL "; my $text=read_file(\*STDIN); my $repl; $text=~s/ ^ ( .* \b (DEBUG|DEBUG_PAM_DATA|DEBUG_GR_MEM) \s* \(\s* )( [0-9] )( \s*, ) ( \s* ) ( .* ) $ / $repl = $1.$map[$3].$4.$5.$6, length($repl) <= 80 ? $repl : $1.$map[$3].$4."\n".(" " x length($1)).$6 /xmge; print $text; ' < "$f.orig" > "$f" rm "$f.orig" done Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Stephen Gallagher <sgallagh@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

/sssd/src/confdb/confdb.c /sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_ranges.c /sssd/src/db/sysdb_search.c /sssd/src/db/sysdb_upgrade.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c /sssd/src/monitor/monitor_sbus.c data_provider_be.c data_provider_callbacks.c data_provider_fo.c data_provider_opts.c dp_auth_util.c dp_pam_data_util.c fail_over.c ipa/ipa_access.c ipa/ipa_auth.c ipa/ipa_common.c ipa/ipa_hbac_common.c ipa/ipa_hbac_hosts.c ipa/ipa_hbac_rules.c ipa/ipa_hbac_services.c ipa/ipa_hbac_users.c ipa/ipa_id.c ipa/ipa_init.c ipa/ipa_netgroups.c krb5/krb5_access.c krb5/krb5_auth.c krb5/krb5_child.c krb5/krb5_child_handler.c krb5/krb5_common.c krb5/krb5_delayed_online_authentication.c krb5/krb5_init.c krb5/krb5_init_shared.c krb5/krb5_renew_tgt.c krb5/krb5_utils.c krb5/krb5_wait_queue.c ldap/ldap_auth.c ldap/ldap_child.c ldap/ldap_common.c ldap/ldap_id.c ldap/ldap_id_cleanup.c ldap/ldap_id_netgroup.c ldap/ldap_init.c ldap/sdap.c ldap/sdap_access.c ldap/sdap_async.c ldap/sdap_async_connection.c ldap/sdap_async_enum.c ldap/sdap_async_groups.c ldap/sdap_async_initgroups.c ldap/sdap_async_initgroups_ad.c ldap/sdap_async_netgroups.c ldap/sdap_async_users.c ldap/sdap_child_helpers.c ldap/sdap_fd_events.c ldap/sdap_id_op.c proxy/proxy_auth.c proxy/proxy_child.c proxy/proxy_id.c proxy/proxy_init.c proxy/proxy_netgroup.c /sssd/src/resolv/async_resolv.c /sssd/src/responder/common/negcache.c /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/nss/nsssrv_private.h /sssd/src/responder/nss/nsssrv_services.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/tests/auth-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/check_and_open.c /sssd/src/util/child_common.c /sssd/src/util/crypto/nss/nss_obfuscate.c /sssd/src/util/crypto/nss/nss_util.c /sssd/src/util/debug.c /sssd/src/util/find_uid.c /sssd/src/util/nscd.c /sssd/src/util/signal.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_ldap.c /sssd/src/util/user_info_msg.c /sssd/src/util/usertools.c /sssd/src/util/util.c
a3c8390d19593b1e5277d95bfb4ab206d4785150 12-Feb-2014 Nikolai Kondrashov <Nikolai.Kondrashov@redhat.com>

Make DEBUG macro invocations variadic Use a script to update DEBUG macro invocations to use it as a variadic macro, supplying format string and its arguments directly, instead of wrapping them in parens. This script was used to update the code: grep -rwl --include '*.[hc]' DEBUG . | while read f; do mv "$f"{,.orig} perl -e \ 'use strict; use File::Slurp; my $text=read_file(\*STDIN); $text=~s#(\bDEBUG\s*\([^(]+)\((.*?)\)\s*\)\s*;#$1$2);#gs; print $text;' < "$f.orig" > "$f" rm "$f.orig" done Reviewed-by: Jakub Hrozek <jhrozek@redhat.com> Reviewed-by: Stephen Gallagher <sgallagh@redhat.com> Reviewed-by: Simo Sorce <simo@redhat.com>

/sssd/src/confdb/confdb.c /sssd/src/confdb/confdb_setup.c /sssd/src/db/sysdb.c /sssd/src/db/sysdb_autofs.c /sssd/src/db/sysdb_idmap.c /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_ranges.c /sssd/src/db/sysdb_search.c /sssd/src/db/sysdb_selinux.c /sssd/src/db/sysdb_services.c /sssd/src/db/sysdb_ssh.c /sssd/src/db/sysdb_subdomains.c /sssd/src/db/sysdb_sudo.c /sssd/src/db/sysdb_upgrade.c /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_netlink.c /sssd/src/monitor/monitor_sbus.c ad/ad_access.c ad/ad_common.c ad/ad_domain_info.c ad/ad_dyndns.c ad/ad_id.c ad/ad_init.c ad/ad_srv.c ad/ad_subdomains.c data_provider_be.c data_provider_callbacks.c data_provider_fo.c data_provider_opts.c dp_auth_util.c dp_dyndns.c dp_pam_data_util.c dp_ptask.c dp_refresh.c fail_over.c fail_over_srv.c ipa/ipa_access.c ipa/ipa_auth.c ipa/ipa_autofs.c ipa/ipa_common.c ipa/ipa_config.c ipa/ipa_dyndns.c ipa/ipa_hbac_common.c ipa/ipa_hbac_hosts.c ipa/ipa_hbac_rules.c ipa/ipa_hbac_services.c ipa/ipa_hbac_users.c ipa/ipa_hostid.c ipa/ipa_hosts.c ipa/ipa_id.c ipa/ipa_idmap.c ipa/ipa_init.c ipa/ipa_netgroups.c ipa/ipa_s2n_exop.c ipa/ipa_selinux.c ipa/ipa_selinux_maps.c ipa/ipa_srv.c ipa/ipa_subdomains.c ipa/ipa_subdomains_ext_groups.c ipa/ipa_subdomains_id.c ipa/ipa_sudo.c krb5/krb5_access.c krb5/krb5_auth.c krb5/krb5_become_user.c krb5/krb5_child.c krb5/krb5_child_handler.c krb5/krb5_common.c krb5/krb5_delayed_online_authentication.c krb5/krb5_init.c krb5/krb5_init_shared.c krb5/krb5_renew_tgt.c krb5/krb5_utils.c krb5/krb5_wait_queue.c ldap/ldap_access.c ldap/ldap_auth.c ldap/ldap_child.c ldap/ldap_common.c ldap/ldap_id.c ldap/ldap_id_cleanup.c ldap/ldap_id_enum.c ldap/ldap_id_netgroup.c ldap/ldap_id_services.c ldap/ldap_init.c ldap/sdap.c ldap/sdap_access.c ldap/sdap_async.c ldap/sdap_async_autofs.c ldap/sdap_async_connection.c ldap/sdap_async_enum.c ldap/sdap_async_groups.c ldap/sdap_async_groups_ad.c ldap/sdap_async_initgroups.c ldap/sdap_async_initgroups_ad.c ldap/sdap_async_nested_groups.c ldap/sdap_async_netgroups.c ldap/sdap_async_services.c ldap/sdap_async_sudo.c ldap/sdap_async_sudo_hostinfo.c ldap/sdap_async_sudo_timer.c ldap/sdap_async_users.c ldap/sdap_autofs.c ldap/sdap_child_helpers.c ldap/sdap_dyndns.c ldap/sdap_fd_events.c ldap/sdap_id_op.c ldap/sdap_idmap.c ldap/sdap_range.c ldap/sdap_refresh.c ldap/sdap_reinit.c ldap/sdap_sudo.c ldap/sdap_sudo_cache.c proxy/proxy_auth.c proxy/proxy_child.c proxy/proxy_id.c proxy/proxy_init.c proxy/proxy_netgroup.c proxy/proxy_services.c simple/simple_access.c simple/simple_access_check.c /sssd/src/resolv/async_resolv.c /sssd/src/resolv/async_resolv_utils.c /sssd/src/responder/autofs/autofssrv.c /sssd/src/responder/autofs/autofssrv_cmd.c /sssd/src/responder/autofs/autofssrv_dp.c /sssd/src/responder/common/negcache.c /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/common/responder_get_domains.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_mmap_cache.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/nss/nsssrv_private.h /sssd/src/responder/nss/nsssrv_services.c /sssd/src/responder/pac/pacsrv.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pac/pacsrv_utils.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pam_helpers.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/responder/ssh/sshsrv.c /sssd/src/responder/ssh/sshsrv_cmd.c /sssd/src/responder/ssh/sshsrv_dp.c /sssd/src/responder/sudo/sudosrv.c /sssd/src/responder/sudo/sudosrv_cmd.c /sssd/src/responder/sudo/sudosrv_dp.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/responder/sudo/sudosrv_query.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_server.c /sssd/src/sss_client/ssh/sss_ssh_authorizedkeys.c /sssd/src/sss_client/ssh/sss_ssh_knownhostsproxy.c /sssd/src/tests/auth-tests.c /sssd/src/tests/cmocka/test_dyndns.c /sssd/src/tests/cmocka/test_fqnames.c /sssd/src/tests/cmocka/test_nss_srv.c /sssd/src/tests/cmocka/test_utils.c /sssd/src/tests/common_dom.c /sssd/src/tests/common_tev.c /sssd/src/tests/debug-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/krb5_child-test.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tools/files.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_debuglevel.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_mc_util.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/authtok.c /sssd/src/util/backup_file.c /sssd/src/util/check_and_open.c /sssd/src/util/child_common.c /sssd/src/util/crypto/libcrypto/crypto_base64.c /sssd/src/util/crypto/libcrypto/crypto_obfuscate.c /sssd/src/util/crypto/nss/nss_obfuscate.c /sssd/src/util/crypto/nss/nss_util.c /sssd/src/util/debug.c /sssd/src/util/domain_info_utils.c /sssd/src/util/find_uid.c /sssd/src/util/nscd.c /sssd/src/util/server.c /sssd/src/util/signal.c /sssd/src/util/sss_ini.c /sssd/src/util/sss_krb5.c /sssd/src/util/sss_krb5.h /sssd/src/util/sss_ldap.c /sssd/src/util/sss_nss.c /sssd/src/util/sss_selinux.c /sssd/src/util/sss_ssh.c /sssd/src/util/sss_tc_utf8.c /sssd/src/util/user_info_msg.c /sssd/src/util/usertools.c /sssd/src/util/util.c /sssd/src/util/util.h /sssd/src/util/util_lock.c /sssd/src/util/well_known_sids.c
b3292840ebaa747a9fd596ff47cc5d18198361d0 15-Nov-2013 Michal Zidek <mzidek@redhat.com>

SYSDB: Drop the sysdb_ctx parameter from the sysdb_search module

/sssd/src/db/sysdb.c /sssd/src/db/sysdb.h /sssd/src/db/sysdb_search.c data_provider_be.c ipa/ipa_subdomains_ext_groups.c krb5/krb5_access.c krb5/krb5_auth.c krb5/krb5_utils.c ldap/ldap_auth.c ldap/sdap_access.c ldap/sdap_async_initgroups.c proxy/proxy_id.c /sssd/src/python/pysss.c /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_netgroup.c /sssd/src/responder/pac/pacsrv_cmd.c /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/ssh/sshsrv_cmd.c /sssd/src/responder/sudo/sudosrv_get_sudorules.c /sssd/src/tests/cmocka/test_nss_srv.c /sssd/src/tests/sysdb-tests.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_sync_ops.h /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_util.c
407123c67114bf010cdad4418f291f9fb3762f4a 12-Nov-2013 Cove Schneider <cove@ilm.com>

Add ldap_autofs_map_master_name option

4fcc27c0474b1879119cb04de4ed209711df231e 07-Nov-2013 Michal Zidek <mzidek@redhat.com>

confdb: Make offline timeout configurable Added and documented option offline_timeout. Resolves: https://fedorahosted.org/sssd/ticket/1718

328ac6f72e33af7c2e8602462c57c34da6aeaa98 30-Oct-2013 Sumit Bose <sbose@redhat.com>

be_spy_create: free be_req and not the long living data

a09ef85a90b52c0524af420c18f29f888a723412 25-Oct-2013 Pavel Březina <pbrezina@redhat.com>

dp: add function to terminate request of specific domain Resolves: https://fedorahosted.org/sssd/ticket/1968

84640544b70fd6f3f8210af4d236702bfef98b37 25-Oct-2013 Pavel Březina <pbrezina@redhat.com>

dp: set request domain Every request is attached to be_ctx->domain by default. We will change the domain to a subdomain if it is relevant. Resolves: https://fedorahosted.org/sssd/ticket/1968

92eb5729e132e4f88ec41f1eb8db90ebd3a81a63 25-Oct-2013 Pavel Březina <pbrezina@redhat.com>

dp: store list of ongoing requests Resolves: https://fedorahosted.org/sssd/ticket/1968

0a320004a9937295ba66a348d1e60682cfdceb26 22-Oct-2013 Sumit Bose <sbose@redhat.com>

Add unconditional online callbacks Currently online callbacks are only executed if the backend was offline before. This patch add a new class of callback which are always called if the backend gets a request to go online. They can be used e.g. to reset timeouts until a more sophisticated method (OpenLMI, sssctl) is available.

19b4bb652f5cdc2797b66595eaf8811881aa9873 22-Oct-2013 Jakub Hrozek <jhrozek@redhat.com>

Include external headers with #include <foo.h> I find it more readable to include headers from outside the sssd tree with <foo.h>, not "foo.h". The latter should be used for in-tree headers only.

d2f4746587809673122d348a8f806f1c14d3d60a 22-Sep-2013 Jakub Hrozek <jhrozek@redhat.com>

Check return values of setenv and unsetenv

d6837823b0a002c9c8afb48caf3eeda5cb73f173 18-Sep-2013 Jakub Hrozek <jhrozek@redhat.com>

BE: Log domain name to journald if available If the SSSD is compiled with journald support, then all sss_log() statements will include a new field called "SSSD_DOMAIN" that includes the domain name. Filtering only messages from the single domain is then as easy as: # journalctl SSSD_DOMAIN=foo.example.com

f88f09876e2018bd08e19d84ad1ab66f72cac8fd 24-Aug-2013 Ondrej Kos <okos@redhat.com>

DP: Notify propperly when removing PAC responder Adds pac_cli be_client structure pointer, to indetify and log the PAC responder termination correctly.

6a281a49197ff76637bd6037692bb9569df8f2da 18-Jul-2013 Jakub Hrozek <jhrozek@redhat.com>

Remove unused be_ctx->sigchld_ctx

0cf0e2d758d09e9b314ba72ce6638df10b258462 10-Jun-2013 Pavel Březina <pbrezina@redhat.com>

back end: add refresh expired records periodic task https://fedorahosted.org/sssd/ticket/1713 Add new option refresh_expired_interval.

af4027dd2759c73cde55b55fe9e1248089e8a42c 04-Jun-2013 Sumit Bose <sbose@redhat.com>

Use queue for get_subdomains It does not make much sense to run multiple get_subdomains request in parallel because all requests will load the same information from the server. The IPA and AD provider already implement a short timeout to avoid the multiple requests are running to fast after each other. But if the timeout is over chances are that if two or more request come in fast the first request cannot update the timeout and request will run in parallel. To avoid this the requests are queued and send one after the other to the provider.

044aff9bd41e0126b89f1ad672e196c3aa1654b7 04-Jun-2013 Sumit Bose <sbose@redhat.com>

Add be request queue For some backend targets it might be not desirable to run requests in parallel but to serialize them. To avoid that each provider has to implement a queue for this target this patch implements a generic queue which collects incoming requests before they are send to the target.

206329d3901738036352f2ac1e8d7804f728861d 02-May-2013 Sumit Bose <sbose@redhat.com>

Add secid filter to responder-dp protocol This patch add a new filter type to the data-provider interface which can be used for SID-based lookups.

44fc7e53b403d45576ab61d2dea4608e323ed332 03-Apr-2013 Jakub Hrozek <jhrozek@redhat.com>

Centralize resolv_init, remove resolv context list

6569d57e3bc168e6e83d70333b48c5cb43aa04c4 19-Mar-2013 Jakub Hrozek <jhrozek@redhat.com>

Do not compile main() in DP if UNIT_TESTING is defined The simple access provider unit tests now need to link against the Data Provider when they start using the be_file_account_request() function. But then we would start having conflicts as at least the main() functions would clash. If UNIT_TESTING is defined, then the data_provider_be.c module does not contain the main() function and can be linked against directly from another module that contains its own main() function

7619be9f6bf649665fcbeee9e6b120f9f9cba2a5 19-Mar-2013 Jakub Hrozek <jhrozek@redhat.com>

Provide a be_get_account_info_send function In order to resolve group names in the simple access provider we need to contact the Data Provider in a generic fashion from the access provider. We can't call any particular implementation (like sdap_generic_send()) because we have no idea what kind of provider is configured as the id_provider. This patch splits introduces the be_file_account_request() function into the data_provider_be module and makes it public. A future patch should make the be_get_account_info function use the be_get_account_info_send function.

270378e688f30413d75eaa9b5170f4ed8676f1cf 04-Mar-2013 Jakub Hrozek <jhrozek@redhat.com>

Use the correct memory context in be_req_create

3082504f4fb4e4efdc50c99369204e5b2cfac40e 01-Feb-2013 Pavel Březina <pbrezina@redhat.com>

dp: check whether hostid backend is configured before filing be request

3561e54a9105672d9c7d9e76cf79fefe867b7f83 21-Jan-2013 Simo Sorce <simo@redhat.com>

Make struct be_req opaque

cbaba2f47da96c4191971bce86f03afb3f88864a 21-Jan-2013 Simo Sorce <simo@redhat.com>

Add be_req_get_data() helper funciton. In preparation for making struct be_req opaque.

03abdaa21ecf562b714f204ca42379ff08626f75 21-Jan-2013 Simo Sorce <simo@redhat.com>

Add be_req_get_be_ctx() helper. In preparation for making be_req opaque

99151f2217ddaa179543b89b49f836f29f7dcd2a 21-Jan-2013 Simo Sorce <simo@redhat.com>

Add be_req_create() helper

8e5549e453558d4bebdec333a93e215d5d6ffaec 21-Jan-2013 Simo Sorce <simo@redhat.com>

Introduce be_req_terminate() helper Call it everywhere instead of directly dereferencing be_req->fn This is in preparation of making be_req opaque.

ccc2af010bbbe6d8a7496fb717216135bc4c1993 21-Jan-2013 Simo Sorce <simo@redhat.com>

Remove domain from be_req structure

24b715f096613d18f182cf0fff537e1fc79647fa 21-Jan-2013 Simo Sorce <simo@redhat.com>

Remove sysdb as a be request structure member The sysdb context is already available through the 'domain' context.

df0596ec12bc5091608371e2977f3111241e8caf 21-Jan-2013 Simo Sorce <simo@redhat.com>

Remove sysdb as a be context structure member The sysdb context is already available through the 'domain' structure.

99b2c04e198e077708c5a08f2fdfa9574512a82c 19-Jan-2013 Pavel Březina <pbrezina@redhat.com>

set struct bet_info->bet_type

a1fb964f1d216427c8215a92a59f722f08a07426 16-Jan-2013 Jakub Hrozek <jhrozek@redhat.com>

Invalidate user entry even if there are no groups Related to https://fedorahosted.org/sssd/ticket/1757 Previously we would optimize the mc invalidate code for cases where the user was a member of some groups. But if the user was removed from the server while being in memory cache, we would only invalidate the mc record if he was a member of at least one supplementary group.

c3ca06c011a34997cd6ec5d1e5927fee12bf2464 15-Jan-2013 Simo Sorce <simo@redhat.com>

Add domain argument to sysdb_initgroups()

234958be042980242fff6da936af674da877c5ef 15-Jan-2013 Simo Sorce <simo@redhat.com>

Refactor single domain initialization Bring it out of sysdb, which will slowly remove internal dependencies on domains and instead will always require them to be passed by callers.

06cb67c391dd8c2b1542a7d87fb5568fdad448cb 18-Dec-2012 Jakub Hrozek <jhrozek@redhat.com>

DP: invalidate all cached maps if a request for auto.master comes in If the Data Provider receives a request for the auto.master map, it passes on a flag to let the actual provider let know he should invalidate the existing maps

2fdd57d428e0c38e3ce1f9286337f750727f0e2e 05-Dec-2012 Simo Sorce <simo@redhat.com>

Add backchannel NSS provider query on initgr calls This is needed in order to assure the memcache is properly and promptly cleaned up if a user memberships change on login. The list of the current groups for the user is sourced before it is updated and sent to the NSS provider to verify if it has changed after the update call has been made.

8d9e0547a864cee05ab36bc988300c0cfa986025 19-Nov-2012 Simo Sorce <simo@redhat.com>

Refactor the way subdomain accounts are saved The original sysdb code had a strong assumption that only users from one domain are saved in the databse, with the subdomain feature, we have changed reality, but have not adjusted all the code arund the sysdb calls to not rely on the original assumption. One of the side effects of this incongrunece is that currently group memberships do not return fully qualified names for subdomain users as they should. In oreder to fix this and other potential issues surrounding the violation of the original assumption, we need to fully qualify subdomain user names. By savin them fully qualified we do not risk aliasing local users and have group memberhips or other name based matching code mistake a domain user with subdomain usr or vice versa.

5063dcc5ab685dce325b13b9c1e93cee2a673e60 14-Nov-2012 Sumit Bose <sbose@redhat.com>

Run IPA subdomain provider if IPA ID provider is configured To make configuration easier the IPA subdomain provider should be always loaded if the IPA ID provider is configured and the subdomain provider is not explicitly disabled. But to avoid the overhead of regular subdomain requests in setups where no subdomains are used the IPA subdomain provider should behave differently if configured explicit or implicit. If the IPA subdomain provider is configured explicitly, i.e. 'subdomains_provider = ipa' can be found in the domain section of sssd.conf subdomain request are always send to the server if needed. If it is configured implicitly and a request to the server fails with an indication that the server currently does not support subdomains at all, e.g. is not configured to handle trust relationships, a new request will be only send to the server after a long timeout or after a going-online event. To be able to make this distinction this patch save the configuration status to the subdomain context. Fixes https://fedorahosted.org/sssd/ticket/1613

1f60f558ce39a31a457cdeed55c8a71a8b025faa 12-Nov-2012 Pavel Březina <pbrezina@redhat.com>

backend: add PAC to the list of known clients

9e2c64c6d4f5560e27207193efea6536a566865e 29-Oct-2012 Michal Zidek <mzidek@redhat.com>

Include talloc log in our debug facility https://fedorahosted.org/sssd/ticket/1495

/sssd/src/monitor/monitor.c data_provider_be.c krb5/krb5_child.c ldap/ldap_child.c proxy/proxy_child.c /sssd/src/responder/autofs/autofssrv.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/pac/pacsrv.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/ssh/sshsrv.c /sssd/src/responder/sudo/sudosrv.c /sssd/src/sss_client/ssh/sss_ssh_authorizedkeys.c /sssd/src/sss_client/ssh/sss_ssh_knownhostsproxy.c /sssd/src/tests/auth-tests.c /sssd/src/tests/crypto-tests.c /sssd/src/tests/fail_over-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/krb5_child-test.c /sssd/src/tests/krb5_utils-tests.c /sssd/src/tests/refcount-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/responder_socket_access-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/strtonum-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/sysdb_ssh-tests.c /sssd/src/tests/util-tests.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_debuglevel.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_seed.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/util/debug.c /sssd/src/util/util.h
c3f27432d012dd72f0282bc2c0962264bafacabd 24-Sep-2012 Sumit Bose <sbose@redhat.com>

Make subdomain discovery less noisy Fixes https://fedorahosted.org/sssd/ticket/1517

30f029ee8e4220cfa03ae06df88860186482b483 12-Sep-2012 Pavel Březina <pbrezina@redhat.com>

backend: initialize sudo only when it is enabled in services https://fedorahosted.org/sssd/ticket/1458 When the responder is disabled and sudo_provider is set explicitly, a warning is print and the module will be initialized.

ccaad2d59dd3c4a588ef942c1f74e2062da293e3 12-Sep-2012 Pavel Březina <pbrezina@redhat.com>

be_process_init(): free ctx on error

ffcf27b0b773b580289d596f796aaf86c45ba920 09-Aug-2012 Jakub Hrozek <jhrozek@redhat.com>

Abort PAM access phase if HBAC does not return PAM_SUCCESS

afa8de34e6b3e9f6f0a7c2d5ad57736ebb72f78b 07-Aug-2012 Jakub Hrozek <jhrozek@redhat.com>

Subdomains: Send the DP reply in the correct format The DP was sending the reply in a format the responder did not expect, so the responder always failed to parse the message.

efea50efda58be66638e5d38c8e57fdf9992f204 01-Aug-2012 Simo Sorce <simo@redhat.com>

Change refreshing of subdomains This patch keeps a local copy of the subdomains in the ipa subdomains plugin context. This has 2 advantages: 1. allows to check if anything changed w/o always hitting the sysdb. 2. later will allows us to dump this information w/o having to retrieve it again. The timestamp also allows to avoid refreshing too often.

067bfcaad9baae2d962528839fde30ebd1a5ba2b 01-Aug-2012 Simo Sorce <simo@redhat.com>

Use a more tractable name for subdomain request I am all for readable names, but there is a tradeof between expressing purpose and compactness.

7016947229edcaa268a82bf69fde37e521b13233 27-Jul-2012 Jan Zeleny <jzeleny@redhat.com>

Move SELinux processing from session to account PAM stack The idea is to rename session provider to selinux provider. Processing of SELinux rules has to be performed in account stack in order to ensure that pam_selinux (which is the first module in PAM session stack) will get the correct input from SSSD. Processing of account PAM stack is bound to access provider. That means we need to have two providers executed when SSS_PAM_ACCT_MGMT message is received from PAM responder. Change in data_provider_be.c ensures just that - after access provider finishes its actions, the control is given to selinux provider and only after this provider finishes is the result returned to PAM responder.

38e2ec1c757955ab557fd95807afa58042d09482 27-Jul-2012 Jan Zeleny <jzeleny@redhat.com>

Renamed session provider to selinux provider

53c4d11be243befd7cdaacc03f7a0505df1fb195 27-Jul-2012 Jan Zeleny <jzeleny@redhat.com>

Always free request in data provider PAM callback In case of error the request wasn't freed and the callback just ended.

2c5f1e5faf50b8a5118b99ad1dc19736d4f146b8 29-Jun-2012 Pavel Březina <pbrezina@redhat.com>

sudo backend - add support for on demand refresh of specific rules

7ca8196d719879840116b65398f6f2029c4b7cdb 29-Jun-2012 Pavel Březina <pbrezina@redhat.com>

sudo backend - support only on demand full refresh

387349ae092f6dbeb8e4bca291a772695836629c 20-Jun-2012 Stef Walter <stefw@gnome.org>

Move some debug lines to new debug log levels * These are common lines of debug output when starting up sssd https://bugzilla.redhat.com/show_bug.cgi?id=811113

388214d8cc47968fa7f53c5a6624746b42865dde 10-May-2012 Jakub Hrozek <jhrozek@redhat.com>

subdomains: Fix error handling in Data Provider The subdomains back end request was sending replies in a format the responder did not understand in case the request failed.

b42b5d5aaf4da165582e73ad985fdff6e34e61e4 03-May-2012 Jakub Hrozek <jhrozek@redhat.com>

SSH: Add dp_get_host_send to common responder code Instead of using account_info request, creates a new ssh specific request. This improves code readability and will make the code more flexible in the future. https://fedorahosted.org/sssd/ticket/1176

d226a2a0f8e6738507874f3e04bf281c2bf526b1 03-May-2012 Jakub Hrozek <jhrozek@redhat.com>

Rename split_service_name_filter The function was used outside services code which was confusing due to its name. This patch renames it to sound more netrual.

8a90e3ce2d2e47ea8c031493e9aaaf551aaa30ad 02-May-2012 Jakub Hrozek <jhrozek@redhat.com>

DP: return correct error message when subdomains back end target is not configured The done handler uses the value of status, not ret.

8a5d5947a640a7208fa8ed732676bf10ab451fbc 24-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Carry sysdb context and domain info in be_req structure

6d485cdb11d3c2b8855a6380f759ae2df6e5c35b 24-Apr-2012 Jan Zeleny <jzeleny@redhat.com>

Basic support for subdomains in auth provider

d1cec5a8fc58293231c72c1f967ef5421a24a33b 24-Apr-2012 Sumit Bose <sbose@redhat.com>

Add domain name to get_account_info request

fe1ac2443811a7125f2ddd0382a3f437f20377de 24-Apr-2012 Sumit Bose <sbose@redhat.com>

data provider: added subdomains

2a71b2515753b7c10e75e2c51f8f43683496857a 16-Apr-2012 Jakub Hrozek <jhrozek@redhat.com>

autofs: load the correct option

6e8b4d412a9a28bb79f575b9970c3fd7876609ac 06-Apr-2012 Jakub Hrozek <jhrozek@redhat.com>

Catch cases where D-Bus connection is NULL https://fedorahosted.org/sssd/ticket/1270

c0828b258cc5b970d03881f1716a392c57a7fe13 05-Mar-2012 Stephen Gallagher <sgallagh@redhat.com>

DP: Reorganize memory hierarchy of requests This function alters the memory hierarchy of the be_req to ensure memory safety during shutdown. It creates a spy on the be_cli object so that it will free the be_req if the client is freed. It is generally allocated atop the private data context for the appropriate back-end against which it is being filed. https://fedorahosted.org/sssd/ticket/1226

d2d2d6ae0c436461bcc8f881df059eb036314c44 29-Feb-2012 Sumit Bose <sbose@redhat.com>

Keep sysdb context in domain info struct

89325d4a1c92616be2a388e9dff7c5122d782786 27-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

PAM: Don't send PAM_SYSTEM_INFO message if module unset We now have a session module that is only available for the IPA provider. We should not be logging noisily that other providers do not have the session provider configured. https://fedorahosted.org/sssd/ticket/1211

9e896dc45792ea7d2f267b4fbd49542d10339c63 27-Feb-2012 Jan Cholasta <jcholast@redhat.com>

SSH: Save SSH host name aliases

50fcb0f65eea9bfb4906d55f5ea5f7e570379b1a 13-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

Fix bad failure handling in be_sudo_handler() If the dbus_message_get_args() failed, we would have been dereferencing a NULL be_req. Coverity #12490

4bea2cb840c0750835fba7c6af4619a9c699e374 13-Feb-2012 Stephen Gallagher <sgallagh@redhat.com>

Remove dead code Coverity #12529

620033ce66f4827be9d508c77483fab0270d9869 07-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

AUTOFS: IPA provider

e7311aec8d691e5427317442387af1bc8fff3742 07-Feb-2012 Jan Cholasta <jcholast@redhat.com>

SSH: Responder

74505b09d056883741e90cac45838c844365cae5 07-Feb-2012 Jan Cholasta <jcholast@redhat.com>

DP: Add host info handler

2d0550acbe07024d034fb616c1ec5b81929c4844 06-Feb-2012 Jan Zeleny <jzeleny@redhat.com>

Add session target in data provider

5708dc97b69a468f077616d7a75e81f4172f63fa 06-Feb-2012 Jakub Hrozek <jhrozek@redhat.com>

AUTOFS: Data Provider request

7a571a9d9be35360cc0f283fcd8124bda11ebf51 27-Jan-2012 Pavel Březina <pbrezina@redhat.com>

SUDO Integration - prepare data provider for new responder commands https://fedorahosted.org/sssd/ticket/1143

3b121852048a7931f8a608527b760963e2ed2bb4 27-Jan-2012 Jakub Hrozek <jhrozek@redhat.com>

Use the new SUDO request in DP and sudo responder Also remove the old request implementation https://fedorahosted.org/sssd/ticket/1115

0f7bb438e5615b7bad1158ce437d70f1381e8d5a 27-Jan-2012 Stephen Gallagher <sgallagh@redhat.com>

DP: Handle parsing extra results in be_get_account_info

f643754db81eeade60485bbe3d80324d889cc4f3 17-Jan-2012 Pavel Březina <pbrezina@redhat.com>

SUDO Integration review issues

87c07559af5cfcd2752295ef7c425bd3205f426f 19-Dec-2011 Stephen Gallagher <sgallagh@redhat.com>

Move child_common routines to util

6a9bdb6289bb374d203861cef16f312185725cbc 19-Dec-2011 Pavel Zuna <pzuna@redhat.com>

Add common SIGCHLD handling for providers.

88c5d362804244a5a74785b94018ddf887094553 16-Dec-2011 Pavel Březina <pbrezina@redhat.com>

SUDO integration - data provider backend handler

2c9a76e553f9239eaa91f32ccaf18b7a68316ce5 13-Oct-2011 Jakub Hrozek <jhrozek@redhat.com>

Append PID to sbus server socket name, let clients use a symlink https://fedorahosted.org/sssd/ticket/1034

89caf5edcc99f5731e89bd51e6ffaad3ec11c304 25-Aug-2011 Pavel Březina <pbrezina@redhat.com>

New DEBUG facility - SSSDBG_UNRESOLVED changed from -1 to 0 Removed: SSS_UNRESOLVED_DEBUG_LEVEL (completely replaced with SSSDBG_UNRESOLVED) Added new macro: CONVERT_AND_SET_DEBUG_LEVEL(new_value) Changes unresolved debug level value (SSSDBG_UNRESOLVED) from -1 to 0 so DEBUG macro could be reduced by one condition. Anyway, it has a minor effect, every time you want to load debug_level from command line parameters, you have to use following pattern: /* Set debug level to invalid value so we can deside if -d 0 was used. */ debug_level = SSSDBG_INVALID; pc = poptGetContext(argv[0], argc, argv, long_options, 0); while((opt = poptGetNextOpt(pc)) != -1) { ... } CONVERT_AND_SET_DEBUG_LEVEL(debug_level);

/sssd/src/monitor/monitor.c data_provider_be.c krb5/krb5_child.c ldap/ldap_child.c proxy/proxy_child.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/pam/pamsrv.c /sssd/src/tests/auth-tests.c /sssd/src/tests/crypto-tests.c /sssd/src/tests/debug-tests.c /sssd/src/tests/fail_over-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/krb5_utils-tests.c /sssd/src/tests/refcount-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/strtonum-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/util-tests.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/util/debug.c /sssd/src/util/server.c /sssd/src/util/util.h
99dd40a885ed3d42af4bbbde7ee2fc98830544d0 25-Aug-2011 Pavel Březina <pbrezina@redhat.com>

New DEBUG facility - conversion https://fedorahosted.org/sssd/ticket/925 Conversion of the old debug_level format to the new one. (only where it was necessary) Removed: SSS_DEFAULT_DEBUG_LEVEL (completely replaced with SSSDBG_DEFAULT)

/sssd/src/monitor/monitor.c /sssd/src/monitor/monitor_sbus.c child_common.c data_provider.h data_provider_be.c data_provider_fo.c krb5/krb5_child.c ldap/ldap_child.c ldap/sdap_async.c ldap/sdap_fd_events.c proxy/proxy_auth.c proxy/proxy_child.c proxy/proxy_id.c /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/pam/pamsrv.c /sssd/src/sbus/sssd_dbus_common.c /sssd/src/tests/auth-tests.c /sssd/src/tests/crypto-tests.c /sssd/src/tests/fail_over-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/find_uid-tests.c /sssd/src/tests/krb5_utils-tests.c /sssd/src/tests/refcount-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/simple_access-tests.c /sssd/src/tests/strtonum-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tests/util-tests.c /sssd/src/tools/selinux.c /sssd/src/tools/sss_cache.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/util/debug.c /sssd/src/util/server.c /sssd/src/util/util.h
d818283d39d56204ffe710b6c9b83a2cf497f946 06-May-2011 Stephen Gallagher <sgallagh@redhat.com>

Allow changing the log level without restart We will now re-read the confdb debug_level value when processing the monitor_common_logrotate() function, which occurs when the monitor receives a SIGHUP.

28a410f423bf9bcdf43ed14cd4c50634753b51f3 06-May-2011 Stephen Gallagher <sgallagh@redhat.com>

Create common sss_monitor_init() This was implemented almost identically for both the responders and the providers. It is easier to maintain as a single routine. This patch also adds the ability to provide a private context to attach to the sbus_connection for later use.

e63307a858eaa56f46cd5bf562653911eb2e9826 08-Mar-2011 Jan Zeleny <jzeleny@redhat.com>

Remove unused be_check_online() SBUS call

d1571f8c173ca9172fa295e6aac48b8c0c367950 02-Dec-2010 Sumit Bose <sbose@redhat.com>

Add a special filter type to handle enumerations

c8708cd958c633cc3c57a3460bdb15391200e1e1 01-Dec-2010 Sumit Bose <sbose@redhat.com>

Run checks before resetting offline state Before setting the backend to online during a reset offline request the check_online method if the ID provider is called. If the check_online method returns that the ID provider is still not reachable the backend stays offline. Otherwise the backend is switched to online and the related callbacks are run. Additionally the check online test is called during the res_init request because a change in /etc/resolve.conf might also make a server reachable which was assumed offline before.

4b0309363dbfb9a1409e082b3a84f17b53a751c1 24-Nov-2010 Stephen Gallagher <sgallagh@redhat.com>

Print correct error messages for dp_err_to_string() All errnum values passed into this function throughout the code are PAM error codes, but we were passing them through strerror() to print them, which is only meaningful for ERRNO error codes. This patch changes dp_err_to_string() to use pam_strerror() and renames it to dp_pam_err_to_string() for clarity. https://fedorahosted.org/sssd/ticket/636

90983939761dcfd15bac4e78265d5b6b38b573ae 03-Aug-2010 Stephen Gallagher <sgallagh@redhat.com>

be_pam_handler(): Fix potential NULL dereference

90acbcf20b5f896ca8f631923afe946c90d90de7 09-Jul-2010 Jakub Hrozek <jhrozek@redhat.com>

Use netlink to detect going online Integrates libnl to detect adding routes. When a route is added, the offline status of all back ends is reset. This patch adds no heuristics to detect whether back end went offline. Fixes: #456

8eb2a35e3b180e76da4be5beab11cdb4038860b2 27-May-2010 Sumit Bose <sbose@redhat.com>

Add offline callbacks

f6085645026b9ee26e970d8f9a4e7b8cba077361 27-May-2010 Sumit Bose <sbose@redhat.com>

Refactor data provider callbacks

a772f2e29661dda4c69124a4c794183798418ae4 27-May-2010 Sumit Bose <sbose@redhat.com>

Copy pam data from DBus message Instead of just using references to the pam data inside of the DBus message the data is copied. New the DBus message can be freed at any time and the pam data is part of the memory hierarchy. Additionally it is possible to overwrite the authentication tokens in the DBus message, because it is not used elsewhere.

7b368c6322c10b0b650df2bf427aa9a3599ef472 27-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Fix error reporting for be_pam_handler

55daaea86e0ba049d31f74fcdf6bfedc6e0a1e7b 20-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Revert "Copy pam data from DBus message" This reverts commit 2faf73eef14d66aeb345ffa38d0f53670fa8a9a1.

2faf73eef14d66aeb345ffa38d0f53670fa8a9a1 20-May-2010 Sumit Bose <sbose@redhat.com>

Copy pam data from DBus message Instead of just using references to the pam data inside of the DBus message the data is copied. New the DBus message can be freed at any time and the pam data is part of the memory hierarchy. Additionally it is possible to overwrite the authentication tokens in the DBus message, because it is not used elsewhere.

dd025b4cbd501e2f34461f9d8359a829b81f5c2f 07-May-2010 Stephen Gallagher <sgallagh@redhat.com>

Add callback when the ID provider switches from offline to online Allow backends to set a callback in the be_ctx that should be invoked when the ID provider goes online. This can be used to perform regular maintenance tasks that are valid only when going online.

270a0a1b6182ef1fbff2a93af6731788cf954874 03-May-2010 Simo Sorce <ssorce@redhat.com>

Better handle sdap_handle memory from callers. Always just mark the sdap_handle as not connected and let later _send() functions to take care of freeing the handle before reconnecting. Introduce restart functions to avoid calling _send() functions in _done() functions error paths as this would have the same effect as directly freeing the sdap_handle and cause access to freed memory in sdap_handle_release() By freeing sdap_handle only in the connection _recv() function we guarantee it can never be done within sdap_handle_release() but only in a following event.

264be69c7615a1f65a21805b95a9dbd2736d1fb4 16-Apr-2010 Stephen Gallagher <sgallagh@redhat.com>

Make ID provider init functions clearer Using sssm_*_init() as the name of the initialization function for identity providers was a holdover from earlier development when we thought we would only have a single "provider" entry in the config file. As we have now separated out the initialization functions for auth, chpass and access, we should rename sssm_*_init() to sssm_*_id_init() for a cleaner interface.

9db5a5140356479a58f2e7212fc5c4ad6135bb7f 12-Apr-2010 Simo Sorce <ssorce@redhat.com>

sysydb: Finally stop using a common event context This commit completes the migration to a synchronous sysdb

71cd2f7ce705561d8d8f3cb7f385a57bedad1ef1 08-Mar-2010 Jakub Hrozek <jhrozek@redhat.com>

Reopen logs when SIGHUP is caught Upon receiving SIGHUP, the monitor signals all services to reopen their debug logs. It is also possible to signal individual services to reopen their particular files. Fixes: #332

b81f453b8ade026f9c19bfd557a986cbcf0c9c8c 22-Feb-2010 Stephen Gallagher <sgallagh@redhat.com>

Remove unnecessary "domain" parameter from DP registration This was a holdover from when the DP and the providers were unique processes. The NSS and PAM registrations do not need to send the domain, as it is not ambiguous which one they are talking to.

1c48b5a62f73234ed26bb20f0ab345ab61cda0ab 18-Feb-2010 Stephen Gallagher <sgallagh@redhat.com>

Rename server/ directory to src/ Also update BUILD.txt

/sssd/BUILD.txt /sssd/Makefile.am /sssd/configure.ac /sssd/contrib/sssd.spec.in /sssd/src/Makefile.am /sssd/src/build_macros.m4 /sssd/src/conf_macros.m4 /sssd/src/confdb/confdb.c /sssd/src/confdb/confdb.h /sssd/src/confdb/confdb_private.h /sssd/src/confdb/confdb_setup.c /sssd/src/confdb/confdb_setup.h /sssd/src/config/SSSDConfig.py /sssd/src/config/SSSDConfigTest.py /sssd/src/config/etc/sssd.api.conf /sssd/src/config/etc/sssd.api.d/sssd-ipa.conf /sssd/src/config/etc/sssd.api.d/sssd-krb5.conf /sssd/src/config/etc/sssd.api.d/sssd-ldap.conf /sssd/src/config/etc/sssd.api.d/sssd-local.conf /sssd/src/config/etc/sssd.api.d/sssd-proxy.conf /sssd/src/config/ipachangeconf.py /sssd/src/config/setup.py /sssd/src/config/testconfigs/noparse.api.conf /sssd/src/config/testconfigs/sssd-badversion.conf /sssd/src/config/testconfigs/sssd-invalid-badbool.conf /sssd/src/config/testconfigs/sssd-invalid.conf /sssd/src/config/testconfigs/sssd-noversion.conf /sssd/src/config/testconfigs/sssd-valid.conf /sssd/src/config/upgrade_config.py /sssd/src/configure.ac /sssd/src/db/sysdb.c /sssd/src/db/sysdb.h /sssd/src/db/sysdb_ops.c /sssd/src/db/sysdb_private.h /sssd/src/db/sysdb_search.c /sssd/src/doxy.config.in /sssd/src/examples/sssd.conf /sssd/src/examples/sssdproxytest /sssd/src/examples/sudo /sssd/src/external/crypto.m4 /sssd/src/external/docbook.m4 /sssd/src/external/krb5.m4 /sssd/src/external/ldap.m4 /sssd/src/external/libcares.m4 /sssd/src/external/libcollection.m4 /sssd/src/external/libdhash.m4 /sssd/src/external/libini_config.m4 /sssd/src/external/libldb.m4 /sssd/src/external/libpcre.m4 /sssd/src/external/libpopt.m4 /sssd/src/external/libtalloc.m4 /sssd/src/external/libtdb.m4 /sssd/src/external/libtevent.m4 /sssd/src/external/pam.m4 /sssd/src/external/pkg.m4 /sssd/src/external/platform.m4 /sssd/src/external/python.m4 /sssd/src/external/selinux.m4 /sssd/src/external/sizes.m4 /sssd/src/krb5_plugin/sssd_krb5_locator_plugin.c /sssd/src/ldb_modules/memberof.c /sssd/src/m4/.dir /sssd/src/man/include/failover.xml /sssd/src/man/include/param_help.xml /sssd/src/man/include/upstream.xml /sssd/src/man/sss_groupadd.8.xml /sssd/src/man/sss_groupdel.8.xml /sssd/src/man/sss_groupmod.8.xml /sssd/src/man/sss_groupshow.8.xml /sssd/src/man/sss_useradd.8.xml /sssd/src/man/sss_userdel.8.xml /sssd/src/man/sss_usermod.8.xml /sssd/src/man/sssd-ipa.5.xml /sssd/src/man/sssd-krb5.5.xml /sssd/src/man/sssd-ldap.5.xml /sssd/src/man/sssd.8.xml /sssd/src/man/sssd.conf.5.xml /sssd/src/man/sssd_krb5_locator_plugin.8.xml /sssd/src/monitor/monitor.c /sssd/src/monitor/monitor.h /sssd/src/monitor/monitor_interfaces.h /sssd/src/monitor/monitor_sbus.c /sssd/src/po/LINGUAS /sssd/src/po/Makevars /sssd/src/po/POTFILES.in /sssd/src/po/de.po /sssd/src/po/es.po /sssd/src/po/fr.po /sssd/src/po/it.po /sssd/src/po/ja.po /sssd/src/po/nl.po /sssd/src/po/pl.po /sssd/src/po/pt.po /sssd/src/po/sss_daemon.pot /sssd/src/po/sv.po child_common.c child_common.h data_provider.h data_provider_be.c data_provider_fo.c data_provider_opts.c dp_auth_util.c dp_backend.h dp_sbus.c fail_over.c fail_over.h ipa/ipa_access.c ipa/ipa_access.h ipa/ipa_auth.c ipa/ipa_auth.h ipa/ipa_common.c ipa/ipa_common.h ipa/ipa_init.c ipa/ipa_timerules.c ipa/ipa_timerules.h krb5/krb5_auth.c krb5/krb5_auth.h krb5/krb5_become_user.c krb5/krb5_child.c krb5/krb5_common.c krb5/krb5_common.h krb5/krb5_init.c krb5/krb5_utils.c krb5/krb5_utils.h ldap/ldap_auth.c ldap/ldap_child.c ldap/ldap_common.c ldap/ldap_common.h ldap/ldap_id.c ldap/ldap_id_cleanup.c ldap/ldap_id_enum.c ldap/ldap_init.c ldap/sdap.c ldap/sdap.h ldap/sdap_async.c ldap/sdap_async.h ldap/sdap_async_accounts.c ldap/sdap_async_connection.c ldap/sdap_async_private.h ldap/sdap_child_helpers.c providers.h proxy.c sssd_be.exports /sssd/src/python/pysss.c /sssd/src/resolv/ares/ares_data.c /sssd/src/resolv/ares/ares_data.h /sssd/src/resolv/ares/ares_dns.h /sssd/src/resolv/ares/ares_parse_srv_reply.c /sssd/src/resolv/ares/ares_parse_srv_reply.h /sssd/src/resolv/ares/ares_parse_txt_reply.c /sssd/src/resolv/ares/ares_parse_txt_reply.h /sssd/src/resolv/async_resolv.c /sssd/src/resolv/async_resolv.h /sssd/src/responder/common/responder.h /sssd/src/responder/common/responder_cmd.c /sssd/src/responder/common/responder_common.c /sssd/src/responder/common/responder_dp.c /sssd/src/responder/common/responder_packet.c /sssd/src/responder/common/responder_packet.h /sssd/src/responder/nss/nsssrv.c /sssd/src/responder/nss/nsssrv.h /sssd/src/responder/nss/nsssrv_cmd.c /sssd/src/responder/nss/nsssrv_nc.c /sssd/src/responder/nss/nsssrv_nc.h /sssd/src/responder/pam/pam_LOCAL_domain.c /sssd/src/responder/pam/pamsrv.c /sssd/src/responder/pam/pamsrv.h /sssd/src/responder/pam/pamsrv_cmd.c /sssd/src/responder/pam/pamsrv_dp.c /sssd/src/sbus/sbus_client.c /sssd/src/sbus/sbus_client.h /sssd/src/sbus/sssd_dbus.h /sssd/src/sbus/sssd_dbus_common.c /sssd/src/sbus/sssd_dbus_connection.c /sssd/src/sbus/sssd_dbus_private.h /sssd/src/sbus/sssd_dbus_server.c /sssd/src/sss_client/common.c /sssd/src/sss_client/group.c /sssd/src/sss_client/man/pam_sss.8.xml /sssd/src/sss_client/pam_sss.c /sssd/src/sss_client/pam_test_client.c /sssd/src/sss_client/passwd.c /sssd/src/sss_client/protos.h /sssd/src/sss_client/sss_cli.h /sssd/src/sss_client/sss_nss.exports /sssd/src/sss_client/sss_pam.exports /sssd/src/sss_client/sss_pam_macros.h /sssd/src/sysv/SUSE/sssd /sssd/src/sysv/sssd /sssd/src/tests/auth-tests.c /sssd/src/tests/check_and_open-tests.c /sssd/src/tests/common.c /sssd/src/tests/common.h /sssd/src/tests/fail_over-tests.c /sssd/src/tests/files-tests.c /sssd/src/tests/find_uid-tests.c /sssd/src/tests/ipa_ldap_opt-tests.c /sssd/src/tests/ipa_timerules-tests.c /sssd/src/tests/krb5_utils-tests.c /sssd/src/tests/python-test.py /sssd/src/tests/refcount-tests.c /sssd/src/tests/resolv-tests.c /sssd/src/tests/stress-tests.c /sssd/src/tests/strtonum-tests.c /sssd/src/tests/sysdb-tests.c /sssd/src/tools/files.c /sssd/src/tools/sss_groupadd.c /sssd/src/tools/sss_groupdel.c /sssd/src/tools/sss_groupmod.c /sssd/src/tools/sss_groupshow.c /sssd/src/tools/sss_sync_ops.c /sssd/src/tools/sss_sync_ops.h /sssd/src/tools/sss_useradd.c /sssd/src/tools/sss_userdel.c /sssd/src/tools/sss_usermod.c /sssd/src/tools/tools_util.c /sssd/src/tools/tools_util.h /sssd/src/util/backup_file.c /sssd/src/util/check_and_open.c /sssd/src/util/crypto_sha512crypt.c /sssd/src/util/debug.c /sssd/src/util/dlinklist.h /sssd/src/util/find_uid.c /sssd/src/util/find_uid.h /sssd/src/util/memory.c /sssd/src/util/nss_sha512crypt.c /sssd/src/util/refcount.c /sssd/src/util/refcount.h /sssd/src/util/server.c /sssd/src/util/sha512crypt.h /sssd/src/util/signal.c /sssd/src/util/signal.m4 /sssd/src/util/sss_krb5.c /sssd/src/util/sss_krb5.h /sssd/src/util/sss_ldap.c /sssd/src/util/sss_ldap.h /sssd/src/util/strtonum.c /sssd/src/util/strtonum.h /sssd/src/util/user_info_msg.c /sssd/src/util/user_info_msg.h /sssd/src/util/usertools.c /sssd/src/util/util.c /sssd/src/util/util.h