RPMA_PEER_CFG_FROM_DESCRIPTOR(3)
β¨ rpma_peer_cfg_from_descriptor β¨
okay bestie, welcome to the RPMA Programmer's Manual π this one's a lil cutie with a big ol' security warning attached, so like, stay with me.
π NAME π
rpma_peer_cfg_from_descriptor β the glow-up that turns a descriptor into a peer cfg π
π¦ SYNOPSIS π¦
#include <librpma.h>
struct rpma_peer_cfg;
int rpma_peer_cfg_from_descriptor(const void *desc, size_t desc_size,
struct rpma_peer_cfg **pcfg_ptr);
πΈ DESCRIPTION πΈ
so basically, rpma_peer_cfg_from_descriptor() creates a peer configuration object, and it builds it from the descriptor. that's it. that's the whole job. iconic behavior honestly π
π¨ SECURITY WARNING π¨
no cap, this part is serious. read it twice, bestie.
an attacker might modify the serialized remote node configuration while it's being transferred over an unsecured connection (think e.g. rdma_cm private data). and if they do, that might cause different remote persistency method selections. π
the most dangerous situation is switching from the GPSPM mode to the APM one. π
so here's the vibe check: users should avoid using the rpma_conn_get_private_data(3) and rpma_conn_req_get_private_data(3) API calls, and they should utilize TLS/SSL connections to transfer all configuration data between peers instead. periodt. π«Ά
β RETURN VALUE β
rpma_peer_cfg_from_descriptor() returns 0 on success, or a negative error code on failure. and important: on failure it does not set the *pcfg_ptr value. like, not even a little. π
π ERRORS π
rpma_peer_cfg_from_descriptor() can fail with the following errors:
RPMA_E_INVALβdescorpcfg_ptrareNULLπRPMA_E_NOMEMβ out of memory π
π SEE ALSO π
rpma_conn_apply_remote_peer_cfg(3)rpma_peer_cfg_get_descriptor(3)rpma_peer_cfg_new(3)librpma(7)- <https://pmem.io/rpma/> β wait, no links allowed, so just go type
https://pmem.io/rpma/into your browser yourself, i believe in you π
and that's the whole page, bestie!! this one's from the RPMA manual, dated 01 April 2024, and it was giving major main character energy the entire time β¨ slay, go configure those peers responsibly ππ
π¦ where this page comes from
- ubuntu noble: librpma-dev 1.3.0-2build2 Β· BSD-3
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms