~ubuntu-branches/ubuntu/lucid/quagga/lucid-security

« back to all changes in this revision

Viewing changes to ospfd/ospf_interface.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2012-05-05 19:21:02 UTC
  • mfrom: (17.1.15 sid)
  • Revision ID: package-import@ubuntu.com-20120505192102-vhdjnud7ast901mj
Tags: 0.99.20.1-0ubuntu0.10.04.2
* SECURITY UPDATE: Update to 0.99.20.1 to fix multiple security issues.
  (LP: #994169)
  - Denial of service via short Link State Update packet
  - Denial of service via short network-LSA link-state advertisement
  - Denial of service via malformed Four-octet AS Number Capability
  - CVE-2012-0249
  - CVE-2012-0250
  - CVE-2012-0255
* debian/control, debian/rules: Remove quagga-dbg package for Lucid.
* debian/rules: don't use autotools_dev for Lucid.
* debian/patches/99_bgpd-fix-memory-leak-for-extra-attributes.diff:
  added fix for a bgpd memory leak related to extra attributes. Thanks to
  Debian for the regression fix.

Show diffs side-by-side

added added

removed removed

Lines of Context:
97
97
      if (oi->output_cost != newcost)
98
98
        {
99
99
          oi->output_cost = newcost;
100
 
          ospf_router_lsa_timer_add (oi->area);
 
100
          ospf_router_lsa_update_area (oi->area);
101
101
        }
102
102
    }
103
103
}
219
219
  ospf_add_to_if (ifp, oi);
220
220
  listnode_add (ospf->oiflist, oi);
221
221
  
222
 
  /* Clear self-originated network-LSA. */
223
 
  oi->network_lsa_self = NULL;
224
 
 
225
222
  /* Initialize neighbor list. */
226
223
  oi->nbrs = route_table_init ();
227
224
 
301
298
  ospf_nbr_delete (oi->nbr_self);
302
299
  oi->nbr_self = ospf_nbr_new (oi);
303
300
  ospf_nbr_add_self (oi);
304
 
  
305
 
  ospf_lsa_unlock (&oi->network_lsa_self);
306
 
  oi->network_lsa_self = NULL;
307
 
  OSPF_TIMER_OFF (oi->t_network_lsa_self);
308
301
}
309
302
 
310
303
void
335
328
  listnode_delete (oi->ospf->oiflist, oi);
336
329
  listnode_delete (oi->area->oiflist, oi);
337
330
 
 
331
  thread_cancel_event (master, oi);
 
332
 
338
333
  memset (oi, 0, sizeof (*oi));
339
334
  XFREE (MTYPE_OSPF_IF, oi);
340
335
}
534
529
 
535
530
  oip->auth_crypt = list_new ();
536
531
  
 
532
  oip->network_lsa_seqnum = htonl(OSPF_INITIAL_SEQUENCE_NUMBER);
 
533
 
537
534
  return oip;
538
535
}
539
536
 
572
569
      !OSPF_IF_PARAM_CONFIGURED (oip, type) &&
573
570
      !OSPF_IF_PARAM_CONFIGURED (oip, auth_simple) &&
574
571
      !OSPF_IF_PARAM_CONFIGURED (oip, auth_type) &&
575
 
      listcount (oip->auth_crypt) == 0)
 
572
      listcount (oip->auth_crypt) == 0 &&
 
573
      ntohl (oip->network_lsa_seqnum) != OSPF_INITIAL_SEQUENCE_NUMBER)
576
574
    {
577
575
      ospf_del_if_params (oip);
578
576
      rn->info = NULL;
1121
1119
             if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
1122
1120
               zlog_debug ("ospf_vl_up_check: VL cost change,"
1123
1121
                          " scheduling router lsa refresh");
1124
 
             if(ospf->backbone)
1125
 
               ospf_router_lsa_timer_add (ospf->backbone);
 
1122
             if (ospf->backbone)
 
1123
               ospf_router_lsa_update_area (ospf->backbone);
1126
1124
             else if (IS_DEBUG_OSPF (ism, ISM_EVENTS))
1127
1125
               zlog_debug ("ospf_vl_up_check: VL cost change, no backbone!");
1128
1126
           }