diff options
-rw-r--r-- | source3/libads/sasl_wrapping.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/libads/sasl_wrapping.c b/source3/libads/sasl_wrapping.c index 77a71d8e96..931273f40c 100644 --- a/source3/libads/sasl_wrapping.c +++ b/source3/libads/sasl_wrapping.c @@ -93,7 +93,7 @@ static ber_slen_t ads_saslwrap_read(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t ret = LBER_SBIOD_READ_NEXT(sbiod, ads->ldap.in.buf + ads->ldap.in.ofs, 4 - ads->ldap.in.ofs); - if (ret < 0) return ret; + if (ret <= 0) return ret; ads->ldap.in.ofs += ret; if (ads->ldap.in.ofs < 4) goto eagain; @@ -120,7 +120,7 @@ static ber_slen_t ads_saslwrap_read(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_t ret = LBER_SBIOD_READ_NEXT(sbiod, ads->ldap.in.buf + ads->ldap.in.ofs, ads->ldap.in.needed); - if (ret < 0) return ret; + if (ret <= 0) return ret; ads->ldap.in.ofs += ret; ads->ldap.in.needed -= ret; @@ -227,7 +227,7 @@ static ber_slen_t ads_saslwrap_write(Sockbuf_IO_Desc *sbiod, void *buf, ber_len_ ret = LBER_SBIOD_WRITE_NEXT(sbiod, ads->ldap.out.buf + ads->ldap.out.ofs, ads->ldap.out.left); - if (ret < 0) return ret; + if (ret <= 0) return ret; ads->ldap.out.ofs += ret; ads->ldap.out.left -= ret; @@ -302,5 +302,11 @@ ADS_STATUS ads_setup_sasl_wrapping(ADS_STRUCT *ads, return ADS_SUCCESS; } - +#else +ADS_STATUS ads_setup_sasl_wrapping(ADS_STRUCT *ads, + const struct ads_saslwrap_ops *ops, + void *private_data) +{ + return ADS_ERROR_NT(NT_STATUS_NOT_SUPPORTED); +} #endif /* HAVE_LDAP_SASL_WRAPPING */ |