← Commit list

2ba2fe3540

Alhuda Khan
Alhuda Khan
2026-08-21
SUCCESS Duration: 395s

Subject

ldap: base64-encode LDIF values beginning with colon or less-than

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

lib/ldap.c+4 -2
@@ -238,8 +238,10 @@ static bool ldap_value_needs_base64(const char *attr, size_t attr_len,
if((attr_len > 7) && curl_strequal(";binary", attr + attr_len - 7))
return TRUE;
- /* check for leading or trailing whitespace */
- if(val->bv_len && (ISBLANK(val->bv_val[0]) ||
+ /* check for a leading ':' or '<' (not a SAFE-INIT-CHAR per RFC 2849) or
+ leading or trailing whitespace */
+ if(val->bv_len && ((val->bv_val[0] == ':') || (val->bv_val[0] == '<') ||
+ ISBLANK(val->bv_val[0]) ||
ISBLANK(val->bv_val[val->bv_len - 1])))
return TRUE;
lib/openldap.c+4 -2
@@ -1206,9 +1206,11 @@ static CURLcode oldap_recv(struct Curl_easy *data, int8_t sockindex, char *buf,
break;
if(!binary) {
- /* check for leading or trailing whitespace */
+ /* check for a leading ':' or '<' (not a SAFE-INIT-CHAR per RFC
+ 2849) or leading or trailing whitespace */
if(bvals[i].bv_len &&
- (ISBLANK(bvals[i].bv_val[0]) ||
+ ((bvals[i].bv_val[0] == ':') || (bvals[i].bv_val[0] == '<') ||
+ ISBLANK(bvals[i].bv_val[0]) ||
ISBLANK(bvals[i].bv_val[bvals[i].bv_len - 1])))
binval = TRUE;
else {