[lsb-discuss] [Fwd: NSS public functions]

Wan-Teh Chang wtc at google.com
Mon Aug 11 15:52:59 PDT 2008

On Mon, Aug 11, 2008 at 1:55 PM, Howard Chu <hyc at symas.com> wrote:
> Note - apps that use NSS generally cannot use OS-native calls for these
> extremely standard functions (including I/O and memory management). Instead
> they must use NSPR calls.

It is true that NSS requires NSPR, but it is not true that apps that
use NSS cannot use OS-native calls for standard functions such
as  I/O and memory management.  Apps that use NSS can call
malloc and free for memory management and the standard I/O
functions for file I/O.

What NSS requires these apps to do is to wrap their socket I/O
in a PRFileDesc object.  NSPR itself provides a default implementation
of PRFileDesc for TCP socket I/O (the PR_NewTCPSocket function),
but the apps don't have to use it.  NSS implements the SSL protocol
as a PRFileDesc layer on top of the PRFileDesc layer for socket I/O.

This PRFileDesc wrapper for the socket I/O is similar to the BIO
in OpenSSL.


More information about the lsb-discuss mailing list