Bläddra i källkod

registrar(k): preserve old bflags upon lookup

- lookup was resetting bflags value with what was retrieved from
  location table
- preserve now bflags set in config before
- reported by Ricardo Martinez
Daniel-Constantin Mierla 15 år sedan
förälder
incheckning
e6eceeb8cc
1 ändrade filer med 5 tillägg och 1 borttagningar
  1. 5 1
      modules_k/registrar/lookup.c

+ 5 - 1
modules_k/registrar/lookup.c

@@ -65,6 +65,8 @@ int lookup(struct sip_msg* _m, char* _t, char* _s)
 	int res;
 	int ret;
 	str path_dst;
+	flag_t old_bflags;
+
 
 	if (_m->new_uri.s) uri = _m->new_uri;
 	else uri = _m->first_line.u.request.uri;
@@ -131,7 +133,9 @@ int lookup(struct sip_msg* _m, char* _t, char* _s)
 
 		set_ruri_q(ptr->q);
 
-		setbflagsval( 0, ptr->cflags);
+		old_bflags = 0;
+		getbflagsval(0, &old_bflags);
+		setbflagsval(0, old_bflags|ptr->cflags);
 
 		if (ptr->sock)
 			set_force_socket(_m, ptr->sock);