1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<refentry id="fn_ldap_modify">
<refmeta>
<refentrytitle>ldap_modify</refentrytitle>
<refmiscinfo>ldap</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ldap_modify</refname>
<refpurpose>Modifies an existing LDAP directory.</refpurpose>
</refnamediv>
<refsynopsisdiv>
<funcsynopsis id="fsyn_ldap_modify">
<funcprototype id="fproto_ldap_modify">
<funcdef>int <function>ldap_modify</function></funcdef>
<paramdef>in <parameter>server_url </parameter>varchar</paramdef>
<paramdef>in <parameter>try_tls </parameter>integer</paramdef>
<paramdef>in <parameter>data </parameter>varchar</paramdef>
<paramdef>in <parameter>username </parameter>varchar</paramdef>
<paramdef>in <parameter>password </parameter>varchar</paramdef>
</funcprototype>
</funcsynopsis>
</refsynopsisdiv>
<refsect1 id="desc_ldap_modify"><title>Description</title>
<para>This function modifies an existing LDAP directory entry.</para>
</refsect1>
<refsect1 id="params_ldap_modify"><title>Parameters</title>
<refsect2><title>server_url</title>
<para>The server URL has three parts, <protocol>://<host>:<port>.
Missing parameters will be defaulted to: <programlisting><ldap://localhost:389></programlisting>.</para>
</refsect2>
<refsect2><title>try_tls</title>
<para><parameter>try_tls</parameter> is a flag that tells the client to perform a handshake
with the LDAP server using a secure connection. This is only applicable to the
ldap:// protocol and not ldaps://.</para>
</refsect2>
<refsect2><title>data</title>
<para><parameter>data</parameter> is an array with name/value pairs
representing the data of the modified entry.</para>
</refsect2>
<refsect2><title>username</title>
<para>username authorization credential</para>
</refsect2>
<refsect2><title>password</title>
<para>password authorization credential</para>
</refsect2>
</refsect1>
<refsect1 id="ret_ldap_modify"><title>Return Types</title>
<para>The error status code is returned.</para>
<para>This function will return zero on success or non-zero in case of a failure.
In case of a failure the signal will be raised according to SQL error codes and
Virtuoso internal error codes.</para>
<para>The reserved prefix for internal errors is 'LD'.</para>
</refsect1>
<refsect1 id="errors_ldap_modify"><title>Errors</title>
<table><title>Errors signalled by <function>ldap_modify</function></title>
<tgroup cols="4">
<thead><row><entry>SQLState</entry><entry>Error Code</entry><entry>Error Text</entry><entry>Description</entry></row></thead>
<tbody>
<row>
<entry><errorcode>2E000</errorcode></entry>
<entry><errorcode>LD005</errorcode></entry>
<entry><errorname>Failed to initialize LDAP connection: <reason> (<reason code>)</errorname></entry>
<entry></entry>
</row>
<row>
<entry><errorcode>2E000</errorcode></entry>
<entry><errorcode>LD006</errorcode></entry>
<entry><errorname>Failed to set LDAP version option: <reason> (<reason code>)</errorname></entry>
<entry></entry>
</row>
<row>
<entry><errorcode>2E000</errorcode></entry>
<entry><errorcode>LD016</errorcode></entry>
<entry><errorname>Failed to start TLS: <reason> (<reason code>)</errorname></entry>
<entry></entry>
</row>
<row>
<entry><errorcode>28000</errorcode></entry>
<entry><errorcode>LD007</errorcode></entry>
<entry><errorname>Failed to bind synchronous LDAP connection: <reason> (<reason code>)</errorname></entry>
<entry></entry>
</row>
<row>
<entry><errorcode>2E000</errorcode></entry>
<entry><errorcode>LD004</errorcode></entry>
<entry><errorname>The DN must be supplied</errorname></entry>
<entry></entry>
</row>
<row>
<entry><errorcode>2E000</errorcode></entry>
<entry><errorcode>LD004</errorcode></entry>
<entry><errorname>Failed to modify err=<reason code (<reason>)</errorname></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
</refsect1>
<refsect1 id="examples_ldap_modify"><title>Examples</title>
<example id="ex_ldap_modify">
<!-- <title>Using ldap_modify</title>
-->
<programlisting>
create procedure
sam_ldap_modify (in s1 varchar, in s2 varchar)
{
declare res, vec any;
declare _from_modify integer;
vec := vector ('dn', concat ('cn=', s1, ' ', s2, ',o=opl,c=BG'), 'mail',
vector('new_mail@techno-link.com'), 'telephoneNumber',
vector('123-45-00', '032-633710', '048 850 760') );
_from_modify := ldap_modify ('ldap://localhost:389', 0, vec, NULL);
return (_from_modify);
};
</programlisting>
</example>
</refsect1>
<refsect1 id="seealso_ldap_modify"><title>See Also</title>
<para><link
linkend="fn_ldap_add"><function>ldap_add()</function></link>,
<link linkend="fn_ldap_delete"><function>ldap_delete()</function></link>,
<link linkend="fn_ldap_search"><function>ldap_search()</function></link></para>
</refsect1>
</refentry>
|