Commit Graph

157 Commits

Author SHA1 Message Date
Baptiste Jonglez 108b2c4e44 Use dnspython built-in cache to cache DNS queries for BGPmap
This is equivalent to the previous memcached cache, but much simpler to
deploy (no additional service needed, everything is in process memory)
2021-05-10 20:20:52 +02:00
Baptiste Jonglez 8f091cf27e Remove the need for memcached
From a deployment perspective, it's annoying to depend on memcached, and
it's only used to cache DNS answers for the BGPmap.

Fixes #73
2021-05-10 20:20:43 +02:00
zorun 96249a36d0
Merge pull request #79 from fragtion/master
Added https://lg.angolacables.co.ao/ to Happy users (README.mkd)
2020-08-17 09:58:29 +02:00
Dimitri Pappas 73edb4ce1d
Added https://lg.angolacables.co.ao/ to README.mkd 2020-08-17 04:58:33 +02:00
Baptiste Jonglez 967c721b86 bgpmap: fix regexp to match interface names with non-alphanumerical characters
Commit eaf531eee2 ("Correctly parse aspath for both bird 1.x and 2.0.")
inadvertently made a regexp more strict, and it no longer matches some
interface names.  Example include `eth1.945` (tagged VLAN, which is a
common use-case for routers) or `br-foo`.

As a result, the regexp would not parse the "peer protocol name" that is
normally displayed on the bgpmap.

Fixes: #64
2020-06-16 15:43:03 +02:00
Baptiste Jonglez 53e717381d bgpmap: Fix crash when 'peer_protocol_name' is not matched by regexp
This protects against cases where the regexp expr2 is broken (such as
currently with some interface names)

Fixes: #64
2020-06-16 15:42:41 +02:00
Baptiste Jonglez c84267edd8 Clarify documentation of shared secret and access list 2020-06-15 22:54:01 +02:00
Baptiste Jonglez 1d3eefa971 Don't display URL containing shared secret when there is an error 2020-06-15 22:47:51 +02:00
Baptiste Jonglez a45ae45408 Basic python reformatting
Transform all tabs to spaces and remove trailing spaces.
2020-06-15 22:34:25 +02:00
Baptiste Jonglez ca4550ae74 Fix HTML markup (wrong title position) 2020-06-15 22:06:59 +02:00
zorun 8a98ca8b16
Merge pull request #70 from gmarsay/add-website-title
Add WEBSITE_TITLE - Issue #69
2020-06-15 22:01:09 +02:00
zorun 73ff7aa496
Merge pull request #71 from gmarsay/add-shared-secret
Add SHARED_SECRET
2020-06-15 22:00:06 +02:00
Guillaume Marsay f87719956a Add WEBSITE_TITLE - Issue #69 2020-06-15 17:35:42 +02:00
Guillaume Marsay 96c33da446 Add SHARED_SECRET 2020-06-15 17:33:50 +02:00
zorun 1e78b20860
Merge pull request #68 from gmarsay/optional-domain
DOMAIN is now optional
2020-06-15 11:31:33 +02:00
Guillaume Marsay d3e9d5c6b9 DOMAIN is now optional 2020-06-15 09:57:59 +02:00
zorun 6f277c23cb
Merge pull request #60 from vidister/master
Add shebang to lgproxy.py
2020-06-14 18:42:35 +02:00
zorun 5138d655c8
Merge pull request #54 from empi89/feature/config-file-as-argument
specify config file as cli argument
2020-06-14 18:04:12 +02:00
İlteriş Eroğlu 95fd862388 Added css to whois modal to handle newlines 2020-04-30 11:29:51 +02:00
İlteriş Eroğlu 9d9d93805e Removed br tag replacer on whois endpoint 2020-04-30 11:29:51 +02:00
vidister 1a13a41db7 Add shebang to lgproxy.py 2020-04-29 14:01:45 +02:00
zorun e5a866b89b
Merge pull request #57 from empi89/feature/debug-true-should-not-be-default
DEBUG should be disabled as default
2020-03-02 12:10:15 +01:00
zorun 1abe3f410f
Merge pull request #55 from empi89/feature/add-direct-to-unwanted-protos
add direct to SUMMARY_UNWANTED_PROTOS
2020-03-02 12:09:41 +01:00
zorun d8c20f4cbd
Merge pull request #53 from tamihiro/new-pr-batch-5
Correct AS path prepend count in bgpmap.
2020-03-02 12:05:19 +01:00
zorun b448784a0b
Merge pull request #51 from tamihiro/new-pr-batch-3
Correctly display each of multiple destination prefixes with a box shape.
2020-03-02 12:04:27 +01:00
zorun 93ed0769fe
Merge pull request #49 from tamihiro/new-pr-batch
Correctly parse aspath for both bird 1.x and 2.0.
2020-03-02 12:03:25 +01:00
zorun 83a9504695
Merge pull request #58 from netfreak98/patch-1
Update README.mkd
2020-03-02 12:00:01 +01:00
netfreak98 86c4cf2965
Update README.mkd
Added our LG to the list (AS49697) :)
2020-03-01 19:57:01 +01:00
Peter Hansen 307a96d063 direct is also an protocol that should be not shown 2019-12-28 11:37:05 +01:00
Peter Hansen 5ef67f5959 DEBUG should be disabled as default 2019-12-28 11:33:53 +01:00
Peter Hansen 71226a4ed3 specify config file as cli argument 2019-12-28 11:32:00 +01:00
zorun fa1c071682
Merge pull request #52 from tamihiro/new-pr-batch-4
Encode `+` when it appears in URL.
2019-08-28 10:57:20 +02:00
zorun 0e9dcd7946
Merge pull request #50 from tamihiro/new-pr-batch-2
Prevent 4-byte AS capability from being treated like it is ASN
2019-08-28 10:53:42 +02:00
tamihiro 648197da24 Correct AS path prepend count in bgpmap.
Without this patch, show_bgpmap() method does duplicate counts of aspath prepends, and returns a larger prepend count than it actually is.
2019-06-09 21:41:35 +09:00
tamihiro 1f020cdc40 Encode `+` when it appears in URL.
This patch takes care of encoding `+` within URL, such as `View the BGP map` link on the output of `show route where net ~ [ <prefix> + ]` response.
2019-06-09 21:39:21 +09:00
tamihiro 2c0d5ac273 Correctly display each of multiple destination prefixes with a box shape.
Without this patch, `show route where net ~ [ prefix+ ] (bgpmap)` erroneously returns only one prefix with a box shape, and all the other prefixes with a oval shape as if they were multipath intermediate ASes.
2019-06-09 21:35:59 +09:00
tamihiro 822d54cd3d Prevent 4-byte AS capability from being treated like it is ASN
Bird displays neighbor's 4-byte AS capability as `AS4`.
This patch prevents it from being treated as an clickable ASN in the output of `show protocols <protocol_name> all` response.
2019-06-09 21:31:38 +09:00
tamihiro eaf531eee2 Correctly parse aspath for both bird 1.x and 2.0.
Due to the change in the output of `show route for <prefix> all` since bird-2.0, this patch is necessary to correctly parse aspaths.
Without this patch, `build_as_tree_from_raw_bird_ouput()` fails with the following exception if the backend is bird-2.0.

```
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app
    response = self.make_response(self.handle_exception(e))
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python2.7/dist-packages/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./lg.py", line 522, in show_bgpmap
    response = Response(graph.create_png(), mimetype='image/png')
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1735, in <lambda>
    lambda f=frmt, prog=self.prog: self.create(format=f, prog=prog)
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1905, in create
    self.write(tmp_name)
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1830, in write
    data = self.to_string()
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 1600, in to_string
    graph.append(node.to_string() + '\n')
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 865, in to_string
    node += ' [' + node_attr + ']'
TypeError: unsupported operand type(s) for +=: 'NoneType' and 'str'
```

Consequently, `show route for <prefix> (bgpmap)` shows an error icon.
2019-06-09 18:35:20 +09:00
zorun 85963901f8
Merge pull request #48 from alarig/master
Applying patch from @fduraffourg that fixes #9
2019-06-07 01:25:27 +02:00
Alarig Le Lay 50b1f1387e Applying patch from @fduraffourg that fixes #9 2019-04-12 19:34:07 +02:00
zorun 2ce03ebbb0
Merge pull request #38 from zorun/fix_protocol_parsing
Simplify parsing of 'show protocols' to avoid future breakages
2019-03-19 14:42:16 +01:00
Samuel Trommel 58c1b01719 Add lg.worldstream.nl to README.mkd 2018-09-10 10:30:05 +02:00
Baptiste Jonglez 0e45d90b70 Simplify parsing of 'show protocols' to avoid future breakages
The current parsing method (ugly regexp) is hard to understand and prone
to breakage:

- Bird 1.4 changed the date format, which broke the parser ()
- Bird 2.0 changed the format of the "Table" field, which again broke the parser (#36)

The new method is much simpler, does not involve any regexp, and should
thus resist small syntax changes in Bird's output.

Important limitation: parsing will be messed up if the date contains a
space character.  There is no space in the default date format of Bird
(checked with Bird 1.3 to Bird 2.0), but since the date format is
configurable in Bird, it may happen anyway.  In particular, setting
"timeformat protocol iso long" in Bird will break bird-lg's parser.

Fixes #36
2018-08-22 12:46:21 +02:00
Consorci de Serveis Universitaris de Catalunya 1f0efcaa2c Add more happy users 2018-06-26 11:01:40 +02:00
zorun 6db7c78a31
Merge pull request #33 from zorun/happy_users
Add more happy users
2018-05-26 11:29:49 +02:00
zorun 1923aeea9d
Merge pull request #32 from zorun/init_systemd
Add example systemd unit files, courtesy of ARN
2018-05-26 11:29:34 +02:00
Baptiste Jonglez 4f4c903c05 Add example systemd unit files, courtesy of ARN 2018-05-26 11:28:53 +02:00
Baptiste Jonglez 38e365c6a0 Add more happy users 2018-05-26 00:48:13 +02:00
Stefan a3babe00d9 bind lgproxy.py optionally to an IP
Add the options
```BIND_IP = "0.0.0.0"
BIND_PORT = 5000```
which allows to bind lgproxy.py to an IP/interface.

As ports on routers shouldn't be exposed too much, it probably also makes sense to others to have this function. Tested.
2018-04-07 12:18:09 +02:00
Maikel de Boer a745a13267 Fixed requirements in README. 2017-10-30 19:15:21 +01:00