1. 25 Jul, 2014 1 commit
    • Tomas Hlavacek's avatar
      Add support for router ACL. · f4a09b17
      Tomas Hlavacek authored
      Add support for ACL that could be associated with a router to restrict
      users that are eligible to run commands on the router.
      Just add acl=['username1','username2',...] to the configuration
      into the parameters of the router.
  2. 06 Jun, 2014 1 commit
    • Frederik Kriewitz's avatar
      BIRD: Fix timeout in case ip/subnet is not in the routing table · 9268ed2e
      Frederik Kriewitz authored
      Fixes exceptions like this:
      ERROR: Exception occured while running a command:Traceback (most recent
      call last):
        File "/var/www/html/ulg.py", line 498, in commandThreadBody
        File "/var/www/html/ulgmodel.py", line 463, in runAsyncCommand
          return self.runRawCommand(c,outfile)
        File "/var/www/html/ulgbird.py", line 544, in runRawCommand
          l = sf.readline()
        File "/usr/lib/python2.7/socket.py", line 447, in readline
          data = self._sock.recv(self._rbufsize)
      timeout: timed out
      Signed-off-by: default avatarTomas Hlavacek <tmshlvck@gmail.com>
  3. 22 Jan, 2014 1 commit
    • Tomas Hlavacek's avatar
      Fix bug in BirdRouterRemote init · b96cb793
      Tomas Hlavacek authored
      There was a bug in BirdRouterRemote __init__ function in
      self.bin_ssh init procedure. The self.bin_ssh was set to None when
      bin_birdc parameter was passed. Careless copy-paste artefact perhaps.
      Bug has been discovered by Batbileg Sugar batbileg@gemnet.mn .
  4. 20 Sep, 2013 1 commit
    • Tomas Hlavacek's avatar
      Fix BIRD show protocols partitioning · 553cd2ea
      Tomas Hlavacek authored
      Fix BirdShowProtocolsCommand and parseBirdShowProtocols not to duplicate
      partitioning of the result (for the display as a table). Before this patch
      it didn't worked because parseBirdShowProtocols reduced results to i.e.
      [100..200] and later decorateResult in BirdShowProtocols reduced the
      previously reduced result of length 100 to [100..200] which is empty.
  5. 12 Jul, 2013 1 commit
    • Tomas Hlavacek's avatar
      Add sorting of BIRD RT and peer tables · db343b70
      Tomas Hlavacek authored
      Sort both control tables that ULG obtains automatically form BIRD daemon
      on start to construct drop-down select boxes on main page at the first place.
      The sorting occures when the tables are read and saved in the internal (persistent) structure.
  6. 04 Apr, 2013 2 commits
  7. 27 Mar, 2013 1 commit
  8. 20 Mar, 2013 1 commit
  9. 06 Mar, 2013 1 commit
  10. 24 Jan, 2013 1 commit
  11. 18 Jan, 2013 1 commit
  12. 15 Jan, 2013 1 commit
  13. 21 Dec, 2012 1 commit
  14. 14 Dec, 2012 3 commits
  15. 08 Dec, 2012 1 commit
  16. 30 Nov, 2012 1 commit
    • Tomas Hlavacek's avatar
      Licencing rectified. · d862672e
      Tomas Hlavacek authored
      Update licencing header in sources to reflect actual authorship of
      CZ.NIC labs.
      Move personal credits to file CREDITS.
      Add copy of the license GNU GPLv3 to LICENSE file.
  17. 23 Nov, 2012 1 commit
    • Tomas Hlavacek's avatar
      Refactor graph generation and cover error path · 2495e32c
      Tomas Hlavacek authored
      Remove constants out of code and add error message to output when there
      are no data produced by the show bgp ipv4/6 <prefix> command parser (or
      BIRD equivalent - show route <prefix> all) and therefore no graph
      can be generated. The error occures in situation when wrong prefix is
      on input or the prefix has no paths in the routing table.
  18. 13 Nov, 2012 2 commits
  19. 12 Nov, 2012 1 commit
  20. 11 Nov, 2012 1 commit
  21. 05 Nov, 2012 1 commit
  22. 26 Oct, 2012 3 commits
  23. 19 Oct, 2012 2 commits
    • Tomas Hlavacek's avatar
      Add BIRD persistent rescans. · fb4e01ca
      Tomas Hlavacek authored
      Refactor rescanPeers and rescanRoutingTables.
      Replace getPeers and getRoutingTables functions.
      Add support for save and load peers list and RT list into persistent
      Add rescanHook function.
      Add loadPersistentInfo call into init of BirdRouterRemote.
    • Tomas Hlavacek's avatar
      Add support for BIRD over SSH. · d124679e
      Tomas Hlavacek authored
      Add BirdRouterRemote class.
      Implement SSH pexpect session handler.
      Inherit/copy synchronous rescanPeers rescanRoutingTables from
      BirdRouterLocal (slow, TODO: implement async versions).
  24. 18 Oct, 2012 2 commits
    • Tomas Hlavacek's avatar
      Speed up BIRD BGP graph generation. · 12f5f516
      Tomas Hlavacek authored
      Refactor BIRD BGP graph generation by means of finishHook and arbitrary
      data in sessions. FinishHook is used to set off result parsing and the
      preprocessed list of ASes in paths is saved along with AS names resolved
      from whois in the session data. In the display phase it is only
      transformed into nodes and passed to graphviz.
    • Tomas Hlavacek's avatar
      Add AS names to BGP graph nodes. · 93e459ac
      Tomas Hlavacek authored
      Implement arbitrary data into sessions.
      Implement finishHook to TextCommand.
      Refactor graph generation of Cisco by the abovementoined mechanisms.
      Add whois client.
      Refactor whois client calls in ulg.py in action whois.
      Add simple annotation by AS names in BIRD BGP graph.
  25. 12 Oct, 2012 1 commit
    • Tomas Hlavacek's avatar
      Refactor BIRD router to reuse code. · 5cdd91c8
      Tomas Hlavacek authored
      Prepare for BIRD remote router via SSH by refactoring current class
      BirdLocalRouter class and pull out common stuff to a new BirdRouter
      abstract class.
      Add (now empty) BirdRemoteRouter class.
  26. 11 Oct, 2012 1 commit
    • Tomas Hlavacek's avatar
      Add IP address annotation for BIRD and Cisco. · 726d99d1
      Tomas Hlavacek authored
      IP address annotation (clickable modal window/href) in the show bgp
      ipv4/6 unicas <prefix> output added.
      In future it should be linked via decorator_helper to whois client /
      DNS resolver to give more meaningful explanation of observed network
  27. 10 Oct, 2012 1 commit
  28. 09 Oct, 2012 1 commit
  29. 07 Oct, 2012 1 commit
    • Tomas Hlavacek's avatar
      Add BIRD BGP graph. · 22411595
      Tomas Hlavacek authored
      Slightly refactor the BIRD config and RT table parser.
      Graph bindings are based on but less complicated than Cisco ones.
  30. 04 Oct, 2012 1 commit
  31. 27 Sep, 2012 1 commit
    • Tomas Hlavacek's avatar
      Rework parameter passing to decorator methods. · 6cfdc78a
      Tomas Hlavacek authored
      Rework parameter passing from
      (result,router=0,decorator_helper,resrange,...) to more compresehnsive
      version (session,decorator_helper). The session contains or should
      contain all the parameters needed but there is a certain indirection
      because session is being defined later in ulg.py. The rationale is that
      even thouhg ulg.py can no be imported into files containing decorators
      it is stable part of the ULG and therefore it might be used for building
      decorators based on classes defined there (even though the classes are
      not directly accessible, which can be overcomed by passing instances or
      using decorator_helper to do needed class instantiation.
      Modules for BIRD as well as Cisco has been changed to reflect this
  32. 23 Sep, 2012 1 commit