Skip to content
Snippets Groups Projects
Select Git revision
  • baeab64f49e6bcc8b4e299cf9fbd67005c27b37a
  • master default protected
  • md-export
  • th/mail
  • 179-einladungen-zum-aushaengen-drucken
5 results

calendarpush.py

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    0011-library-add-_adcli_ldap_parse_sid.patch 2.13 KiB
    From 64fb4f01d38c0f01554bc35e949ba4838247c72e Mon Sep 17 00:00:00 2001
    From: Sumit Bose <sbose@redhat.com>
    Date: Tue, 30 Jan 2018 14:44:45 +0100
    Subject: [PATCH 11/30] library: add _adcli_ldap_parse_sid()
    
    Get a binary SID from a LDAP message and return it in the string
    representation.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=100118
    https://gitlab.freedesktop.org/realmd/adcli/issues/6
    
    Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
    ---
     library/adldap.c    | 24 ++++++++++++++++++++++++
     library/adprivate.h |  4 ++++
     2 files changed, 28 insertions(+)
    
    diff --git a/library/adldap.c b/library/adldap.c
    index 7c7a01b..07dc373 100644
    --- a/library/adldap.c
    +++ b/library/adldap.c
    @@ -67,6 +67,30 @@ _adcli_ldap_handle_failure (LDAP *ldap,
     	return defres;
     }
     
    +char *
    +_adcli_ldap_parse_sid (LDAP *ldap,
    +                         LDAPMessage *results,
    +                         const char *attr_name)
    +{
    +	LDAPMessage *entry;
    +	struct berval **bvs;
    +	char *val = NULL;
    +
    +	entry = ldap_first_entry (ldap, results);
    +	if (entry != NULL) {
    +		bvs = ldap_get_values_len (ldap, entry, attr_name);
    +		if (bvs != NULL) {
    +			if (bvs[0]) {
    +				val = _adcli_bin_sid_to_str ( (uint8_t *) bvs[0]->bv_val,
    +				                              bvs[0]->bv_len);
    +				return_val_if_fail (val != NULL, NULL);
    +			}
    +			ldap_value_free_len (bvs);
    +		}
    +	}
    +
    +	return val;
    +}
     
     char *
     _adcli_ldap_parse_value (LDAP *ldap,
    diff --git a/library/adprivate.h b/library/adprivate.h
    index 7257c93..83a88f6 100644
    --- a/library/adprivate.h
    +++ b/library/adprivate.h
    @@ -174,6 +174,10 @@ adcli_result  _adcli_ldap_handle_failure     (LDAP *ldap,
                                                   const char *desc,
                                                   ...) GNUC_PRINTF(3, 4);
     
    +char *         _adcli_ldap_parse_sid         (LDAP *ldap,
    +                                              LDAPMessage *results,
    +                                              const char *attr_name);
    +
     char *        _adcli_ldap_parse_value        (LDAP *ldap,
                                                   LDAPMessage *results,
                                                   const char *attr_name);
    -- 
    2.11.0