2 Unix SMB/CIFS implementation.
4 Async helpers for blocking functions
6 Copyright (C) Volker Lendecke 2005
7 Copyright (C) Gerald Carter 2006
9 This program is free software; you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation; either version 3 of the License, or
12 (at your option) any later version.
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
19 You should have received a copy of the GNU General Public License
20 along with this program. If not, see <http://www.gnu.org/licenses/>.
27 #define DBGC_CLASS DBGC_WINBIND
29 bool print_sidlist(TALLOC_CTX
*mem_ctx
, const struct dom_sid
*sids
,
30 size_t num_sids
, char **result
, ssize_t
*len
)
37 for (i
=0; i
<num_sids
; i
++) {
39 sprintf_append(mem_ctx
, result
, len
, &buflen
,
40 "%s\n", sid_to_fstring(tmp
, &sids
[i
]));
43 if ((num_sids
!= 0) && (*result
== NULL
)) {
50 bool parse_sidlist(TALLOC_CTX
*mem_ctx
, const char *sidstr
,
51 struct dom_sid
**sids
, size_t *num_sids
)
59 while (p
[0] != '\0') {
65 DEBUG(0, ("Got invalid sidstr: %s\n", p
));
68 sidlen
= PTR_DIFF(q
, p
);
69 if (sidlen
>= sizeof(tmp
)-1) {
72 memcpy(tmp
, p
, sidlen
);
75 if (!string_to_sid(&sid
, tmp
)) {
76 DEBUG(0, ("Could not parse sid %s\n", p
));
79 if (!NT_STATUS_IS_OK(add_sid_to_array(mem_ctx
, &sid
, sids
,
89 enum winbindd_result
winbindd_dual_ping(struct winbindd_domain
*domain
,
90 struct winbindd_cli_state
*state
)