@@ -415,7 +415,7 @@ l_ldap_unbind_ext(LDAPObject *self, PyObject *args)
415415 LDAPControl_List_DEL (client_ldcs );
416416
417417 if (ldaperror != LDAP_SUCCESS )
418- return LDAPerror (self -> ldap , "ldap_unbind_ext" );
418+ return LDAPerror (self -> ldap );
419419
420420 self -> valid = 0 ;
421421 Py_INCREF (Py_None );
@@ -461,7 +461,7 @@ l_ldap_abandon_ext(LDAPObject *self, PyObject *args)
461461 LDAPControl_List_DEL (client_ldcs );
462462
463463 if (ldaperror != LDAP_SUCCESS )
464- return LDAPerror (self -> ldap , "ldap_abandon_ext" );
464+ return LDAPerror (self -> ldap );
465465
466466 Py_INCREF (Py_None );
467467 return Py_None ;
@@ -517,7 +517,7 @@ l_ldap_add_ext(LDAPObject *self, PyObject *args)
517517 LDAPControl_List_DEL (client_ldcs );
518518
519519 if (ldaperror != LDAP_SUCCESS )
520- return LDAPerror (self -> ldap , "ldap_add_ext" );
520+ return LDAPerror (self -> ldap );
521521
522522 return PyInt_FromLong (msgid );
523523}
@@ -568,7 +568,7 @@ l_ldap_simple_bind(LDAPObject *self, PyObject *args)
568568 LDAPControl_List_DEL (client_ldcs );
569569
570570 if (ldaperror != LDAP_SUCCESS )
571- return LDAPerror (self -> ldap , "ldap_simple_bind" );
571+ return LDAPerror (self -> ldap );
572572
573573 return PyInt_FromLong (msgid );
574574}
@@ -727,7 +727,7 @@ l_ldap_sasl_bind_s(LDAPObject *self, PyObject *args)
727727 servercred -> bv_len );
728728 }
729729 else if (ldaperror != LDAP_SUCCESS )
730- return LDAPerror (self -> ldap , "l_ldap_sasl_bind_s" );
730+ return LDAPerror (self -> ldap );
731731 return PyInt_FromLong (ldaperror );
732732}
733733
@@ -806,7 +806,7 @@ l_ldap_sasl_interactive_bind_s(LDAPObject *self, PyObject *args)
806806 LDAPControl_List_DEL (client_ldcs );
807807
808808 if (msgid != LDAP_SUCCESS )
809- return LDAPerror (self -> ldap , "ldap_sasl_interactive_bind_s" );
809+ return LDAPerror (self -> ldap );
810810 return PyInt_FromLong (msgid );
811811}
812812#endif
@@ -854,7 +854,7 @@ l_ldap_cancel(LDAPObject *self, PyObject *args)
854854 LDAPControl_List_DEL (client_ldcs );
855855
856856 if (ldaperror != LDAP_SUCCESS )
857- return LDAPerror (self -> ldap , "ldap_cancel" );
857+ return LDAPerror (self -> ldap );
858858
859859 return PyInt_FromLong (msgid );
860860}
@@ -908,7 +908,7 @@ l_ldap_compare_ext(LDAPObject *self, PyObject *args)
908908 LDAPControl_List_DEL (client_ldcs );
909909
910910 if (ldaperror != LDAP_SUCCESS )
911- return LDAPerror (self -> ldap , "ldap_compare_ext" );
911+ return LDAPerror (self -> ldap );
912912
913913 return PyInt_FromLong (msgid );
914914}
@@ -954,7 +954,7 @@ l_ldap_delete_ext(LDAPObject *self, PyObject *args)
954954 LDAPControl_List_DEL (client_ldcs );
955955
956956 if (ldaperror != LDAP_SUCCESS )
957- return LDAPerror (self -> ldap , "ldap_delete_ext" );
957+ return LDAPerror (self -> ldap );
958958
959959 return PyInt_FromLong (msgid );
960960}
@@ -1011,7 +1011,7 @@ l_ldap_modify_ext(LDAPObject *self, PyObject *args)
10111011 LDAPControl_List_DEL (client_ldcs );
10121012
10131013 if (ldaperror != LDAP_SUCCESS )
1014- return LDAPerror (self -> ldap , "ldap_modify_ext" );
1014+ return LDAPerror (self -> ldap );
10151015
10161016 return PyInt_FromLong (msgid );
10171017}
@@ -1061,7 +1061,7 @@ l_ldap_rename(LDAPObject *self, PyObject *args)
10611061 LDAPControl_List_DEL (client_ldcs );
10621062
10631063 if (ldaperror != LDAP_SUCCESS )
1064- return LDAPerror (self -> ldap , "ldap_rename" );
1064+ return LDAPerror (self -> ldap );
10651065
10661066 return PyInt_FromLong (msgid );
10671067}
@@ -1081,12 +1081,11 @@ l_ldap_result4(LDAPObject *self, PyObject *args)
10811081 struct timeval * tvp ;
10821082 int res_type ;
10831083 LDAPMessage * msg = NULL ;
1084- PyObject * result_str , * retval , * pmsg , * pyctrls = 0 ;
1084+ PyObject * retval , * pmsg , * pyctrls = 0 ;
10851085 int res_msgid = 0 ;
10861086 char * retoid = 0 ;
10871087 PyObject * valuestr = NULL ;
10881088 int result = LDAP_SUCCESS ;
1089- char * * refs = NULL ;
10901089 LDAPControl * * serverctrls = 0 ;
10911090
10921091 if (!PyArg_ParseTuple
@@ -1109,7 +1108,7 @@ l_ldap_result4(LDAPObject *self, PyObject *args)
11091108 LDAP_END_ALLOW_THREADS (self );
11101109
11111110 if (res_type < 0 ) /* LDAP or system error */
1112- return LDAPerror (self -> ldap , "ldap_result4" );
1111+ return LDAPerror (self -> ldap );
11131112
11141113 if (res_type == 0 ) {
11151114 /* Polls return (None, None, None, None); timeouts raise an exception */
@@ -1157,24 +1156,15 @@ l_ldap_result4(LDAPObject *self, PyObject *args)
11571156 }
11581157
11591158 LDAP_BEGIN_ALLOW_THREADS (self );
1160- rc = ldap_parse_result (self -> ldap , msg , & result , NULL , NULL , & refs ,
1159+ rc = ldap_parse_result (self -> ldap , msg , & result , NULL , NULL , NULL ,
11611160 & serverctrls , 0 );
11621161 LDAP_END_ALLOW_THREADS (self );
11631162 }
11641163
11651164 if (result != LDAP_SUCCESS ) { /* result error */
1166- char * e , err [1024 ];
1167-
1168- if (result == LDAP_REFERRAL && refs && refs [0 ]) {
1169- snprintf (err , sizeof (err ), "Referral:\n%s" , refs [0 ]);
1170- e = err ;
1171- }
1172- else
1173- e = "ldap_parse_result" ;
11741165 ldap_controls_free (serverctrls );
1175- ldap_msgfree (msg );
11761166 Py_XDECREF (valuestr );
1177- return LDAPerror (self -> ldap , e );
1167+ return LDAPraise_for_message (self -> ldap , msg );
11781168 }
11791169
11801170 if (!(pyctrls = LDAPControls_to_List (serverctrls ))) {
@@ -1186,34 +1176,26 @@ l_ldap_result4(LDAPObject *self, PyObject *args)
11861176 ldap_controls_free (serverctrls );
11871177 ldap_msgfree (msg );
11881178 Py_XDECREF (valuestr );
1189- return LDAPerror (self -> ldap , "LDAPControls_to_List" );
1179+ return LDAPerror (self -> ldap );
11901180 }
11911181 ldap_controls_free (serverctrls );
11921182
11931183 pmsg =
11941184 LDAPmessage_to_python (self -> ldap , msg , add_ctrls , add_intermediates );
11951185
1196- if (res_type == 0 ) {
1197- result_str = Py_None ;
1198- Py_INCREF (Py_None );
1199- }
1200- else {
1201- result_str = PyInt_FromLong (res_type );
1202- }
1203-
12041186 if (pmsg == NULL ) {
12051187 retval = NULL ;
12061188 }
12071189 else {
12081190 /* s handles NULL, but O does not */
12091191 if (add_extop ) {
1210- retval = Py_BuildValue ("(OOiOsO )" , result_str , pmsg , res_msgid ,
1192+ retval = Py_BuildValue ("(iOiOsO )" , res_type , pmsg , res_msgid ,
12111193 pyctrls , retoid ,
12121194 valuestr ? valuestr : Py_None );
12131195 }
12141196 else {
12151197 retval =
1216- Py_BuildValue ("(OOiO )" , result_str , pmsg , res_msgid , pyctrls );
1198+ Py_BuildValue ("(iOiO )" , res_type , pmsg , res_msgid , pyctrls );
12171199 }
12181200
12191201 if (pmsg != Py_None ) {
@@ -1222,7 +1204,6 @@ l_ldap_result4(LDAPObject *self, PyObject *args)
12221204 }
12231205 Py_XDECREF (valuestr );
12241206 Py_XDECREF (pyctrls );
1225- Py_DECREF (result_str );
12261207 return retval ;
12271208}
12281209
@@ -1296,7 +1277,7 @@ l_ldap_search_ext(LDAPObject *self, PyObject *args)
12961277 LDAPControl_List_DEL (client_ldcs );
12971278
12981279 if (ldaperror != LDAP_SUCCESS )
1299- return LDAPerror (self -> ldap , "ldap_search_ext" );
1280+ return LDAPerror (self -> ldap );
13001281
13011282 return PyInt_FromLong (msgid );
13021283}
@@ -1343,7 +1324,7 @@ l_ldap_whoami_s(LDAPObject *self, PyObject *args)
13431324
13441325 if (ldaperror != LDAP_SUCCESS ) {
13451326 ber_bvfree (bvalue );
1346- return LDAPerror (self -> ldap , "ldap_whoami_s" );
1327+ return LDAPerror (self -> ldap );
13471328 }
13481329
13491330 result = LDAPberval_to_unicode_object (bvalue );
@@ -1370,7 +1351,7 @@ l_ldap_start_tls_s(LDAPObject *self, PyObject *args)
13701351 LDAP_END_ALLOW_THREADS (self );
13711352 if (ldaperror != LDAP_SUCCESS ) {
13721353 ldap_set_option (self -> ldap , LDAP_OPT_ERROR_NUMBER , & ldaperror );
1373- return LDAPerror (self -> ldap , "ldap_start_tls_s" );
1354+ return LDAPerror (self -> ldap );
13741355 }
13751356
13761357 Py_INCREF (Py_None );
@@ -1462,7 +1443,7 @@ l_ldap_passwd(LDAPObject *self, PyObject *args)
14621443 LDAPControl_List_DEL (client_ldcs );
14631444
14641445 if (ldaperror != LDAP_SUCCESS )
1465- return LDAPerror (self -> ldap , "ldap_passwd" );
1446+ return LDAPerror (self -> ldap );
14661447
14671448 return PyInt_FromLong (msgid );
14681449}
@@ -1513,7 +1494,7 @@ l_ldap_extended_operation(LDAPObject *self, PyObject *args)
15131494 LDAPControl_List_DEL (client_ldcs );
15141495
15151496 if (ldaperror != LDAP_SUCCESS )
1516- return LDAPerror (self -> ldap , "ldap_extended_operation" );
1497+ return LDAPerror (self -> ldap );
15171498
15181499 return PyInt_FromLong (msgid );
15191500}
0 commit comments