cplc: permanent contact not skipped by lookup anymore
authoreasyrider14 <stephane.houssin@hotmail.fr>
Wed, 10 Mar 2021 09:54:25 +0000 (10:54 +0100)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 29 Mar 2021 08:22:14 +0000 (10:22 +0200)
- a permanently registered contact has an "expires" value of 0 in usrloc
  when processing lookup, cplc module checks that contacts are not expired by
  checking that the "expires" value of the contact is not lower than current
  time
  as a consequence, permanently registered contact are alsways skipped and
  never targeted

(cherry picked from commit 525ee139abcb45f71bda42b417b5f8e75c12a622)

src/modules/cplc/cpl_run.c

index 768f6b3..437e512 100644 (file)
@@ -283,7 +283,7 @@ static inline char *run_lookup( struct cpl_interpreter *intr )
                } else {
                        contact = r->contacts;
                        /* skip expired contacts */
-                       while ((contact) && (contact->expires <= tc))
+                       while ((contact) && (contact->expires > 0) && (contact->expires <= tc))
                                contact = contact->next;
                        /* any contacts left? */
                        if (contact) {