Module: sip-router
Branch: master
Commit: 81d63a3f9726117288d6c5950c6d56e3a2749116
URL:
http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=81d63a3…
Author: Jason Penton <jason.penton(a)gmail.com>
Committer: Jason Penton <jason.penton(a)gmail.com>
Date: Mon Mar 10 12:39:28 2014 +0200
modules/ims_usrloc_pcscf: added storage for security data (IPSEC/TLS)
-new module ims_security going to be added soon that requires this
---
modules/ims_usrloc_pcscf/usrloc.h | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/modules/ims_usrloc_pcscf/usrloc.h b/modules/ims_usrloc_pcscf/usrloc.h
index 9816ec9..fc7b3cf 100644
--- a/modules/ims_usrloc_pcscf/usrloc.h
+++ b/modules/ims_usrloc_pcscf/usrloc.h
@@ -81,6 +81,12 @@ typedef struct {
str wildcarded_psi; /** if exists is the wildcarded psi */
} 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 */
typedef struct ipsec {
unsigned int spi_uc; /**< SPI Client to use */
@@ -103,6 +109,7 @@ typedef struct ipsec {
typedef enum sec_type {
SECURITY_NONE = 0,
SECURITY_IPSEC = 1,
+ SECURITY_TLS = 2,
} security_type;
typedef struct security {
@@ -111,6 +118,7 @@ typedef struct security {
union {
ipsec_t *ipsec; /**< IPSec SA information, if any */
+ tls_t *tls; /**< TLS SA information, if any */
} data;
float q;
} security_t;
@@ -188,6 +196,8 @@ typedef struct pcontact {
time_t expires; /*!< expires time for contact */
str* service_routes; /*!< Array 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* tail;
struct socket_info *sock; /*!< received socket */