Age | Commit message (Collapse) | Author |
|
* ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
error message.
|
|
* ospf_interface.h: Reduce structure padding by putting new u_char
field multicast_memberships in a better spot (grouped with
other u_char fields type and state).
|
|
* zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
to use compound assignment operators (aesthetic change).
|
|
* ospf_interface.h: Improve passive_interface comment. Add new
multicast_memberships bitmask to struct ospf_interface to track
active multicast subscriptions. Declare new function
ospf_if_set_multicast.
* ospf_interface.c: (ospf_if_set_multicast) New function to configure
multicast memberships properly based on the current
multicast_memberships status and the current values of the
ospf_interface state, type, and passive_interface status.
(ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
now handled by ism_change_state's call to ospf_if_set_multicast).
(ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
handled by ism_change_state).
* ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
the DRouters multicast group (now handled by ism_change_state's call
to ospf_if_set_multicast).
(ism_change_state) Add call to ospf_if_set_multicast to change
multicast memberships as necessary to reflect the new interface state.
* ospf_packet.c: (ospf_hello) When a Hello packet is received on a
passive interface: 1. Increase the severity of the error message
from LOG_INFO to LOG_WARNING; 2. Add more information to the error
message (packet destination address and interface address);
and 3. If the packet was sent to ospf-all-routers, then try
to fix the multicast group memberships.
(ospf_read) When a packet is received on an interface whose state
is ISM_Down, enhance the warning message to show the packet
destination address, and try to update/fix the multicast group
memberships if the packet was sent to a multicast address.
When a packet is received for ospf-designated-routers, but the
current interface state is not DR or BDR, then increase the
severity level of the error message from LOG_INFO to LOG_WARNING,
and try to fix the multicast group memberships.
* ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
any ospf interface that may have changed from active to passive.
(no_ospf_passive_interface) Call ospf_if_set_multicast for
any ospf interface that may have changed from passive to active.
(show_ip_ospf_interface_sub) Show multicast group memberships.
|
|
* ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
|
|
* ripd.c: Untangle the construction of RIP auth data.
(rip_auth_prepare_str_send) new helper function, prepare
correct key string.
(rip_auth_simple_write) new helper, write out the
rip simple password auth psuedo-RTE.
(rip_auth_md5_ah_write) new helper, write out the
MD5 auth-header psuedo-RTE.
(rip_auth_header_write) new helper, write out correct
auth header data / psuedo-RTE.
(rip_auth_md5_set) rip out the memmove and writing of the
auth header psuedo-RTE. So that all that is left is to
write the trailing auth digest, and update digest offset
field in the original header.
(rip_write_rte) rip out writing of RIP header, writing of
simple auth data psuedo-RTE. Make it do what its name suggests,
write out actual RTEs.
(rip_output_process) remove the incorrect additional decrements
of rtemax. Prepare the auth_str, which simple or MD5 auth will
need. Move write out of RIP header and auth data to inside the
loop. Adjust paramaters as required.
|
|
* log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
since it is not async-signal-safe.
(_zlog_assert_failed) Rewrite crashlog logic more compactly.
(zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
for use in signal handler.
|
|
* basic.texi: Add note about last-resort crash logging to /var/tmp
when file logging is not configured.
* quagga.info: updated build of autogenerated file
|
|
* log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
inside this function only.
(open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
(zlog_signal,_zlog_assert_failed) Increase logging priority from
LOG_ERR to LOG_CRIT. If no file logging is configured, try to use
open_crashlog to create a crash logfile.
(zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
dump a backtrace to that file.
|
|
* ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
not for event ISM_InterfaceDown. And improve the message by
adding the interface flags.
* if.h: Declare if_flag_dump.
[backport candidate]
|
|
transparent-nexthop" commands.
[merge from GNU Zebra]
|
|
[merge from GNU Zebra]
|
|
community-list cleanup.
[merge from GNU Zebra]
|
|
-> "disable-connected-check".
[merge from GNU Zebra]
|
|
bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
graceful-restart" commands added. Show numbers of individual
messages in "show ip bgp neighbor" command. Final pieces of graceful
restart.
[merge from GNU Zebra]
|
|
capability route-refresh" commands. Route refresh capability is sent
anyway now. Preserve dummy deprecated commands.
[merge from GNU Zebra]
|
|
draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
version" command as deprecated.
[merge from GNU Zebra]
|
|
maximum-prefix limit" feature support.
[merge from GNU Zebra]
|
|
* bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
function.
* bgp_packet.c: MP AFI_IP update and withdraw parsing.
* bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
is better place to log about peer status change than bgp_event().
Log in bgp_connect_success().
* bgp_vty.c: Fix typo in comment.
* bgp_attr.c: Better log about unknown attribute.
[merge from GNU Zebra]
|
|
* daemon.c: (daemon) Replace perror with zlog_err.
* vty.c: (vty_serv_un) Replace perror with zlog_err.
* ripd.c: (rip_create_socket) Replace perror with zlog_err.
* ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
zlog_err.
* ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
zlog_err.
|
|
* ripng_interface.c: (ripng_multicast_join) Save errno before calling
ripngd_privs.change.
|
|
* ripd.c: (rip_create_socket) Save errno before calling
ripd_privs.change.
|
|
* ospf_network.c: (ospf_sock_init) Save errno before calling
ospfd_privs.change.
|
|
* buffer.h: Fix comment on buffer_getstr to reflect that it now
uses XMALLOC.
* buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
* filter.c: (access_list_remark,ipv6_access_list_remark) Use
argv_concat instead of buffer_getstr.
* if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
* plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
Use argv_concat instead of buffer_getstr.
* bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
of buffer_getstr.
* bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
returned by buffer_getstr.
(bgp_show_community) Must use XFREE instead of free on string
returned by buffer_getstr.
* bgp_routemap.c: (set_community) Must use XFREE instead of free
on string returned by buffer_getstr.
* bgp_vty.c: (neighbor_description) Use argv_concat instead of
buffer_getstr.
|
|
* if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
zserv_privs.change.
* ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
zserv_privs.change.
* ipforward_solaris.c: (solaris_nd) Save errno before calling
zserv_privs.change.
* irdp_main.c: (irdp_sock_init) Save errno before calling
zserv_privs.change.
[backport candidate]
|
|
* rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
netlink_talk) Save errno before calling zserv_privs.change.
[backport candidate]
|
|
* ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
an error message and return.
(ospf_read) If the interface state is ISM_InterfaceDown, issue
a warning message and ignore the packet.
|
|
* vtysh.h: Remove obsolete VTYSH_INDEX_* defines. Fix many prototypes
for functions with no arguments (must specify argument list as void).
* vtysh.c: Enhance vtysh_client array to include the daemon's name
and bitmask and socket path (in addition to the fd). This allows
us to use loop constructs for various operations that need to be
applied to all client daemons, and it facilitates better error
messages. Also fix some prototypes with void argument lists.
(vclient_close) Issue a warning message indicating which daemon's
socket is being closed.
(vtysh_execute_func,vtysh_config_from_file) Use a for loop to
call vtysh_client_execute.
(vtysh_write_terminal,write_config_integrated) Use a for loop to
call vtysh_client_config.
(vtysh_write_memory) Use a for loop to call vtysh_client_execute.
(vtysh_show_daemons) Use a for loop.
(vtysh_connect) The struct vtysh_client is now statically initialized,
so do not initialize it here.
(vtysh_connect_all) Use a for loop to call vtysh_connect. Set
ripd_client pointer for use in vtysh_exit_ripd_only.
|
|
* lib/buffer.h: Document behavior of buffer_getstr function.
* lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
the string extends beyond the head struct buffer_data.
|
|
* lib/command.h: Document behavior of argv_concat function.
* lib/command.c: (argv_concat) Calculate total string length first so
we can call malloc just once (instead of realloc'ing to add each
string element).
(do_echo,config_logmsg) Allow for possible NULL return value from
argv_concat.
|
|
* ospf6_asbr.c: Add "hsls" to the zroute_name const char array.
|
|
* configure.ac: Bump version to 0.99.0
* doc/quagga.info: Version bump (autogenerated)
|
|
if old one is flaged as BGP_INFO_ATTR_CHANGED.
|
|
* zebra/rt_netlink.c: ignore wireless newlink netlink messages.
|
|
use it as well.
* vtysh/vtysh.c: Implement walkup in node tree for vtysh as it already
works in vty.
|
|
"integrated-vtysh-config".
|
|
* log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
two args (siginfo and program_counter).
* log.c: (hex_append) Include this function only if SA_SIGINFO or
HAVE_GLIBC_BACKTRACE is defined.
(zlog_signal) Final two args (siginfo and program_counter) now
depend on whether SA_SIGINFO is defined on this platform.
* sigevent.c: (program_counter) Do not include this function if
SA_SIGINFO is not defined on this platform.
(exit_handler,core_handler) Test for SA_SIGINFO to decide whether
2nd & 3rd arguments are present and to decide how to invoke
zlog_signal.
(trap_default_signals) Test for SA_SIGINFO and invoke sigaction
appropriately.
|
|
functions and some tiny related fixes. No functional changes.
|
|
case of /proc being used. I don't have others to test with at the
moment.
|
|
* log.h: Change prototype for zlog_backtrace_sigsafe to take additional
program_counter argument.
* log.c: (zlog_backtrace_sigsafe) Add additional program_counter
argument. If it is non-NULL, use backtrace_symbols_fd to resolve
the address.
(zlog_signal) Call zlog_backtrace_sigsafe with additional
program_counter argument.
[pullup candidate]
|
|
configured or not. Being not configured is even better reason to
do it.
|
|
[pullup candidate]
|
|
to walk up in the node tree if called from vtysh. Different daemons
might have commands with same syntax in different nodes (for example
"router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).
* vtysh.c: Reflect changes in lib. cmd_execute_command() should know
now that it's called from vtysh and must not attempt to walk up in
the node tree.
[pullup candidate]
|
|
* redhat/quagga.spec.in: Fix postun script to avoid misleading error
message saying the postun scriptlet failed when watchquagga
is not running.
(pullup candidate)
|
|
* command.c (print_version): Do not bother even to examine host.name,
since it is always NULL when this function is called from main.
|
|
* command.c (print_version): Don't print host.name if it is NULL.
Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch>
(pullup candidate)
|
|
last release..
|
|
* configure.ac: Test for header file <ucontext.h> (for use in
signal processing).
* sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
pass additional siginfo_t and ucontext_t arguments to core_handler
and exit_handler.
(core_handler,exit_handler) Now invoked with 3 arguments (using
SA_SIGINFO). Pass additional info to zlog_signal.
(program_counter) New function to find program counter in ucontext_t,
needs to be enhanced to support more platforms (currently works only
on Linux/x86).
* log.h: Change the zlog_signal prototype to add new arguments
siginfo_t * and program_counter.
* log.c: (zlog_signal) Add new arguments siginfo and program_counter.
Include si_addr and program counter (if non-NULL) in message.
And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
that is now used to render the si_addr and PC pointers.
|
|
* configure.ac: If configure is invoked with --enable-snmp, but
the configure script is unable to find SNMP support on the platform,
then configure should give an error message and exit.
|
|
* redhat/quagga.spec.in: Pass --enable-gcc-rdynamic to configure
to get gcc to link with -rdynamic for better backtraces.
When the rpm is upgraded, the restart logic now works as follows:
1. stop watchquagga; 2. stop all routing daemons; 3. restart zebra
if it was running; 4. start all routing daemons that were running;
and 5. start watchquagga if it was running.
|