]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/passwd.c
add function prototypes
[openldap] / servers / slapd / passwd.c
index f45b974272d4bb57a657a29aea2d56f4c2313c0f..14e37f2970f830257690f2a3b4e0a519c57343f1 100644 (file)
@@ -1,7 +1,7 @@
 /* bind.c - ldbm backend bind and unbind routines */
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -21,7 +21,7 @@
 
 int passwd_extop(
        Connection *conn, Operation *op,
-       const char *reqoid,
+       struct berval *reqoid,
        struct berval *reqdata,
        char **rspoid,
        struct berval **rspdata,
@@ -33,7 +33,7 @@ int passwd_extop(
        int rc;
 
        assert( reqoid != NULL );
-       assert( strcmp( LDAP_EXOP_MODIFY_PASSWD, reqoid ) == 0 );
+       assert( ber_bvcmp( &slap_EXOP_MODIFY_PASSWD, reqoid ) == 0 );
 
        if( op->o_dn.bv_len == 0 ) {
                *text = "only authenticated users may change passwords";
@@ -50,8 +50,8 @@ int passwd_extop(
        }
 
        {
-               struct berval passwd = BER_BVC( LDAP_EXOP_MODIFY_PASSWD );
-               rc = backend_check_restrictions( be, conn, op, &passwd, text );
+               rc = backend_check_restrictions( be, conn, op,
+                       (struct berval *)&slap_EXOP_MODIFY_PASSWD, text );
        }
 
        if( rc != LDAP_SUCCESS ) {
@@ -69,11 +69,14 @@ int passwd_extop(
                rc = LDAP_OTHER;
 #endif
 
+#ifndef SLAPD_MULTIMASTER
+       /* This does not apply to multi-master case */
        } else if( be->be_update_ndn.bv_len ) {
                /* we SHOULD return a referral in this case */
                *refs = referral_rewrite( be->be_update_refs,
                        NULL, NULL, LDAP_SCOPE_DEFAULT );
                        rc = LDAP_REFERRAL;
+#endif /* !SLAPD_MULTIMASTER */
 
        } else {
                rc = be->be_extended(
@@ -95,7 +98,7 @@ int slap_passwd_parse( struct berval *reqdata,
        int rc = LDAP_SUCCESS;
        ber_tag_t tag;
        ber_len_t len;
-       char berbuf[256];
+       char berbuf[LBER_ELEMENT_SIZEOF];
        BerElement *ber = (BerElement *)berbuf;
 
        if( reqdata == NULL ) {
@@ -236,7 +239,7 @@ struct berval * slap_passwd_return(
 {
        int rc;
        struct berval *bv = NULL;
-       char berbuf[256];
+       char berbuf[LBER_ELEMENT_SIZEOF];
        /* opaque structure, size unknown but smaller than berbuf */
        BerElement *ber = (BerElement *)berbuf;