]> git.sur5r.net Git - openldap/blobdiff - libraries/libldap/kbind.c
Return LDAP_BAD_PARAM if res is not EXOP result.
[openldap] / libraries / libldap / kbind.c
index 47d49e42987d459d7c08b687f499f65f72034e5a..5e63698ddc7e2d4fbf58fe7286a97d05cbc224c7 100644 (file)
@@ -9,6 +9,27 @@
  *  kbind.c
  */
 
+/*
+ *     BindRequest ::= SEQUENCE {
+ *             version         INTEGER,
+ *             name            DistinguishedName,       -- who
+ *             authentication  CHOICE {
+ *                     simple          [0] OCTET STRING -- passwd
+#ifdef HAVE_KERBEROS
+ *                     krbv42ldap      [1] OCTET STRING
+ *                     krbv42dsa       [2] OCTET STRING
+#endif
+ *                     sasl            [3] SaslCredentials     -- LDAPv3
+ *             }
+ *     }
+ *
+ *     BindResponse ::= SEQUENCE {
+ *             COMPONENTS OF LDAPResult,
+ *             serverSaslCreds         OCTET STRING OPTIONAL -- LDAPv3
+ *     }
+ *
+ */
+
 #include "portable.h"
 
 #ifdef HAVE_KERBEROS
@@ -39,24 +60,12 @@ ldap_kerberos_bind1( LDAP *ld, LDAP_CONST char *dn )
 {
        BerElement      *ber;
        char            *cred;
-       int             rc, credlen;
+       int             rc;
+       ber_len_t credlen;
 #ifdef STR_TRANSLATION
        int             str_translation_on;
 #endif /* STR_TRANSLATION */
 
-       /*
-        * The bind request looks like this:
-        *      BindRequest ::= SEQUENCE {
-        *              version         INTEGER,
-        *              name            DistinguishedName,
-        *              authentication  CHOICE {
-        *                      krbv42ldap      [1] OCTET STRING
-        *                      krbv42dsa       [2] OCTET STRING
-        *              }
-        *      }
-        * all wrapped up in an LDAPMessage sequence.
-        */
-
        Debug( LDAP_DEBUG_TRACE, "ldap_kerberos_bind1\n", 0, 0, 0 );
 
        if ( dn == NULL )
@@ -68,7 +77,7 @@ ldap_kerberos_bind1( LDAP *ld, LDAP_CONST char *dn )
        }
 
        /* create a message to send */
-       if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
+       if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
                LDAP_FREE( cred );
                return( -1 );
        }
@@ -145,7 +154,8 @@ ldap_kerberos_bind2( LDAP *ld, LDAP_CONST char *dn )
 {
        BerElement      *ber;
        char            *cred;
-       int             rc, credlen;
+       int             rc;
+       ber_len_t credlen;
 #ifdef STR_TRANSLATION
        int             str_translation_on;
 #endif /* STR_TRANSLATION */
@@ -161,7 +171,7 @@ ldap_kerberos_bind2( LDAP *ld, LDAP_CONST char *dn )
        }
 
        /* create a message to send */
-       if ( (ber = ldap_alloc_ber_with_options( ld )) == NULLBER ) {
+       if ( (ber = ldap_alloc_ber_with_options( ld )) == NULL ) {
                LDAP_FREE( cred );
                return( -1 );
        }
@@ -245,7 +255,7 @@ ldap_get_kerberosv4_credentials(
        LDAP *ld,
        LDAP_CONST char *who,
        LDAP_CONST char *service,
-       int *len )
+       ber_len_t *len )
 {
        KTEXT_ST        ktxt;
        int             err;