Thread: [gq-commit] gq/src browse-dnd.c,1.21,1.22 browse-export.c,1.6,1.7 browse.c,1.95,1.96 formfill.c,1.45
Status: Beta
Brought to you by:
sur5r
Update of /cvsroot/gqclient/gq/src In directory sc8-pr-cvs1:/tmp/cvs-serv12738 Modified Files: browse-dnd.c browse-export.c browse.c formfill.c input.c ldapops.c schema.c server-browse.c tinput.c util.c Log Message: try to fall back on regular LDAP operations if *_ext calls fail Index: browse-dnd.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/browse-dnd.c,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** browse-dnd.c 3 Nov 2003 21:07:56 -0000 1.21 --- browse-dnd.c 7 Nov 2003 12:02:10 -0000 1.22 *************** *** 912,916 **** dn, /* base */ scope, /* search scope */ ! "objectClass=*", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ --- 912,916 ---- dn, /* base */ scope, /* search scope */ ! "(objectClass=*)", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ *************** *** 920,923 **** --- 920,927 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); + + if(rc == LDAP_NOT_SUPPORTED) { + rc = ldap_search_s(ld, dn, scope, "(objectClass=*)", attrs, 0, &res); + } if (rc == LDAP_SUCCESS) { Index: browse-export.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/browse-export.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** browse-export.c 3 Nov 2003 22:28:24 -0000 1.6 --- browse-export.c 7 Nov 2003 12:02:10 -0000 1.7 *************** *** 185,190 **** LDAP_NO_LIMIT, /* sizelimit */ &res); ! ! if (rc == LDAP_SUCCESS) { for(e = ldap_first_entry(ld, res); e; e = ldap_next_entry(ld, e)) { --- 185,196 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); ! ! if(rc == LDAP_NOT_SUPPORTED) { ! rc = ldap_search_s(ld, (char *) dos->dn, ! dos->flags == LDAP_SCOPE_SUBTREE ? LDAP_SCOPE_SUBTREE : LDAP_SCOPE_BASE, ! "(objectClass=*)", ! attrs, 0, &res); ! } ! if (rc == LDAP_SUCCESS) { for(e = ldap_first_entry(ld, res); e; e = ldap_next_entry(ld, e)) { Index: browse.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/browse.c,v retrieving revision 1.95 retrieving revision 1.96 diff -C2 -d -r1.95 -r1.96 *** browse.c 3 Nov 2003 21:14:41 -0000 1.95 --- browse.c 7 Nov 2003 12:02:10 -0000 1.96 *************** *** 1023,1026 **** --- 1023,1032 ---- &res); + if(rc == LDAP_NOT_SUPPORTED) { + rc = ldap_search_s(ld, s->str, LDAP_SCOPE_BASE, + "(objectClass=*)", + attrs, 0, &res); + } + if (rc == LDAP_SUCCESS) { e = ldap_first_entry(ld, res); Index: formfill.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/formfill.c,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** formfill.c 3 Nov 2003 21:07:57 -0000 1.45 --- formfill.c 7 Nov 2003 12:02:11 -0000 1.46 *************** *** 204,209 **** LDAP_NO_LIMIT, /* sizelimit */ &res); ! ! if (rc == LDAP_SERVER_DOWN) { server->server_down++; --- 204,213 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); ! ! if(rc == LDAP_NOT_SUPPORTED) { ! rc = ldap_search_s(ld, dn, LDAP_SCOPE_BASE, "(objectclass=*)", ! server->hide_internal ? NULL : attrs, 0, &res); ! } ! if (rc == LDAP_SERVER_DOWN) { server->server_down++; *************** *** 214,218 **** return(formlist); } ! if (rc == LDAP_SUCCESS) { entry = ldap_first_entry(ld, res); --- 218,222 ---- return(formlist); } ! if (rc == LDAP_SUCCESS) { entry = ldap_first_entry(ld, res); Index: input.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/input.c,v retrieving revision 1.83 retrieving revision 1.84 diff -C2 -d -r1.83 -r1.84 *** input.c 3 Nov 2003 21:28:37 -0000 1.83 --- input.c 7 Nov 2003 12:02:11 -0000 1.84 *************** *** 1634,1637 **** --- 1634,1642 ---- res = ldap_add_ext_s(ld, dn, mods, ctrls, NULL); + + if(res == LDAP_NOT_SUPPORTED) { + res = ldap_add_s(ld, dn, mods); + } + ldap_mods_free(mods, 1); *************** *** 1774,1777 **** --- 1779,1787 ---- res = ldap_modify_ext_s(ld, dn, mods, ctrls, NULL); + + if(res == LDAP_NOT_SUPPORTED) { + res = ldap_modify_s(ld, dn, mods); + } + if (res == LDAP_SERVER_DOWN) { server->server_down++; Index: ldapops.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/ldapops.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** ldapops.c 3 Nov 2003 21:07:57 -0000 1.22 --- ldapops.c 7 Nov 2003 12:02:12 -0000 1.23 *************** *** 89,100 **** source_dn, /* search base */ LDAP_SCOPE_BASE, /* scope */ ! "objectClass=*", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ ctrls, /* serverctrls */ ! NULL, /* clientctrls */ ! NULL, /* timeout */ LDAP_NO_LIMIT, /* sizelimit */ &res); if (rc != LDAP_SUCCESS) { --- 89,105 ---- source_dn, /* search base */ LDAP_SCOPE_BASE, /* scope */ ! "(objectClass=*)", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ ctrls, /* serverctrls */ ! NULL, /* clientctrls */ ! NULL, /* timeout */ LDAP_NO_LIMIT, /* sizelimit */ &res); + + if(rc == LDAP_NOT_SUPPORTED) { + rc = ldap_search_s(sld, source_dn, LDAP_SCOPE_BASE, + "(objectClass=*)", attrs, 0, &res); + } if (rc != LDAP_SUCCESS) { *************** *** 301,305 **** source_dn, /* search base */ LDAP_SCOPE_ONELEVEL, /* scope */ ! "objectClass=*", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ --- 306,310 ---- source_dn, /* search base */ LDAP_SCOPE_ONELEVEL, /* scope */ ! "(objectClass=*)", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ *************** *** 309,313 **** LDAP_NO_LIMIT, /* sizelimit */ &res); ! if (rc == LDAP_SUCCESS) { for(e = ldap_first_entry(sld, res) ; --- 314,325 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); ! ! if(rc == LDAP_NOT_SUPPORTED) { ! rc = ldap_search_s(sld, source_dn, ! LDAP_SCOPE_ONELEVEL, ! "(objectClass=*)", ! attrs, 0, &res); ! } ! if (rc == LDAP_SUCCESS) { for(e = ldap_first_entry(sld, res) ; *************** *** 365,368 **** --- 377,386 ---- if (flags & MOVE_DELETE_MOVED && ok) { rc = ldap_delete_ext_s(sld, source_dn, ctrls, NULL); + + if(rc == LDAP_NOT_SUPPORTED) { + rc = ldap_delete_s(sld, source_dn); + } + + #if HAVE_LDAP_CLIENT_CACHE ldap_uncache_entry(sld, source_dn); Index: schema.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/schema.c,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** schema.c 3 Nov 2003 21:07:58 -0000 1.27 --- schema.c 7 Nov 2003 12:02:12 -0000 1.28 *************** *** 135,138 **** --- 135,143 ---- &res); + if(msg == LDAP_NOT_SUPPORTED) { + msg = ldap_search_s(ld, "", LDAP_SCOPE_BASE, "(objectClass=*)", + (char **) subschemasubentry, 0, &res); + } + if(msg != LDAP_SUCCESS) { if (msg == LDAP_SERVER_DOWN) { *************** *** 177,183 **** msg = ldap_search_ext_s(ld, subschema, LDAP_SCOPE_BASE, ! "(objectclass=*)", (char**) schema_attrs, 0, NULL, NULL, NULL, LDAP_NO_LIMIT, &res); g_free_if(subschema); --- 182,194 ---- msg = ldap_search_ext_s(ld, subschema, LDAP_SCOPE_BASE, ! "(objectClass=*)", (char**) schema_attrs, 0, NULL, NULL, NULL, LDAP_NO_LIMIT, &res); + + if(msg == LDAP_NOT_SUPPORTED) { + msg = ldap_search_s(ld, subschema, LDAP_SCOPE_BASE, + "(objectClass=*)", (char**) schema_attrs, 0, + &res); + } g_free_if(subschema); Index: server-browse.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/server-browse.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** server-browse.c 2 Nov 2003 17:23:49 -0000 1.8 --- server-browse.c 7 Nov 2003 12:02:12 -0000 1.9 *************** *** 397,401 **** msg = ldap_search_ext_s(ld, "", LDAP_SCOPE_BASE, /* scope */ ! "(objectclass=*)", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ --- 397,401 ---- msg = ldap_search_ext_s(ld, "", LDAP_SCOPE_BASE, /* scope */ ! "(objectClass=*)", /* filter */ attrs, /* attrs */ 0, /* attrsonly */ *************** *** 405,408 **** --- 405,414 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); + + if(msg == LDAP_NOT_SUPPORTED) { + msg = ldap_search_s(ld, "", LDAP_SCOPE_BASE, + "(objectClass=*)", + attrs, 0, &res); + } if(msg != LDAP_SUCCESS) { Index: tinput.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/tinput.c,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** tinput.c 2 Nov 2003 07:20:44 -0000 1.44 --- tinput.c 7 Nov 2003 12:02:12 -0000 1.45 *************** *** 129,133 **** msg = ldap_search_ext_s(ld, dn, LDAP_SCOPE_BASE, ! "(objectclass=*)", oc_only, /* attrs */ 0, /* attrsonly */ --- 129,133 ---- msg = ldap_search_ext_s(ld, dn, LDAP_SCOPE_BASE, ! "(objectClass=*)", oc_only, /* attrs */ 0, /* attrsonly */ *************** *** 137,140 **** --- 137,146 ---- LDAP_NO_LIMIT, /* sizelimit */ &res); + + if(msg == LDAP_NOT_SUPPORTED) { + msg = ldap_search_s(ld, dn, LDAP_SCOPE_BASE, + "(objectClass=*)", + oc_only, 0, &res); + } if(msg != LDAP_SUCCESS) { Index: util.c =================================================================== RCS file: /cvsroot/gqclient/gq/src/util.c,v retrieving revision 1.89 retrieving revision 1.90 diff -C2 -d -r1.89 -r1.90 *** util.c 3 Nov 2003 22:28:24 -0000 1.89 --- util.c 7 Nov 2003 12:02:13 -0000 1.90 *************** *** 702,706 **** msg = ldap_search_ext_s(ld, dn, LDAP_SCOPE_ONELEVEL, ! "(objectclass=*)", (char **)attrs, /* attrs */ 1, /* attrsonly */ --- 702,706 ---- msg = ldap_search_ext_s(ld, dn, LDAP_SCOPE_ONELEVEL, ! "(objectClass=*)", (char **)attrs, /* attrs */ 1, /* attrsonly */ *************** *** 711,714 **** --- 711,720 ---- &res); + if(msg == LDAP_NOT_SUPPORTED) { + msg = ldap_search_s(ld, dn, LDAP_SCOPE_ONELEVEL, + "(objectClass=*)", + (char **) attrs, 1, &res); + } + if(msg == LDAP_SUCCESS) { for (e = ldap_first_entry(ld, res); e ; *************** *** 738,742 **** msg = ldap_delete_ext_s(ld, dn, ctrls, NULL); ! /* msg = ldap_delete_s(ld, dn); */ #if HAVE_LDAP_CLIENT_CACHE ldap_uncache_entry(ld, dn); --- 744,751 ---- msg = ldap_delete_ext_s(ld, dn, ctrls, NULL); ! if(msg == LDAP_NOT_SUPPORTED) { ! msg = ldap_delete_s(ld, dn); ! } ! #if HAVE_LDAP_CLIENT_CACHE ldap_uncache_entry(ld, dn); |