Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
c93e6981
Commit
c93e6981
authored
Jan 26, 2009
by
Quanah Gibson-Mount
Browse files
ITS#5906
parent
4793af4a
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
c93e6981
...
...
@@ -31,6 +31,7 @@ OpenLDAP 2.4.14 Engineering
Fixed slapd-meta double response sending (ITS#5854)
Fixed slapd-meta alias deref for retry (ITS#5889)
Fixed slapo-ppolicy to not be global (ITS#5858)
Fixed slapo-rwm with back-config (ITS#5906)
Updated contrib/addpartial module (ITS#5764)
Added contrib/cloak module (ITS#5872)
Build Environment
...
...
servers/slapd/overlays/rwm.c
View file @
c93e6981
...
...
@@ -1830,7 +1830,6 @@ rwm_db_config(
enum
{
/* rewrite */
RWM_CF_REWRITE
=
1
,
RWM_CF_SUFFIXMASSAGE
,
/* map */
RWM_CF_MAP
,
...
...
@@ -1841,8 +1840,10 @@ enum {
};
static
slap_verbmasks
t_f_mode
[]
=
{
{
BER_BVC
(
"true"
),
RWM_F_SUPPORT_T_F
},
{
BER_BVC
(
"yes"
),
RWM_F_SUPPORT_T_F
},
{
BER_BVC
(
"discover"
),
RWM_F_SUPPORT_T_F_DISCOVER
},
{
BER_BVC
(
"false"
),
RWM_F_NONE
},
{
BER_BVC
(
"no"
),
RWM_F_NONE
},
{
BER_BVNULL
,
0
}
};
...
...
@@ -1852,7 +1853,7 @@ static ConfigDriver rwm_cf_gen;
static
ConfigTable
rwmcfg
[]
=
{
{
"rwm-rewrite"
,
"rewrite"
,
2
,
0
,
STRLENOF
(
"rwm-rewrite"
),
ARG_MAGIC
|
ARG_QUOTE
|
RWM_CF_REWRITE
,
rwm_cf_gen
,
ARG_MAGIC
|
RWM_CF_REWRITE
,
rwm_cf_gen
,
"( OLcfgOvAt:16.1 NAME 'olcRwmRewrite' "
"DESC 'Rewrites strings' "
"EQUALITY caseIgnoreMatch "
...
...
@@ -1861,7 +1862,7 @@ static ConfigTable rwmcfg[] = {
NULL
,
NULL
},
{
"rwm-suffixmassage"
,
"[virtual]> <real"
,
2
,
3
,
0
,
ARG_MAGIC
|
RWM_CF_
SUFFIXMASSAG
E
,
rwm_cf_gen
,
2
,
3
,
0
,
ARG_MAGIC
|
RWM_CF_
REWRIT
E
,
rwm_cf_gen
,
NULL
,
NULL
,
NULL
},
{
"rwm-t-f-support"
,
"true|false|discover"
,
...
...
@@ -1955,6 +1956,7 @@ rwm_cf_gen( ConfigArgs *c )
BackendDB
db
;
char
*
argv0
;
int
idx0
=
0
;
int
rc
=
0
;
db
=
*
c
->
be
;
...
...
@@ -2059,37 +2061,26 @@ rwm_cf_gen( ConfigArgs *c )
return
rc
;
}
if
(
strncasecmp
(
c
->
argv
[
0
],
"olcRwm"
,
STRLENOF
(
"olcRwm"
)
)
==
0
)
{
idx0
=
1
;
}
switch
(
c
->
type
)
{
case
RWM_CF_REWRITE
:
argv0
=
c
->
argv
[
0
];
c
->
argv
[
0
]
+=
STRLENOF
(
"rwm-"
);
rc
=
rwm_rw_config
(
&
db
,
c
->
fname
,
c
->
lineno
,
c
->
argc
,
c
->
argv
);
c
->
argv
[
0
]
=
argv0
;
if
(
rc
)
{
argv0
=
c
->
argv
[
idx0
];
if
(
strncasecmp
(
argv0
,
"rwm-"
,
STRLENOF
(
"rwm-"
)
)
!=
0
)
{
return
1
;
}
c
->
argv
[
idx0
]
+=
STRLENOF
(
"rwm-"
);
if
(
strcasecmp
(
c
->
argv
[
idx0
],
"suffixmassage"
)
==
0
)
{
rc
=
rwm_suffixmassage_config
(
&
db
,
c
->
fname
,
c
->
lineno
,
c
->
argc
-
idx0
,
&
c
->
argv
[
idx0
]
);
}
else
{
char
*
line
;
struct
berval
bv
;
line
=
ldap_charray2str
(
c
->
argv
,
"
\"
\"
"
);
if
(
line
!=
NULL
)
{
int
len
=
strlen
(
c
->
argv
[
0
]
);
ber_str2bv
(
line
,
0
,
0
,
&
bv
);
AC_MEMCPY
(
&
bv
.
bv_val
[
len
],
&
bv
.
bv_val
[
len
+
1
],
bv
.
bv_len
-
(
len
+
1
)
);
bv
.
bv_val
[
bv
.
bv_len
-
1
]
=
'"'
;
ber_bvarray_add
(
&
rwmap
->
rwm_bva_rewrite
,
&
bv
);
}
rc
=
rwm_rw_config
(
&
db
,
c
->
fname
,
c
->
lineno
,
c
->
argc
-
idx0
,
&
c
->
argv
[
idx0
]
);
}
break
;
case
RWM_CF_SUFFIXMASSAGE
:
argv0
=
c
->
argv
[
0
];
c
->
argv
[
0
]
+=
STRLENOF
(
"rwm-"
);
rc
=
rwm_suffixmassage_config
(
&
db
,
c
->
fname
,
c
->
lineno
,
c
->
argc
,
c
->
argv
);
c
->
argv
[
0
]
=
argv0
;
c
->
argv
[
idx0
]
=
argv0
;
if
(
rc
)
{
return
1
;
...
...
@@ -2097,14 +2088,9 @@ rwm_cf_gen( ConfigArgs *c )
char
*
line
;
struct
berval
bv
;
/* FIXME: not optimal; in fact, this keeps track
* of the fact that a set of rules was added
* using the rwm-suffixmassage shortcut, but the
* rules are not clarified */
line
=
ldap_charray2str
(
c
->
argv
,
"
\"
\"
"
);
line
=
ldap_charray2str
(
&
c
->
argv
[
idx0
],
"
\"
\"
"
);
if
(
line
!=
NULL
)
{
int
len
=
strlen
(
c
->
argv
[
0
]
);
int
len
=
strlen
(
c
->
argv
[
idx
0
]
);
ber_str2bv
(
line
,
0
,
0
,
&
bv
);
AC_MEMCPY
(
&
bv
.
bv_val
[
len
],
&
bv
.
bv_val
[
len
+
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