Skip to content

Commit f6016c7

Browse files
StephenWalldevnexen
authored andcommitted
ext/ldap: Add LDAP_OPT_X_TLS_PROTOCOL_MAX and LDAP_OPT_X_TLS_PROTOCOL_TLS1_3
close GH-13405.
1 parent 87abd50 commit f6016c7

7 files changed

+77
-1
lines changed

NEWS

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ PHP NEWS
5858
aliases for ::ROUND_DOWN and ::ROUND_UP. (Jorg Sowa)
5959
. Added NumberFormatter::ROUND_HALFODD. (Ayesh Karunaratne)
6060

61+
- LDAP:
62+
. Added LDAP_OPT_X_TLS_PROTOCOL_MAX/LDAP_OPT_X_TLS_PROTOCOL_TLS1_3
63+
constants. (StephenWall)
64+
6165
- MBString:
6266
. Added mb_trim, mb_ltrim and mb_rtrim. (Yuya Hamada)
6367

UPGRADING

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,10 @@ PHP 8.4 UPGRADE NOTES
446446
. The IntlDateFormatter class exposes now the new PATTERN constant
447447
reflecting udat api's UDAT_PATTERN.
448448

449+
- LDAP:
450+
. LDAP_OPT_X_TLS_PROTOCOL_MAX.
451+
. LDAP_OPT_X_TLS_PROTOCOL_TLS1_3.
452+
449453
- OpenSSL:
450454
. X509_PURPOSE_OCSP_HELPER.
451455
. X509_PURPOSE_TIMESTAMP_SIGN.

ext/ldap/ldap.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2991,6 +2991,9 @@ PHP_FUNCTION(ldap_get_option)
29912991
#ifdef LDAP_OPT_X_TLS_PROTOCOL_MIN
29922992
case LDAP_OPT_X_TLS_PROTOCOL_MIN:
29932993
#endif
2994+
#ifdef LDAP_OPT_X_TLS_PROTOCOL_MAX
2995+
case LDAP_OPT_X_TLS_PROTOCOL_MAX:
2996+
#endif
29942997
#ifdef LDAP_OPT_X_KEEPALIVE_IDLE
29952998
case LDAP_OPT_X_KEEPALIVE_IDLE:
29962999
case LDAP_OPT_X_KEEPALIVE_PROBES:
@@ -3159,6 +3162,9 @@ PHP_FUNCTION(ldap_set_option)
31593162
#ifdef LDAP_OPT_X_TLS_PROTOCOL_MIN
31603163
case LDAP_OPT_X_TLS_PROTOCOL_MIN:
31613164
#endif
3165+
#ifdef LDAP_OPT_X_TLS_PROTOCOL_MAX
3166+
case LDAP_OPT_X_TLS_PROTOCOL_MAX:
3167+
#endif
31623168
#ifdef LDAP_OPT_X_KEEPALIVE_IDLE
31633169
case LDAP_OPT_X_KEEPALIVE_IDLE:
31643170
case LDAP_OPT_X_KEEPALIVE_PROBES:

ext/ldap/ldap.stub.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,20 @@
358358
*/
359359
const LDAP_OPT_X_TLS_PROTOCOL_TLS1_2 = UNKNOWN;
360360
#endif
361+
#ifdef LDAP_OPT_X_TLS_PROTOCOL_TLS1_3
362+
/**
363+
* @var int
364+
* @cvalue LDAP_OPT_X_TLS_PROTOCOL_TLS1_3
365+
*/
366+
const LDAP_OPT_X_TLS_PROTOCOL_TLS1_3 = UNKNOWN;
367+
#endif
368+
#ifdef LDAP_OPT_X_TLS_PROTOCOL_MAX
369+
/**
370+
* @var int
371+
* @cvalue LDAP_OPT_X_TLS_PROTOCOL_MAX
372+
*/
373+
const LDAP_OPT_X_TLS_PROTOCOL_MAX = UNKNOWN;
374+
#endif
361375

362376
#ifdef LDAP_OPT_X_TLS_PACKAGE
363377
/**

ext/ldap/ldap_arginfo.h

Lines changed: 7 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
--TEST--
2+
ldap_set_option() - Basic test for TLS protocol max ldap option
3+
--CREDITS--
4+
Chad Sikorra <[email protected]>
5+
--EXTENSIONS--
6+
ldap
7+
--FILE--
8+
<?php
9+
require "connect.inc";
10+
$link = ldap_connect($uri);
11+
12+
foreach([
13+
LDAP_OPT_X_TLS_PROTOCOL_SSL2,
14+
LDAP_OPT_X_TLS_PROTOCOL_SSL3,
15+
LDAP_OPT_X_TLS_PROTOCOL_TLS1_0,
16+
LDAP_OPT_X_TLS_PROTOCOL_TLS1_1,
17+
LDAP_OPT_X_TLS_PROTOCOL_TLS1_2,
18+
LDAP_OPT_X_TLS_PROTOCOL_TLS1_3,
19+
] as $option) {
20+
$result = ldap_set_option($link, LDAP_OPT_X_TLS_PROTOCOL_MAX, $option);
21+
var_dump($result);
22+
23+
ldap_get_option($link, LDAP_OPT_X_TLS_PROTOCOL_MAX, $optionval);
24+
var_dump($optionval);
25+
}
26+
?>
27+
--EXPECT--
28+
bool(true)
29+
int(512)
30+
bool(true)
31+
int(768)
32+
bool(true)
33+
int(769)
34+
bool(true)
35+
int(770)
36+
bool(true)
37+
int(771)
38+
bool(true)
39+
int(772)

ext/ldap/tests/ldap_set_option_tls_protocol_min_basic.phpt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ foreach([
1515
LDAP_OPT_X_TLS_PROTOCOL_TLS1_0,
1616
LDAP_OPT_X_TLS_PROTOCOL_TLS1_1,
1717
LDAP_OPT_X_TLS_PROTOCOL_TLS1_2,
18+
LDAP_OPT_X_TLS_PROTOCOL_TLS1_3,
1819
] as $option) {
1920
$result = ldap_set_option($link, LDAP_OPT_X_TLS_PROTOCOL_MIN, $option);
2021
var_dump($result);
@@ -34,3 +35,5 @@ bool(true)
3435
int(770)
3536
bool(true)
3637
int(771)
38+
bool(true)
39+
int(772)

0 commit comments

Comments
 (0)