On 10/24/19 2:25 PM, Claudio Jeker wrote:
> 
> OK claudio@
> 
I'll commit this soon-ish based on claudio's OK, but if at all possible 
I would like to ask the people affected by this to test this and see if 
this solves their problem.

For the people running -current, here's an updated diff based on tb@'s
commit which changes ber_* to ober_* (note that you also need to get
the latest libutil).

martijn@

Index: ldape.c
===================================================================
RCS file: /cvs/src/usr.sbin/ldapd/ldape.c,v
retrieving revision 1.32
diff -u -p -r1.32 ldape.c
--- ldape.c     24 Oct 2019 12:39:26 -0000      1.32
+++ ldape.c     24 Oct 2019 13:22:37 -0000
@@ -298,7 +298,6 @@ ldap_extended(struct request *req)
 {
        int                      i, rc = LDAP_PROTOCOL_ERROR;
        char                    *oid = NULL;
-       struct ber_element      *ext_val = NULL;
        struct {
                const char      *oid;
                int (*fn)(struct request *);
@@ -307,11 +306,11 @@ ldap_extended(struct request *req)
                { NULL }
        };
 
-       if (ober_scanf_elements(req->op, "{se", &oid, &ext_val) != 0)
+       if (ober_scanf_elements(req->op, "{s", &oid) != 0)
                goto done;
 
        log_debug("got extended operation %s", oid);
-       req->op = ext_val;
+       req->op = req->op->be_sub->be_next;
 
        for (i = 0; extended_ops[i].oid != NULL; i++) {
                if (strcmp(oid, extended_ops[i].oid) == 0) {

Reply via email to