|
@@ -81,6 +81,12 @@ typedef struct {
|
|
str wildcarded_psi; /** if exists is the wildcarded psi */
|
|
str wildcarded_psi; /** if exists is the wildcarded psi */
|
|
} ims_public_identity;
|
|
} ims_public_identity;
|
|
|
|
|
|
|
|
+/** TLS SA Information */
|
|
|
|
+typedef struct tls {
|
|
|
|
+ unsigned short port_tls; /**< Port UE TLS */
|
|
|
|
+ unsigned long session_hash;
|
|
|
|
+} tls_t;
|
|
|
|
+
|
|
/** IPSec SA Information */
|
|
/** IPSec SA Information */
|
|
typedef struct ipsec {
|
|
typedef struct ipsec {
|
|
unsigned int spi_uc; /**< SPI Client to use */
|
|
unsigned int spi_uc; /**< SPI Client to use */
|
|
@@ -103,6 +109,7 @@ typedef struct ipsec {
|
|
typedef enum sec_type {
|
|
typedef enum sec_type {
|
|
SECURITY_NONE = 0,
|
|
SECURITY_NONE = 0,
|
|
SECURITY_IPSEC = 1,
|
|
SECURITY_IPSEC = 1,
|
|
|
|
+ SECURITY_TLS = 2,
|
|
} security_type;
|
|
} security_type;
|
|
|
|
|
|
typedef struct security {
|
|
typedef struct security {
|
|
@@ -111,6 +118,7 @@ typedef struct security {
|
|
|
|
|
|
union {
|
|
union {
|
|
ipsec_t *ipsec; /**< IPSec SA information, if any */
|
|
ipsec_t *ipsec; /**< IPSec SA information, if any */
|
|
|
|
+ tls_t *tls; /**< TLS SA information, if any */
|
|
} data;
|
|
} data;
|
|
float q;
|
|
float q;
|
|
} security_t;
|
|
} security_t;
|
|
@@ -188,6 +196,8 @@ typedef struct pcontact {
|
|
time_t expires; /*!< expires time for contact */
|
|
time_t expires; /*!< expires time for contact */
|
|
str* service_routes; /*!< Array of service routes */
|
|
str* service_routes; /*!< Array of service routes */
|
|
unsigned short num_service_routes; /*!< Number of service routes */
|
|
unsigned short num_service_routes; /*!< Number of service routes */
|
|
|
|
+ security_t *security; /**< Security-Client Information */
|
|
|
|
+ security_t *security_temp; /**< Security-Client Information (temp) */
|
|
ppublic_t* head; /*!< list of associated public identities */
|
|
ppublic_t* head; /*!< list of associated public identities */
|
|
ppublic_t* tail;
|
|
ppublic_t* tail;
|
|
struct socket_info *sock; /*!< received socket */
|
|
struct socket_info *sock; /*!< received socket */
|