]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
Improve spec conformance, logging
authorOndřej Kuzník <ondra@mistotebe.net>
Mon, 25 Sep 2017 10:02:00 +0000 (11:02 +0100)
committerOndřej Kuzník <okuznik@symas.com>
Tue, 17 Nov 2020 17:58:14 +0000 (17:58 +0000)
servers/lloadd/operation.c

index 7b44cfe6f1115290963715b9253e99759f84b464..3aba4bfe16ebf5db37118b63db4dfba081595caf 100644 (file)
@@ -629,13 +629,20 @@ request_abandon( Connection *c, Operation *op )
 
     request = tavl_find( c->c_ops, &needle, operation_client_cmp );
     if ( !request ) {
-        Debug( LDAP_DEBUG_TRACE, "request_abandon: "
+        Debug( LDAP_DEBUG_STATS, "request_abandon: "
                 "connid=%lu msgid=%d requests abandon of an operation "
                 "msgid=%d not being processed anymore\n",
                 c->c_connid, op->o_client_msgid, needle.o_client_msgid );
         goto done;
+    } else if ( request->o_tag == LDAP_REQ_BIND ) {
+        /* RFC 4511 states we must not allow Abandon on Binds */
+        Debug( LDAP_DEBUG_STATS, "request_abandon: "
+                "connid=%lu msgid=%d requests abandon of a bind operation "
+                "msgid=%d\n",
+                c->c_connid, op->o_client_msgid, needle.o_client_msgid );
+        goto done;
     }
-    Debug( LDAP_DEBUG_TRACE, "request_abandon: "
+    Debug( LDAP_DEBUG_STATS, "request_abandon: "
             "connid=%lu msgid=%d abandoning %s msgid=%d\n",
             c->c_connid, op->o_client_msgid, slap_msgtype2str( request->o_tag ),
             needle.o_client_msgid );