- always provide ads_setup_sasl_wrapping() function
authormetze <metze@0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Wed, 18 Jul 2007 07:30:41 +0000 (07:30 +0000)
committermetze <metze@0c0555d6-39d7-0310-84fc-f1cc0bd64818>
Wed, 18 Jul 2007 07:30:41 +0000 (07:30 +0000)
- read/write returning 0 means EOF and we need to return direct

metze

git-svn-id: svn+ssh://svn.samba.org/data/svn/samba/branches/SAMBA_3_2@23943 0c0555d6-39d7-0310-84fc-f1cc0bd64818

source/libads/sasl_wrapping.c

index 77a71d8e96bcfa8112db6cf1ebf5f1442ab28a32..931273f40c0304711d66992fec4dce42d0ee0d17 100644 (file)
@@ -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 */