diff options
author | martijn <martijn@openbsd.org> | 2019-10-26 17:52:55 +0000 |
---|---|---|
committer | martijn <martijn@openbsd.org> | 2019-10-26 17:52:55 +0000 |
commit | 7307189579ca93ce2fae6d7a87c96ca899e370b2 (patch) | |
tree | 97545dce5d4979d6b5fe52e96b6e8d790e5442ee /usr.sbin/ldapd | |
parent | Shorten the SYNOPSIS greatly. (diff) | |
download | wireguard-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.c | 7 |
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) { |