@@ -1431,6 +1431,15 @@ static void test_sss_certmap_get_search_filter(void **state)
14311431 & filter , & domains );
14321432 assert_int_equal (ret , 0 );
14331433 assert_non_null (filter );
1434+ assert_string_equal (filter , "rule100=<I>CN=Certificate\\20Authority,O=IPA.DEVEL"
1435+ "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
1436+ assert_null (domains );
1437+
1438+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1439+ sizeof (test_cert_der ),
1440+ & filter , & domains );
1441+ assert_int_equal (ret , 0 );
1442+ assert_non_null (filter );
14341443 assert_string_equal (filter , "rule100=<I>CN=Certificate Authority,O=IPA.DEVEL"
14351444 "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
14361445 assert_null (domains );
@@ -1445,6 +1454,17 @@ static void test_sss_certmap_get_search_filter(void **state)
14451454 & filter , & domains );
14461455 assert_int_equal (ret , 0 );
14471456 assert_non_null (filter );
1457+ assert_string_equal (filter , "rule99=<I>CN=Certificate\\20Authority,O=IPA.DEVEL"
1458+ "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
1459+ assert_non_null (domains );
1460+ assert_string_equal (domains [0 ], "test.dom" );
1461+ assert_null (domains [1 ]);
1462+
1463+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1464+ sizeof (test_cert_der ),
1465+ & filter , & domains );
1466+ assert_int_equal (ret , 0 );
1467+ assert_non_null (filter );
14481468 assert_string_equal (filter , "rule99=<I>CN=Certificate Authority,O=IPA.DEVEL"
14491469 "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
14501470 assert_non_null (domains );
@@ -1466,6 +1486,16 @@ static void test_sss_certmap_get_search_filter(void **state)
14661486 assert_string_equal (domains [0 ], "test.dom" );
14671487 assert_null (domains [1 ]);
14681488
1489+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1490+ sizeof (test_cert_der ),
1491+ & filter , & domains );
1492+ assert_int_equal (ret , 0 );
1493+ assert_non_null (filter );
1494+ assert_string_equal (filter , "rule98=userCertificate;binary=" TEST_CERT_BIN );
1495+ assert_non_null (domains );
1496+ assert_string_equal (domains [0 ], "test.dom" );
1497+ assert_null (domains [1 ]);
1498+
14691499 ret = sss_certmap_add_rule (ctx , 97 ,
14701500 "KRB5:<ISSUER>CN=Certificate Authority,O=IPA.DEVEL" ,
14711501 "LDAP:rule97=<I>{issuer_dn!nss_x500}<S>{subject_dn}" ,
@@ -1476,6 +1506,17 @@ static void test_sss_certmap_get_search_filter(void **state)
14761506 & filter , & domains );
14771507 assert_int_equal (ret , 0 );
14781508 assert_non_null (filter );
1509+ assert_string_equal (filter , "rule97=<I>O=IPA.DEVEL,CN=Certificate\\20Authority"
1510+ "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
1511+ assert_non_null (domains );
1512+ assert_string_equal (domains [0 ], "test.dom" );
1513+ assert_null (domains [1 ]);
1514+
1515+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1516+ sizeof (test_cert_der ),
1517+ & filter , & domains );
1518+ assert_int_equal (ret , 0 );
1519+ assert_non_null (filter );
14791520 assert_string_equal (filter , "rule97=<I>O=IPA.DEVEL,CN=Certificate Authority"
14801521 "<S>CN=ipa-devel.ipa.devel,O=IPA.DEVEL" );
14811522 assert_non_null (domains );
@@ -1492,6 +1533,17 @@ static void test_sss_certmap_get_search_filter(void **state)
14921533 & filter , & domains );
14931534 assert_int_equal (ret , 0 );
14941535 assert_non_null (filter );
1536+ assert_string_equal (filter , "rule96=<I>O=IPA.DEVEL,CN=Certificate\\20Authority"
1537+ "<S>O=IPA.DEVEL,CN=ipa-devel.ipa.devel" );
1538+ assert_non_null (domains );
1539+ assert_string_equal (domains [0 ], "test.dom" );
1540+ assert_null (domains [1 ]);
1541+
1542+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1543+ sizeof (test_cert_der ),
1544+ & filter , & domains );
1545+ assert_int_equal (ret , 0 );
1546+ assert_non_null (filter );
14951547 assert_string_equal (filter , "rule96=<I>O=IPA.DEVEL,CN=Certificate Authority"
14961548 "<S>O=IPA.DEVEL,CN=ipa-devel.ipa.devel" );
14971549 assert_non_null (domains );
@@ -1510,6 +1562,14 @@ static void test_sss_certmap_get_search_filter(void **state)
15101562 assert_string_equal (filter , "(userCertificate;binary=" TEST_CERT_BIN ")" );
15111563 assert_null (domains );
15121564
1565+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1566+ sizeof (test_cert_der ),
1567+ & filter , & domains );
1568+ assert_int_equal (ret , 0 );
1569+ assert_non_null (filter );
1570+ assert_string_equal (filter , "(userCertificate;binary=" TEST_CERT_BIN ")" );
1571+ assert_null (domains );
1572+
15131573 ret = sss_certmap_add_rule (ctx , 94 ,
15141574 "KRB5:<ISSUER>CN=Certificate Authority,O=IPA.DEVEL" ,
15151575 "LDAP:rule94=<I>{issuer_dn!ad_x500}<S>{subject_dn!ad_x500}" ,
@@ -1520,12 +1580,22 @@ static void test_sss_certmap_get_search_filter(void **state)
15201580 & filter , & domains );
15211581 assert_int_equal (ret , 0 );
15221582 assert_non_null (filter );
1523- assert_string_equal (filter , "rule94=<I>O=IPA.DEVEL,CN=Certificate Authority "
1583+ assert_string_equal (filter , "rule94=<I>O=IPA.DEVEL,CN=Certificate\\20Authority "
15241584 "<S>O=IPA.DEVEL,CN=ipa-devel.ipa.devel" );
15251585 assert_non_null (domains );
15261586 assert_string_equal (domains [0 ], "test.dom" );
15271587 assert_null (domains [1 ]);
15281588
1589+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert_der ),
1590+ sizeof (test_cert_der ),
1591+ & filter , & domains );
1592+ assert_int_equal (ret , 0 );
1593+ assert_non_null (filter );
1594+ assert_string_equal (filter , "rule94=<I>O=IPA.DEVEL,CN=Certificate Authority"
1595+ "<S>O=IPA.DEVEL,CN=ipa-devel.ipa.devel" );
1596+ assert_non_null (domains );
1597+ assert_string_equal (domains [0 ], "test.dom" );
1598+ assert_null (domains [1 ]);
15291599
15301600 ret = sss_certmap_add_rule (ctx , 89 , NULL ,
15311601 "(rule89={subject_nt_principal})" ,
@@ -1539,6 +1609,14 @@ static void test_sss_certmap_get_search_filter(void **state)
15391609 assert_string_equal (filter , "(rule89=tu1@ad.devel)" );
15401610 assert_null (domains );
15411611
1612+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert2_der ),
1613+ sizeof (test_cert2_der ),
1614+ & filter , & domains );
1615+ assert_int_equal (ret , 0 );
1616+ assert_non_null (filter );
1617+ assert_string_equal (filter , "(rule89=tu1@ad.devel)" );
1618+ assert_null (domains );
1619+
15421620 ret = sss_certmap_add_rule (ctx , 88 , NULL ,
15431621 "(rule88={subject_nt_principal.short_name})" ,
15441622 NULL );
@@ -1560,6 +1638,15 @@ static void test_sss_certmap_get_search_filter(void **state)
15601638 & filter , & domains );
15611639 assert_int_equal (ret , 0 );
15621640 assert_non_null (filter );
1641+ assert_string_equal (filter , "rule87=<I>DC=devel,DC=ad,CN=ad-AD-SERVER-CA"
1642+ "<S>DC=devel,DC=ad,CN=Users,CN=t\\20u,E=test.user@email.domain" );
1643+ assert_null (domains );
1644+
1645+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert2_der ),
1646+ sizeof (test_cert2_der ),
1647+ & filter , & domains );
1648+ assert_int_equal (ret , 0 );
1649+ assert_non_null (filter );
15631650 assert_string_equal (filter , "rule87=<I>DC=devel,DC=ad,CN=ad-AD-SERVER-CA"
15641651 "<S>DC=devel,DC=ad,CN=Users,CN=t u,E=test.user@email.domain" );
15651652 assert_null (domains );
@@ -1573,6 +1660,15 @@ static void test_sss_certmap_get_search_filter(void **state)
15731660 & filter , & domains );
15741661 assert_int_equal (ret , 0 );
15751662 assert_non_null (filter );
1663+ assert_string_equal (filter , "rule86=<I>DC=devel,DC=ad,CN=ad-AD-SERVER-CA"
1664+ "<S>DC=devel,DC=ad,CN=Users,CN=t\\20u,E=test.user@email.domain" );
1665+ assert_null (domains );
1666+
1667+ ret = sss_certmap_expand_mapping_rule (ctx , discard_const (test_cert2_der ),
1668+ sizeof (test_cert2_der ),
1669+ & filter , & domains );
1670+ assert_int_equal (ret , 0 );
1671+ assert_non_null (filter );
15761672 assert_string_equal (filter , "rule86=<I>DC=devel,DC=ad,CN=ad-AD-SERVER-CA"
15771673 "<S>DC=devel,DC=ad,CN=Users,CN=t u,E=test.user@email.domain" );
15781674 assert_null (domains );
0 commit comments