Hi Razvan (and all!),

On 12 Jan 2015, at 14:52, Răzvan Crainea <raz...@opensips.org> wrote:

> Hi, All!
> 
> You can find here[2] the APIs that are going to be deeveloped for the 
> Transport Interface.
> Please take a look and let us know what you think. Any feedback is welcome!
> 
> [1] http://www.opensips.org/Development/TransportInterfaceAPI
> 

Sorry for not having participated earlier. Hopefully I can do that more now!

I had a look at the API, and while the layer separation sounds good, I have 
some questions / concerns of different nature. Here is a brain-dump, in no 
particular order:

- If TLS is taken out of the core it would be best to rewrite it without 
looking at the current code. If we want to get OpenSIPS as an official Debian 
package, the TLS code needs to be a separate module, with a different license 
(GPL with the OpenSSL exception thing), but in order to relicense it all 
developers have to agree, doing it from scratch would avoid this.

- If TLS is a module now, has there been any thought on supporting 
implementations other than OpenSSL? gnuTLS and libreSSL come to mind.

- I see that the send / receive API is not designed with scatter / gather I/O 
in mind. It might be beneficial in the long run to support sending or receiving 
an array of buffers, and use readv / writev underneath.

- sockaddr_union is defined by OpenSIPS with no real purpose these days, since 
we can use sockaddr_storage for allocating space and sockaddr for passing 
around pointers.

- At what level are the TLS settings considered? Network or transport? Either 
way, all init functions get void, but where will the config be taken from, if 
it’s different per domain?

- The transport API has some inconsistencies in what parameters it takes: 
connect gets a sockaddr, but bind gets host and port.

- Where do DNS lookups happen? If the transport API only knows about IPs and 
ports then all functions should take sockaddr structures and the app would do 
the lookup. 

- Any thoughts on using “connected” UDP sockets, so the kernel does the 
filtering for incoming traffic?


I hope this helps.


Cheers,

--
Saúl Ibarra Corretgé
AG Projects



Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to