/usr/include/sipxtapi/os/OsTLSServerSocket.h is in libsipxtapi-dev 3.3.0~test17-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | //
// Copyright (C) 2006 SIPez LLC.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// Copyright (C) 2004-2006 SIPfoundry Inc.
// Licensed by SIPfoundry under the LGPL license.
//
// Copyright (C) 2004-2006 Pingtel Corp. All rights reserved.
// Licensed to SIPfoundry under a Contributor Agreement.
//
// $$
///////////////////////////////////////////////////////////////////////////////
#ifndef _OsTLSServerSocket_h_
#define _OsTLSServerSocket_h_
#ifdef SIP_TLS
#ifdef SIP_TLS_NSS
// SYSTEM INCLUDES
//#include <...>
// APPLICATION INCLUDES
#include <os/OsConnectionSocket.h>
#include <os/OsServerSocket.h>
#include <os/OsTLSConnectionSocket.h>
#include <os/OsFS.h>
// DEFINES
// MACROS
// EXTERNAL FUNCTIONS
// EXTERNAL VARIABLES
// CONSTANTS
// STRUCTS
// TYPEDEFS
// FORWARD DECLARATIONS
enum TlsInitCodes
{
TLS_INIT_SUCCESS,
TLS_INIT_DATABASE_FAILURE,
TLS_INIT_BAD_PASSWORD,
TLS_INIT_TCP_IMPORT_FAILURE,
TLS_INIT_NSS_FAILURE
};
class OsTLSServerSocket : public OsServerSocket
{
/* //////////////////////////// PUBLIC //////////////////////////////////// */
public:
/* ============================ CREATORS ================================== */
/// Constructor to set up TCP socket server
OsTLSServerSocket(int connectionQueueSize, /**< The maximum number of outstanding connection
* requests which are allowed before subsequent
* requests are turned away.*/
int serverPort=PORT_DEFAULT, /**< The port on which the server will listen to
* accept connection requests.
* PORT_DEFAULT means let OS pick port. */
UtlString certNickname = "",
UtlString certPassword = "",
UtlString dbLocation = "",
const UtlString bindAddress = ""
);
/**
* Sets the socket connection queue and starts listening on the
* port for requests to connect.
*/
/// Assignment operator
OsTLSServerSocket& operator=(const OsTLSServerSocket& rhs);
virtual
~OsTLSServerSocket();
//:Destructor
/* ============================ MANIPULATORS ============================== */
virtual OsConnectionSocket* accept();
//:Blocking accept of next connection
// Blocks and waits for the next TCP connection request.
//!returns: Returns a socket connected to the client requesting the
//!returns: connection. If an error occurs returns NULL.
virtual void close();
//: Close down the server
/* ============================ ACCESSORS ================================= */
virtual int getLocalHostPort() const;
//:Return the local port number
// Returns the port to which this socket is bound on this host.
/* ============================ INQUIRY =================================== */
virtual OsSocket::IpProtocolSocketType getIpProtocol() const;
//: Returns the protocol type of this socket
virtual UtlBoolean isOk() const;
//: Server socket is in ready to accept incoming conection requests.
int isConnectionReady();
//: Poll to see if connections are waiting
//!returns: 1 if one or call to accept() will not block <br>
//!returns: 0 if no connections are ready (i.e. accept() will block).
TlsInitCodes getTlsInitCode() { return mTlsInitCode; }
/* //////////////////////////// PROTECTED ///////////////////////////////// */
protected:
/* //////////////////////////// PRIVATE /////////////////////////////////// */
private:
static int pemPasswdCallbackFunc(char *buf, int size, int rwflag, void *userdata);
//:Callback used to set the private key password for decrypting the key
//:buf is the buffer to fill with a password
//:size is the maximum size of the buffer
OsTLSServerSocket(const OsTLSServerSocket& rOsTLSServerSocket);
//:Disable copy constructor
OsTLSServerSocket();
//:Disable default constructor
UtlString mCertNickname;
UtlString mCertPassword;
UtlString mDbLocation;
PRFileDesc* mpMozillaSSLSocket;
SECKEYPrivateKey * mpPrivKey;
CERTCertificate * mpCert;
TlsInitCodes mTlsInitCode;
};
/* ============================ INLINE METHODS ============================ */
#endif // SIP_TLS
#endif // SIP_TLS_NSS
#endif // _OsTLSServerSocket_h_
|