Adds a new check to TIPC's name table logic to reject any attempt to
create a new name publication that is identical to an existing one.
(Such an attempt will never happen under normal circumstances, but
could arise if another network node malfunctions and issues a duplicate
name publication message.)
Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
                }
 
                info = sseq->info;
+
+               /* Check if an identical publication already exists */
+               list_for_each_entry(publ, &info->zone_list, zone_list) {
+                       if ((publ->ref == port) && (publ->key == key) &&
+                           (!publ->node || (publ->node == node)))
+                               return NULL;
+               }
        } else {
                u32 inspos;
                struct sub_seq *freesseq;