1 /* $OpenBSD: aldap.h,v 1.2 2019/05/11 17:46:02 rob Exp $ */ 2 3 /* 4 * Copyright (c) 2008 Alexander Schrijver <aschrijver@openbsd.org> 5 * Copyright (c) 2006, 2007 Marc Balmer <mbalmer@openbsd.org> 6 * 7 * Permission to use, copy, modify, and distribute this software for any 8 * purpose with or without fee is hereby granted, provided that the above 9 * copyright notice and this permission notice appear in all copies. 10 * 11 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 #include <ber.h> 21 #include <stdio.h> 22 23 enum protocol_op { 24 LDAP_REQ_BIND = 0, 25 LDAP_RES_BIND = 1, 26 LDAP_REQ_UNBIND_30 = 2, 27 LDAP_REQ_SEARCH = 3, 28 LDAP_RES_SEARCH_ENTRY = 4, 29 LDAP_RES_SEARCH_RESULT = 5, 30 LDAP_REQ_MODIFY = 6, 31 LDAP_RES_MODIFY = 7, 32 LDAP_REQ_ADD = 8, 33 LDAP_RES_ADD = 9, 34 LDAP_REQ_DELETE_30 = 10, 35 LDAP_RES_DELETE = 11, 36 LDAP_REQ_MODRDN = 12, 37 LDAP_RES_MODRDN = 13, 38 LDAP_REQ_COMPARE = 14, 39 LDAP_RES_COMPARE = 15, 40 LDAP_REQ_ABANDON_30 = 16, 41 42 LDAP_RES_SEARCH_REFERENCE = 19, 43 LDAP_REQ_EXTENDED = 23, 44 LDAP_RES_EXTENDED = 24, 45 }; 46 47 enum deref_aliases { 48 LDAP_DEREF_NEVER = 0, 49 LDAP_DEREF_SEARCHING = 1, 50 LDAP_DEREF_FINDING = 2, 51 LDAP_DEREF_ALWAYS = 3, 52 }; 53 54 enum authentication_choice { 55 LDAP_AUTH_SIMPLE = 0, 56 LDAP_AUTH_SASL = 3, 57 }; 58 59 enum scope { 60 LDAP_SCOPE_BASE = 0, 61 LDAP_SCOPE_ONELEVEL = 1, 62 LDAP_SCOPE_SUBTREE = 2, 63 }; 64 65 enum result_code { 66 LDAP_SUCCESS = 0, 67 LDAP_OPERATIONS_ERROR = 1, 68 LDAP_PROTOCOL_ERROR = 2, 69 LDAP_TIMELIMIT_EXCEEDED = 3, 70 LDAP_SIZELIMIT_EXCEEDED = 4, 71 LDAP_COMPARE_FALSE = 5, 72 LDAP_COMPARE_TRUE = 6, 73 LDAP_STRONG_AUTH_NOT_SUPPORTED = 7, 74 LDAP_STRONG_AUTH_REQUIRED = 8, 75 76 LDAP_REFERRAL = 10, 77 LDAP_ADMINLIMIT_EXCEEDED = 11, 78 LDAP_UNAVAILABLE_CRITICAL_EXTENSION = 12, 79 LDAP_CONFIDENTIALITY_REQUIRED = 13, 80 LDAP_SASL_BIND_IN_PROGRESS = 14, 81 LDAP_NO_SUCH_ATTRIBUTE = 16, 82 LDAP_UNDEFINED_TYPE = 17, 83 LDAP_INAPPROPRIATE_MATCHING = 18, 84 LDAP_CONSTRAINT_VIOLATION = 19, 85 LDAP_TYPE_OR_VALUE_EXISTS = 20, 86 LDAP_INVALID_SYNTAX = 21, 87 88 LDAP_NO_SUCH_OBJECT = 32, 89 LDAP_ALIAS_PROBLEM = 33, 90 LDAP_INVALID_DN_SYNTAX = 34, 91 92 LDAP_ALIAS_DEREF_PROBLEM = 36, 93 94 LDAP_INAPPROPRIATE_AUTH = 48, 95 LDAP_INVALID_CREDENTIALS = 49, 96 LDAP_INSUFFICIENT_ACCESS = 50, 97 LDAP_BUSY = 51, 98 LDAP_UNAVAILABLE = 52, 99 LDAP_UNWILLING_TO_PERFORM = 53, 100 LDAP_LOOP_DETECT = 54, 101 102 LDAP_NAMING_VIOLATION = 64, 103 LDAP_OBJECT_CLASS_VIOLATION = 65, 104 LDAP_NOT_ALLOWED_ON_NONLEAF = 66, 105 LDAP_NOT_ALLOWED_ON_RDN = 67, 106 LDAP_ALREADY_EXISTS = 68, 107 LDAP_NO_OBJECT_CLASS_MODS = 69, 108 109 LDAP_AFFECTS_MULTIPLE_DSAS = 71, 110 111 LDAP_OTHER = 80, 112 }; 113 114 enum filter { 115 LDAP_FILT_AND = 0, 116 LDAP_FILT_OR = 1, 117 LDAP_FILT_NOT = 2, 118 LDAP_FILT_EQ = 3, 119 LDAP_FILT_SUBS = 4, 120 LDAP_FILT_GE = 5, 121 LDAP_FILT_LE = 6, 122 LDAP_FILT_PRES = 7, 123 LDAP_FILT_APPR = 8, 124 }; 125 126 enum subfilter { 127 LDAP_FILT_SUBS_INIT = 0, 128 LDAP_FILT_SUBS_ANY = 1, 129 LDAP_FILT_SUBS_FIN = 2, 130 }; 131 132 enum modify_op { 133 LDAP_MOD_ADD = 0, 134 LDAP_MOD_DELETE = 1, 135 LDAP_MOD_REPLACE = 2, 136 }; 137 138