Pārlūkot izejas kodu

rr parameters removed (they are in URI now)

Jan Janak 22 gadi atpakaļ
vecāks
revīzija
e4fbe9846d
3 mainītis faili ar 4 papildinājumiem un 48 dzēšanām
  1. 1 32
      parser/parse_param.c
  2. 0 13
      parser/parse_param.h
  3. 3 3
      parser/parse_rr.c

+ 1 - 32
parser/parse_param.c

@@ -44,34 +44,6 @@
 #include "parse_param.h"
 #include "parse_param.h"
 
 
 
 
-/*
- * Try to find out parameter name, recognized parameters
- * are lr and r2
- */
-static inline void parse_rr_class(param_hooks_t* _h, param_t* _p)
-{
-	switch(_p->name.s[0]) {
-	case 'l':
-	case 'L':
-		if ((_p->name.len == 2) &&
-		    ((_p->name.s[1] == 'r') || (_p->name.s[1] == 'R'))) {
-			_p->type = P_LR;
-			_h->rr.lr = _p;
-		}
-		break;
- 
-	case 'r':
-	case 'R':
-		if ((_p->name.len == 3) &&
-		    (_p->name.s[1] == '2')) {
-			_p->type = P_R2;
-			_h->rr.r2 = _p;
-		}
-		break;
-	}
-}
-
-
 /*
 /*
  * Try to find out parameter name, recognized parameters
  * Try to find out parameter name, recognized parameters
  * are q, expires and method
  * are q, expires and method
@@ -145,7 +117,7 @@ static inline void parse_uri_class(param_hooks_t* _h, param_t* _p)
 		if ((_p->name.len == 5) &&
 		if ((_p->name.len == 5) &&
 		    (!strncasecmp(_p->name.s + 1, "addr", 4))) {
 		    (!strncasecmp(_p->name.s + 1, "addr", 4))) {
 			_p->type = P_MADDR;
 			_p->type = P_MADDR;
-			_p->uri.maddr = _p;
+			_h->uri.maddr = _p;
 		}
 		}
 		break;
 		break;
 	}
 	}
@@ -287,7 +259,6 @@ static inline void parse_param_name(str* _s, pclass_t _c, param_hooks_t* _h, par
 	_p->name.len = _s->s - _p->name.s;
 	_p->name.len = _s->s - _p->name.s;
 	
 	
 	switch(_c) {
 	switch(_c) {
-	case CLASS_RR:      parse_rr_class(_h, _p);      break;
 	case CLASS_CONTACT: parse_contact_class(_h, _p); break;
 	case CLASS_CONTACT: parse_contact_class(_h, _p); break;
 	case CLASS_URI:     parse_uri_class(_h, _p);     break;
 	case CLASS_URI:     parse_uri_class(_h, _p);     break;
 	default: break;
 	default: break;
@@ -459,8 +430,6 @@ static inline void print_param(param_t* _p)
 	
 	
 	switch(_p->type) {
 	switch(_p->type) {
 	case P_OTHER:     type = "P_OTHER";     break;
 	case P_OTHER:     type = "P_OTHER";     break;
-	case P_LR:        type = "P_LR";        break;
-	case P_R2:        type = "P_R2";        break;
 	case P_Q:         type = "P_Q";         break;
 	case P_Q:         type = "P_Q";         break;
 	case P_EXPIRES:   type = "P_EXPIRES";   break;
 	case P_EXPIRES:   type = "P_EXPIRES";   break;
 	case P_METHOD:    type = "P_METHOD";    break;
 	case P_METHOD:    type = "P_METHOD";    break;

+ 0 - 13
parser/parse_param.h

@@ -42,8 +42,6 @@
  */
  */
 typedef enum ptype {
 typedef enum ptype {
 	P_OTHER = 0, /* Unknown parameter */
 	P_OTHER = 0, /* Unknown parameter */
-	P_LR,        /* Route & Record-Route: lr parameter */
-	P_R2,        /* Route & Record-Route: r2 parameter - Route & Record-Route */
 	P_Q,         /* Contact: q parameter */
 	P_Q,         /* Contact: q parameter */
 	P_EXPIRES,   /* Contact: expires parameter */
 	P_EXPIRES,   /* Contact: expires parameter */
 	P_METHOD,    /* Contact: method parameter */
 	P_METHOD,    /* Contact: method parameter */
@@ -59,7 +57,6 @@ typedef enum ptype {
  */
  */
 typedef enum pclass {
 typedef enum pclass {
 	CLASS_ANY = 0,  /* Any parameters, well-known hooks will be not used */
 	CLASS_ANY = 0,  /* Any parameters, well-known hooks will be not used */
-	CLASS_RR,       /* Route & Record-Route parameters */
 	CLASS_CONTACT,  /* Contact parameters */
 	CLASS_CONTACT,  /* Contact parameters */
 	CLASS_URI       /* URI parameters */
 	CLASS_URI       /* URI parameters */
 } pclass_t;
 } pclass_t;
@@ -77,15 +74,6 @@ typedef struct param {
 } param_t;
 } param_t;
 
 
 
 
-/*
- * Hooks to well known parameters for Route & Record-Route class of parameters
- */
-struct rr_hooks {
-	struct param* lr; /* lr parameter */
-	struct param* r2; /* r2 parameters - ser specific */
-};
-
-
 /*
 /*
  * Hooks to well known parameters for contact class of parameters
  * Hooks to well known parameters for contact class of parameters
  */
  */
@@ -111,7 +99,6 @@ struct uri_hooks {
  * Union of hooks structures for all classes
  * Union of hooks structures for all classes
  */
  */
 typedef union param_hooks {
 typedef union param_hooks {
- 	struct rr_hooks rr;           /* Route & Record-Route hooks */
 	struct contact_hooks contact; /* Contact hooks */
 	struct contact_hooks contact; /* Contact hooks */
 	struct uri_hooks uri;         /* URI hooks */
 	struct uri_hooks uri;         /* URI hooks */
 } param_hooks_t;
 } param_hooks_t;

+ 3 - 3
parser/parse_rr.c

@@ -96,14 +96,14 @@ int parse_rr(struct hdr_field* _h)
 			}
 			}
 
 
 			     /* Parse all parameters */
 			     /* Parse all parameters */
-			if (parse_params(&s, CLASS_RR, &hooks, &r->params) < 0) {
+			if (parse_params(&s, CLASS_ANY, &hooks, &r->params) < 0) {
 				LOG(L_ERR, "parse_rr(): Error while parsing params\n");
 				LOG(L_ERR, "parse_rr(): Error while parsing params\n");
 				goto error;
 				goto error;
 			}
 			}
 			r->len = r->params->name.s + r->params->len - r->nameaddr.name.s;
 			r->len = r->params->name.s + r->params->len - r->nameaddr.name.s;
 
 
 			     /* Copy hooks */
 			     /* Copy hooks */
-			r->r2 = hooks.rr.r2;
+			     /*r->r2 = hooks.rr.r2; */
 
 
 			if (s.len == 0) goto ok;
 			if (s.len == 0) goto ok;
 		}
 		}
@@ -211,7 +211,7 @@ static inline void xlate_pointers(struct sip_msg* _m, rr_t* _r)
 	
 	
 	ptr = _r->params;
 	ptr = _r->params;
 	while(ptr) {
 	while(ptr) {
-		if (ptr->type == P_R2) _r->r2 = ptr;
+		     /*		if (ptr->type == P_R2) _r->r2 = ptr; */
 		ptr->name.s = translate_pointer(_r->nameaddr.name.s, _m->buf, ptr->name.s);
 		ptr->name.s = translate_pointer(_r->nameaddr.name.s, _m->buf, ptr->name.s);
 		ptr->body.s = translate_pointer(_r->nameaddr.name.s, _m->buf, ptr->body.s);		
 		ptr->body.s = translate_pointer(_r->nameaddr.name.s, _m->buf, ptr->body.s);		
 		ptr = ptr->next;
 		ptr = ptr->next;