diff options
Diffstat (limited to 'source3/nsswitch/libwbclient/wbc_util.c')
-rw-r--r-- | source3/nsswitch/libwbclient/wbc_util.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/nsswitch/libwbclient/wbc_util.c b/source3/nsswitch/libwbclient/wbc_util.c index c1b3affc72..3afd8a29d3 100644 --- a/source3/nsswitch/libwbclient/wbc_util.c +++ b/source3/nsswitch/libwbclient/wbc_util.c @@ -373,15 +373,28 @@ static wbcErr process_domain_info_string(TALLOC_CTX *ctx, /* Outgoing */ r = s; - if (r == NULL) { + if ((s = strchr(r, '\\')) == NULL) { wbc_status = WBC_ERR_INVALID_RESPONSE; BAIL_ON_WBC_ERROR(wbc_status); } + *s = '\0'; + s++; if (strcmp(r, "Yes") == 0) { info->trust_flags |= WBC_DOMINFO_TRUST_OUTGOING; } + /* Online/Offline status */ + + r = s; + if (r == NULL) { + wbc_status = WBC_ERR_INVALID_RESPONSE; + BAIL_ON_WBC_ERROR(wbc_status); + } + if ( strcmp(r, "Offline") == 0) { + info->domain_flags |= WBC_DOMINFO_DOMAIN_OFFLINE; + } + wbc_status = WBC_ERR_SUCCESS; done: |