Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tero Saarni
OpenLDAP
Commits
80b5255f
Commit
80b5255f
authored
Jun 03, 2009
by
Quanah Gibson-Mount
Browse files
ITS#6159
parent
a7f4102b
Changes
4
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
80b5255f
...
...
@@ -14,6 +14,7 @@ OpenLDAP 2.4.17 Engineering
Fixed slapd global alloc handling (ITS#6054)
Fixed slapd moduleload with static backends and modules (ITS#6016)
Fixed slapd normalization of updated schema attributes (ITS#5540)
Fixed slapd olcLimits handling (ITS#6159)
Fixed slapd pagedresults stacked control with overlays (ITS#6056)
Fixed slapd password-hash incorrect limit on arg length (ITS#6139)
Fixed slapd readonly restrictions (ITS#6109)
...
...
servers/slapd/bconfig.c
View file @
80b5255f
...
...
@@ -1385,6 +1385,36 @@ config_generic(ConfigArgs *c) {
case
CFG_LIMITS
:
/* FIXME: there is no limits_free function */
if
(
c
->
valx
<
0
)
{
limits_destroy
(
c
->
be
->
be_limits
);
c
->
be
->
be_limits
=
NULL
;
}
else
{
int
cnt
,
num
=
-
1
;
if
(
c
->
be
->
be_limits
)
{
for
(
num
=
0
;
c
->
be
->
be_limits
[
num
];
num
++
)
/* just count */
;
}
if
(
c
->
valx
>=
num
)
{
return
1
;
}
if
(
num
==
1
)
{
limits_destroy
(
c
->
be
->
be_limits
);
c
->
be
->
be_limits
=
NULL
;
}
else
{
limits_free_one
(
c
->
be
->
be_limits
[
c
->
valx
]
);
for
(
cnt
=
c
->
valx
;
cnt
<
num
;
cnt
++
)
{
c
->
be
->
be_limits
[
cnt
]
=
c
->
be
->
be_limits
[
cnt
+
1
];
}
}
}
break
;
case
CFG_ATOPT
:
/* FIXME: there is no ad_option_free function */
case
CFG_ROOTDSE
:
...
...
servers/slapd/limits.c
View file @
80b5255f
...
...
@@ -1324,6 +1324,19 @@ limits_check( Operation *op, SlapReply *rs )
return
0
;
}
void
limits_free_one
(
struct
slap_limits
*
lm
)
{
if
(
(
lm
->
lm_flags
&
SLAP_LIMITS_MASK
)
==
SLAP_LIMITS_REGEX
)
regfree
(
&
lm
->
lm_regex
);
if
(
!
BER_BVISNULL
(
&
lm
->
lm_pat
)
)
ch_free
(
lm
->
lm_pat
.
bv_val
);
ch_free
(
lm
);
}
void
limits_destroy
(
struct
slap_limits
**
lm
)
...
...
@@ -1335,13 +1348,7 @@ limits_destroy(
}
for
(
i
=
0
;
lm
[
i
];
i
++
)
{
if
(
(
lm
[
i
]
->
lm_flags
&
SLAP_LIMITS_MASK
)
==
SLAP_LIMITS_REGEX
)
regfree
(
&
lm
[
i
]
->
lm_regex
);
if
(
!
BER_BVISNULL
(
&
lm
[
i
]
->
lm_pat
)
)
ch_free
(
lm
[
i
]
->
lm_pat
.
bv_val
);
ch_free
(
lm
[
i
]
);
limits_free_one
(
lm
[
i
]
);
}
ch_free
(
lm
);
...
...
servers/slapd/proto-slap.h
View file @
80b5255f
...
...
@@ -1144,6 +1144,8 @@ LDAP_SLAPD_F (int) limits_unparse_one LDAP_P((
struct
slap_limits_set
*
limit
,
int
which
,
struct
berval
*
bv
,
ber_len_t
buflen
));
LDAP_SLAPD_F
(
int
)
limits_unparse
LDAP_P
((
struct
slap_limits
*
limit
,
struct
berval
*
bv
,
ber_len_t
buflen
));
LDAP_SLAPD_F
(
void
)
limits_free_one
LDAP_P
((
struct
slap_limits
*
lm
));
LDAP_SLAPD_F
(
void
)
limits_destroy
LDAP_P
((
struct
slap_limits
**
lm
));
/*
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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