Skip to content

Commit 30abb31

Browse files
michaelklishinmergify[bot]
authored andcommitted
Rework rabbitmq.conf schema for AMQP 1.0, 0-9-1 clients
A follow-up to #15767. (cherry picked from commit 5c0d7f5) (cherry picked from commit 22df658)
1 parent ee6fd55 commit 30abb31

2 files changed

Lines changed: 151 additions & 10 deletions

File tree

deps/rabbit/priv/schema/rabbit.schema

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2988,7 +2988,7 @@ end}.
29882988
fun(Conf) ->
29892989
case cuttlefish_variable:filter_by_prefix("amqp10_client.ssl_options.key", Conf) of
29902990
[{[_,_,Key], Val}|_] -> {list_to_atom(Key), list_to_binary(Val)};
2991-
_ -> undefined
2991+
_ -> cuttlefish:unset()
29922992
end
29932993
end}.
29942994

@@ -3026,7 +3026,7 @@ end}.
30263026
fun(Conf) ->
30273027
case cuttlefish:conf_get("amqp10_client.ssl_options.sni", Conf, undefined) of
30283028
undefined -> cuttlefish:unset();
3029-
none -> cuttlefish:unset();
3029+
none -> disable;
30303030
Hostname -> Hostname
30313031
end
30323032
end}.
@@ -3096,7 +3096,7 @@ end}.
30963096
fun(Conf) ->
30973097
case cuttlefish_variable:filter_by_prefix("amqp_client.ssl_options.key", Conf) of
30983098
[{[_,_,Key], Val}|_] -> {list_to_atom(Key), list_to_binary(Val)};
3099-
_ -> undefined
3099+
_ -> cuttlefish:unset()
31003100
end
31013101
end}.
31023102

@@ -3134,7 +3134,7 @@ end}.
31343134
fun(Conf) ->
31353135
case cuttlefish:conf_get("amqp_client.ssl_options.sni", Conf, undefined) of
31363136
undefined -> cuttlefish:unset();
3137-
none -> cuttlefish:unset();
3137+
none -> disable;
31383138
Hostname -> Hostname
31393139
end
31403140
end}.

deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets

Lines changed: 147 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1443,9 +1443,9 @@ credential_validator.regexp = ^abc\\d+",
14431443
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
14441444
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
14451445
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1446-
{versions,['tlsv1.2','tlsv1.1']}]
1447-
}]
1448-
}],
1446+
{server_name_indication, disable},
1447+
{versions,['tlsv1.2','tlsv1.1']}]}
1448+
]}],
14491449
[]},
14501450
{amqp_client_ssl_options_sni_hostname,
14511451
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
@@ -1548,9 +1548,9 @@ credential_validator.regexp = ^abc\\d+",
15481548
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
15491549
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
15501550
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1551-
{versions,['tlsv1.2','tlsv1.1']}]
1552-
}]
1553-
}],
1551+
{server_name_indication, disable},
1552+
{versions,['tlsv1.2','tlsv1.1']}]}
1553+
]}],
15541554
[]},
15551555
{amqp10_client_ssl_options_sni_hostname,
15561556
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
@@ -1569,5 +1569,146 @@ credential_validator.regexp = ^abc\\d+",
15691569
{server_name_indication, "hostname.dev"}
15701570
]}
15711571
]}],
1572+
[]},
1573+
1574+
%%
1575+
%% AMQP client ssl_options = none
1576+
%%
1577+
1578+
{amqp_client_ssl_options_none,
1579+
"amqp_client.ssl_options = none",
1580+
[{amqp_client,
1581+
[{ssl_options, []}]}],
1582+
[]},
1583+
{amqp10_client_ssl_options_none,
1584+
"amqp10_client.ssl_options = none",
1585+
[{amqp10_client,
1586+
[{ssl_options, []}]}],
1587+
[]},
1588+
1589+
%%
1590+
%% AMQP client: additional `ssl_options`
1591+
%%
1592+
1593+
{amqp_client_ssl_options_crl_check,
1594+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1595+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1596+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1597+
amqp_client.ssl_options.crl_check = peer",
1598+
[{amqp_client,
1599+
[{ssl_options,
1600+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1601+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1602+
{crl_check, peer},
1603+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"}]}]}],
1604+
[]},
1605+
{amqp_client_ssl_options_log_alert,
1606+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1607+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1608+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1609+
amqp_client.ssl_options.log_alert = true",
1610+
[{amqp_client,
1611+
[{ssl_options,
1612+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1613+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1614+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1615+
{log_alert, true}]}]}],
1616+
[]},
1617+
{amqp_client_ssl_options_reuse_sessions,
1618+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1619+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1620+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1621+
amqp_client.ssl_options.reuse_sessions = true",
1622+
[{amqp_client,
1623+
[{ssl_options,
1624+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1625+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1626+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1627+
{reuse_sessions, true}]}]}],
1628+
[]},
1629+
{amqp_client_ssl_options_secure_renegotiate,
1630+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1631+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1632+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1633+
amqp_client.ssl_options.secure_renegotiate = true",
1634+
[{amqp_client,
1635+
[{ssl_options,
1636+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1637+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1638+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1639+
{secure_renegotiate, true}]}]}],
1640+
[]},
1641+
{amqp_client_ssl_options_psk_identity,
1642+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1643+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1644+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1645+
amqp_client.ssl_options.psk_identity = my_identity",
1646+
[{amqp_client,
1647+
[{ssl_options,
1648+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1649+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1650+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1651+
{psk_identity, "my_identity"}]}]}],
1652+
[]},
1653+
1654+
{amqp10_client_ssl_options_crl_check,
1655+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1656+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1657+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1658+
amqp10_client.ssl_options.crl_check = peer",
1659+
[{amqp10_client,
1660+
[{ssl_options,
1661+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1662+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1663+
{crl_check, peer},
1664+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"}]}]}],
1665+
[]},
1666+
{amqp10_client_ssl_options_log_alert,
1667+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1668+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1669+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1670+
amqp10_client.ssl_options.log_alert = true",
1671+
[{amqp10_client,
1672+
[{ssl_options,
1673+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1674+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1675+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1676+
{log_alert, true}]}]}],
1677+
[]},
1678+
{amqp10_client_ssl_options_reuse_sessions,
1679+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1680+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1681+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1682+
amqp10_client.ssl_options.reuse_sessions = true",
1683+
[{amqp10_client,
1684+
[{ssl_options,
1685+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1686+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1687+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1688+
{reuse_sessions, true}]}]}],
1689+
[]},
1690+
{amqp10_client_ssl_options_secure_renegotiate,
1691+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1692+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1693+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1694+
amqp10_client.ssl_options.secure_renegotiate = true",
1695+
[{amqp10_client,
1696+
[{ssl_options,
1697+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1698+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1699+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1700+
{secure_renegotiate, true}]}]}],
1701+
[]},
1702+
{amqp10_client_ssl_options_psk_identity,
1703+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1704+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1705+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1706+
amqp10_client.ssl_options.psk_identity = my_identity",
1707+
[{amqp10_client,
1708+
[{ssl_options,
1709+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1710+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1711+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1712+
{psk_identity, "my_identity"}]}]}],
15721713
[]}
15731714
].

0 commit comments

Comments
 (0)