s3:winbindd:util: add a comment explaining the function parse_sidlist()
[samba.git] / source3 / winbindd / winbindd_util.c
index 52ce1e30561506c86550569b06005350bee37b37..6e13ca8ba7db19d9aafc03976e33350e3c4a6d39 100644 (file)
@@ -108,9 +108,9 @@ static struct winbindd_domain *add_trusted_domain(const char *domain_name, const
                }
        }
 
-       /* ignore alt_name if we are not in an AD domain */
+       /* use alt_name if available to allow DNS lookups */
 
-       if ( (lp_security() == SEC_ADS) && alt_name && *alt_name) {
+       if (alt_name && *alt_name) {
                alternative_name = alt_name;
        }
 
@@ -877,9 +877,7 @@ bool parse_domain_user(const char *domuser, fstring domain, fstring user)
                domain[PTR_DIFF(p, domuser)] = 0;
        }
 
-       strupper_m(domain);
-
-       return True;
+       return strupper_m(domain);
 }
 
 bool parse_domain_user_talloc(TALLOC_CTX *mem_ctx, const char *domuser,
@@ -933,7 +931,7 @@ void fill_domain_username(fstring name, const char *domain, const char *user, bo
        fstring tmp_user;
 
        fstrcpy(tmp_user, user);
-       strlower_m(tmp_user);
+       (void)strlower_m(tmp_user);
 
        if (can_assume && assume_domain(domain)) {
                strlcpy(name, tmp_user, sizeof(fstring));
@@ -956,7 +954,10 @@ char *fill_domain_username_talloc(TALLOC_CTX *mem_ctx,
        char *tmp_user, *name;
 
        tmp_user = talloc_strdup(mem_ctx, user);
-       strlower_m(tmp_user);
+       if (!strlower_m(tmp_user)) {
+               TALLOC_FREE(tmp_user);
+               return NULL;
+       }
 
        if (can_assume && assume_domain(domain)) {
                name = tmp_user;
@@ -1359,6 +1360,15 @@ bool is_domain_online(const struct winbindd_domain *domain)
        return !is_domain_offline(domain);
 }
 
+/**
+ * Parse an char array into a list of sids.
+ *
+ * The input sidstr should consist of 0-terminated strings
+ * representing sids, separated by newline characters '\n'.
+ * The list is terminated by an empty string, i.e.
+ * character '\0' directly following a character '\n'
+ * (or '\0' right at the start of sidstr).
+ */
 bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr,
                   struct dom_sid **sids, uint32_t *num_sids)
 {