)]}'
{
  "log": [
    {
      "commit": "c32e1b5788b996f6c5a9521c1fc79f5640e10d99",
      "tree": "ad549cbfd8b73ff6852deed8c2a1946c814f9f57",
      "parents": [
        "9e867fe663c4eb43c36f35067c0dd092e8c83c14"
      ],
      "author": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 09:06:51 2003 +0000"
      },
      "committer": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 09:06:51 2003 +0000"
      },
      "message": "Add comments about isisd integration.\n"
    },
    {
      "commit": "9e867fe663c4eb43c36f35067c0dd092e8c83c14",
      "tree": "f29461b6a2dc8c38037dc0cf91e70392f9ed4ab2",
      "parents": [
        "eb5d44eb8dcf25a1b328e57d1eabb1f89e3bc59b"
      ],
      "author": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 08:56:18 2003 +0000"
      },
      "committer": {
        "name": "jardin",
        "email": "jardin",
        "time": "Tue Dec 23 08:56:18 2003 +0000"
      },
      "message": "Merge isisd into the Quagga\u0027s framework:\n  - add privs support\n  - use misc quagga\u0027s definitions\n  - make it compile\"able\"\n  - fix segfault cases related to hostname()\n  - add debug isis xxx command\n\nThis patch has been approved by Paul Jakma.\n"
    },
    {
      "commit": "3dbf99698a3be2e920871c3127ea089e061a127c",
      "tree": "8652a4b960116adc4cade4652729474ced8e5ba9",
      "parents": [
        "aa593d5e2638566ead1e69381e60639550991ff2"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:18:18 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:18:18 2003 +0000"
      },
      "message": "Reorder free(f); unlink(f); to unlink before freeing.\n"
    },
    {
      "commit": "aa593d5e2638566ead1e69381e60639550991ff2",
      "tree": "c865f642c1029fa47b8fc6cc86302468b9b2aef4",
      "parents": [
        "47ce02a8f12134a6ba515fbf1d2b9276e39d4c06"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:15:53 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 20:15:53 2003 +0000"
      },
      "message": "2003-12-22 Christian Hammers \u003cch@lathspell.de\u003e\n\n        * configure.ac (and everywhere a regular file is opened for\n          writing): use file permissions from configure rather than\n          compiled-in umask.\n"
    },
    {
      "commit": "47ce02a8f12134a6ba515fbf1d2b9276e39d4c06",
      "tree": "1fb92612024ca80abdfb9a99af42866340a4dc05",
      "parents": [
        "76398034067abd80e174fea9d0d6c619de7cc679"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Dec 22 16:49:15 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Mon Dec 22 16:49:15 2003 +0000"
      },
      "message": "Revert my \"microfix\". It was caused by misreading code. Gilad is right as\nalways.\n"
    },
    {
      "commit": "76398034067abd80e174fea9d0d6c619de7cc679",
      "tree": "da9da898e4449f5ee7529193bb468cac4a6354e3",
      "parents": [
        "a7a9990f48d7e45463b0c50986805973956fdb4c"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 16:32:15 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 16:32:15 2003 +0000"
      },
      "message": "note that order of \u003d items is undefined, probably\n"
    },
    {
      "commit": "a7a9990f48d7e45463b0c50986805973956fdb4c",
      "tree": "57a40b0c7af971c3fc7256e452b90f32897470de",
      "parents": [
        "297602162c89b10f6ee41c21e6302bcc51199a3d"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 16:07:52 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 16:07:52 2003 +0000"
      },
      "message": "comments about struct list\n"
    },
    {
      "commit": "297602162c89b10f6ee41c21e6302bcc51199a3d",
      "tree": "57bc991e38997884ee3cb8fe4f2e4a0884a9b7b0",
      "parents": [
        "1f431d2d989b3a0a43b8ed0c2681619812e4259c"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 15:56:00 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 22 15:56:00 2003 +0000"
      },
      "message": "add comments clarifying the operation of listnode_add_sort\n"
    },
    {
      "commit": "e90fbabdc6a8db7a6bbf9fa22b83da1a03023d32",
      "tree": "a961d314a2a6233b0b6b0562f826005d2f9423ad",
      "parents": [
        "d9fd04c24bb6e6fc9aaca6daf5c062beced2605f"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Dec 21 09:51:42 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun Dec 21 09:51:42 2003 +0000"
      },
      "message": "lib/if.c part from [quagga-dev 552] and lib/inklist.c part from [quagga-dev\n555]. Okayed by Paul.\n"
    },
    {
      "commit": "af273652d500b7d3ed4de0da856634a3a0638e67",
      "tree": "b9a70e539dd2aa52b152cc0144c13c4f5eff8ada",
      "parents": [
        "239aecc01cd8ef389b3684cff6ba372da51826ff"
      ],
      "author": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 08 18:12:34 2003 +0000"
      },
      "committer": {
        "name": "gdt",
        "email": "gdt",
        "time": "Mon Dec 08 18:12:34 2003 +0000"
      },
      "message": "{lib,ospfd,ospfapi}/Makefile.am:\n\nUse pkginclude_HEADERS rather than include_HEADERS to place includes\nin ${prefix}/include/quaggainstead of polluting ${prefix}/include.\n"
    },
    {
      "commit": "e4eaf1d509923fa6a53acb7f67732b3cfed0c8d2",
      "tree": "2faa9d9e1c1566768b057c4fbb89745fdf656d2a",
      "parents": [
        "3bf1c917d10b3429afc139ad47252c3aa0dcd3a8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Oct 30 21:58:06 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Oct 30 21:58:06 2003 +0000"
      },
      "message": "2003-10-30 sowmini.varadhan@sun.com\n\n        * lib/pid_output.c: (pid_output_lock) undo paulj\u0027s mindless edit.\n"
    },
    {
      "commit": "3bf1c917d10b3429afc139ad47252c3aa0dcd3a8",
      "tree": "32b8b28cc0d37349bea4673ce8b2b64987d31e49",
      "parents": [
        "6baeb98892ee1c574af5cd3896a3a6d65cef0117"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 29 06:30:19 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 29 06:30:19 2003 +0000"
      },
      "message": "2003-10-29 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/routemap.c: (route_map_apply_index) renamed to\n          route_map_apply_match.\n          (route_map_apply_match) Take rule list as argument rather than\n          index. concentrate solely on match logic.\n          (route_map_apply) Properly implement the route map statement\n          logic, according to the table, especially the on-match exit\n          policy.\n"
    },
    {
      "commit": "948cf55c4447257960fda0d89fb45e93644393b1",
      "tree": "87360f9330b45da6aa9b4d2d168cb787a26d391d",
      "parents": [
        "3738d8cab744b1e11148d23ce16db5891b5e747e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 27 22:12:02 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 27 22:12:02 2003 +0000"
      },
      "message": "2003-10-27 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/if.{ch}: remove ifc_pointtopoint() - left over from the\n\t  reverted RFC3021 patch.\n"
    },
    {
      "commit": "e937253b72b9fa526a56866bd4b827bf05bfb80c",
      "tree": "ca04ee467b851042cd1e1f1462d02048580edb5a",
      "parents": [
        "bb46e94fcccd9ede513bef8d8e22fe5fafdfbd10"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 26 21:36:07 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Oct 26 21:36:07 2003 +0000"
      },
      "message": "2003-10-26 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/vty.c: (vty_read) additional change i had applied to Jay\u0027s\n\t  telnet sub-option processing crash fix was incorrect, revert.\n"
    },
    {
      "commit": "04bd484bf272dd580349c832f84cf5ffa27003bb",
      "tree": "9f9c50fda664e0ce62d43af14ec7ec546f801547",
      "parents": [
        "e92fbaf27ea028d4def1246b7fadb2096bfa4d8d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 24 04:24:39 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 24 04:24:39 2003 +0000"
      },
      "message": "2003-10-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * configure.ac: Check for fcntl()\n        * {bgpd,ospf,ospf6d,ripd,ripngd}/Makefile.am: Install conf file via\n          regular automake means, not magic install incantations, see\n          bug #38.\n        * lib/Makefile.am: install the headers, needed to link libzebra.a\n          (and hence libospf.a, OSPF-API, etc.)\n"
    },
    {
      "commit": "e92fbaf27ea028d4def1246b7fadb2096bfa4d8d",
      "tree": "82a4635afd48faa6de8a6203bd4af28e404c518c",
      "parents": [
        "b1809beaddff93c1bd01b73f937032be156a9dc7"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 24 04:10:16 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Oct 24 04:10:16 2003 +0000"
      },
      "message": "2003-10-24 sowmini.varadhan@sun.com\n\n        * lib/pid_output.c: (pid_output) call pid_output_lock if we have\n          fcntl().\n          (pid_output_lock) grab exclusive write lock on pid file, rather\n\t  than rely on (fragile) exclusive create.\n"
    },
    {
      "commit": "a58c25b65d9816a549278f1a74a9121500b14b20",
      "tree": "ab838eaab06046b446ff1ea7d8b9ff9ef678af61",
      "parents": [
        "ccc9235e602ebd578fbeba3c98499b3933069d96"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:50:45 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:50:45 2003 +0000"
      },
      "message": "2003-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/zebra.h: include limits.h if its there, its a portable header\n          and useful and not just solaris specific. net/route.h is also\n          useful.\n"
    },
    {
      "commit": "ccc9235e602ebd578fbeba3c98499b3933069d96",
      "tree": "c03f38a5d99e63212a9addf54b35e04e4de34015",
      "parents": [
        "d1724b6555510c22d2df55a9245fe4e6f1b08922"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:49:38 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:49:38 2003 +0000"
      },
      "message": "2003-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/vty.c: cleanup getcwd again. just pass the buffer in to getcwd.\n"
    },
    {
      "commit": "d1724b6555510c22d2df55a9245fe4e6f1b08922",
      "tree": "3c72ac425f323f94fe57f8310011fc1f8c9273b5",
      "parents": [
        "dc7a2bf1c831f6bcea5945f7fe2eb2ba111e4224"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:41:52 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 22 02:41:52 2003 +0000"
      },
      "message": "2003-10-22 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/regex.c: bzero -\u003e memset\n        * zebra/ioctl.c: ditto. bzero is not portable.\n"
    },
    {
      "commit": "5b8c1b0d6af736b0633309b4b3490298b9a20742",
      "tree": "9ffdf1bfbb4d4ecc5d3a26e265fbc98c9869ed96",
      "parents": [
        "79ad27982af1440a841298b684d94732ae07d003"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 23:08:55 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 23:08:55 2003 +0000"
      },
      "message": "2003-10-15 Jay Fenlason \u003cfenlason@redhat.com\u003e\n\n        * lib/vty.c: (vty_telnet_option) Remote DoS exists if a telnet\n          end-sub-negotation is sent when no sub-negotation data has been\n          sent. Return immediately if no sub-negotation is in progress.\n          (vty_read) do not attempt to process options if no sub-negotation\n          is in progress.\n"
    },
    {
      "commit": "79ad27982af1440a841298b684d94732ae07d003",
      "tree": "38396c6632528ac715d098fc15fb7c9496be0ea6",
      "parents": [
        "affe1d9c7f333e0d0373505c4a57994ab1a03822"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 22:09:28 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Oct 15 22:09:28 2003 +0000"
      },
      "message": "2003-10-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/vty.c: (vty_save_cwd) dont crash if getcwd fails. try fallback\n          to SYSCONFDIR. Allocate cwd from the stack rather than relying on\n          (non-portable) getcwd() allocation (which we didnt seem to be\n\t  freeing).\n"
    },
    {
      "commit": "3b424979f54c6b128d1ee8a7c33d072d321f2f0c",
      "tree": "c3c684d2e1576610d3a0cedefa3bab23610c8d61",
      "parents": [
        "7ddf1d6eaf5a339d13661469212ac33f77e808fc"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 13 09:47:32 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Oct 13 09:47:32 2003 +0000"
      },
      "message": "2003-10-13 Jay Fenlason \u003cfenlason@redhat.com\u003e\n\n\t* lib/zebra.h: define UINT32_MAX for those systems which do not\n\t  provide it.\n\t* bgp_attr.h: define BGP_MED_MAX.\n\t* bgp_route.c: update defines/constants to BGP_MED_MAX.\n\t* bgp_routemap.c: ditto. clean up route_match_metric_compile\n\t  slightly to avoid unneccesary XMALLOC.\n"
    },
    {
      "commit": "31a476c7e9014aa81dc0d50b4100431ab111bf3f",
      "tree": "3f7fd8ed9010917cb3e93389d4e1d5a9649c5741",
      "parents": [
        "f3e05cda2a35abe1bcd9e3ad33083f4c78c0235a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 29 19:54:53 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Sep 29 19:54:53 2003 +0000"
      },
      "message": "2003-09-29 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* zebra/connected.c: revert the \u0027generic PtP\u0027 patch as it causes\n\tfar too many problems. People who use FreeSWAN should investigate\n\tnative linux ipsec.\n\t* zebra/rt_netlink.c: ditto\n\t* lib/if.c: ditto\n\t* ripd/ripd.h: ditto\n\t* ripd/ripd.c: ditto\n\t* ripd/rip_interface.c: ditto\n\t* ospfd/ospfd.c: ditto\n\t* ospfd/ospf_snmp.c: ditto\n\t* bgpd/bgp_nexthop.c: ditto\n"
    },
    {
      "commit": "fa1253d0c95416ab0361e6945275ef8194fd7ddd",
      "tree": "c0e9455701831fcc436f3b579eca956e07c6686a",
      "parents": [
        "3e95a0741feb6f8b103577d0019a5db562d8315d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Sep 24 05:09:26 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Sep 24 05:09:26 2003 +0000"
      },
      "message": "2003-09-24 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/version.h: moved to version.h.in\n        * lib/version.h.in: New file, from version.h. Change hardcoded\n          package name and version to use the autoconf defined substition\n          variables.\n        * configure.ac: Fix up AC/AM_INIT* to new style. Remove the sed\u0027ing\n          through lib/version.h for VERSION. Add lib/version.h to the\n          AC_OUTPUT list. Update the text output of quagga version at end\n          of configure run to use PACKAGE_VERSION.\n        * doc/.cvsignore: ignore quagga.pdf\n        * doc/.cvsignore: ignore version.h, its now autogenerated.\n"
    },
    {
      "commit": "729606fea247f482231d78c5e70ae66db98a2678",
      "tree": "6ce91fe54890d3ae2dd219c2c05f08450c17de60",
      "parents": [
        "90578521e5f332e65e97f7612485d04ace5c0ba5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Sep 23 23:47:14 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Sep 23 23:47:14 2003 +0000"
      },
      "message": "2003-09-24 sowmini.varadhan@sun.com\n\n\t* lib/linklist.c: (if_cmp_func) Fix handling of case where\n\t  list-\u003ecmp returns 0.\n"
    },
    {
      "commit": "90578521e5f332e65e97f7612485d04ace5c0ba5",
      "tree": "bafe073096f587d8813aed705a5fac3e3eac6232",
      "parents": [
        "878ef2e7800e5e173b6c6b0875494f02fd3b93be"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Sep 23 23:46:01 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Sep 23 23:46:01 2003 +0000"
      },
      "message": "2003-09-24 sowmini.varadhan@sun.com\n\n\t* lib/if.c: (if_cmp_func) fix infinite loop if\n\t  ifp1-\u003ename \u003d\u003d ifp2-\u003ename\n"
    },
    {
      "commit": "fd6ff2fc6b221f2c2c30ef0d29f5e938c1737577",
      "tree": "fa1707523ae5dfd8de02b24500af58dbf82d8a79",
      "parents": [
        "c2f3a4cc771da731f5aedc455e6f6a543acd6e38"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 27 06:17:18 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 27 06:17:18 2003 +0000"
      },
      "message": "2003-08-27 Jay Fenlason \u003cfenlason@redhat.com\u003e\n\n\t* lib/Makefile.am: Do not use a lib (libcap) as a dependency\n\t* zebra/Makefile.am: Link in libcap\n"
    },
    {
      "commit": "d02d5a6b7bc25abc8cf16e4959f89e84116b7ea5",
      "tree": "da0a8e067bc8d5530d74e5a3193e8feb36b50f4c",
      "parents": [
        "54aba54c10d7cc98023a49e3a8a3509cbd358867"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Aug 25 16:53:54 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Aug 25 16:53:54 2003 +0000"
      },
      "message": "2003-08-25 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* configure.ac: bump version-\u003e 0.96.2\n\t* lib/version.h: bump version, ditto.\n"
    },
    {
      "commit": "54aba54c10d7cc98023a49e3a8a3509cbd358867",
      "tree": "587880d48479ea7f4872f349c425e7582222d641",
      "parents": [
        "048ba1d0a99f4f25c3b5909273119dbc006b50ff"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 21 20:28:24 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 21 20:28:24 2003 +0000"
      },
      "message": "2003-08-20  Yasuhiro Ohara \u003cyasu@sfc.wide.ad.jp\u003e\n\n\t* command.c: Fix \u003ccr\u003e display problem for command line\n\t  description.\n"
    },
    {
      "commit": "5cc085ff0f07d6da06498d10a4e5f2dc23b9c4aa",
      "tree": "fd8495a0c25b45ad2d6b3d2dbb2b99aa4e04111a",
      "parents": [
        "d81fadfd889aa7bc657fa19752344a585e8c274a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 14 05:33:23 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Aug 14 05:33:23 2003 +0000"
      },
      "message": "2003-08-14 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/version.h: bump to 0.96.1.\n"
    },
    {
      "commit": "42053f4e3a0bb8d4e2df7c9d626629cc14dfc285",
      "tree": "68e2d21637f3e61b7ab3bf6cf4cebe69063fdaaf",
      "parents": [
        "73aafda016906e049013d1bade9bbc173204d5e0"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 13 02:54:44 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 13 02:54:44 2003 +0000"
      },
      "message": "2003-08-13 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/version.h: Add QUAGGA_PROGNAME\n\t* lib/smux.c: hardcoded zebra/quagga -\u003e QUAGGA_PROGNAME\n\t* lib/command.c: ditto\n\t* vtysh/vtysh_user.c: ditto\n"
    },
    {
      "commit": "73aafda016906e049013d1bade9bbc173204d5e0",
      "tree": "4671c746b5454ac97877c60d69dc543f57ebf14d",
      "parents": [
        "848973c71e75424d07c2cd52ba991aae1b9df12a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 13 02:46:09 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Aug 13 02:46:09 2003 +0000"
      },
      "message": "2003-08-13 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/smux.c: change progname to quagga.\n"
    },
    {
      "commit": "e8f2984c00d406781eff42db7afcdae5d5a6a366",
      "tree": "f8b4da099e7f06c25a6b27c873c9897b935b91a2",
      "parents": [
        "5f5eab7833eef6aa0c95ee991bbdb65cfcc90011"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 13:08:31 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 13:08:31 2003 +0000"
      },
      "message": "2003-08-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n2003-08-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * Makefile.am: redhat/zebra.* -\u003e redhat/quagga.*\n        * configure.ac: Bump autoconf prerequisite to 2.53.\n          dist name zebra -\u003e quagga.\n          general Zebra -\u003e Quagga where appropriate (ie not zebra daemon).\n          User and group zebra-\u003equagga.\n          s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/.\n        * bgpd/bgp_main.c: s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/\n        * lib/command.c: Update banners and s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/\n        * lib/print_version.c: ditto\n        * lib/version.h: s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/ and bump version.\n          Change ZEBRA_URL.\n        * lib/smux.c: s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/\n        * lib/vty.h: Change Zebra.conf to Quagga.conf (integrated file)\n        * ospf6d/ospf6{,_main}.c: s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/\n        * ospfd/ospf_main.c: s/ZEBRA\\(_VERSION\\)/QUAGGA\\1/\n"
    },
    {
      "commit": "071fcedb308f6b868b613453a0f78d12566f57a5",
      "tree": "3affcb5e71fb4b827ec33687be826f1d0d6a98e5",
      "parents": [
        "ac41b2a2d40356468edc84becc6d5800d119aef6"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 05:40:28 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Aug 12 05:40:28 2003 +0000"
      },
      "message": "2003-08-12 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/linkhist.h: The LISTNODE_{ADD,DEL} macros (not used anywhere)\n\t  do not maintain the list count - fix.\n"
    },
    {
      "commit": "106d2fd572c18bebe3dc44031c6d5e56e7b9030f",
      "tree": "df226870be1178b347947aecbe7d468022b47a91",
      "parents": [
        "12ab19f1863e80134353244967a87805b12fe722"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Aug 01 00:24:13 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Aug 01 00:24:13 2003 +0000"
      },
      "message": "2003-08-01 Cougar \u003ccougar@random.ee\u003e\n\n\t* lib/if.c: (if_cmp_func) new function, compare interface names in\n\talphabetical order.\n\t(if_create) Take name as argument and add interface in sorted order.\n\t(if_get_by_name),(interface_cmd) fixup calls to if_create - see\n\tabove.\n\t(if_init) register list comparison function.\n\t* lib/if.h: Add comparison function, modify if_create prototype.\n\t* lib/zclient.c: Modify call to if_create.\n\t* ospfd/ospf_interface.c: (ospf_vl_new) modify call to if_create.\n\tchange sprintf to snprintf.\n\t* zebra/kernel_socket.c: (ifm_read) modify call to if_create.\n"
    },
    {
      "commit": "12ab19f1863e80134353244967a87805b12fe722",
      "tree": "ca24d6470345db13366a95fe3ee48d4f97f50047",
      "parents": [
        "828eb7fb46a61ab7bc5fdf393dc8c5b65fd1ec24"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 26 06:14:55 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 26 06:14:55 2003 +0000"
      },
      "message": "2003-07-26 Paul Jakma \u003cpaul at dishone.st\u003e\n\n\t* lib/command.c: Add config_log_syslog_facility_cmd, to set\n          syslog facility. This was a commit to zebra.org on May 20,\n          merge in to zebra-pj.\n"
    },
    {
      "commit": "828eb7fb46a61ab7bc5fdf393dc8c5b65fd1ec24",
      "tree": "6d1753c204fdcd349e28e5a42a2725af1139bf3d",
      "parents": [
        "736d3441e267c76056d6fcc2f59cd09a90f3af21"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 26 06:05:18 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jul 26 06:05:18 2003 +0000"
      },
      "message": "2003-07-26 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/command.c: Add config_log_syslog_facility_cmd, to set\n          syslog facility. This was a commit to zebra.org on May 20,\n          merge in to zebra-pj.\n"
    },
    {
      "commit": "7021c425a9f5bd9f62b934124becbaadd961cac0",
      "tree": "cf386f6923eac9f1c665400d0557448c4f5a89e0",
      "parents": [
        "8fc0f64b143ed2155567f5c9f0faad756252146a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 15 12:52:22 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 15 12:52:22 2003 +0000"
      },
      "message": "2003-07-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * lib/version.h: add ZEBRA_URL (unused for now)\n        * lib/vty.c: CMD_ERR_NOTHING_TODO when reading conf file should not\n          be fatal. slight reformating.\n        * ospfd/ospf_zebra.c: ignore reject/blackhole routes if zebra sends\n          these type of routes. probably should be a new type of route to\n          allow daemons to more easily choose whether to redistribute them\n          - rathen than just a flag (eg for reject/blackhole).\n          reorder the is_prefix_default test for ZEBRA_IPV4_ROUTE_DELETE to\n          avoid the inverted test - slightly more readable.\n        * redhat/zebra.spec.in: Add ospfapi port to services file, if\n          with_ospfapi.\n        * zebra/rib.h: Change nexthop types to an enum.\n        * zebra/rt_netlink.c: run it through indent -nut.\n          Add nexthop_types_desc[] descriptive array for nexthop types.\n          (netlink_route_multipath) debug statements indicate which branch\n          they are in and print out nexthop type.\n        * zebra/zebra_rib.c: slight reformatting.\n        * zebra/zebra_vty.c: Pass ZEBRA_FLAG_BLACKHOLE flag to\n          static_add_ipv4() if Null0 route is configured. print out Null0 if\n          STATIC_IPV4_BLACKHOLE route, and ignore flags (shouldnt be\n          possible to set flags from vty) for config and show route.\n"
    },
    {
      "commit": "22e0a9e6c7bd7775da6bfb00d9a4114643cf9369",
      "tree": "354c3f19e19fc23059f94334a52eea9075d5bdf5",
      "parents": [
        "53db0feeb80e2003c3ed94bc05d05d46645f3e95"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 11 17:55:46 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jul 11 17:55:46 2003 +0000"
      },
      "message": "2003-07-11 Vsevolod Sipakov \u003czebra@vs.megalink.ru\u003e\n\n\t* lib/command.c: Add missing HAVE_IPV6 defines.\n          see bug id #23: http://bugzilla.dishone.st/show_bug.cgi?id\u003d23\n"
    },
    {
      "commit": "9bcdb638923e3254b64744d02ceab62b8f2941a1",
      "tree": "2262989f3d4105cd0b539ece52628666ff3b580c",
      "parents": [
        "0c14ad88aab5df610acfe035385a7323e1683035"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 08 08:09:45 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Jul 08 08:09:45 2003 +0000"
      },
      "message": "2003-07-8 Chris Andrews \u003cchris@nodnol.org\u003e\n\n\t* zebra/kernel_socket.c: Update for new zebrad global struct\n\t* zebra/ipforward_solaris.c: Add missing privs.h include. Uncomment\n          /dev/ip define.\n\t* lib/zebra.h: Add typedefs for SunOS.\n"
    },
    {
      "commit": "dd488a78add05f10f58f4096dca622c6b5f1f0c9",
      "tree": "22c986ccc07a5378e5b99fcdf32cc953c841b8d8",
      "parents": [
        "3db0a77852cc0de1385f7046355321229a567924"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 01:21:07 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Jun 19 01:21:07 2003 +0000"
      },
      "message": "2003-06-19 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Fix lib/smux.c\u0027s reliance on daemons exporting struct\n          thread_master *master.\n"
    },
    {
      "commit": "b21b19c5785487f2ff4a6ce38f45c2e6c35f4363",
      "tree": "c79f90ce7bd798b3f1391010153d9fdf7c7418f0",
      "parents": [
        "0e4f190ebf5a26e4b66fb49cd74ae0ff0c7e0863"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 15 01:28:29 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun Jun 15 01:28:29 2003 +0000"
      },
      "message": "2003-06-15 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/vty.{c,h}: Remove vty layer depending on a \u0027master\u0027 global,\n\t  pass the thread master in explicitly to vty_init. Sort out some\n\t  header dependency problems with lib/command.h\n\t* zebra/: Move globals to struct zebrad. Update vty_init().\n\t* (.*)/\\1_main.c: update call to vty_init().\n"
    },
    {
      "commit": "58a9d81c687e3722a5dbd0bcf03aaf009687d5fa",
      "tree": "48c3e642c81d5573c0b98178b78e5ffad9b8a4c6",
      "parents": [
        "847375b9ea6facadba6517d50bfb9ade4bf65242"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 11 05:12:40 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 11 05:12:40 2003 +0000"
      },
      "message": "2003-06-11 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* lib/privs.h (zprivs_init): do not use zlog() as it depends on\n\t  vty having been initialised (zlog calls vty_log). print to stderr\n\t  directly instead.\n"
    },
    {
      "commit": "592c8148981d196a7bda2f1b85a63943fd0cfdf2",
      "tree": "273fd4151921ffbb91cc42535083ff7e1bf04bdb",
      "parents": [
        "bf9392c6e932080156e70c0436977fd5dbcdb0cd"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 06 23:24:55 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jun 06 23:24:55 2003 +0000"
      },
      "message": "2003-06-07 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Revert Cougar\u0027s sort interface names patch, causes problems with\n\tenabling of interfaces for OSPF in ospfd.\n"
    },
    {
      "commit": "a939514c59fe1a56a820e82bc59d82c721076c03",
      "tree": "85a2d3d1d3e0a4f35d0865778c7522b8569b40f8",
      "parents": [
        "41908818b8f446befc3654fa5bbc98c6c0af92a3"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Jun 05 17:50:01 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Thu Jun 05 17:50:01 2003 +0000"
      },
      "message": "Patch from Cougar - sort iflist by name.\n"
    },
    {
      "commit": "ba3a0bc5fa05691b211340bef69c5c7a3659d412",
      "tree": "af7b0b8ca5ba7f6c39b96be1ea180135a9159e64",
      "parents": [
        "edd7c245d3a77012abf801da00d5664ebaa5f749"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Jun 04 17:41:54 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Wed Jun 04 17:41:54 2003 +0000"
      },
      "message": "Paul forgot probably to commit privs.[c|h] changes. Had to reorder includes\nin zebra.h to make it compile in debian.\n"
    },
    {
      "commit": "edd7c245d3a77012abf801da00d5664ebaa5f749",
      "tree": "d4fada229d7980fb751f28c9a979aa88de1a0af0",
      "parents": [
        "a159ed935b580ed99111a185734ddd9c973e7691"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 13:59:38 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 13:59:38 2003 +0000"
      },
      "message": "2003-06-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* Merge of zebra privileges\n"
    },
    {
      "commit": "fb2d1502bb0893f2aaccb49fb39521974078d96a",
      "tree": "0d3059d875d2be20913eaceaed12c8c09ec2b481",
      "parents": [
        "97e34b88b39abdef4ba0581574d315ef7ddb1a86"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 09:40:54 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Jun 04 09:40:54 2003 +0000"
      },
      "message": "Paul Jakma:\n\nlib/debug.{c,h}: glibc backtrace printing function (from the glibc info page)\nconfigure.ac: check for glibc backtrace and set define\nlib/zebra.h: glibc backtrace support\n"
    },
    {
      "commit": "9bca8ebc4fcc369ad17b9a8caf8b14e62ad87e4a",
      "tree": "68d520ef0c07c4f1413eda2935efb6b7e64c29fe",
      "parents": [
        "0b24b4c759a6fb77c4b6043891b81574fbb229dc"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 29 17:18:47 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 29 17:18:47 2003 +0000"
      },
      "message": "lib/table.c: Fix the SET_LINK macro. (not that its of any worth)\n"
    },
    {
      "commit": "595db7f16506d2c82a3478e9f8dab00c8733d386",
      "tree": "240d477dd4b5262ba78cc50fda4b81de09e2c91c",
      "parents": [
        "726f9b2bbdd5a607f7b0a10a64547739b807e361"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sun May 25 21:35:06 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sun May 25 21:35:06 2003 +0000"
      },
      "message": "Add back support for null0 interface blackhole routes.\n"
    },
    {
      "commit": "726f9b2bbdd5a607f7b0a10a64547739b807e361",
      "tree": "9c46a6ce71cf4ea96553a85a231e38b462b3dee0",
      "parents": [
        "71c0fb50fe75928f8fbe1bbff1995d9d91b3702b"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 21:04:54 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 21:04:54 2003 +0000"
      },
      "message": "Last fixes from 6Wind patch.\n"
    },
    {
      "commit": "81dfcaa2e27d53f4eb61c549e03065dcb1b8eec3",
      "tree": "2aed449138a4833fe343052cdfa505be74332cb4",
      "parents": [
        "15291357d130b804dcdcfd81bdb1b86a84567fd0"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 19:21:25 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 19:21:25 2003 +0000"
      },
      "message": "Route (reject|blackhole) support from 6Wind patch.\n"
    },
    {
      "commit": "a94434b69197e074569d7579126074e9cb7212a5",
      "tree": "b63c34ee20e8e6b57796ee591d4569407140047d",
      "parents": [
        "dd55f9eb73347cb2bb7f8dc0f8108b21a733c9b4"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 17:10:12 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 17:10:12 2003 +0000"
      },
      "message": "Ripngd part of 6Wind patch.\n"
    },
    {
      "commit": "4f84947985d5a8f43f6f694055333af1e897de0e",
      "tree": "a27dd6e338687e6da837d8a7ac27f46ee0c35bcc",
      "parents": [
        "16705130a1c842f7de252779514e4e7f92d967e2"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 15:13:49 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sun May 25 15:13:49 2003 +0000"
      },
      "message": "RIP has now \"route-map x [in|out] \u003cinterface\u003e\" as well.\n"
    },
    {
      "commit": "0750d21fcfb034e47f781b09d984bfeec62b56a4",
      "tree": "d8be8f2b61607f34a74c1897e6abdf3466917ff3",
      "parents": [
        "04a72e593b870688649653f569ebc0e7589b4fdb"
      ],
      "author": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat May 24 21:41:49 2003 +0000"
      },
      "committer": {
        "name": "hasso",
        "email": "hasso",
        "time": "Sat May 24 21:41:49 2003 +0000"
      },
      "message": "Revert my http://hasso.linux.ee/zebra/ht-ifrmap-14042003.patch patch. Used\nsame idea as in lib/distribute.c to allow extract.pl to pick up commands\nfor vtysh.\n"
    },
    {
      "commit": "04a72e593b870688649653f569ebc0e7589b4fdb",
      "tree": "ffc682e7a68b636baed87cb8b9a68d1b3058fa6b",
      "parents": [
        "af8d0336a3cd98ef2fe163a6303a077735de4fb2"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 16:02:27 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 16:02:27 2003 +0000"
      },
      "message": "From: rivo nurges \u003crix@estpak.ee\u003e\nSubject: solaris compile patch\n\ntypes defined for SUNOS_5 were already defined in config.h\n"
    },
    {
      "commit": "e9af5c78a0110bd0066d54e3ece50ffa875cafc8",
      "tree": "56dd28244d3737d5debfcc12330e81b7023fda05",
      "parents": [
        "239a6718bac2fbad61cdd2fb3dc147d51c527b62"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:54:31 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:54:31 2003 +0000"
      },
      "message": "Update changelog  -\u003e fix from Anil Madhavapeddy\n"
    },
    {
      "commit": "239a6718bac2fbad61cdd2fb3dc147d51c527b62",
      "tree": "073132fd3a2561f6c45d6f5bc0a33611fb2f4ff1",
      "parents": [
        "034489dee713322f20304f022dd371f8d6821598"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:50:50 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 11:50:50 2003 +0000"
      },
      "message": "Fix incorrect buffer bounds.\n\nReported by Anil Madhavapeddy to bug-zebra.\n"
    },
    {
      "commit": "bfc135325e9b0768c78b51c9495eb0fbabc59db6",
      "tree": "c754c2132248a7436ca8012d383a73f89fcc66ef",
      "parents": [
        "fd2dfce21bb21cc2f3d6de723812875ec7abc1f5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 06:40:04 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat May 24 06:40:04 2003 +0000"
      },
      "message": "From: Hasso Tepper \u003chasso@estpak.ee\u003e\n\nensure only interfaces that are inactive or do not exist can be deleted\n"
    },
    {
      "commit": "32d2463ca26529ad4700af6d5748f927e1305694",
      "tree": "9f8dc5d94e1fb11a86585864e45401f552ecf2dd",
      "parents": [
        "7515cffe5e11fdfbc437c02b7af8b0f7b4d36fce"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 09:25:20 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 09:25:20 2003 +0000"
      },
      "message": "From: Hasso Tepper \u003chasso@estpak.ee\u003e\n\nAdd the \u0027no interface\u0027 command to all the daemons and vtysh. now it\u0027s\npossible to delete interface from routeing daemons as well only if it\ndoesn\u0027t exist in os.\n\nhttp://hasso.linux.ee/zebra/ht-no_interface_fix.patch\n"
    },
    {
      "commit": "7515cffe5e11fdfbc437c02b7af8b0f7b4d36fce",
      "tree": "9acbaf0a01080920f25cf1107465a7f79ee7e2f8",
      "parents": [
        "1921e6f8965701040fe1b4f27619b2d7f3fec254"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 09:21:46 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 09:21:46 2003 +0000"
      },
      "message": "Undo Hasso last patch, about to apply a slightly updated patch.\n"
    },
    {
      "commit": "1921e6f8965701040fe1b4f27619b2d7f3fec254",
      "tree": "9f8dc5d94e1fb11a86585864e45401f552ecf2dd",
      "parents": [
        "68f43848fa0f8ac16c768bafb8891495dcf232ae"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 08:12:36 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 08:12:36 2003 +0000"
      },
      "message": "Allow group access to vty socket.\n"
    },
    {
      "commit": "68f43848fa0f8ac16c768bafb8891495dcf232ae",
      "tree": "8121fe0ee7c19001dd3c37c798e8368681a59493",
      "parents": [
        "8d6b00e4f34dfb6f627b49713bf80b0745b50abc"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 06:58:44 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 23 06:58:44 2003 +0000"
      },
      "message": "From: Hasso Tepper \u003chasso@estpak.ee\u003e\n\nhttp://hasso.linux.ee/zebra/ht-no_interface-23052003.patch\n\nAdd the \u0027no interface\u0027 command to all the daemons and vtysh.\n"
    },
    {
      "commit": "8d6b00e4f34dfb6f627b49713bf80b0745b50abc",
      "tree": "ac75a46e6aea59d3e91b86d81c44d94462fd3396",
      "parents": [
        "3dec2de3eecd475db69ec3746a631ec1591d08a5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 22 02:35:52 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 22 02:35:52 2003 +0000"
      },
      "message": "Add additional system capabilities\n"
    },
    {
      "commit": "28efaa3669242a2a00207e209a86aebfbefaf6e0",
      "tree": "ea88d88203c59830e7a281a24da81a83de753867",
      "parents": [
        "ba965c6c45865fee03410c1b75ef254e4d7e3ceb"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 03:49:43 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 03:49:43 2003 +0000"
      },
      "message": "Fix stray comment and using pwentry for group info.\n"
    },
    {
      "commit": "ba965c6c45865fee03410c1b75ef254e4d7e3ceb",
      "tree": "dda1a5ff3f56d76214a76c9f0f13b206f1dd9a17",
      "parents": [
        "33b72948209fee3ba217f7495fc1d12bb2ff187a"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 02:37:39 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 02:37:39 2003 +0000"
      },
      "message": "Undo revision 1.3, revert back to zebra_org 1.1.1.2.\nasm/types.h is required for netlink.\nLater glibc\u0027s seem to have resolved the warning.\n"
    },
    {
      "commit": "33b72948209fee3ba217f7495fc1d12bb2ff187a",
      "tree": "29a65e93047a18a18cab6f3e4c58716b6938a6b5",
      "parents": [
        "01245821ad005de555634330e0bd0bef3fbdb711"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 02:22:42 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 02:22:42 2003 +0000"
      },
      "message": "Fix several small caps related errors.\n"
    },
    {
      "commit": "01245821ad005de555634330e0bd0bef3fbdb711",
      "tree": "935d4cc4fdabf5a9e026ac9fc76e476c4a0d477f",
      "parents": [
        "6382b6f83d5f4e1fea424c1164cfdd9f9ea6f40e"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 01:22:17 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue May 20 01:22:17 2003 +0000"
      },
      "message": "Privilege support files for zebra.\nLinux capabilities enabled (if libcap is enabled).\n"
    },
    {
      "commit": "f04385215b363f57ed3d3dd8f6bfa53ac4e2c1da",
      "tree": "dc2a7e6eff78285b57602649489a51c0c82a791c",
      "parents": [
        "733e8102dc513a49363c73597fbf9d3fe061acd5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon May 19 21:06:32 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon May 19 21:06:32 2003 +0000"
      },
      "message": "From: Paul Jakma \u003cpaul@clubi.ie\u003e\nSubject: [zebra 19097] HAVE_ASM_TYPES\n\ndoes anyone know why lib/zebra.h has:\n\n#ifdef HAVE_ASM_TYPES_H\n#include \u003casm/types.h\u003e\n#endif /* HAVE_ASM_TYPES_H */\n\nThere\u0027s no need for it that i can see (least not on linux) and it\ncauses compile warnings. Is it needed? If so, why?\n"
    },
    {
      "commit": "445f143525ffd8b465aa31cb83b2dd38b9741ef7",
      "tree": "177df41fcf4d0e23f57443781b4521ac9fd1cc77",
      "parents": [
        "d748032f10058182bcd10ca7fe244d6918b68f14"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 16 19:00:31 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri May 16 19:00:31 2003 +0000"
      },
      "message": "Update Changelogs\n"
    },
    {
      "commit": "29db05b4a5d9144e4fbfd7139c27e50902e50fda",
      "tree": "68e81cc092c64ec14f58adb5716ac50d46bfdeb0",
      "parents": [
        "bca84274cf9b525d8a4ae8f06d94dfbfd8af1afb"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 08 20:10:22 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu May 08 20:10:22 2003 +0000"
      },
      "message": "From: Sergiy Vyshnevetskiy \u003cserg @ vostok.net\u003e\nSubject: [zebra 19019] [PATCH] daemons -A option\n\nWorks now. Patch attached. Not tested for IPv6, but should work there too.\n"
    },
    {
      "commit": "ba23a6919378933d9502ac15dcb2c13231be2663",
      "tree": "32912b4cfa74db9a58fa418b647ad1a90cc63269",
      "parents": [
        "41ce926cb4c0eb7fc07aed25c0452793fc054fc5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:55:08 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:55:08 2003 +0000"
      },
      "message": "Hasso Tepper\nhttp://hasso.linux.ee/zebra/ht-distribute-18042003.patch\nAllows to extract.pl to pickup \"distribute-list ...\" commands for vtysh\n(ripngd and ripd).\n"
    },
    {
      "commit": "41ce926cb4c0eb7fc07aed25c0452793fc054fc5",
      "tree": "f30b2ad6b6402a18927119fc22a78bcd023481f8",
      "parents": [
        "73ffb25bec41d729b0dac34d17b6ccd4aa25803b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:54:03 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Apr 19 15:54:03 2003 +0000"
      },
      "message": "Hasso Tepper\nhttp://hasso.linux.ee/zebra/ht-ifrmap-14042003.patch\nAllows to extract.pl to pickup \"route-map xxx in/out dev\" commands for vtysh\n(ripngd). As lib/if_rmap.[c|h] are used in ripngd only, I moved them to the\nripngd/ directory.\n"
    },
    {
      "commit": "ef4e09961da9f2c50d1535fb4348f12c4d41612f",
      "tree": "9790257d6209f9e153d4888a5032ff16471d1121",
      "parents": [
        "ecfd5b48bf6d2c3716f13046df71a337bbeee316"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Apr 09 06:37:27 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Apr 09 06:37:27 2003 +0000"
      },
      "message": "Add Makefile.in to the remaining .cvsignore\u0027s\nAdd ospfclient to ospfclient/.cvsignore\n"
    },
    {
      "commit": "3a6440d756863b602cfaaf0259b71950e67b2a6e",
      "tree": "e341fb75541ab4bafbd817500add90923617f818",
      "parents": [
        "f6386eebb95769559d2c828b9b9d70c0ffd23b45"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 06:02:17 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Apr 07 06:02:17 2003 +0000"
      },
      "message": "Remove auto* files from the repository.\nDevelopers working with the repository should have the appropriate tools.\nOut-of-sync files cause far too many problems with users as well as auto*\nscripts not being half as portable across systems as they ought to be.\nmake-dist exists for a reason.\nTodo: make the CVS snapshot script do make-dist, and use the resulting\ntarball as the snapshot.\n"
    },
    {
      "commit": "020709f9939c542e96b12f06522ad5e33d8cf445",
      "tree": "767b3cb9a8a17913d8395c8d5ecf7485ae882b8e",
      "parents": [
        "d18258304a79b459fe768e63f27efd17aa1fa78f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Apr 04 02:44:16 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Apr 04 02:44:16 2003 +0000"
      },
      "message": "2003-04-04 Paul Jakma \u003cpaul@dishone.st\u003e\n\n        * Sync to Zebra CVS\n        * Fix lib/thread.h leak\n        * Fix small Opaque LSA leak\n        * Do not configure OSPF interfaces for secondary addresses\n        * vtysh fixes from Hasso\n        * Dave Watson\u0027s missing ntohs fix\n"
    },
    {
      "commit": "2946f65bb88439ca16338dbe3c5d23beaedc507d",
      "tree": "efeeac88e6ca1393a8c3643101a1f7f2fa2f29bd",
      "parents": [
        "6898008484a562ff5bae178a6fb0bd885fe8b1e5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Mar 27 23:48:24 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Mar 27 23:48:24 2003 +0000"
      },
      "message": "Need to free the defunct funcname if we grab a thread from the unused list.\n"
    },
    {
      "commit": "6898008484a562ff5bae178a6fb0bd885fe8b1e5",
      "tree": "27797ca6532ca0ef85f538ac8f3070639e579229",
      "parents": [
        "1ef74ef70bdab672458c4d1e4cea24197066c0af"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 25 05:07:42 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 25 05:07:42 2003 +0000"
      },
      "message": "2003-03-25 Paul Jakma \u003cpaul@dishone.st\u003e\n\n\t* sync to latest zebra CVS\n\t* spec file: updated and added define for ospf-api/client\n\nNB: OSPF-API has been broken by the zebra.org changes, which\nhas added struct ospf * as a new arg to many functions\n"
    },
    {
      "commit": "07661cb5a81a46c9a177bbc0d963a6a74fbbce43",
      "tree": "c6879c4d9bd2a70f929f5dc3261d89b1b0977f7c",
      "parents": [
        "1b5d019a115bcf69786c870feb93f685ce806ff0"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 18 00:03:05 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Tue Mar 18 00:03:05 2003 +0000"
      },
      "message": "Fix build for net-snmp\n"
    },
    {
      "commit": "1b5d019a115bcf69786c870feb93f685ce806ff0",
      "tree": "21af7fbe108d2555d841291ba6ca089ba7850013",
      "parents": [
        "7ea487bcd2afa7e91874f20a4d9f12369937686d"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Mar 17 23:54:15 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Mar 17 23:54:15 2003 +0000"
      },
      "message": "Amir Guindehi \u003camir@datacore.ch\u003e\n--------------------------------\nI\u0027ve attached a small patch for zebra-pj, which adds the installation of\nlibospf.a libzebra.a, libospfapi.a and the needed headers for ospfapi\nclients. the headers get installed to /usr/include/ospfd/* and\n/usr/include/ospfapi.\n"
    },
    {
      "commit": "1bb066bce556b41a9232810accc8823843d38c48",
      "tree": "4fb96083ba30c7d082e7e869b2e8980d387e3a21",
      "parents": [
        "283ae334e83d0801b7de0067fc8a34b8a43f7fd5"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Mar 17 01:18:55 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Mar 17 01:18:55 2003 +0000"
      },
      "message": "Update auto files.\nNo doubt builds will now break for everyone. (works here - autoconf 2.13)\n"
    },
    {
      "commit": "d5e86adf440c26ce1d5558eac3ebda50c506f079",
      "tree": "c2cfbfc6991e98f5d9c1d74fd2f1a63b63949d9f",
      "parents": [
        "569c0f0188168b79044cc8fcba4639585a3be661"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Mar 12 05:40:11 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Wed Mar 12 05:40:11 2003 +0000"
      },
      "message": "Fix memory leak in \u0027show thread cpu\u0027 command.\n"
    },
    {
      "commit": "ccf3557b9b8b141e76ba0dc57ad9cf3de249674e",
      "tree": "d63e62051a6b222e1fbecc28fecb55e10b615afe",
      "parents": [
        "89b2cd20a3475655456edf47d77ef0b1dbd9cfd8"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Mar 01 11:42:20 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Mar 01 11:42:20 2003 +0000"
      },
      "message": "Sync to Zebra.org 20030301\n"
    },
    {
      "commit": "4955a0ba4311918f55daf2235df812a99c46ae7c",
      "tree": "ee48fd62044f3e104886cae65ebafa67bf93fd82",
      "parents": [
        "17b78d38e438bb25d27aa00554ad948a792850aa"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Feb 17 23:54:05 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Mon Feb 17 23:54:05 2003 +0000"
      },
      "message": "Revert to zebra.org automake files\n"
    },
    {
      "commit": "619efcb3d51edf5d144293d08cbc3777655310e4",
      "tree": "66f692c752ef1e8cc0ec5faa0dd125dc711ca570",
      "parents": [
        "78edbf8f4d3281e579551931ce1876f6d51f79c9"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Feb 13 22:03:04 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Thu Feb 13 22:03:04 2003 +0000"
      },
      "message": "Update auto* build files\n"
    },
    {
      "commit": "9ab6812d1dd27813f3ae01624312edc21c1a0bb6",
      "tree": "0e74ebe8d75aa0217233de3045240579933395eb",
      "parents": [
        "eda031f6f3558239da5ceb196312ff71aa74fef1"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 18 01:16:20 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 18 01:16:20 2003 +0000"
      },
      "message": "This patch adds Yon\u0027s CLI \u0027walk back up tree\u0027 patch. Following are email\ndescribing original patch and a shorter email describing changes to an\nupdated patch, the one which is applied:\n\nFrom havanna_moon@gmx.net Sat Jan 18 00:37:13 2003\nDate: Mon, 9 Dec 2002 05:32:58 +0100 (CET)\nFrom: Yon Uriarte \u003chavanna_moon@gmx.net\u003e\nTo: \"the list(tm) Zebra\" \u003czebra@zebra.org\u003e\nSubject: [zebra 16671] [PATCH] CLI extensions.\n\nHi,\n\n this patch adds 2 improvements to the CLI (lib/command.c):\n\n#1) When in subconfig mode (router XXX, interface XXX, ...) commands that\nfail for that node are tried on the main CONFIG_NODE. This is great for\nconfiguring interfaces or changing the sub-config mode quickly, without\nthe need to type \u0027exit\u0027 between commands:\n\nospfd(config)# int eth1\nospfd(config-if)# ip ospf cost 9\nospfd(config-if)# ip ospf prio 101\nospfd(config-if)# router ospf\nospfd(config-router)# network 1.1.1.0/24 area 51\nospfd(config-router)# int eth2\nospfd(config-if)# ip ospf authentication message-digest\nospfd(config-if)# ^Z\nospfd#\n\n Is this IOS-like or does IOS try to walk up the tree of config sub-modes\ninstead of directly trying the command on CONFIG_NODE?\n\nCAVEATS: \"?\" and \"TAB\" don\u0027t work.  IIRC IOS doesnt show that help\nneither.\n\nNON-CAVEATS: This wont break much, as config_from_file() already does\ntry a failed command on the parent node of the actual vty-\u003enode. If\nchanging the code to walk the node tree instead of directly trying\nthe command on the ENABLE_NODE the same semantics would be in use\nand no future bugs could creep in.\n\n#2) When in config or subconfig mode use the \"do \" prefix to execute\ncommans of the ENABLE_NODE. \"?\" and \"TAB\" work. The space after the\n\"do\" is needed:\n\nospfd(config-router)# do\u003c?\u003e\n% There is no matched command.\nospfd(config-router)# do \u003c?\u003e\n  clear      Reset functions\n  configure  Configuration from vty interface\n  copy       Copy configuration\n  debug      Debugging functions (see also \u0027undebug\u0027)\n  disable    Turn off privileged mode command\n  end        End current mode and change to enable mode.\n  exit       Exit current mode and down to previous mode\n  help       Description of the interactive help system\n  list       Print command list\n  no         Negate a command or set its defaults\n  quit       Exit current mode and down to previous mode\n  show       Show running system information\n  terminal   Set terminal line parameters\n  who        Display who is on vty\n  write      Write running configuration to memory, network, or terminal\nospfd(config-router)# do sho\u003cTAB\u003e\nospfd(config-router)# do show me\u003cTAB\u003e\nospfd(config-router)# do show memory r\u003cTAB\u003e\nospfd(config-router)# do show memory rip\nRIP structure         :     0\nRIP route info        :     0\nRIP interface         :     0\nRIP peer              :     0\nRIP offset list       :     0\nRIP distance          :     0\nospfd(config-router)# ^Z\nospfd#\n\n\nCAVEATS: I don\u0027t have access to an IOS with this feature, so I implemented\nit from the comments on this mailing list (in fact my personal motivation\nwas to implement feature #1, which I missed on zebra. But #2 sounded like\na nice one to have, and xemacs was already parked on command.c ...).\nIs this IOS-like or are there differences?\n\n I will happily change this patch to mimick IOS or the mailing-list\nconsensus on CLI-usability.\n\nregards,\n yon\n\nFrom havanna_moon@gmx.net Sat Jan 18 01:13:11 2003\nDate: Sat, 11 Jan 2003 23:36:51 +0100 (CET)\nFrom: Yon Uriarte \u003chavanna_moon@gmx.net\u003e\nTo: zebra@zebra.org\nSubject: [zebra 17218] Re: [PATCH] CLI extensions.\n\nHi,\n\n[redacted]\n\n\u003e I prefer the IOS way for the node \"up walking\".\n\n This patch should walk the tree upwards:\n\nbgpd(config)# router bgp 1\nbgpd(config-router)# address-family ipv4 multicast\nbgpd(config-router-af)# access-list 1 remark hola que tal\nbgpd(config)#\n\n I cant test all combinations, so I cant rule out some bugs. I\u0027d love to\nget (long and explicit) bug reports.\n\n\n[redacted]\n"
    },
    {
      "commit": "eda031f6f3558239da5ceb196312ff71aa74fef1",
      "tree": "1c8719ab3e5cbd02166a4e8cc666cf50bdcd09aa",
      "parents": [
        "d7ccae28299c5f56cb65135b59e17a68c6b16cd3"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 18 00:39:19 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Sat Jan 18 00:39:19 2003 +0000"
      },
      "message": "Finish off merge off CLI extensions, see below for description. Merge should\nbe off:\n\nFrom havanna_moon@gmx.net Sat Jan 18 00:37:13 2003\nDate: Mon, 9 Dec 2002 05:32:58 +0100 (CET)\nFrom: Yon Uriarte \u003chavanna_moon@gmx.net\u003e\nTo: \"the list(tm) Zebra\" \u003czebra@zebra.org\u003e\nSubject: [zebra 16671] [PATCH] CLI extensions.\n\nHi,\n\n this patch adds 2 improvements to the CLI (lib/command.c):\n\n#1) When in subconfig mode (router XXX, interface XXX, ...) commands that\nfail for that node are tried on the main CONFIG_NODE. This is great for\nconfiguring interfaces or changing the sub-config mode quickly, without\nthe need to type \u0027exit\u0027 between commands:\n\nospfd(config)# int eth1\nospfd(config-if)# ip ospf cost 9\nospfd(config-if)# ip ospf prio 101\nospfd(config-if)# router ospf\nospfd(config-router)# network 1.1.1.0/24 area 51\nospfd(config-router)# int eth2\nospfd(config-if)# ip ospf authentication message-digest\nospfd(config-if)# ^Z\nospfd#\n\n Is this IOS-like or does IOS try to walk up the tree of config sub-modes\ninstead of directly trying the command on CONFIG_NODE?\n\nCAVEATS: \"?\" and \"TAB\" don\u0027t work.  IIRC IOS doesnt show that help\nneither.\n\nNON-CAVEATS: This wont break much, as config_from_file() already does\ntry a failed command on the parent node of the actual vty-\u003enode. If\nchanging the code to walk the node tree instead of directly trying\nthe command on the ENABLE_NODE the same semantics would be in use\nand no future bugs could creep in.\n\n#2) When in config or subconfig mode use the \"do \" prefix to execute\ncommans of the ENABLE_NODE. \"?\" and \"TAB\" work. The space after the\n\"do\" is needed:\n\nospfd(config-router)# do\u003c?\u003e\n% There is no matched command.\nospfd(config-router)# do \u003c?\u003e\n  clear      Reset functions\n  configure  Configuration from vty interface\n  copy       Copy configuration\n  debug      Debugging functions (see also \u0027undebug\u0027)\n  disable    Turn off privileged mode command\n  end        End current mode and change to enable mode.\n  exit       Exit current mode and down to previous mode\n  help       Description of the interactive help system\n  list       Print command list\n  no         Negate a command or set its defaults\n  quit       Exit current mode and down to previous mode\n  show       Show running system information\n  terminal   Set terminal line parameters\n  who        Display who is on vty\n  write      Write running configuration to memory, network, or terminal\nospfd(config-router)# do sho\u003cTAB\u003e\nospfd(config-router)# do show me\u003cTAB\u003e\nospfd(config-router)# do show memory r\u003cTAB\u003e\nospfd(config-router)# do show memory rip\nRIP structure         :     0\nRIP route info        :     0\nRIP interface         :     0\nRIP peer              :     0\nRIP offset list       :     0\nRIP distance          :     0\nospfd(config-router)# ^Z\nospfd#\n\n\nCAVEATS: I don\u0027t have access to an IOS with this feature, so I implemented\nit from the comments on this mailing list (in fact my personal motivation\nwas to implement feature #1, which I missed on zebra. But #2 sounded like\na nice one to have, and xemacs was already parked on command.c ...).\nIs this IOS-like or are there differences?\n\n I will happily change this patch to mimick IOS or the mailing-list\nconsensus on CLI-usability.\n\nregards,\n yon\n"
    },
    {
      "commit": "e04ab74d17b4f3456bd3eeefe2043584431b4ea2",
      "tree": "154168b7aeb6b4e2fbc1fd04e5f2c96870120272",
      "parents": [
        "a895901b3c4e6a061f56be90f5fe9bc78e6e5c2f"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jan 17 23:47:00 2003 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Jan 17 23:47:00 2003 +0000"
      },
      "message": "From havanna_moon@gmx.net Fri Jan 17 23:37:49 2003\nDate: Sat, 11 Jan 2003 23:26:28 +0100 (CET)\nFrom: Yon Uriarte \u003chavanna_moon@gmx.net\u003e\nTo: \"the list(tm) Zebra\" \u003czebra@zebra.org\u003e\nSubject: [zebra 17217] [PATCH] show thread CPU\n\nHi,\n\n a little patch from the \u0027stupid preprocessor tricks\u0027 collection to record\nthread statistics.\n\nUsage: \"show thread cpu [r][w][t][e][x]\"\n\nOutput Fields: self explaining I hope. Type is one of RWTEX for:\n   Read, Write (fd threads), Timer, Event, Execute.\n\n Overhead vs. vanilla zebra: almost nothing. Vanilla CVS zebra already\ncollects thread run times.\n\n\n Caveats: Under linux getrusage has a granularity of 10ms, which is almost\nuseless in this case. Run ./configure, edit config.h and comment out\n\"#define HAVE_RUSAGE\",  this way it will use getimeofday which has a much\nbetter granularity. IMHO this is better, as cooperative threads are\neffectively running during all that wall time (dont care if CPU\nutilization was 3% or 99% during the time the thread was running (an\neffective rusage combined with getimeofday could give that info)).\n\n Maybe someone can give tips for other platforms on API granularity.\n\n\nTODO: change some of the calls to thread_add_$KIND to\nfuncname_thread_add_$KIND with a meaningfull funcname, so users will get a\nbetter idea of what\u0027s going on.\n\nF.ex. (AFAIK):\nospf_spf_calculate_timer -\u003e \"Routes Step 1, areas SPF\"\nospf_ase_calculate_timer -\u003e \"Routes Step 2, externals\"\n\n\n\n Could this be added to the unofficial patch collection?\n\nCould someone with BGP keepalive problems run their bgpd with this patch\nand post the results?\n\n\nTIA, HTH, HAND, regards\n yon\n\n\nExample output:\n--------------------------------\nospfd# show thread cpu\n Runtime(ms)    Invoked Avg uSecs   Max uSecs  Type Thread\n      14.829         31       478         585   T   ospf_ase_calculate_timer\n      82.132       9838         8         291    EX ospf_nsm_event\n       0.029          1        29          29    E  ospf_default_originate_timer\n       0.254          9        28          34   T   ospf_db_desc_timer\n       0.026          7         3          11   T   ospf_wait_timer\n     669.015        523      1279      490696 R     vty_read\n       4.415         45        98         173   TE  ospf_network_lsa_refresh_timer\n      15.026         31       484         588   T   ospf_spf_calculate_timer\n      29.478       1593        18         122    E  ospf_ls_upd_send_queue_event\n       0.173          1       173         173   T   vty_timeout\n       4.173        242        17          58    E  ospf_ls_ack_send_event\n     637.767     121223         5          55   T   ospf_ls_ack_timer\n      39.373        244       161        2691 R     zclient_read\n      12.169         98       124         726    EX ospf_ism_event\n       0.226          2       113         125 R     vty_accept\n     537.776      14256        37        3813  W    ospf_write\n       4.967         41       121         250   T   ospf_router_lsa_timer\n       0.672          1       672         672    E  zclient_connect\n       7.901       1658         4          26   T   ospf_ls_req_timer\n       0.459          2       229         266    E  ospf_external_lsa_originate_timer\n       3.203         60        53         305   T   ospf_maxage_lsa_remover\n     108.341       9772        11          65   T   ospf_ls_upd_timer\n      33.302        525        63        8628  W    vty_flush\n       0.101          1       101         101   T   ospf_router_lsa_update_timer\n       0.016          1        16          16   T   ospf_router_id_update_timer\n      26.970        407        66         176   T   ospf_lsa_maxage_walker\n     381.949      12244        31          69   T   ospf_hello_timer\n       0.114         22         5          14   T   ospf_inactivity_timer\n      34.290       1223        28         310   T   ospf_lsa_refresh_walker\n     470.645       6592        71         665 R     ospf_read\n    3119.791     180693        17      490696 RWTEX TOTAL\nospfd#\n\nbgpd# sh t c TeX\n Runtime(ms)    Invoked Avg uSecs   Max uSecs  Type Thread\n      21.504        476        45          71   T   bgp_keepalive_timer\n      17.784       1157        15         131   T   bgp_reuse_timer\n      29.080        193       150         249   T   bgp_scan\n      23.606        995        23         420    E  bgp_event\n     317.734      28572        11          69   T   bgp_routeadv_timer\n       0.084          1        84          84    E  zlookup_connect\n       0.526          1       526         526    E  zclient_connect\n       1.348         13       103         147   T   bgp_start_timer\n      19.443        142       136         420   T   bgp_connect_timer\n      16.032        772        20          27   T   bgp_import\n     447.141      32322        13         526   TEX TOTAL\nbgpd#\nbgpd# show thread cpu rw\n Runtime(ms)    Invoked Avg uSecs   Max uSecs  Type Thread\n     155.043          7     22149      150659 R     bgp_accept\n     129.638        180       720       53844 R     vty_read\n       1.734         56        30         129 R     zclient_read\n       0.255          2       127         148 R     vty_accept\n      58.483        983        59         340 R     bgp_read\n     171.495      29190         5         245  W    bgp_write\n      13.884        181        76        2542  W    vty_flush\n     530.532      30599        17      150659 RW    TOTAL\nbgpd#\n--------------------------------\n"
    },
    {
      "commit": "f2c806522030d4964b4ca649637a7901751d8496",
      "tree": "0a33c81dbbf280beb2193144b5b39b703f3ca102",
      "parents": [
        "b92938a7364d220f2ca6d77a5722433159520e02"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:44:27 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:44:27 2002 +0000"
      },
      "message": " Kevin C Miller \u003ckevinm@andrew.cmu.edu\u003e\n[zebra 16681] OSPF NSSA Patches\n"
    },
    {
      "commit": "b92938a7364d220f2ca6d77a5722433159520e02",
      "tree": "084c9f07af5ad9bccf6559b6ed40650027c1a06e",
      "parents": [
        "ab836aab45bb6bea37da3584bb051fc56f1ca827"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:20:42 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:20:42 2002 +0000"
      },
      "message": "Yon Uriarte \u003chavanna_moon@gmx.net\u003e\n[zebra 16671] [PATCH] CLI extensions.\n"
    },
    {
      "commit": "00df0c1e80811f3cf5eca0b28e720bf1bcc84a53",
      "tree": "d03bbabe82d8526b1f5472d38a59ed24f9c8c42b",
      "parents": [
        "8bd9c714365883e405af7c7c4257e404a1053469"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:07:36 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:07:36 2002 +0000"
      },
      "message": "[zebra 14631] Generic PtP and RFC3021 interface addressing support\n"
    },
    {
      "commit": "2e3b2e474ed5ba04744b167132a84f9954485af4",
      "tree": "cc07fb34a1bf21ead5cc3ad69e4a9dfde2b43b0e",
      "parents": [
        "7afa08da2d3690baee1739da400775f8543f5863"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:03:13 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 21:03:13 2002 +0000"
      },
      "message": "zebra link state detection support\n"
    },
    {
      "commit": "727d104b15d6293d7223e7830f2e37ae98022cac",
      "tree": "9ab7e7fecd699f30abc63a5f4612fa9f592db098",
      "parents": [
        "4fc01e67edf1763c9812438effe1d4b1c8b9897b"
      ],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:50:29 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:50:29 2002 +0000"
      },
      "message": "Added RIPv1 patch - bug fixes and improved/more interoperable classful\nsubnet handling\n"
    },
    {
      "commit": "718e3744195351130f4ce7dbe0613f4b3e23df93",
      "tree": "bac2ad39971cd43f31241ef123bd4e470f695ac9",
      "parents": [],
      "author": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "committer": {
        "name": "paul",
        "email": "paul",
        "time": "Fri Dec 13 20:15:29 2002 +0000"
      },
      "message": "Initial revision\n"
    }
  ]
}
