LDAP_HATASI

Protokol hatalarını yönetmek ya da işlemek için LDAP_ERROR API ' yı ya da LDAP yordamını kullanın.

  • ldap_get_errno
  • ldap_get_lderrno
  • ldap_set_lderrno
  • ldap_perror (kullanımdan kaldırıldı)
  • ldap_result2error (kullanımdan kaldırıldı)
  • ldap_err2string
  • ldap_get_exterror

Özet

#include ldap.h


int ldap_get_errno(
         LDAP        *ld);

int ldap_get_lderrno (
         LDAP        *ld,
         char        **dn,
         char        **errmsg);

int ldap_set_lderrno (
         LDAP        *ld,
         int         errnum,
         char        *dn,
         char        *errmsg);

void ldap_perror(
        LDAP         *ld,
        const char   *s);

int ldap_result2error(
        LDAP         *ld,
        LDAPMessage  *res,
        int          freeit);

const char *ldap_err2string(
        int          error);

int ldap_get_exterror(
         LDAP        *ld);

Giriş Parametreleri

ld
Specifies the LDAP pointer that is returned by a previous call to ldap_init(), ldap_ssl_init() or ldap_open().
Ayırt Edici Ad
Sunucu tarafından tanınan istekte adın ne kadarının olduğunu gösteren, var olan bir girdiyi tanımlayan bir DN belirtir. Ayırt edici ad (DN)LDAP_NO_SUCH_OBJECTSunucudan hata döndürüldü. Eşleşen DN dizgisi ldap_memfree()çağrılarak serbest bırakılmalıdır.
errmsg
Sunucunun döndürdüğü gibi, hata iletisinin metnini belirtir. Hata iletisi dizgisi, ldap_memfree()çağrılarak serbest bırakılmalıdır.
s
LDAP yapısı altında saklanan hata kodunun dizgi biçimine önek olarak eklenen ileti önekini belirtir. Hatanın dizgi biçimi, ldap_err2string()çağrısı tarafından döndürülen aynı dizgidir.
res
Specifies the result, as produced by ldap_result() or ldap_search_s(), to be converted to the error code with which it is associated.
serbest
Sonucun,res, ldap_result2error()çağrısının sonucu olarak serbest bırakılmalıdır. Sıfırsız ise, sonuç,res, çağrıya göre serbest bırakılıyor. Sıfırsa,resçağrıyla serbest bırakılmaz.
errnum
ldap_parse_result() ya da başka bir LDAP API çağrısının döndürdüğü LDAP hata kodunu belirtir.

Kullanım

Bu yordamlar, LDAP protokolü ve LDAP kitaplığı yordamlarıyla döndürülen çeşitli hata kodlarının yorumlanmasını sağlar.

ldap_get_errno() ve ldap_get_lderrno() API ' leri, LDAP işlemi için ortaya çıkan en son hata için bilgi edinir. LDAP sunucusunda bir hata oluştuğunda, sunucu istemciye aşağıdaki bilgileri geri döndürür:
  • Oluşan hataya ilişkin LDAP sonuç kodu.
  • Sunucudan hataya ilişkin ek bilgi içeren bir ileti.

Hata, DN tarafından belirtilen bir girdi bulunamadığı için oluştuysa, sunucu, var olan bir girdiyi tanımlayan DN kısmını da döndürebilir.

Her iki API da sunucunun hata sonucu kodunu döndürür. İletiyi elde etmek ve ayırt edici adı eşleştirmek için ldap_get_lderrno() ' i kullanın.

ldap_set_lderrno() API, belirtilen LDAP yapısındaki bir hatayla ilgili bir hata kodu ve diğer bilgileri ayarlar. Bu işlev, sonraki ldap_get_lderrno() çağrıları tarafından alınan hata bilgilerini ayarlamak için çağrılabilir.

The ldap_result2error() routine takes res, a result as produced by ldap_result() or ldap_search_s(), and returns the corresponding error code. Olası hata kodları izlenecek. Aşağıdaki kısımlardaki tablolara bakın. freeit parametresi sıfırsa, hata kodu çıkarıldıktan sonra res parametresinin ldap_msgfree() çağrısı ile serbest bırakılması gerektiğini belirtir. ld içindeki ld_errno alanı ayarlıdır ve döndürülür.

Döndürülen değer ldap_err2string()' e geçirilebilir; bu, LDAP hata kodunun metin açıklaması olan bir karakter dizgisine işaret döndürür. Dizilim kullanımı tamamlandığında, karakter dizilimi serbest bırakılmamalı.

Standart hatada hatanın bir göstergesini yazdırmak için ldap_perror() yordamı çağrılabilir.

ldap_get_exterror() yordamı, LDAP oturumu için bir LDAP sunucusu ya da Kerberos ya da SSL gibi başka bir kitaplığın döndürdüğü yürürlükteki genişletilmiş hata kodunu döndürür. Bazı hata kodları için, hata koşulunu daha ayrıntılı yorumlamak mümkün olabilir. Örneğin, SSL hataları için genişletilmiş hata kodu, SSL anlaşması neden başarısız olduğunu gösterebilir.

Hata

Bir LDAP hata kodunun olası değerleri aşağıdaki tablolarda gösterilir.
Tablo 1. Dönüş kodları ve açıklamaları
Dec değeri Değer Onaltılı değer Kısa açıklama Ayrıntılı açıklama
00 LDAP_SUCCESS 00 Başarılı İstek başarılı oldu.
00 LDAP_OPERATIONS_ERROR 01 İşlem hatası Bir işlem hatası oluştu.
02 LDAP_PROTOCOL_ERROR 02 Protokol hatası Bir iletişim kuralı ihlali saptandı.
03 LDAP_TIMELIMIT_EXCEEDED 03 Aşılan zaman sınırı Bir LDAP zaman sınırı aşıldı.
04 LDAP_SIZELIMIT_EXCEEDED 04 Boyut sınırı aşıldı Bir LDAP boyutu sınırı aşıldı.
05 LDAP_COMPARE_FALSE 05 karşılaştırma yanlış Karşılaştırma işlemi false değerini döndürdü.
06 LDAP_COMPARE_TRUE 06 karşılaştırma doğru Bir karşılaştırma işlemi true (doğru) döndürdü.
07 LDAP_STRONG_AUTH_NOT_SUPPORTED 07 Desteklenmeyen güçlü kimlik doğrulaması LDAP sunucusu güçlü kimlik doğrulamasını desteklemiyor.
08 LDAP_STRONG_AUTH_REQUIRED 08 Gerekli olan güçlü kimlik doğrulaması İşlem için güçlü kimlik doğrulaması gerekli.
09 LDAP_PARTIAL_RESULTS 09 Kısmi sonuçlar ve başvuru alındı Yalnızca döndürülen kısmi sonuçlar.
10 LDAP_REFERRAL 0A Başvuru döndürüldü Başvuru döndürüldü.
11 LDAP_ADMIN_LIMIT_EXCEEDED 0B Yönetim sınırı aşıldı Yönetim sınırı aşıldı.
12 LDAP_UNAVAILABLE_CRITICAL_EXTENSION 0C Desteklenmeyen kritik uzantı Kritik uzantı desteklenmiyor.
13 LDAP_CONFIDENTIALITY_REQUIRED 0D Gizlilik gerekli Gizlilik gerekli.
14 LDAP_SASLBIND_IN_PROGRESS 0E SASL bağ tanımı devam ediyor Bir SASL bağ tanımı devam ediyor.
16 LDAP_NO_SUCH_ATTRIBUTE 10 böyle bir öznitelik yok Belirtilen öznitelik tipi girdide yok.
17 LDAP_UNDEFINED_TYPE 11 Tanımlanmamış öznitelik tipi Belirtilen öznitelik tipi geçerli değil.
18 LDAP_INAPPROPRIATE_MATCHING 12 Uygun olmayan eşleştirme Belirtilen öznitelik için desteklenmeyen süzgeç tipi.
19 LDAP_CONSTRAINT_VIOLATION 13 Kısıt İhlali Belirtilen bir öznitelik değeri bir koşula aykırılık oluşturuyor. Örneğin, bir posta adresinin çok fazla satırı var ya da çok uzun bir satır var.
20 LDAP_TYPE_OR_VALUE_EXISTS 14 Tip ya da değer var Girişte belirtilen bir öznitelik tipi ya da öznitelik değeri var.
21 LDAP_INVALID_SYNTAX 15 Sözdizimi geçersiz Geçerli olmayan bir öznitelik değeri belirtildi.
32 LDAP_NO_SUCH_OBJECT 20 böyle bir nesne yok Belirtilen nesne rehberde yok.
33 LDAP_ALIAS_PROBLEM 21 Diğer ad sorunu Dizin noktasındaki diğer ad var olmayan bir girişe işaret ediyor.
34 LDAP_INVALID_DN_SYNTAX 22 Geçersiz DN sözdizimi Sözdizimsel olarak geçerli olmayan bir ayırt edici ad belirtildi.
35 LDAP_IS_LEAF 23 Nesne bir yaprak Belirtilen nesne bir yaprak.
36 LDAP_ALIAS_DEREF_PROBLEM 24 Diğer ad başvuru kaldırma sorunu Bir diğer adı kayıttan kaldırırken bir sorunla karşılaşıldı.
48 LDAP_INAPPROPRIATE_AUTH 30 uygunsuz kimlik doğrulaması Uygun olmayan kimlik doğrulaması belirtildi. Örneğin,LDAP_AUTH_SIMPLEBelirtilen ve girişin bir userPassword özniteliği yok.
49 LDAP_INVALID_CREDENTIALS 31 Geçersiz kimlik bilgileri Geçersiz kimlik bilgileri sunuldu. Örneğin, yanlış parola.
50 LDAP_INSUFFICIENT_ACCESS 32 Yetersiz erişim Kullanıcı, işlemi çalıştırmak için yeterli erişime sahip değil.
51 LDAP_BUSY 33 DSA meşgul DSA meşgul.
52 LDAP_UNAVAILABLE 34 DSA kullanılamıyor DSA kullanılamıyor.
53 LDAP_UNWILLING_TO_PERFORM 35 DSA çalıştırılamıyor DSA işlemi çalıştıramıyor.
54 LDAP_LOOP_DETECT 36 Döngü saptandı Bir döngü saptandı.
64 LDAP_NAMING_VIOLATION 40 Adlandırma ihlali Adlandırma kurallarına aykırılık oluştu.
65 LDAP_OBJECT_CLASS_VIOLATION 41 Nesne sınıfı ihlali Bir nesne sınıfı ihlali oluştu. Örneğin, girişte bir gerekli özniteliği eksikti.
66 LDAP_NOT_ALLOWED_ON_NONLEAF 42 Yaprak nonleaf üzerinde izin verilmeyen işlem Yaprak olmayan bir nesnede işleme izin verilmiyor.
67 LDAP_NOT_ALLOWED_ON_RDN 43 RDN ' de izin verilmeyen işlem Bir RDN ' de işleme izin verilmiyor.
68 LDAP_ALREADY_EXISTS 44 Var Girdi var.
69 LDAP_NO_OBJECT_CLASS_MODS 45 Nesne sınıfı değiştirilemiyor Nesne sınıfı değişikliklerine izin verilmiyor.
70 LDAP_RESULTS_TOO_LARGE 46 Sonuçlar çok büyük Sonuçlar çok büyük.
71 LDAP_AFFECTS_MULTIPLE_DSAS 47 Birden çok DSAyi etkiler Birden çok DSA ' yı etkiler.
80 LDAP_OTHER 50 Bilinmeyen hata Bilinmeyen bir hata oluştu.
81 LDAP_SERVER_DOWN 51 LDAP sunucusu ile iletişim kuramıyor LDAP kitaplığı, LDAP sunucusuyla iletişim kuramıyor.
82 LDAP_LOCAL_ERROR 52 Yerel hata Yerel bir hata oluştu. Bu hata genellikle hatalı bellek ayırması olur.
83 LDAP_ENCODING_ERROR 53 Kodlama hatası LDAP sunucusuna gönderilecek parametreler kodlanırken bir hatayla karşılaşıldı.
84 LDAP_DECODING_ERROR 54 Kodu çözme hatası LDAP sunucusu sonucunun kodu çözülürken hata saptandı.
85 LDAP_TIMEOUT 55 Zaman Aşımı Oluştu Bir sonuç için beklediğiniz süre sınırı aşıldı.
86 LDAP_AUTH_UNKNOWN 56 Bilinmeyen kimlik doğrulama yöntemi Bir bağ tanımlama işleminde belirtilen kimlik doğrulama yöntemi bilinmiyor.
87 LDAP_FILTER_ERROR 57 Hatalı arama süzgeci ldap_search' a sağlanan geçersiz bir süzgeç. Örneğin, parantezler dengesiz.
88 LDAP_USER_CANCELLED 58 Kullanıcı işlemi iptal etti Kullanıcı işlemi iptal etti.
89 LDAP_PARAM_ERROR 59 LDAP yordamuna hatalı parametre Hatalı bir değiştirgeyle çağrılan bir LDAP yordamı. Örneğin, boş değerli (NULL) bir gösterge ve diğerleri.
90 LDAP_NO_MEMORY 5A Bellek Yetersiz Bir LDAP kitaplığı yordamında mallocgibi bir bellek ayırma çağrısı başarısız oldu.
91 LDAP_CONNECT_ERROR 5B Bağlantı Hatası Bağlantı hatası.
92 LDAP_NOT_SUPPORTED 5C Desteklenmiyor Desteklenmez.
93 LDAP_CONTROL_NOT_FOUND 5D Denetim bulunamadı Denetim öğesi bulunamadı.
94 LDAP_NO_RESULTS_RETURNED 5E Döndürülen sonuç yok Döndürülen sonuç yok.
95 LDAP_MORE_RESULTS_TO_RETURN 5F Geri dönmek için daha fazla sonuç Geri dönmek için daha fazla sonuç var.
96 LDAP_URL_ERR_NOTLDAP 60 URL, ldap://ile başlamaz URL, ldap://ile başlamıyor.
97 LDAP_URL_ERR_NODN 61 URL ' de DN yok (gerekli) URL ' de bir DN (gerekli) yok.
98 LDAP_URL_ERR_BADSCOPE 62 URL kapsamı dizgisi geçersiz URL kapsam dizgisi geçerli değil.
99 LDAP_URL_ERR_MEM 63 Bellek alanı ayrılamıyor Bellek alanı ayrılamıyor.
100 LDAP_CLIENT_LOOP 64 İstemci döngüsü İstemci döngüsü.
101 LDAP_REFERRAL_LIMIT_EXCEEDED 65 Aşan başvuru sınırı Aşan zincir sınırı aşıldı.
112 LDAP_SSL_ALREADY_INITIALIZED 70 ldap_ssl_client_init daha önce bu süreçte başarıyla çağrıldı ldap_ssl_client_init , bu süreçte daha önce başarıyla çağrıldı.
113 LDAP_SSL_INITIALIZE_FAILED 71 Başarısız olan başlatma çağrısı SSL Başlatma çağrısı başarısız oldu.
114 LDAP_SSL_CLIENT_INIT_NOT_CALLED 72 SSL bağlantısını kullanmaya çalışmadan önce ldap_ssl_client_init çağrısı gerekir SSL bağlantısını kullanmaya çalışmadan önce ldap_ssl_client_init çağrısı gerekir.
115 LDAP_SSL_PARAM_ERROR 73 Geçersiz SSL parametresi önceden belirtildi Daha önce geçerli olmayan bir SSL değiştirgesi belirtildi.
116 LDAP_SSL_HANDSHAKE_FAILED 74 SSL sunucusuna bağlanılamadı SSL sunucusuna bağlanılamadı.
117 LDAP_SSL_GET_CIPHER_FAILED 75 Kullanılmadı Kullanımdan kaldırıldı
118 LDAP_SSL_NOT_AVAILABLE 76 SSL kitaplığı bulunamıyor GSKit ' in kurulu olduğundan emin olun.
128 LDAP_NO_EXPLICIT_OWNER 80 Belirtik sahip bulunamadı Belirtik bir sahip bulunamadı.
129 LDAP_NO_LOCK 81 Kilit sağlanamıyor İstemci kitaplığı gereken bir kaynağı kilitlemedi.
Ayrıca, DNS ile ilgili aşağıdaki hata kodları ldap.h dosyasında tanımlanır:
Tablo 2. DNS ile ilgili dönüş kodları
Dec değeri Değer Onaltılı değer Ayrıntılı açıklama
133 LDAP_DNS_NO_SERVERS 85 LDAP sunucusu bulunamadı.
134 LDAP_DNS_TRUNCATED 86 Uyarı: DNS sonuçları kesildi.
135 LDAP_DNS_INVALID_DATA 87 Geçersiz DNS Verileri.
136 LDAP_DNS_RESOLVE_ERROR 88 Sistem etki alanı ya da ad sunucusu çözümlenemiyor.
137 LDAP_DNS_CONF_FILE_ERROR 89 DNS Konfigürasyon dosyası hatası.
Aşağıdaki UTF8-related hata kodları, ldap.h dosyasında tanımlanır:
Tablo 3. UTF8-related dönüş kodları
Dec değeri Değer Onaltılı değer Ayrıntılı açıklama
160 LDAP_XLATE_E2BIG A0 Çıkış arabelleği taşması.
161 LDAP_XLATE_EINVAL A1 Kesilen giriş arabelleği.
162 LDAP_XLATE_EILSEQ A2 Kullanılamayan giriş karakteri kullanılamaz.
163 LDAP_XLATE_NO_ENTRY A3 Eşlenecek kod kümesi noktası yok.
176 LDAP_REG_FILE_NOT_FOUND B0 NT Kayıt dosyası bulunamadı.
177 LDAP_REG_CANNOT_OPEN B1 NT Kayıt Defteri açılamıyor.
178 LDAP_REG_ENTRY_NOT_FOUND B2 NT Kayıt Defteri girdisi bulunamadı.
192 LDAP_CONF_FILE_NOT_OPENED C0 Eklenti yapılandırma dosyası açılmadı.
193 LDAP_PLUGIN_NOT_LOADED C1 Yüklenmeyen eklenti kitaplığı.
194 LDAP_PLUGIN_FUNCTION_NOT_RESOLVED C2 Çözülmeyen eklenti işlevi.
195 LDAP_PLUGIN_NOT_INITIALIZED C3 Eklenti kitaplığı kullanıma hazırlanmadı.
196 LDAP_PLUGIN_COULD_NOT_BIND C4 Plug-in işlevi bağlanamıyor.
208 LDAP_SASL_GSS_NO_SEC_CONTEXT D0 gss_init_sec_context başarısız oldu.

Ayrıca Bkz:

ldap_memfree, ldap_parse yordamları