mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
r21511: this seems to be the nicer fix for the problem with
the windows 2000 LDAP client metze
This commit is contained in:
parent
8e604107da
commit
d40465470f
@ -185,14 +185,10 @@ static NTSTATUS ldapsrv_BindSASL(struct ldapsrv_call *call)
|
||||
status = gensec_update(conn->gensec, reply,
|
||||
input, &output);
|
||||
|
||||
/* TODO: gensec should really handle the difference between NULL and length=0 better! */
|
||||
if (output.data) {
|
||||
resp->SASL.secblob = talloc(reply, DATA_BLOB);
|
||||
NT_STATUS_HAVE_NO_MEMORY(resp->SASL.secblob);
|
||||
*resp->SASL.secblob = output;
|
||||
} else {
|
||||
resp->SASL.secblob = NULL;
|
||||
}
|
||||
/* Windows 2000 mmc doesn't like secblob == NULL and reports a decoding error */
|
||||
resp->SASL.secblob = talloc(reply, DATA_BLOB);
|
||||
NT_STATUS_HAVE_NO_MEMORY(resp->SASL.secblob);
|
||||
*resp->SASL.secblob = output;
|
||||
} else {
|
||||
resp->SASL.secblob = NULL;
|
||||
}
|
||||
|
@ -237,10 +237,6 @@ BOOL ldap_encode(struct ldap_message *msg, DATA_BLOB *result, TALLOC_CTX *mem_ct
|
||||
ldap_encode_response(&data, &r->response);
|
||||
if (r->SASL.secblob) {
|
||||
asn1_write_ContextSimple(&data, 7, r->SASL.secblob);
|
||||
} else {
|
||||
/* ugly but the windows 2000 mmc deturns decoding error without this */
|
||||
DATA_BLOB zero = data_blob(NULL, 0);
|
||||
asn1_write_ContextSimple(&data, 7, &zero);
|
||||
}
|
||||
asn1_pop_tag(&data);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user