[Devel] TLS ideas

Daniel-Constantin Mierla daniel at voice-system.ro
Thu Mar 30 17:00:38 CEST 2006


On 03/29/06 12:54, Klaus Darilion wrote:
> Daniel-Constantin Mierla wrote:
>> Hello,
>>
>> On 03/27/06 18:01, Klaus Darilion wrote:
>>> Hi!
>>>
>>> I think one big thing missing in TLS module is outgoing TLS client 
>>> domains (having multiple SSL contexts an choose one of these when 
>>> creating a new outgoing TLS connection). I think this can be easily 
>>> added (maybe reuse some parts of ser's new TLS code). The problem 
>>> is, currently the TLS domain is chosen based on the remote IP address.
>>>
>>> IMO it would be necessary to choose the TLS domain based on some 
>>> other identifier to (e.g. an AVP, or the domain in the request URI 
>>> ...). Otherwise configuration of outgoing TLS domains wont work in 
>>> plug'n'play style.
>>>
>>> For this,it would be necessary to signal the identifier from the tm 
>>> module to the tls module. Thus, the TLS module can select the proper 
>>> SSL context for creating a new TLS connection (or reuse an existing 
>>> connection)
>> as I understand, you need to access the domain part of destination 
>> URI. This is either dst-uri, r-uri or the parameter of the relay 
>> functions. First two are easy to access via pseudo-variables, the 
>> last one we have to think about since it is kept in as a compiled 
>> structure after fixup function.
>
> Don't know if I understand you correct. What I want is to pass some 
> data to tls_tcpconn_init() in tls_server.c. Thus, it should be 
> possible to choose the proper client TLS domain depending on this data.
>
> Currently server TLS domain selection is done based on the incoming 
> socket, which can be easily retrieved from the connection structure ( 
> c->rcv.dst_ip ...)
>
> I want to add TLS client domain selection not based on socket info but 
> based on a string identifier (either stored in an AVP or using the 
> request URI domain). Thus, is it possible to retrieve the AVPs of the 
> transaction which caused the new TCP/TLS connection setup?
Yes, you can access the AVPs from anywhere, they are stored in openser 
core and it should be the same process which cased the new TCP/TLS 
connection setup.

Cheers,
Daniel

>
> Hope I could explain what I want.
> regards
> klaus
>
>>
>> Cheers,
>> Daniel
>>
>>>
>>> I reviewed the code to implement it but get lost in SEND_BUFFER and 
>>> struct cell *t. Can you please give me some hints how this can be done?
>>>
>>> thanks
>>> klaus
>>>
>>> _______________________________________________
>>> Devel mailing list
>>> Devel at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/devel
>>>
>
>



More information about the Devel mailing list