summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ldapd
diff options
context:
space:
mode:
authormartijn <martijn@openbsd.org>2019-10-26 17:52:55 +0000
committermartijn <martijn@openbsd.org>2019-10-26 17:52:55 +0000
commit7307189579ca93ce2fae6d7a87c96ca899e370b2 (patch)
tree97545dce5d4979d6b5fe52e96b6e8d790e5442ee /usr.sbin/ldapd
parentShorten the SYNOPSIS greatly. (diff)
downloadwireguard-openbsd-7307189579ca93ce2fae6d7a87c96ca899e370b2.tar.xz
wireguard-openbsd-7307189579ca93ce2fae6d7a87c96ca899e370b2.zip
The starttls command doesn't have a value with its extended request.
The handling of this changed with libutil/ber.c r1.12 resulting in starttls failing. Found by several. Fix suggestion by roklein <at> roklein <dot> de OK claudio@
Diffstat (limited to 'usr.sbin/ldapd')
-rw-r--r--usr.sbin/ldapd/ldape.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/usr.sbin/ldapd/ldape.c b/usr.sbin/ldapd/ldape.c
index aeab0f8e997..7756534a5db 100644
--- a/usr.sbin/ldapd/ldape.c
+++ b/usr.sbin/ldapd/ldape.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ldape.c,v 1.32 2019/10/24 12:39:26 tb Exp $ */
+/* $OpenBSD: ldape.c,v 1.33 2019/10/26 17:52:55 martijn Exp $ */
/*
* Copyright (c) 2009, 2010 Martin Hedenfalk <martin@bzero.se>
@@ -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) {