new RPMs/diff
Joe Little
jlittle at open-it.org
Tue Oct 2 20:03:15 CEST 2001
I've placed on open-it.org the latest release of my python-ldap package in
the redhat7.1 directory. Release 5 removes the UFN and URL support that
has caused a problem for post openldap 2.0.11 systems. The "final" patch
for this release simply removes the code. This may not be ideal. I hope to
incorporate the latest mem-leak patches against the cvs tree and release
yet another edition within a week if possible.
Here for posterity is the patch
--- python-ldap-1.10alpha3/Modules/LDAPObject.c.orig Tue Oct 2 09:47:47 2001
+++ python-ldap-1.10alpha3/Modules/LDAPObject.c Tue Oct 2 10:14:42 2001
@@ -1421,149 +1421,6 @@
/* ldap_search_s == ldap_search_st */
-/* ldap_ufn_search_c */
-
-/* ldap_ufn_search_ct */
-
-/* ldap_ufn_search_s */
-
-static PyObject*
-l_ldap_ufn_search_s( LDAPObject* self, PyObject* args )
-{
- char *ufn;
- PyObject *attrlist;
- char **attrs;
- int attrsonly = 0;
- LDAPMessage *resmsg = NULL;
- int result;
-
- if (!PyArg_ParseTuple( args, "sO|i",
- &ufn, &attrlist, &attrsonly)) return NULL;
- if (not_valid(self)) return NULL;
-
- if (!attrs_from_List( attrlist, &attrs ))
- return NULL;
-
- LDAP_BEGIN_ALLOW_THREADS( self );
- result = ldap_ufn_search_s( self->ldap, ufn,
- attrs, attrsonly, &resmsg );
- LDAP_END_ALLOW_THREADS( self );
-
- free_attrs( &attrs );
-
- if (result != LDAP_SUCCESS)
- return LDAPerror( self->ldap, "ldap_ufn_search_s" );
-
- if (resmsg == NULL) {
- Py_INCREF( Py_None );
- return Py_None;
- } else {
- return LDAPmessage_to_python( self->ldap, resmsg );
- }
-}
-
-
-/* ldap_ufn_setfilter */
-
-static PyObject*
-l_ldap_ufn_setfilter( LDAPObject* self, PyObject* args )
-{
- char* filter;
- LDAPFiltDesc* res;
-
- if (!PyArg_ParseTuple( args, "s", &filter)) return NULL;
- if (not_valid(self)) return NULL;
- res = ldap_ufn_setfilter( self->ldap, filter );
-
- if (res == NULL)
- return LDAPerror(NULL, "ldap_ufn_setfilter");
-
- Py_INCREF( Py_None );
- return Py_None;
-}
-
-/* ldap_ufn_setprefix */
-
-static PyObject*
-l_ldap_ufn_setprefix( LDAPObject* self, PyObject* args )
-{
- char* prefix;
-
- if (!PyArg_ParseTuple( args, "s", &prefix)) return NULL;
- if (not_valid(self)) return NULL;
- ldap_ufn_setprefix( self->ldap, prefix );
- Py_INCREF( Py_None );
- return Py_None;
-}
-
-static char doc_ufn[] =
-"ufn_setfilter(filtername) -> None\n"
-"ufn_setprefix(prefix) -> None\n"
-"ufn_search_s(url [,attrsonly=0])\n"
-"ufn_search_st(url [,attrsonly=0 [,timeout=-1]])\n\n"
-"\tSee the LDAP library manual pages for more information on these\n"
-"\t`user-friendly name' functions.";
-
-/* ldap_sort_entries */
-
-/* ldap_url_search */
-
-/* ldap_url_search_s */
-
-/* ldap_url_search_st */
-
-static PyObject*
-l_ldap_url_search_st( LDAPObject* self, PyObject* args )
-{
- char *url;
- int attrsonly = 0;
- LDAPMessage *resmsg;
- int result;
- double timeout = -1.0;
- struct timeval tv, *tvp;
-
- if (!PyArg_ParseTuple( args, "s|id", &url, &attrsonly, &timeout ))
- return NULL;
- if (not_valid(self)) return NULL;
-
- if (timeout>=0) {
- tvp = &tv;
- set_timeval_from_double( tvp, timeout );
- } else {
- tvp = NULL;
- }
-
- LDAP_BEGIN_ALLOW_THREADS( self );
- result = ldap_url_search_st( self->ldap, url, attrsonly, tvp, &resmsg );
- LDAP_END_ALLOW_THREADS( self );
-
- if (result != LDAP_SUCCESS)
- return LDAPerror( self->ldap, "ldap_ufn_search_st" );
-
- if (resmsg == NULL) {
- Py_INCREF( Py_None );
- return Py_None;
- } else {
- return LDAPmessage_to_python( self->ldap, resmsg );
- }
-}
-
-static char doc_url_search[] =
-"url_search_s(url [,attrsonly=0])\n"
-"url_search_s(url [,attrsonly=0 [,timeout=-1]])\n\n"
-"\tThese routine works much like search_s*, except that many\n"
-"\tsearch parameters are pulled out of the URL url.\n"
-"\n"
-"\tLDAP URLs look like this:\n"
-"\t ldap://host[:port]/dn[?attributes[?scope[?filter]]]\n"
-"\n"
-"\twhere scope is one of 'base' (default), 'one' or 'sub',\n"
-"\tand attributes is a comma-separated list of attributes to\n"
-"\tbe retrieved.\n"
-"\n"
-"\tURLs wrapped in angle-brackets and/or preceded by 'URL:'\n"
-"\tare tolerated.";
-
/* methods */
static PyMethodDef methods[] = {
@@ -1631,11 +1488,6 @@
{"search", (PyCFunction)l_ldap_search, METH_VARARGS, doc_search},
{"search_s", (PyCFunction)l_ldap_search_st, METH_VARARGS, doc_search},
{"search_st", (PyCFunction)l_ldap_search_st, METH_VARARGS, doc_search},
- {"ufn_search_s", (PyCFunction)l_ldap_ufn_search_s, METH_VARARGS, doc_ufn},
- {"ufn_setfilter", (PyCFunction)l_ldap_ufn_setfilter, METH_VARARGS, doc_ufn},
- {"ufn_setprefix", (PyCFunction)l_ldap_ufn_setprefix, METH_VARARGS, doc_ufn},
- {"url_search_s", (PyCFunction)l_ldap_url_search_st, METH_VARARGS, doc_url_search},
- {"url_search_st", (PyCFunction)l_ldap_url_search_st, METH_VARARGS, doc_url_search},
{ NULL, NULL }
};
More information about the python-ldap
mailing list