]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
access, esfilter: reindex calls fix, fixes #2462
authorJaroslav Kysela <perex@perex.cz>
Mon, 10 Nov 2014 19:32:10 +0000 (20:32 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 10 Nov 2014 19:32:10 +0000 (20:32 +0100)
src/access.c
src/esfilter.c

index da3ce36fc9b80f3f5b2fe8da6c17e53482c6e181..f4e2c005876c2f933e6cd81ca8f1dec48df754b7 100644 (file)
@@ -843,6 +843,7 @@ access_entry_create(const char *uuid, htsmsg_t *conf)
       TAILQ_INSERT_TAIL(&access_entries, ae, ae_link);
   } else {
     TAILQ_INSERT_TAIL(&access_entries, ae, ae_link);
+    access_entry_reindex();
   }
 
   if (ae->ae_username == NULL)
@@ -854,8 +855,6 @@ access_entry_create(const char *uuid, htsmsg_t *conf)
   if (TAILQ_FIRST(&ae->ae_ipmasks) == NULL)
     access_set_prefix_default(ae);
 
-  access_entry_reindex();
-
   return ae;
 }
 
@@ -1357,6 +1356,7 @@ access_init(int createdefault, int noacl)
       (void)access_entry_create(f->hmf_name, m);
     }
     htsmsg_destroy(c);
+    access_entry_reindex();
   }
 
   if(TAILQ_FIRST(&access_entries) == NULL) {
index 802e0e5d26db8a88300f956948ebec66dfe77cc4..6dabd87ff7b4214977d99317894b602f3a7d428c 100644 (file)
@@ -180,8 +180,9 @@ esfilter_create
     TAILQ_INSERT_SORTED(&esfilters[esf->esf_class], esf, esf_link, esfilter_cmp);
   } else {
     TAILQ_INSERT_TAIL(&esfilters[esf->esf_class], esf, esf_link);
-    esfilter_reindex(esf->esf_class);
   }
+  if (!conf)
+    esfilter_reindex(esf->esf_class);
   if (save)
     esfilter_class_save((idnode_t *)esf);
   return esf;
@@ -1045,6 +1046,9 @@ esfilter_init(void)
     esfilter_create(-1, f->hmf_name, e, 0);
   }
   htsmsg_destroy(c);
+
+  for (i = 0; i <= ESF_CLASS_LAST; i++)
+    esfilter_reindex(i);
 }
 
 void