1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: 49801a700489ac5c4ffb8c3916278ec7aa002ab6 */
3
4 #if defined(HAVE_ORALDAP)
5 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
6 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, uri, IS_STRING, 1, "null")
7 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "389")
8 ZEND_ARG_TYPE_INFO(0, wallet, IS_STRING, 0)
9 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
10 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, auth_mode, IS_LONG, 0, "GSLC_SSL_NO_AUTH")
11 ZEND_END_ARG_INFO()
12 #endif
13
14 #if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
15 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect_wallet, 0, 3, LDAP\\Connection, MAY_BE_FALSE)
16 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, uri, IS_STRING, 1, "null")
17 ZEND_ARG_TYPE_INFO(0, wallet, IS_STRING, 0)
18 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
19 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, auth_mode, IS_LONG, 0, "GSLC_SSL_NO_AUTH")
20 ZEND_END_ARG_INFO()
21 #endif
22
23 #if !(defined(HAVE_ORALDAP))
24 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_connect, 0, 0, LDAP\\Connection, MAY_BE_FALSE)
25 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, uri, IS_STRING, 1, "null")
26 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, port, IS_LONG, 0, "389")
27 ZEND_END_ARG_INFO()
28 #endif
29
30 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_unbind, 0, 1, _IS_BOOL, 0)
31 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
32 ZEND_END_ARG_INFO()
33
34 #define arginfo_ldap_close arginfo_ldap_unbind
35
36 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_bind, 0, 1, _IS_BOOL, 0)
37 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
38 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
39 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
40 ZEND_END_ARG_INFO()
41
42 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_bind_ext, 0, 1, LDAP\\Result, MAY_BE_FALSE)
43 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
44 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
45 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
46 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
47 ZEND_END_ARG_INFO()
48
49 #if defined(HAVE_LDAP_SASL)
50 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_sasl_bind, 0, 1, _IS_BOOL, 0)
51 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
52 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, dn, IS_STRING, 1, "null")
53 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
54 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mech, IS_STRING, 1, "null")
55 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, realm, IS_STRING, 1, "null")
56 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authc_id, IS_STRING, 1, "null")
57 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, authz_id, IS_STRING, 1, "null")
58 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, props, IS_STRING, 1, "null")
59 ZEND_END_ARG_INFO()
60 #endif
61
62 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_read, 0, 3, LDAP\\Result, MAY_BE_ARRAY|MAY_BE_FALSE)
63 ZEND_ARG_INFO(0, ldap)
64 ZEND_ARG_TYPE_MASK(0, base, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
65 ZEND_ARG_TYPE_MASK(0, filter, MAY_BE_ARRAY|MAY_BE_STRING, NULL)
66 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, attributes, IS_ARRAY, 0, "[]")
67 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, attributes_only, IS_LONG, 0, "0")
68 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, sizelimit, IS_LONG, 0, "-1")
69 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, timelimit, IS_LONG, 0, "-1")
70 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, deref, IS_LONG, 0, "LDAP_DEREF_NEVER")
71 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
72 ZEND_END_ARG_INFO()
73
74 #define arginfo_ldap_list arginfo_ldap_read
75
76 #define arginfo_ldap_search arginfo_ldap_read
77
78 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_free_result, 0, 1, _IS_BOOL, 0)
79 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
80 ZEND_END_ARG_INFO()
81
82 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_count_entries, 0, 2, IS_LONG, 0)
83 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
84 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
85 ZEND_END_ARG_INFO()
86
87 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_first_entry, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
88 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
89 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
90 ZEND_END_ARG_INFO()
91
92 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_next_entry, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
93 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
94 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
95 ZEND_END_ARG_INFO()
96
97 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_get_entries, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
98 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
99 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
100 ZEND_END_ARG_INFO()
101
102 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_first_attribute, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
103 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
104 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
105 ZEND_END_ARG_INFO()
106
107 #define arginfo_ldap_next_attribute arginfo_ldap_first_attribute
108
109 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_get_attributes, 0, 2, IS_ARRAY, 0)
110 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
111 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
112 ZEND_END_ARG_INFO()
113
114 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_get_values_len, 0, 3, MAY_BE_ARRAY|MAY_BE_FALSE)
115 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
116 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
117 ZEND_ARG_TYPE_INFO(0, attribute, IS_STRING, 0)
118 ZEND_END_ARG_INFO()
119
120 #define arginfo_ldap_get_values arginfo_ldap_get_values_len
121
122 #define arginfo_ldap_get_dn arginfo_ldap_first_attribute
123
124 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_explode_dn, 0, 2, MAY_BE_ARRAY|MAY_BE_FALSE)
125 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
126 ZEND_ARG_TYPE_INFO(0, with_attrib, IS_LONG, 0)
127 ZEND_END_ARG_INFO()
128
129 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_dn2ufn, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
130 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
131 ZEND_END_ARG_INFO()
132
133 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_add, 0, 3, _IS_BOOL, 0)
134 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
135 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
136 ZEND_ARG_TYPE_INFO(0, entry, IS_ARRAY, 0)
137 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
138 ZEND_END_ARG_INFO()
139
140 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_add_ext, 0, 3, LDAP\\Result, MAY_BE_FALSE)
141 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
142 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
143 ZEND_ARG_TYPE_INFO(0, entry, IS_ARRAY, 0)
144 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
145 ZEND_END_ARG_INFO()
146
147 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_delete, 0, 2, _IS_BOOL, 0)
148 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
149 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
150 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
151 ZEND_END_ARG_INFO()
152
153 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_delete_ext, 0, 2, LDAP\\Result, MAY_BE_FALSE)
154 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
155 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
156 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
157 ZEND_END_ARG_INFO()
158
159 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_modify_batch, 0, 3, _IS_BOOL, 0)
160 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
161 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
162 ZEND_ARG_TYPE_INFO(0, modifications_info, IS_ARRAY, 0)
163 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
164 ZEND_END_ARG_INFO()
165
166 #define arginfo_ldap_mod_add arginfo_ldap_add
167
168 #define arginfo_ldap_mod_add_ext arginfo_ldap_add_ext
169
170 #define arginfo_ldap_mod_replace arginfo_ldap_add
171
172 #define arginfo_ldap_modify arginfo_ldap_add
173
174 #define arginfo_ldap_mod_replace_ext arginfo_ldap_add_ext
175
176 #define arginfo_ldap_mod_del arginfo_ldap_add
177
178 #define arginfo_ldap_mod_del_ext arginfo_ldap_add_ext
179
180 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_errno, 0, 1, IS_LONG, 0)
181 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
182 ZEND_END_ARG_INFO()
183
184 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_error, 0, 1, IS_STRING, 0)
185 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
186 ZEND_END_ARG_INFO()
187
188 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_err2str, 0, 1, IS_STRING, 0)
189 ZEND_ARG_TYPE_INFO(0, errno, IS_LONG, 0)
190 ZEND_END_ARG_INFO()
191
192 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_compare, 0, 4, MAY_BE_BOOL|MAY_BE_LONG)
193 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
194 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
195 ZEND_ARG_TYPE_INFO(0, attribute, IS_STRING, 0)
196 ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
197 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
198 ZEND_END_ARG_INFO()
199
200 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
201 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_rename, 0, 5, _IS_BOOL, 0)
202 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
203 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
204 ZEND_ARG_TYPE_INFO(0, new_rdn, IS_STRING, 0)
205 ZEND_ARG_TYPE_INFO(0, new_parent, IS_STRING, 0)
206 ZEND_ARG_TYPE_INFO(0, delete_old_rdn, _IS_BOOL, 0)
207 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
208 ZEND_END_ARG_INFO()
209 #endif
210
211 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
212 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_rename_ext, 0, 5, LDAP\\Result, MAY_BE_FALSE)
213 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
214 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
215 ZEND_ARG_TYPE_INFO(0, new_rdn, IS_STRING, 0)
216 ZEND_ARG_TYPE_INFO(0, new_parent, IS_STRING, 0)
217 ZEND_ARG_TYPE_INFO(0, delete_old_rdn, _IS_BOOL, 0)
218 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
219 ZEND_END_ARG_INFO()
220 #endif
221
222 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
223 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_get_option, 0, 2, _IS_BOOL, 0)
224 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
225 ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
226 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, value, "null")
227 ZEND_END_ARG_INFO()
228 #endif
229
230 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
231 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_set_option, 0, 3, _IS_BOOL, 0)
232 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 1)
233 ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
234 ZEND_ARG_INFO(0, value)
235 ZEND_END_ARG_INFO()
236 #endif
237
238 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
239 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_count_references, 0, 2, IS_LONG, 0)
240 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
241 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
242 ZEND_END_ARG_INFO()
243 #endif
244
245 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
246 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_first_reference, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
247 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
248 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
249 ZEND_END_ARG_INFO()
250 #endif
251
252 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
253 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_next_reference, 0, 2, LDAP\\ResultEntry, MAY_BE_FALSE)
254 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
255 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
256 ZEND_END_ARG_INFO()
257 #endif
258
259 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
260 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_reference, 0, 3, _IS_BOOL, 0)
261 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
262 ZEND_ARG_OBJ_INFO(0, entry, LDAP\\ResultEntry, 0)
263 ZEND_ARG_INFO(1, referrals)
264 ZEND_END_ARG_INFO()
265 #endif
266
267 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
268 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_result, 0, 3, _IS_BOOL, 0)
269 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
270 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
271 ZEND_ARG_INFO(1, error_code)
272 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, matched_dn, "null")
273 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, error_message, "null")
274 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, referrals, "null")
275 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, controls, "null")
276 ZEND_END_ARG_INFO()
277 #endif
278
279 #if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC))
280 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_set_rebind_proc, 0, 2, _IS_BOOL, 0)
281 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
282 ZEND_ARG_TYPE_INFO(0, callback, IS_CALLABLE, 1)
283 ZEND_END_ARG_INFO()
284 #endif
285
286 #if defined(HAVE_LDAP_START_TLS_S)
287 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_start_tls, 0, 1, _IS_BOOL, 0)
288 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
289 ZEND_END_ARG_INFO()
290 #endif
291
292 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_escape, 0, 1, IS_STRING, 0)
293 ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
294 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, ignore, IS_STRING, 0, "\"\"")
295 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0")
296 ZEND_END_ARG_INFO()
297
298 #if defined(STR_TRANSLATION)
299 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_t61_to_8859, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
300 ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
301 ZEND_END_ARG_INFO()
302 #endif
303
304 #if defined(STR_TRANSLATION)
305 #define arginfo_ldap_8859_to_t61 arginfo_ldap_t61_to_8859
306 #endif
307
308 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
309 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_exop, 0, 2, LDAP\\Result, MAY_BE_BOOL)
310 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
311 ZEND_ARG_TYPE_INFO(0, request_oid, IS_STRING, 0)
312 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, request_data, IS_STRING, 1, "null")
313 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
314 ZEND_ARG_INFO(1, response_data)
315 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_oid, "null")
316 ZEND_END_ARG_INFO()
317 #endif
318
319 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
320 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_ldap_exop_sync, 0, 2, LDAP\\Result, MAY_BE_BOOL)
321 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
322 ZEND_ARG_TYPE_INFO(0, request_oid, IS_STRING, 0)
323 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, request_data, IS_STRING, 1, "null")
324 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, controls, IS_ARRAY, 1, "null")
325 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_data, "null")
326 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_oid, "null")
327 ZEND_END_ARG_INFO()
328 #endif
329
330 #if defined(HAVE_LDAP_PASSWD)
331 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_passwd, 0, 1, MAY_BE_STRING|MAY_BE_BOOL)
332 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
333 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, user, IS_STRING, 0, "\"\"")
334 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, old_password, IS_STRING, 0, "\"\"")
335 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, new_password, IS_STRING, 0, "\"\"")
336 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, controls, "null")
337 ZEND_END_ARG_INFO()
338 #endif
339
340 #if defined(HAVE_LDAP_WHOAMI_S)
341 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_whoami, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
342 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
343 ZEND_END_ARG_INFO()
344 #endif
345
346 #if defined(HAVE_LDAP_REFRESH_S)
347 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ldap_exop_refresh, 0, 3, MAY_BE_LONG|MAY_BE_FALSE)
348 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
349 ZEND_ARG_TYPE_INFO(0, dn, IS_STRING, 0)
350 ZEND_ARG_TYPE_INFO(0, ttl, IS_LONG, 0)
351 ZEND_END_ARG_INFO()
352 #endif
353
354 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
355 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ldap_parse_exop, 0, 2, _IS_BOOL, 0)
356 ZEND_ARG_OBJ_INFO(0, ldap, LDAP\\Connection, 0)
357 ZEND_ARG_OBJ_INFO(0, result, LDAP\\Result, 0)
358 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_data, "null")
359 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(1, response_oid, "null")
360 ZEND_END_ARG_INFO()
361 #endif
362
363 #if defined(HAVE_ORALDAP)
364 ZEND_FUNCTION(ldap_connect);
365 #endif
366 #if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
367 ZEND_FUNCTION(ldap_connect_wallet);
368 #endif
369 #if !(defined(HAVE_ORALDAP))
370 ZEND_FUNCTION(ldap_connect);
371 #endif
372 ZEND_FUNCTION(ldap_unbind);
373 ZEND_FUNCTION(ldap_bind);
374 ZEND_FUNCTION(ldap_bind_ext);
375 #if defined(HAVE_LDAP_SASL)
376 ZEND_FUNCTION(ldap_sasl_bind);
377 #endif
378 ZEND_FUNCTION(ldap_read);
379 ZEND_FUNCTION(ldap_list);
380 ZEND_FUNCTION(ldap_search);
381 ZEND_FUNCTION(ldap_free_result);
382 ZEND_FUNCTION(ldap_count_entries);
383 ZEND_FUNCTION(ldap_first_entry);
384 ZEND_FUNCTION(ldap_next_entry);
385 ZEND_FUNCTION(ldap_get_entries);
386 ZEND_FUNCTION(ldap_first_attribute);
387 ZEND_FUNCTION(ldap_next_attribute);
388 ZEND_FUNCTION(ldap_get_attributes);
389 ZEND_FUNCTION(ldap_get_values_len);
390 ZEND_FUNCTION(ldap_get_dn);
391 ZEND_FUNCTION(ldap_explode_dn);
392 ZEND_FUNCTION(ldap_dn2ufn);
393 ZEND_FUNCTION(ldap_add);
394 ZEND_FUNCTION(ldap_add_ext);
395 ZEND_FUNCTION(ldap_delete);
396 ZEND_FUNCTION(ldap_delete_ext);
397 ZEND_FUNCTION(ldap_modify_batch);
398 ZEND_FUNCTION(ldap_mod_add);
399 ZEND_FUNCTION(ldap_mod_add_ext);
400 ZEND_FUNCTION(ldap_mod_replace);
401 ZEND_FUNCTION(ldap_mod_replace_ext);
402 ZEND_FUNCTION(ldap_mod_del);
403 ZEND_FUNCTION(ldap_mod_del_ext);
404 ZEND_FUNCTION(ldap_errno);
405 ZEND_FUNCTION(ldap_error);
406 ZEND_FUNCTION(ldap_err2str);
407 ZEND_FUNCTION(ldap_compare);
408 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
409 ZEND_FUNCTION(ldap_rename);
410 #endif
411 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
412 ZEND_FUNCTION(ldap_rename_ext);
413 #endif
414 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
415 ZEND_FUNCTION(ldap_get_option);
416 #endif
417 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
418 ZEND_FUNCTION(ldap_set_option);
419 #endif
420 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
421 ZEND_FUNCTION(ldap_count_references);
422 #endif
423 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
424 ZEND_FUNCTION(ldap_first_reference);
425 #endif
426 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
427 ZEND_FUNCTION(ldap_next_reference);
428 #endif
429 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
430 ZEND_FUNCTION(ldap_parse_reference);
431 #endif
432 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
433 ZEND_FUNCTION(ldap_parse_result);
434 #endif
435 #if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC))
436 ZEND_FUNCTION(ldap_set_rebind_proc);
437 #endif
438 #if defined(HAVE_LDAP_START_TLS_S)
439 ZEND_FUNCTION(ldap_start_tls);
440 #endif
441 ZEND_FUNCTION(ldap_escape);
442 #if defined(STR_TRANSLATION)
443 ZEND_FUNCTION(ldap_t61_to_8859);
444 #endif
445 #if defined(STR_TRANSLATION)
446 ZEND_FUNCTION(ldap_8859_to_t61);
447 #endif
448 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
449 ZEND_FUNCTION(ldap_exop);
450 #endif
451 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
452 ZEND_FUNCTION(ldap_exop_sync);
453 #endif
454 #if defined(HAVE_LDAP_PASSWD)
455 ZEND_FUNCTION(ldap_exop_passwd);
456 #endif
457 #if defined(HAVE_LDAP_WHOAMI_S)
458 ZEND_FUNCTION(ldap_exop_whoami);
459 #endif
460 #if defined(HAVE_LDAP_REFRESH_S)
461 ZEND_FUNCTION(ldap_exop_refresh);
462 #endif
463 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
464 ZEND_FUNCTION(ldap_parse_exop);
465 #endif
466
467 static const zend_function_entry ext_functions[] = {
468 #if defined(HAVE_ORALDAP)
469 ZEND_FE(ldap_connect, arginfo_ldap_connect)
470 #endif
471 #if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
472 ZEND_FE(ldap_connect_wallet, arginfo_ldap_connect_wallet)
473 #endif
474 #if !(defined(HAVE_ORALDAP))
475 ZEND_FE(ldap_connect, arginfo_ldap_connect)
476 #endif
477 ZEND_FE(ldap_unbind, arginfo_ldap_unbind)
478 ZEND_RAW_FENTRY("ldap_close", zif_ldap_unbind, arginfo_ldap_close, 0, NULL, NULL)
479 ZEND_FE(ldap_bind, arginfo_ldap_bind)
480 ZEND_FE(ldap_bind_ext, arginfo_ldap_bind_ext)
481 #if defined(HAVE_LDAP_SASL)
482 ZEND_FE(ldap_sasl_bind, arginfo_ldap_sasl_bind)
483 #endif
484 ZEND_FE(ldap_read, arginfo_ldap_read)
485 ZEND_FE(ldap_list, arginfo_ldap_list)
486 ZEND_FE(ldap_search, arginfo_ldap_search)
487 ZEND_FE(ldap_free_result, arginfo_ldap_free_result)
488 ZEND_FE(ldap_count_entries, arginfo_ldap_count_entries)
489 ZEND_FE(ldap_first_entry, arginfo_ldap_first_entry)
490 ZEND_FE(ldap_next_entry, arginfo_ldap_next_entry)
491 ZEND_FE(ldap_get_entries, arginfo_ldap_get_entries)
492 ZEND_FE(ldap_first_attribute, arginfo_ldap_first_attribute)
493 ZEND_FE(ldap_next_attribute, arginfo_ldap_next_attribute)
494 ZEND_FE(ldap_get_attributes, arginfo_ldap_get_attributes)
495 ZEND_FE(ldap_get_values_len, arginfo_ldap_get_values_len)
496 ZEND_RAW_FENTRY("ldap_get_values", zif_ldap_get_values_len, arginfo_ldap_get_values, 0, NULL, NULL)
497 ZEND_FE(ldap_get_dn, arginfo_ldap_get_dn)
498 ZEND_FE(ldap_explode_dn, arginfo_ldap_explode_dn)
499 ZEND_FE(ldap_dn2ufn, arginfo_ldap_dn2ufn)
500 ZEND_FE(ldap_add, arginfo_ldap_add)
501 ZEND_FE(ldap_add_ext, arginfo_ldap_add_ext)
502 ZEND_FE(ldap_delete, arginfo_ldap_delete)
503 ZEND_FE(ldap_delete_ext, arginfo_ldap_delete_ext)
504 ZEND_FE(ldap_modify_batch, arginfo_ldap_modify_batch)
505 ZEND_FE(ldap_mod_add, arginfo_ldap_mod_add)
506 ZEND_FE(ldap_mod_add_ext, arginfo_ldap_mod_add_ext)
507 ZEND_FE(ldap_mod_replace, arginfo_ldap_mod_replace)
508 ZEND_RAW_FENTRY("ldap_modify", zif_ldap_mod_replace, arginfo_ldap_modify, 0, NULL, NULL)
509 ZEND_FE(ldap_mod_replace_ext, arginfo_ldap_mod_replace_ext)
510 ZEND_FE(ldap_mod_del, arginfo_ldap_mod_del)
511 ZEND_FE(ldap_mod_del_ext, arginfo_ldap_mod_del_ext)
512 ZEND_FE(ldap_errno, arginfo_ldap_errno)
513 ZEND_FE(ldap_error, arginfo_ldap_error)
514 ZEND_FE(ldap_err2str, arginfo_ldap_err2str)
515 ZEND_FE(ldap_compare, arginfo_ldap_compare)
516 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
517 ZEND_FE(ldap_rename, arginfo_ldap_rename)
518 #endif
519 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
520 ZEND_FE(ldap_rename_ext, arginfo_ldap_rename_ext)
521 #endif
522 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
523 ZEND_FE(ldap_get_option, arginfo_ldap_get_option)
524 #endif
525 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
526 ZEND_FE(ldap_set_option, arginfo_ldap_set_option)
527 #endif
528 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
529 ZEND_FE(ldap_count_references, arginfo_ldap_count_references)
530 #endif
531 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
532 ZEND_FE(ldap_first_reference, arginfo_ldap_first_reference)
533 #endif
534 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)
535 ZEND_FE(ldap_next_reference, arginfo_ldap_next_reference)
536 #endif
537 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_REFERENCE)
538 ZEND_FE(ldap_parse_reference, arginfo_ldap_parse_reference)
539 #endif
540 #if (LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP) && defined(HAVE_LDAP_PARSE_RESULT)
541 ZEND_FE(ldap_parse_result, arginfo_ldap_parse_result)
542 #endif
543 #if (defined(LDAP_API_FEATURE_X_OPENLDAP) && defined(HAVE_3ARG_SETREBINDPROC))
544 ZEND_FE(ldap_set_rebind_proc, arginfo_ldap_set_rebind_proc)
545 #endif
546 #if defined(HAVE_LDAP_START_TLS_S)
547 ZEND_FE(ldap_start_tls, arginfo_ldap_start_tls)
548 #endif
549 ZEND_FE(ldap_escape, arginfo_ldap_escape)
550 #if defined(STR_TRANSLATION)
551 ZEND_FE(ldap_t61_to_8859, arginfo_ldap_t61_to_8859)
552 #endif
553 #if defined(STR_TRANSLATION)
554 ZEND_FE(ldap_8859_to_t61, arginfo_ldap_8859_to_t61)
555 #endif
556 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
557 ZEND_FE(ldap_exop, arginfo_ldap_exop)
558 #endif
559 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
560 ZEND_FE(ldap_exop_sync, arginfo_ldap_exop_sync)
561 #endif
562 #if defined(HAVE_LDAP_PASSWD)
563 ZEND_FE(ldap_exop_passwd, arginfo_ldap_exop_passwd)
564 #endif
565 #if defined(HAVE_LDAP_WHOAMI_S)
566 ZEND_FE(ldap_exop_whoami, arginfo_ldap_exop_whoami)
567 #endif
568 #if defined(HAVE_LDAP_REFRESH_S)
569 ZEND_FE(ldap_exop_refresh, arginfo_ldap_exop_refresh)
570 #endif
571 #if defined(HAVE_LDAP_PARSE_EXTENDED_RESULT)
572 ZEND_FE(ldap_parse_exop, arginfo_ldap_parse_exop)
573 #endif
574 ZEND_FE_END
575 };
576
577 static const zend_function_entry class_LDAP_Connection_methods[] = {
578 ZEND_FE_END
579 };
580
581 static const zend_function_entry class_LDAP_Result_methods[] = {
582 ZEND_FE_END
583 };
584
585 static const zend_function_entry class_LDAP_ResultEntry_methods[] = {
586 ZEND_FE_END
587 };
588
register_ldap_symbols(int module_number)589 static void register_ldap_symbols(int module_number)
590 {
591 REGISTER_LONG_CONSTANT("LDAP_DEREF_NEVER", LDAP_DEREF_NEVER, CONST_PERSISTENT);
592 REGISTER_LONG_CONSTANT("LDAP_DEREF_SEARCHING", LDAP_DEREF_SEARCHING, CONST_PERSISTENT);
593 REGISTER_LONG_CONSTANT("LDAP_DEREF_FINDING", LDAP_DEREF_FINDING, CONST_PERSISTENT);
594 REGISTER_LONG_CONSTANT("LDAP_DEREF_ALWAYS", LDAP_DEREF_ALWAYS, CONST_PERSISTENT);
595 REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_ADD", LDAP_MODIFY_BATCH_ADD, CONST_PERSISTENT);
596 REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE", LDAP_MODIFY_BATCH_REMOVE, CONST_PERSISTENT);
597 REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REMOVE_ALL", LDAP_MODIFY_BATCH_REMOVE_ALL, CONST_PERSISTENT);
598 REGISTER_LONG_CONSTANT("LDAP_MODIFY_BATCH_REPLACE", LDAP_MODIFY_BATCH_REPLACE, CONST_PERSISTENT);
599 REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_ATTRIB", LDAP_MODIFY_BATCH_ATTRIB, CONST_PERSISTENT);
600 REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_MODTYPE", LDAP_MODIFY_BATCH_MODTYPE, CONST_PERSISTENT);
601 REGISTER_STRING_CONSTANT("LDAP_MODIFY_BATCH_VALUES", LDAP_MODIFY_BATCH_VALUES, CONST_PERSISTENT);
602 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
603 REGISTER_LONG_CONSTANT("LDAP_OPT_DEREF", LDAP_OPT_DEREF, CONST_PERSISTENT);
604 #endif
605 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
606 REGISTER_LONG_CONSTANT("LDAP_OPT_SIZELIMIT", LDAP_OPT_SIZELIMIT, CONST_PERSISTENT);
607 #endif
608 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
609 REGISTER_LONG_CONSTANT("LDAP_OPT_TIMELIMIT", LDAP_OPT_TIMELIMIT, CONST_PERSISTENT);
610 #endif
611 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_NETWORK_TIMEOUT)
612 REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_OPT_NETWORK_TIMEOUT, CONST_PERSISTENT);
613 #endif
614 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && (!defined(LDAP_OPT_NETWORK_TIMEOUT) && defined(LDAP_X_OPT_CONNECT_TIMEOUT))
615 REGISTER_LONG_CONSTANT("LDAP_OPT_NETWORK_TIMEOUT", LDAP_X_OPT_CONNECT_TIMEOUT, CONST_PERSISTENT);
616 #endif
617 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_TIMEOUT)
618 REGISTER_LONG_CONSTANT("LDAP_OPT_TIMEOUT", LDAP_OPT_TIMEOUT, CONST_PERSISTENT);
619 #endif
620 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
621 REGISTER_LONG_CONSTANT("LDAP_OPT_PROTOCOL_VERSION", LDAP_OPT_PROTOCOL_VERSION, CONST_PERSISTENT);
622 #endif
623 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
624 REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_NUMBER", LDAP_OPT_ERROR_NUMBER, CONST_PERSISTENT);
625 #endif
626 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
627 REGISTER_LONG_CONSTANT("LDAP_OPT_REFERRALS", LDAP_OPT_REFERRALS, CONST_PERSISTENT);
628 #endif
629 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_RESTART)
630 REGISTER_LONG_CONSTANT("LDAP_OPT_RESTART", LDAP_OPT_RESTART, CONST_PERSISTENT);
631 #endif
632 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_HOST_NAME)
633 REGISTER_LONG_CONSTANT("LDAP_OPT_HOST_NAME", LDAP_OPT_HOST_NAME, CONST_PERSISTENT);
634 #endif
635 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
636 REGISTER_LONG_CONSTANT("LDAP_OPT_ERROR_STRING", LDAP_OPT_ERROR_STRING, CONST_PERSISTENT);
637 #endif
638 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP)) && defined(LDAP_OPT_MATCHED_DN)
639 REGISTER_LONG_CONSTANT("LDAP_OPT_MATCHED_DN", LDAP_OPT_MATCHED_DN, CONST_PERSISTENT);
640 #endif
641 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
642 REGISTER_LONG_CONSTANT("LDAP_OPT_SERVER_CONTROLS", LDAP_OPT_SERVER_CONTROLS, CONST_PERSISTENT);
643 #endif
644 #if ((LDAP_API_VERSION > 2000) || defined(HAVE_ORALDAP))
645 REGISTER_LONG_CONSTANT("LDAP_OPT_CLIENT_CONTROLS", LDAP_OPT_CLIENT_CONTROLS, CONST_PERSISTENT);
646 #endif
647 #if defined(LDAP_OPT_DEBUG_LEVEL)
648 REGISTER_LONG_CONSTANT("LDAP_OPT_DEBUG_LEVEL", LDAP_OPT_DEBUG_LEVEL, CONST_PERSISTENT);
649 #endif
650 #if defined(LDAP_OPT_DIAGNOSTIC_MESSAGE)
651 REGISTER_LONG_CONSTANT("LDAP_OPT_DIAGNOSTIC_MESSAGE", LDAP_OPT_DIAGNOSTIC_MESSAGE, CONST_PERSISTENT);
652 #endif
653 #if defined(HAVE_LDAP_SASL)
654 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_MECH", LDAP_OPT_X_SASL_MECH, CONST_PERSISTENT);
655 #endif
656 #if defined(HAVE_LDAP_SASL)
657 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_REALM", LDAP_OPT_X_SASL_REALM, CONST_PERSISTENT);
658 #endif
659 #if defined(HAVE_LDAP_SASL)
660 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHCID", LDAP_OPT_X_SASL_AUTHCID, CONST_PERSISTENT);
661 #endif
662 #if defined(HAVE_LDAP_SASL)
663 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_AUTHZID", LDAP_OPT_X_SASL_AUTHZID, CONST_PERSISTENT);
664 #endif
665 #if defined(LDAP_OPT_X_SASL_NOCANON)
666 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_NOCANON", LDAP_OPT_X_SASL_NOCANON, CONST_PERSISTENT);
667 #endif
668 #if defined(LDAP_OPT_X_SASL_USERNAME)
669 REGISTER_LONG_CONSTANT("LDAP_OPT_X_SASL_USERNAME", LDAP_OPT_X_SASL_USERNAME, CONST_PERSISTENT);
670 #endif
671 #if defined(ORALDAP)
672 REGISTER_LONG_CONSTANT("GSLC_SSL_NO_AUTH", GSLC_SSL_NO_AUTH, CONST_PERSISTENT);
673 #endif
674 #if defined(ORALDAP)
675 REGISTER_LONG_CONSTANT("GSLC_SSL_ONEWAY_AUTH", GSLC_SSL_ONEWAY_AUTH, CONST_PERSISTENT);
676 #endif
677 #if defined(ORALDAP)
678 REGISTER_LONG_CONSTANT("GSLC_SSL_TWOWAY_AUTH", GSLC_SSL_TWOWAY_AUTH, CONST_PERSISTENT);
679 #endif
680 #if (LDAP_API_VERSION > 2000)
681 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_REQUIRE_CERT", LDAP_OPT_X_TLS_REQUIRE_CERT, CONST_PERSISTENT);
682 #endif
683 #if (LDAP_API_VERSION > 2000)
684 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_NEVER", LDAP_OPT_X_TLS_NEVER, CONST_PERSISTENT);
685 #endif
686 #if (LDAP_API_VERSION > 2000)
687 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_HARD", LDAP_OPT_X_TLS_HARD, CONST_PERSISTENT);
688 #endif
689 #if (LDAP_API_VERSION > 2000)
690 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DEMAND", LDAP_OPT_X_TLS_DEMAND, CONST_PERSISTENT);
691 #endif
692 #if (LDAP_API_VERSION > 2000)
693 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_ALLOW", LDAP_OPT_X_TLS_ALLOW, CONST_PERSISTENT);
694 #endif
695 #if (LDAP_API_VERSION > 2000)
696 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_TRY", LDAP_OPT_X_TLS_TRY, CONST_PERSISTENT);
697 #endif
698 #if (LDAP_API_VERSION > 2000)
699 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTDIR", LDAP_OPT_X_TLS_CACERTDIR, CONST_PERSISTENT);
700 #endif
701 #if (LDAP_API_VERSION > 2000)
702 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CACERTFILE", LDAP_OPT_X_TLS_CACERTFILE, CONST_PERSISTENT);
703 #endif
704 #if (LDAP_API_VERSION > 2000)
705 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CERTFILE", LDAP_OPT_X_TLS_CERTFILE, CONST_PERSISTENT);
706 #endif
707 #if (LDAP_API_VERSION > 2000)
708 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CIPHER_SUITE", LDAP_OPT_X_TLS_CIPHER_SUITE, CONST_PERSISTENT);
709 #endif
710 #if (LDAP_API_VERSION > 2000)
711 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_KEYFILE", LDAP_OPT_X_TLS_KEYFILE, CONST_PERSISTENT);
712 #endif
713 #if (LDAP_API_VERSION > 2000)
714 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_RANDOM_FILE", LDAP_OPT_X_TLS_RANDOM_FILE, CONST_PERSISTENT);
715 #endif
716 #if defined(LDAP_OPT_X_TLS_CRLCHECK)
717 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLCHECK", LDAP_OPT_X_TLS_CRLCHECK, CONST_PERSISTENT);
718 #endif
719 #if defined(LDAP_OPT_X_TLS_CRLCHECK)
720 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_NONE", LDAP_OPT_X_TLS_CRL_NONE, CONST_PERSISTENT);
721 #endif
722 #if defined(LDAP_OPT_X_TLS_CRLCHECK)
723 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_PEER", LDAP_OPT_X_TLS_CRL_PEER, CONST_PERSISTENT);
724 #endif
725 #if defined(LDAP_OPT_X_TLS_CRLCHECK)
726 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRL_ALL", LDAP_OPT_X_TLS_CRL_ALL, CONST_PERSISTENT);
727 #endif
728 #if defined(LDAP_OPT_X_TLS_DHFILE)
729 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_DHFILE", LDAP_OPT_X_TLS_DHFILE, CONST_PERSISTENT);
730 #endif
731 #if defined(LDAP_OPT_X_TLS_CRLFILE)
732 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_CRLFILE", LDAP_OPT_X_TLS_CRLFILE, CONST_PERSISTENT);
733 #endif
734 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
735 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_MIN", LDAP_OPT_X_TLS_PROTOCOL_MIN, CONST_PERSISTENT);
736 #endif
737 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
738 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL2", LDAP_OPT_X_TLS_PROTOCOL_SSL2, CONST_PERSISTENT);
739 #endif
740 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
741 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_SSL3", LDAP_OPT_X_TLS_PROTOCOL_SSL3, CONST_PERSISTENT);
742 #endif
743 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
744 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_0", LDAP_OPT_X_TLS_PROTOCOL_TLS1_0, CONST_PERSISTENT);
745 #endif
746 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
747 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_1", LDAP_OPT_X_TLS_PROTOCOL_TLS1_1, CONST_PERSISTENT);
748 #endif
749 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MIN)
750 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_2", LDAP_OPT_X_TLS_PROTOCOL_TLS1_2, CONST_PERSISTENT);
751 #endif
752 #if defined(LDAP_OPT_X_TLS_PROTOCOL_TLS1_3)
753 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_TLS1_3", LDAP_OPT_X_TLS_PROTOCOL_TLS1_3, CONST_PERSISTENT);
754 #endif
755 #if defined(LDAP_OPT_X_TLS_PROTOCOL_MAX)
756 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PROTOCOL_MAX", LDAP_OPT_X_TLS_PROTOCOL_MAX, CONST_PERSISTENT);
757 #endif
758 #if defined(LDAP_OPT_X_TLS_PACKAGE)
759 REGISTER_LONG_CONSTANT("LDAP_OPT_X_TLS_PACKAGE", LDAP_OPT_X_TLS_PACKAGE, CONST_PERSISTENT);
760 #endif
761 #if defined(LDAP_OPT_X_KEEPALIVE_IDLE)
762 REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_IDLE", LDAP_OPT_X_KEEPALIVE_IDLE, CONST_PERSISTENT);
763 #endif
764 #if defined(LDAP_OPT_X_KEEPALIVE_IDLE)
765 REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_PROBES", LDAP_OPT_X_KEEPALIVE_PROBES, CONST_PERSISTENT);
766 #endif
767 #if defined(LDAP_OPT_X_KEEPALIVE_IDLE)
768 REGISTER_LONG_CONSTANT("LDAP_OPT_X_KEEPALIVE_INTERVAL", LDAP_OPT_X_KEEPALIVE_INTERVAL, CONST_PERSISTENT);
769 #endif
770 REGISTER_LONG_CONSTANT("LDAP_ESCAPE_FILTER", PHP_LDAP_ESCAPE_FILTER, CONST_PERSISTENT);
771 REGISTER_LONG_CONSTANT("LDAP_ESCAPE_DN", PHP_LDAP_ESCAPE_DN, CONST_PERSISTENT);
772 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
773 REGISTER_STRING_CONSTANT("LDAP_EXOP_START_TLS", LDAP_EXOP_START_TLS, CONST_PERSISTENT);
774 #endif
775 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
776 REGISTER_STRING_CONSTANT("LDAP_EXOP_MODIFY_PASSWD", LDAP_EXOP_MODIFY_PASSWD, CONST_PERSISTENT);
777 #endif
778 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
779 REGISTER_STRING_CONSTANT("LDAP_EXOP_REFRESH", LDAP_EXOP_REFRESH, CONST_PERSISTENT);
780 #endif
781 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
782 REGISTER_STRING_CONSTANT("LDAP_EXOP_WHO_AM_I", LDAP_EXOP_WHO_AM_I, CONST_PERSISTENT);
783 #endif
784 #if defined(HAVE_LDAP_EXTENDED_OPERATION_S)
785 REGISTER_STRING_CONSTANT("LDAP_EXOP_TURN", LDAP_EXOP_TURN, CONST_PERSISTENT);
786 #endif
787 #if defined(LDAP_CONTROL_MANAGEDSAIT)
788 REGISTER_STRING_CONSTANT("LDAP_CONTROL_MANAGEDSAIT", LDAP_CONTROL_MANAGEDSAIT, CONST_PERSISTENT);
789 #endif
790 #if defined(LDAP_CONTROL_PROXY_AUTHZ)
791 REGISTER_STRING_CONSTANT("LDAP_CONTROL_PROXY_AUTHZ", LDAP_CONTROL_PROXY_AUTHZ, CONST_PERSISTENT);
792 #endif
793 #if defined(LDAP_CONTROL_SUBENTRIES)
794 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SUBENTRIES", LDAP_CONTROL_SUBENTRIES, CONST_PERSISTENT);
795 #endif
796 #if defined(LDAP_CONTROL_VALUESRETURNFILTER)
797 REGISTER_STRING_CONSTANT("LDAP_CONTROL_VALUESRETURNFILTER", LDAP_CONTROL_VALUESRETURNFILTER, CONST_PERSISTENT);
798 #endif
799 #if defined(LDAP_CONTROL_ASSERT)
800 REGISTER_STRING_CONSTANT("LDAP_CONTROL_ASSERT", LDAP_CONTROL_ASSERT, CONST_PERSISTENT);
801 #endif
802 #if defined(LDAP_CONTROL_ASSERT)
803 REGISTER_STRING_CONSTANT("LDAP_CONTROL_PRE_READ", LDAP_CONTROL_PRE_READ, CONST_PERSISTENT);
804 #endif
805 #if defined(LDAP_CONTROL_ASSERT)
806 REGISTER_STRING_CONSTANT("LDAP_CONTROL_POST_READ", LDAP_CONTROL_POST_READ, CONST_PERSISTENT);
807 #endif
808 #if defined(LDAP_CONTROL_SORTREQUEST)
809 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTREQUEST", LDAP_CONTROL_SORTREQUEST, CONST_PERSISTENT);
810 #endif
811 #if defined(LDAP_CONTROL_SORTREQUEST)
812 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SORTRESPONSE", LDAP_CONTROL_SORTRESPONSE, CONST_PERSISTENT);
813 #endif
814 #if defined(LDAP_CONTROL_PAGEDRESULTS)
815 REGISTER_STRING_CONSTANT("LDAP_CONTROL_PAGEDRESULTS", LDAP_CONTROL_PAGEDRESULTS, CONST_PERSISTENT);
816 #endif
817 #if defined(LDAP_CONTROL_AUTHZID_REQUEST)
818 REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_REQUEST", LDAP_CONTROL_AUTHZID_REQUEST, CONST_PERSISTENT);
819 #endif
820 #if defined(LDAP_CONTROL_AUTHZID_REQUEST)
821 REGISTER_STRING_CONSTANT("LDAP_CONTROL_AUTHZID_RESPONSE", LDAP_CONTROL_AUTHZID_RESPONSE, CONST_PERSISTENT);
822 #endif
823 #if defined(LDAP_CONTROL_SYNC)
824 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC", LDAP_CONTROL_SYNC, CONST_PERSISTENT);
825 #endif
826 #if defined(LDAP_CONTROL_SYNC)
827 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_STATE", LDAP_CONTROL_SYNC_STATE, CONST_PERSISTENT);
828 #endif
829 #if defined(LDAP_CONTROL_SYNC)
830 REGISTER_STRING_CONSTANT("LDAP_CONTROL_SYNC_DONE", LDAP_CONTROL_SYNC_DONE, CONST_PERSISTENT);
831 #endif
832 #if defined(LDAP_CONTROL_DONTUSECOPY)
833 REGISTER_STRING_CONSTANT("LDAP_CONTROL_DONTUSECOPY", LDAP_CONTROL_DONTUSECOPY, CONST_PERSISTENT);
834 #endif
835 #if defined(LDAP_CONTROL_PASSWORDPOLICYREQUEST)
836 REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYREQUEST", LDAP_CONTROL_PASSWORDPOLICYREQUEST, CONST_PERSISTENT);
837 #endif
838 #if defined(LDAP_CONTROL_PASSWORDPOLICYREQUEST)
839 REGISTER_STRING_CONSTANT("LDAP_CONTROL_PASSWORDPOLICYRESPONSE", LDAP_CONTROL_PASSWORDPOLICYRESPONSE, CONST_PERSISTENT);
840 #endif
841 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
842 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_INCREMENTAL_VALUES", LDAP_CONTROL_X_INCREMENTAL_VALUES, CONST_PERSISTENT);
843 #endif
844 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
845 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_DOMAIN_SCOPE", LDAP_CONTROL_X_DOMAIN_SCOPE, CONST_PERSISTENT);
846 #endif
847 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
848 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_PERMISSIVE_MODIFY", LDAP_CONTROL_X_PERMISSIVE_MODIFY, CONST_PERSISTENT);
849 #endif
850 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
851 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_SEARCH_OPTIONS", LDAP_CONTROL_X_SEARCH_OPTIONS, CONST_PERSISTENT);
852 #endif
853 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
854 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_TREE_DELETE", LDAP_CONTROL_X_TREE_DELETE, CONST_PERSISTENT);
855 #endif
856 #if defined(LDAP_CONTROL_X_INCREMENTAL_VALUES)
857 REGISTER_STRING_CONSTANT("LDAP_CONTROL_X_EXTENDED_DN", LDAP_CONTROL_X_EXTENDED_DN, CONST_PERSISTENT);
858 #endif
859 #if defined(LDAP_CONTROL_VLVREQUEST)
860 REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVREQUEST", LDAP_CONTROL_VLVREQUEST, CONST_PERSISTENT);
861 #endif
862 #if defined(LDAP_CONTROL_VLVREQUEST)
863 REGISTER_STRING_CONSTANT("LDAP_CONTROL_VLVRESPONSE", LDAP_CONTROL_VLVRESPONSE, CONST_PERSISTENT);
864 #endif
865
866 #if defined(HAVE_ORALDAP)
867
868 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect", sizeof("ldap_connect") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
869 #endif
870 #if defined(HAVE_ORALDAP) && defined(LDAP_API_FEATURE_X_OPENLDAP)
871
872 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_connect_wallet", sizeof("ldap_connect_wallet") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
873 #endif
874
875 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_bind", sizeof("ldap_bind") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
876
877 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_bind_ext", sizeof("ldap_bind_ext") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
878 #if defined(HAVE_LDAP_SASL)
879
880 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_sasl_bind", sizeof("ldap_sasl_bind") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
881 #endif
882 #if defined(HAVE_LDAP_PASSWD)
883
884 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_exop_passwd", sizeof("ldap_exop_passwd") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
885
886 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "ldap_exop_passwd", sizeof("ldap_exop_passwd") - 1), 3, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
887 #endif
888 }
889
register_class_LDAP_Connection(void)890 static zend_class_entry *register_class_LDAP_Connection(void)
891 {
892 zend_class_entry ce, *class_entry;
893
894 INIT_NS_CLASS_ENTRY(ce, "LDAP", "Connection", class_LDAP_Connection_methods);
895 class_entry = zend_register_internal_class_ex(&ce, NULL);
896 class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
897
898 return class_entry;
899 }
900
register_class_LDAP_Result(void)901 static zend_class_entry *register_class_LDAP_Result(void)
902 {
903 zend_class_entry ce, *class_entry;
904
905 INIT_NS_CLASS_ENTRY(ce, "LDAP", "Result", class_LDAP_Result_methods);
906 class_entry = zend_register_internal_class_ex(&ce, NULL);
907 class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
908
909 return class_entry;
910 }
911
register_class_LDAP_ResultEntry(void)912 static zend_class_entry *register_class_LDAP_ResultEntry(void)
913 {
914 zend_class_entry ce, *class_entry;
915
916 INIT_NS_CLASS_ENTRY(ce, "LDAP", "ResultEntry", class_LDAP_ResultEntry_methods);
917 class_entry = zend_register_internal_class_ex(&ce, NULL);
918 class_entry->ce_flags |= ZEND_ACC_FINAL|ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
919
920 return class_entry;
921 }
922