The premier source of truth powering network automation. Open source under Apache 2. Try NetBox Cloud free: https://netboxlabs.com/products/free-netbox-cloud/
Go to file
Marc Heckmann 11b85e5247 Fix encoding of plaintext length indicator for secrets (fixes #2473)
The encoding of the secret length indicator has likely been broken
since commit b21833f79c which introduced
Py3 support for secrets: the indicator was switched to using UTF-8 byte
strings and this caused the length indicator to consume 3 bytes instead
of just 2 under certain circumstances. For example when the plaintext
secret length is between 128 and 256 bytes long. This is because contrary
to latin-1 encoding, UTF-8 byte sting encoding consumes 2 bytes for
code points > 80. See the table at https://en.wikipedia.org/wiki/UTF-8#Description

The fix is to explicitely use 'latin-1' encoding for the length indicator.
This makes the code behave exactly as it did with the original Python2
implemenation while remaining compatible w/ Py3.

A test case which uses a 171 byte long plaintext string has also been added.
This test triggers the bug when the fix is not present.

This fixes #2473
2018-10-19 10:03:22 -04:00
.github Use real emojis for issue template names 2018-07-26 15:09:19 -04:00
docs Expand Webhook Documentation #2347 (#2524) 2018-10-16 13:19:33 -04:00
netbox Fix encoding of plaintext length indicator for secrets (fixes #2473) 2018-10-19 10:03:22 -04:00
scripts Update CI to use pycostyle instead of pep8 2018-07-02 19:27:53 +02:00
.gitattributes Force Unix line endings on shell scripts 2017-03-09 16:20:32 +00:00
.gitignore Initial work on reports 2017-09-19 17:47:42 -04:00
.travis.yml Update CI to use pycostyle instead of pep8 2018-07-02 19:27:53 +02:00
base_requirements.txt Adopt django-taggit-serializer for representation of assigned tags in the API 2018-08-03 09:43:03 -04:00
CHANGELOG.md Fixes #2514: Prevent new connections to already connected interfaces 2018-10-16 16:42:23 -04:00
CONTRIBUTING.md Further reiterated the policy for pull requests 2018-07-18 16:14:57 -04:00
LICENSE.txt Initial push to public repo 2016-03-01 11:23:03 -05:00
mkdocs.yml Fixes #2471: Fix ReadTheDocs theme 2018-10-02 11:51:53 -04:00
old_requirements.txt Use drf_yasg to generate swagger 2018-03-15 17:07:58 -04:00
README.md Add a page related to community related projects 2018-09-13 17:54:13 +02:00
requirements.txt Bumped drf-yasg to v1.9.2 2018-08-06 11:57:09 -04:00
upgrade.sh Fixes #1527: Replace deprecated pycrypto library with pycryptodome 2017-10-09 17:40:15 -04:00

NetBox

NetBox is an IP address management (IPAM) and data center infrastructure management (DCIM) tool. Initially conceived by the network engineering team at DigitalOcean, NetBox was developed specifically to address the needs of network and infrastructure engineers.

NetBox runs as a web application atop the Django Python framework with a PostgreSQL database. For a complete list of requirements, see requirements.txt. The code is available on GitHub.

The complete documentation for NetBox can be found at Read the Docs.

Questions? Comments? Please subscribe to the netbox-discuss mailing list, or join us in the #netbox Slack channel on NetworkToCode!

Build Status

NetBox is built against both Python 2.7 and 3.5. Python 3.5 or higher is strongly recommended.

status
master Build Status
develop Build Status

Screenshots

Screenshot of main page

Screenshot of rack elevation

Screenshot of prefix hierarchy

Installation

Please see the documentation for instructions on installing NetBox. To upgrade NetBox, please download the latest release and run upgrade.sh.

Alternative Installations

Related projects

Supported SDK

  • pynetbox Python API client library for Netbox.

Community SDK

Ansible Inventory