Skip to content

Commit 5c0d7f5

Browse files
Rework rabbitmq.conf schema for AMQP 1.0, 0-9-1 clients
A follow-up to #15767.
1 parent bbb6497 commit 5c0d7f5

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
@@ -3001,7 +3001,7 @@ end}.
30013001
fun(Conf) ->
30023002
case cuttlefish_variable:filter_by_prefix("amqp10_client.ssl_options.key", Conf) of
30033003
[{[_,_,Key], Val}|_] -> {list_to_atom(Key), list_to_binary(Val)};
3004-
_ -> undefined
3004+
_ -> cuttlefish:unset()
30053005
end
30063006
end}.
30073007

@@ -3039,7 +3039,7 @@ end}.
30393039
fun(Conf) ->
30403040
case cuttlefish:conf_get("amqp10_client.ssl_options.sni", Conf, undefined) of
30413041
undefined -> cuttlefish:unset();
3042-
none -> cuttlefish:unset();
3042+
none -> disable;
30433043
Hostname -> Hostname
30443044
end
30453045
end}.
@@ -3109,7 +3109,7 @@ end}.
31093109
fun(Conf) ->
31103110
case cuttlefish_variable:filter_by_prefix("amqp_client.ssl_options.key", Conf) of
31113111
[{[_,_,Key], Val}|_] -> {list_to_atom(Key), list_to_binary(Val)};
3112-
_ -> undefined
3112+
_ -> cuttlefish:unset()
31133113
end
31143114
end}.
31153115

@@ -3147,7 +3147,7 @@ end}.
31473147
fun(Conf) ->
31483148
case cuttlefish:conf_get("amqp_client.ssl_options.sni", Conf, undefined) of
31493149
undefined -> cuttlefish:unset();
3150-
none -> cuttlefish:unset();
3150+
none -> disable;
31513151
Hostname -> Hostname
31523152
end
31533153
end}.

deps/rabbit/test/config_schema_SUITE_data/rabbit.snippets

Lines changed: 147 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1420,9 +1420,9 @@ credential_validator.regexp = ^abc\\d+",
14201420
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
14211421
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
14221422
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1423-
{versions,['tlsv1.2','tlsv1.1']}]
1424-
}]
1425-
}],
1423+
{server_name_indication, disable},
1424+
{versions,['tlsv1.2','tlsv1.1']}]}
1425+
]}],
14261426
[]},
14271427
{amqp_client_ssl_options_sni_hostname,
14281428
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
@@ -1525,9 +1525,9 @@ credential_validator.regexp = ^abc\\d+",
15251525
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
15261526
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
15271527
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1528-
{versions,['tlsv1.2','tlsv1.1']}]
1529-
}]
1530-
}],
1528+
{server_name_indication, disable},
1529+
{versions,['tlsv1.2','tlsv1.1']}]}
1530+
]}],
15311531
[]},
15321532
{amqp10_client_ssl_options_sni_hostname,
15331533
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
@@ -1546,5 +1546,146 @@ credential_validator.regexp = ^abc\\d+",
15461546
{server_name_indication, "hostname.dev"}
15471547
]}
15481548
]}],
1549+
[]},
1550+
1551+
%%
1552+
%% AMQP client ssl_options = none
1553+
%%
1554+
1555+
{amqp_client_ssl_options_none,
1556+
"amqp_client.ssl_options = none",
1557+
[{amqp_client,
1558+
[{ssl_options, []}]}],
1559+
[]},
1560+
{amqp10_client_ssl_options_none,
1561+
"amqp10_client.ssl_options = none",
1562+
[{amqp10_client,
1563+
[{ssl_options, []}]}],
1564+
[]},
1565+
1566+
%%
1567+
%% AMQP client: additional `ssl_options`
1568+
%%
1569+
1570+
{amqp_client_ssl_options_crl_check,
1571+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1572+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1573+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1574+
amqp_client.ssl_options.crl_check = peer",
1575+
[{amqp_client,
1576+
[{ssl_options,
1577+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1578+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1579+
{crl_check, peer},
1580+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"}]}]}],
1581+
[]},
1582+
{amqp_client_ssl_options_log_alert,
1583+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1584+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1585+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1586+
amqp_client.ssl_options.log_alert = true",
1587+
[{amqp_client,
1588+
[{ssl_options,
1589+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1590+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1591+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1592+
{log_alert, true}]}]}],
1593+
[]},
1594+
{amqp_client_ssl_options_reuse_sessions,
1595+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1596+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1597+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1598+
amqp_client.ssl_options.reuse_sessions = true",
1599+
[{amqp_client,
1600+
[{ssl_options,
1601+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1602+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1603+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1604+
{reuse_sessions, true}]}]}],
1605+
[]},
1606+
{amqp_client_ssl_options_secure_renegotiate,
1607+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1608+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1609+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1610+
amqp_client.ssl_options.secure_renegotiate = true",
1611+
[{amqp_client,
1612+
[{ssl_options,
1613+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1614+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1615+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1616+
{secure_renegotiate, true}]}]}],
1617+
[]},
1618+
{amqp_client_ssl_options_psk_identity,
1619+
"amqp_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1620+
amqp_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1621+
amqp_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1622+
amqp_client.ssl_options.psk_identity = my_identity",
1623+
[{amqp_client,
1624+
[{ssl_options,
1625+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1626+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1627+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1628+
{psk_identity, "my_identity"}]}]}],
1629+
[]},
1630+
1631+
{amqp10_client_ssl_options_crl_check,
1632+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1633+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1634+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1635+
amqp10_client.ssl_options.crl_check = peer",
1636+
[{amqp10_client,
1637+
[{ssl_options,
1638+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1639+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1640+
{crl_check, peer},
1641+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"}]}]}],
1642+
[]},
1643+
{amqp10_client_ssl_options_log_alert,
1644+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1645+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1646+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1647+
amqp10_client.ssl_options.log_alert = true",
1648+
[{amqp10_client,
1649+
[{ssl_options,
1650+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1651+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1652+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1653+
{log_alert, true}]}]}],
1654+
[]},
1655+
{amqp10_client_ssl_options_reuse_sessions,
1656+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1657+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1658+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1659+
amqp10_client.ssl_options.reuse_sessions = true",
1660+
[{amqp10_client,
1661+
[{ssl_options,
1662+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1663+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1664+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1665+
{reuse_sessions, true}]}]}],
1666+
[]},
1667+
{amqp10_client_ssl_options_secure_renegotiate,
1668+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1669+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1670+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1671+
amqp10_client.ssl_options.secure_renegotiate = true",
1672+
[{amqp10_client,
1673+
[{ssl_options,
1674+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1675+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1676+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1677+
{secure_renegotiate, true}]}]}],
1678+
[]},
1679+
{amqp10_client_ssl_options_psk_identity,
1680+
"amqp10_client.ssl_options.cacertfile = test/config_schema_SUITE_data/certs/ca_certificate.pem
1681+
amqp10_client.ssl_options.certfile = test/config_schema_SUITE_data/certs/server_certificate.pem
1682+
amqp10_client.ssl_options.keyfile = test/config_schema_SUITE_data/certs/server_key.pem
1683+
amqp10_client.ssl_options.psk_identity = my_identity",
1684+
[{amqp10_client,
1685+
[{ssl_options,
1686+
[{cacertfile,"test/config_schema_SUITE_data/certs/ca_certificate.pem"},
1687+
{certfile,"test/config_schema_SUITE_data/certs/server_certificate.pem"},
1688+
{keyfile,"test/config_schema_SUITE_data/certs/server_key.pem"},
1689+
{psk_identity, "my_identity"}]}]}],
15491690
[]}
15501691
].

0 commit comments

Comments
 (0)