]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
ldap: Only do URL parsing when we're allocing ldap queries
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 14 Oct 2021 15:54:26 +0000 (10:54 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 14 Oct 2021 21:49:21 +0000 (16:49 -0500)
src/lib/ldap/connection.c

index 54c6d975732bf7383faa75bbb4fee527ba0cb766..84a63d4a783233b1c9c311e50609d3fade955e63 100644 (file)
@@ -676,40 +676,6 @@ static void ldap_trunk_request_mux(UNUSED fr_event_list_t *el, fr_trunk_connecti
                         */
                        if (query->referral) referral_url = query->referral->referral_url;
 
-                       /*
-                        *      Queries can be from parsed URLs, if so point at the relevant
-                        *      parts of the parsed structure
-                        */
-                       if (query->ldap_url) {
-                               query->dn = query->ldap_url->lud_dn;
-                               memcpy(&query->search.attrs, &query->ldap_url->lud_attrs, sizeof(query->search.attrs));
-                               query->search.scope = query->ldap_url->lud_scope;
-                               query->search.filter = query->ldap_url->lud_filter;
-
-                               /*
-                                *      Parsing LDAP server extensions from the URL is only
-                                *      possible once we know which conneciton the query will be
-                                *      handled by as the conneciton handle is used by the parsing
-                                *      function.
-                                */
-                               if (query->ldap_url->lud_exts) {
-                                       LDAPControl     *serverctrls[LDAP_MAX_CONTROLS];
-                                       int             i;
-
-                                       if (fr_ldap_parse_url_extensions(serverctrls, query->request,
-                                                                        ldap_conn, query->ldap_url->lud_exts) < 0) {
-                                       error:
-                                               fr_trunk_request_signal_fail(query->treq);
-                                               return;
-                                       }
-                                       for (i = 0; i < LDAP_MAX_CONTROLS; i++) {
-                                               if (!serverctrls[i]) break;
-                                               query->serverctrls[i].control = serverctrls[i];
-                                               query->serverctrls[i].freeit = true;
-                                       }
-                               }
-                       }
-
                        POPULATE_LDAP_CONTROLS(our_serverctrls, query->serverctrls);
                        POPULATE_LDAP_CONTROLS(our_clientctrls, query->clientctrls);