mirror of
https://github.com/lldap/lldap.git
synced 2026-07-25 17:58:44 +00:00
ldap: fix swapped filter conditions
This commit is contained in:
committed by
nitnelave
parent
8f04843466
commit
f7fe0c6ea0
@@ -276,7 +276,7 @@ fn convert_group_filter(
|
|||||||
let res = filters
|
let res = filters
|
||||||
.iter()
|
.iter()
|
||||||
.map(rec)
|
.map(rec)
|
||||||
.filter(|f| !matches!(f, Ok(GroupRequestFilter::False)))
|
.filter(|f| !matches!(f, Ok(GroupRequestFilter::True)))
|
||||||
.flat_map(|f| match f {
|
.flat_map(|f| match f {
|
||||||
Ok(GroupRequestFilter::And(v)) => v.into_iter().map(Ok).collect(),
|
Ok(GroupRequestFilter::And(v)) => v.into_iter().map(Ok).collect(),
|
||||||
f => vec![f],
|
f => vec![f],
|
||||||
@@ -294,7 +294,7 @@ fn convert_group_filter(
|
|||||||
let res = filters
|
let res = filters
|
||||||
.iter()
|
.iter()
|
||||||
.map(rec)
|
.map(rec)
|
||||||
.filter(|c| !matches!(c, Ok(GroupRequestFilter::True)))
|
.filter(|c| !matches!(c, Ok(GroupRequestFilter::False)))
|
||||||
.flat_map(|f| match f {
|
.flat_map(|f| match f {
|
||||||
Ok(GroupRequestFilter::Or(v)) => v.into_iter().map(Ok).collect(),
|
Ok(GroupRequestFilter::Or(v)) => v.into_iter().map(Ok).collect(),
|
||||||
f => vec![f],
|
f => vec![f],
|
||||||
|
|||||||
@@ -222,7 +222,7 @@ fn convert_user_filter(
|
|||||||
let res = filters
|
let res = filters
|
||||||
.iter()
|
.iter()
|
||||||
.map(rec)
|
.map(rec)
|
||||||
.filter(|c| !matches!(c, Ok(UserRequestFilter::False)))
|
.filter(|c| !matches!(c, Ok(UserRequestFilter::True)))
|
||||||
.flat_map(|f| match f {
|
.flat_map(|f| match f {
|
||||||
Ok(UserRequestFilter::And(v)) => v.into_iter().map(Ok).collect(),
|
Ok(UserRequestFilter::And(v)) => v.into_iter().map(Ok).collect(),
|
||||||
f => vec![f],
|
f => vec![f],
|
||||||
@@ -240,7 +240,7 @@ fn convert_user_filter(
|
|||||||
let res = filters
|
let res = filters
|
||||||
.iter()
|
.iter()
|
||||||
.map(rec)
|
.map(rec)
|
||||||
.filter(|c| !matches!(c, Ok(UserRequestFilter::True)))
|
.filter(|c| !matches!(c, Ok(UserRequestFilter::False)))
|
||||||
.flat_map(|f| match f {
|
.flat_map(|f| match f {
|
||||||
Ok(UserRequestFilter::Or(v)) => v.into_iter().map(Ok).collect(),
|
Ok(UserRequestFilter::Or(v)) => v.into_iter().map(Ok).collect(),
|
||||||
f => vec![f],
|
f => vec![f],
|
||||||
|
|||||||
@@ -762,10 +762,7 @@ mod tests {
|
|||||||
let mut mock = MockTestBackendHandler::new();
|
let mut mock = MockTestBackendHandler::new();
|
||||||
mock.expect_list_users()
|
mock.expect_list_users()
|
||||||
.with(
|
.with(
|
||||||
eq(Some(UserRequestFilter::And(vec![
|
eq(Some(UserRequestFilter::UserId(UserId::new("bob")))),
|
||||||
UserRequestFilter::True,
|
|
||||||
UserRequestFilter::UserId(UserId::new("bob")),
|
|
||||||
]))),
|
|
||||||
eq(false),
|
eq(false),
|
||||||
)
|
)
|
||||||
.times(1)
|
.times(1)
|
||||||
@@ -1108,12 +1105,9 @@ mod tests {
|
|||||||
GroupRequestFilter::DisplayName("group_1".into()),
|
GroupRequestFilter::DisplayName("group_1".into()),
|
||||||
GroupRequestFilter::Member(UserId::new("bob")),
|
GroupRequestFilter::Member(UserId::new("bob")),
|
||||||
GroupRequestFilter::DisplayName("rockstars".into()),
|
GroupRequestFilter::DisplayName("rockstars".into()),
|
||||||
|
false.into(),
|
||||||
GroupRequestFilter::Uuid(uuid!("04ac75e0-2900-3e21-926c-2f732c26b3fc")),
|
GroupRequestFilter::Uuid(uuid!("04ac75e0-2900-3e21-926c-2f732c26b3fc")),
|
||||||
true.into(),
|
false.into(),
|
||||||
true.into(),
|
|
||||||
true.into(),
|
|
||||||
true.into(),
|
|
||||||
true.into(),
|
|
||||||
GroupRequestFilter::DisplayNameSubString(SubStringFilter {
|
GroupRequestFilter::DisplayNameSubString(SubStringFilter {
|
||||||
initial: Some("iNIt".to_owned()),
|
initial: Some("iNIt".to_owned()),
|
||||||
any: vec!["1".to_owned(), "2aA".to_owned()],
|
any: vec!["1".to_owned(), "2aA".to_owned()],
|
||||||
@@ -1298,10 +1292,9 @@ mod tests {
|
|||||||
async fn test_search_group_as_scope() {
|
async fn test_search_group_as_scope() {
|
||||||
let mut mock = MockTestBackendHandler::new();
|
let mut mock = MockTestBackendHandler::new();
|
||||||
mock.expect_list_groups()
|
mock.expect_list_groups()
|
||||||
.with(eq(Some(GroupRequestFilter::And(vec![
|
.with(eq(Some(GroupRequestFilter::DisplayName(
|
||||||
GroupRequestFilter::True,
|
"rockstars".into(),
|
||||||
GroupRequestFilter::DisplayName("rockstars".into()),
|
))))
|
||||||
]))))
|
|
||||||
.times(1)
|
.times(1)
|
||||||
.return_once(|_| Ok(vec![]));
|
.return_once(|_| Ok(vec![]));
|
||||||
let ldap_handler = setup_bound_readonly_handler(mock).await;
|
let ldap_handler = setup_bound_readonly_handler(mock).await;
|
||||||
@@ -1413,9 +1406,9 @@ mod tests {
|
|||||||
eq(Some(UserRequestFilter::Or(vec![
|
eq(Some(UserRequestFilter::Or(vec![
|
||||||
UserRequestFilter::Not(Box::new(UserRequestFilter::UserId(UserId::new("bob")))),
|
UserRequestFilter::Not(Box::new(UserRequestFilter::UserId(UserId::new("bob")))),
|
||||||
UserRequestFilter::UserId("bob_1".to_string().into()),
|
UserRequestFilter::UserId("bob_1".to_string().into()),
|
||||||
false.into(),
|
true.into(),
|
||||||
false.into(),
|
true.into(),
|
||||||
false.into(),
|
true.into(),
|
||||||
UserRequestFilter::AttributeEquality(
|
UserRequestFilter::AttributeEquality(
|
||||||
AttributeName::from("first_name"),
|
AttributeName::from("first_name"),
|
||||||
"FirstName".to_string().into(),
|
"FirstName".to_string().into(),
|
||||||
@@ -1424,7 +1417,6 @@ mod tests {
|
|||||||
AttributeName::from("first_name"),
|
AttributeName::from("first_name"),
|
||||||
"firstname".to_string().into(),
|
"firstname".to_string().into(),
|
||||||
),
|
),
|
||||||
false.into(),
|
|
||||||
UserRequestFilter::UserIdSubString(SubStringFilter {
|
UserRequestFilter::UserIdSubString(SubStringFilter {
|
||||||
initial: Some("iNIt".to_owned()),
|
initial: Some("iNIt".to_owned()),
|
||||||
any: vec!["1".to_owned(), "2aA".to_owned()],
|
any: vec!["1".to_owned(), "2aA".to_owned()],
|
||||||
|
|||||||
Reference in New Issue
Block a user