The Apache module requires SNI to learn who is calling. It sets tlsdata.localid="" and should be sent back the SNI value in tlsdata.localid when tlspool_starttls() returns successfully. This does not happen yet, localid=="" on return.
The callback request flag PIOF_STARTTLS_LOCALID_CHECK should always be used in this use case. Without it, a server would be serving any SNI value (inasfar as it holds a certificate) and that is certainly not a good default -- as it would assume that all certificates in localid.db are meant for that one server. It should however always be assumed that other programs may also be using the same TLS Pool, and so PIOF_STARTTLS_LOCALID_CHECK is a requirement when tlsdata.localid=="" is used.
The library can be adapted to return an error when PIOF_STARTTLS_LOCALID_CHECK is not set when localid=="" upon calling tlspool_starttls(), or it may set the flag.
The Apache module requires SNI to learn who is calling. It sets
tlsdata.localid=""and should be sent back the SNI value intlsdata.localidwhentlspool_starttls()returns successfully. This does not happen yet,localid==""on return.The callback request flag
PIOF_STARTTLS_LOCALID_CHECKshould always be used in this use case. Without it, a server would be serving any SNI value (inasfar as it holds a certificate) and that is certainly not a good default -- as it would assume that all certificates inlocalid.dbare meant for that one server. It should however always be assumed that other programs may also be using the same TLS Pool, and soPIOF_STARTTLS_LOCALID_CHECKis a requirement whentlsdata.localid==""is used.The library can be adapted to return an error when
PIOF_STARTTLS_LOCALID_CHECKis not set whenlocalid==""upon callingtlspool_starttls(), or it may set the flag.