| Solaris |
|
|
When a socket is created src/uts/common/fs/sockfs/socktpi.c:sotpi_create() is called which initializes kssl related parts of the socket structure (struct sonode) with KSSL_NO_PROXY and NULLs.
Then when an application calls bind() syscall it will get to src/uts/common/fs/sockfs/socktpi.c:sotpi_bind() which will call sotpi_bindlisten(). The bind request is inspected and checked via src/uts/common/inet/kssl/ksslapi.c:kssl_check_proxy() to see if it matches configuration of some kssl proxy instance. (by looking into kssl_entry_tab array)
This is why it is crucial to start the application sending/receiving data to/from kssl proxy after kssl proxy is initialized.
Then when the application finally issues an accept() syscall it will end up in src/uts/common/fs/sockfs/socktpi.c:sotpi_accept() where hooks strsock_kssl_input, strsock_kssl_output are added to the STREAM head. The purpose of the hooks is explained below.
TBD
Terms of Use
|
Privacy
|
Trademarks
|
Copyright Policy
|
Site Guidelines
|
Site Map
|
Help
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Use.
© 2012, Oracle Corporation and/or its affiliates.