Ignore:
Timestamp:
Mar 12, 2008, 9:08:18 AM (17 years ago)
Author:
Paul Smedley
Message:

Update source to 3.0.28a

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/libads/util.c

    r1 r124  
    5353        return ret;
    5454}
     55
     56ADS_STATUS ads_guess_service_principal(ADS_STRUCT *ads,
     57                                       char **returned_principal)
     58{
     59        char *princ = NULL;
     60
     61        if (ads->server.realm && ads->server.ldap_server) {
     62                char *server, *server_realm;
     63
     64                server = SMB_STRDUP(ads->server.ldap_server);
     65                server_realm = SMB_STRDUP(ads->server.realm);
     66
     67                if (!server || !server_realm) {
     68                        return ADS_ERROR(LDAP_NO_MEMORY);
     69                }
     70
     71                strlower_m(server);
     72                strupper_m(server_realm);
     73                asprintf(&princ, "ldap/%s@%s", server, server_realm);
     74
     75                SAFE_FREE(server);
     76                SAFE_FREE(server_realm);
     77
     78                if (!princ) {
     79                        return ADS_ERROR(LDAP_NO_MEMORY);
     80                }
     81        } else if (ads->config.realm && ads->config.ldap_server_name) {
     82                char *server, *server_realm;
     83
     84                server = SMB_STRDUP(ads->config.ldap_server_name);
     85                server_realm = SMB_STRDUP(ads->config.realm);
     86
     87                if (!server || !server_realm) {
     88                        return ADS_ERROR(LDAP_NO_MEMORY);
     89                }
     90
     91                strlower_m(server);
     92                strupper_m(server_realm);
     93                asprintf(&princ, "ldap/%s@%s", server, server_realm);
     94
     95                SAFE_FREE(server);
     96                SAFE_FREE(server_realm);
     97
     98                if (!princ) {
     99                        return ADS_ERROR(LDAP_NO_MEMORY);
     100                }
     101        }
     102
     103        if (!princ) {
     104                return ADS_ERROR(LDAP_PARAM_ERROR);
     105        }
     106
     107        *returned_principal = princ;
     108
     109        return ADS_SUCCESS;
     110}
     111
    55112#endif
Note: See TracChangeset for help on using the changeset viewer.