Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tero Saarni
OpenLDAP
Commits
930896e9
Commit
930896e9
authored
Dec 02, 2009
by
Quanah Gibson-Mount
Browse files
ITS#6402
parent
d91577f9
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
930896e9
...
...
@@ -2,6 +2,8 @@ OpenLDAP 2.4 Change Log
OpenLDAP 2.4.21 Engineering
Fixed slapo-unique conflict with ppolicy (ITS#6270)
Build Environment
Fixed broken LBER_INVALID macro (ITS#6402)
OpenLDAP 2.4.20 Release (2009/11/27)
Fixed client tools with LDAP options (ITS#6283)
...
...
include/lber.h
View file @
930896e9
...
...
@@ -31,9 +31,13 @@
LDAP_BEGIN_DECL
/* Overview of LBER tag construction
/*
* ber_tag_t represents the identifier octets at the beginning of BER
* elements. OpenLDAP treats them as mere big-endian unsigned integers.
*
* Actually the BER identifier octets look like this:
*
* Bits
* Bits
of 1st octet:
* ______
* 8 7 | CLASS
* 0 0 = UNIVERSAL
...
...
@@ -46,16 +50,20 @@ LDAP_BEGIN_DECL
* 1 = CONSTRUCTED
* ___________
* | 5 ... 1 | TAG-NUMBER
*
* For ASN.1 tag numbers >= 0x1F, TAG-NUMBER above is 0x1F and the next
* BER octets contain the actual ASN.1 tag number: Big-endian, base
* 128, 8.bit = 1 in all but the last octet, minimum number of octets.
*/
/* BER classes and mask */
/* BER classes and mask
(in 1st identifier octet)
*/
#define LBER_CLASS_UNIVERSAL ((ber_tag_t) 0x00U)
#define LBER_CLASS_APPLICATION ((ber_tag_t) 0x40U)
#define LBER_CLASS_CONTEXT ((ber_tag_t) 0x80U)
#define LBER_CLASS_PRIVATE ((ber_tag_t) 0xc0U)
#define LBER_CLASS_MASK ((ber_tag_t) 0xc0U)
/* BER encoding type and mask */
/* BER encoding type and mask
(in 1st identifier octet)
*/
#define LBER_PRIMITIVE ((ber_tag_t) 0x00U)
#define LBER_CONSTRUCTED ((ber_tag_t) 0x20U)
#define LBER_ENCODING_MASK ((ber_tag_t) 0x20U)
...
...
@@ -64,13 +72,10 @@ LDAP_BEGIN_DECL
#define LBER_MORE_TAG_MASK ((ber_tag_t) 0x80U)
/*
*
Note that
LBER_ERROR and LBER_DEFAULT are values that can never appear
* as valid BER tags,
and
so it is safe to use them to report errors.
In
*
fact, any tag for which the following is true is invalid:
* LBER_ERROR and LBER_DEFAULT are values that can never appear
* as valid BER tags, so it is safe to use them to report errors.
*
Valid tags have (tag & (ber_tag_t) 0xFF) != 0xFF.
*/
#define LBER_INVALID(t) (((t) & (ber_tag_t) 0x080UL) \
&& (((t) & (ber_tag_t) ~ 0x0FF))
#define LBER_ERROR ((ber_tag_t) -1)
#define LBER_DEFAULT ((ber_tag_t) -1)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment