mirror of
https://github.com/GNS3/gns3-server
synced 2024-12-01 04:38:12 +00:00
Merge branch '2.2' into 3.0
# Conflicts: # gns3server/compute/docker/docker_vm.py # gns3server/version.py # requirements.txt
This commit is contained in:
commit
df50b46952
70
.github/workflows/codeql-analysis.yml
vendored
Normal file
70
.github/workflows/codeql-analysis.yml
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ master ]
|
||||
schedule:
|
||||
- cron: '44 1 * * 3'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'python' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
@ -18,7 +18,7 @@ jobs:
|
||||
ref: "gh-pages"
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.6
|
||||
python-version: 3.7
|
||||
- name: Merge changes from 3.0 branch
|
||||
run: |
|
||||
git config user.name github-actions
|
||||
|
12
CHANGELOG
12
CHANGELOG
@ -1,5 +1,17 @@
|
||||
# Change Log
|
||||
|
||||
## 2.2.32 27/04/2022
|
||||
|
||||
* Docker: load custom interface files from /etc/network/interfaces (commented by default). Ref #2052
|
||||
* Release web UI 2.2.32
|
||||
* Create `/etc/network/interfaces.d` in Docker container. Fixes #2052
|
||||
* Prettify Docker '/etc/network/interfaces' file. Ref #2040
|
||||
* Use public DSNs for Sentry
|
||||
* Fix VMware Fusion VM does not start on macOS >= 11. Fixes #2027
|
||||
* Include conf file in MANIFEST.in Ref #2044
|
||||
* Use Python 3.7 to publish API documentation
|
||||
* Development on 2.2.32dev1
|
||||
|
||||
## 2.2.31 26/02/2022
|
||||
|
||||
* Install setuptools v59.6.0 when using Python 3.6
|
||||
|
@ -3,6 +3,7 @@ include AUTHORS
|
||||
include LICENSE
|
||||
include MANIFEST.in
|
||||
include requirements.txt
|
||||
include conf/*.conf
|
||||
recursive-include tests *
|
||||
recursive-exclude docs *
|
||||
recursive-include gns3server *
|
||||
|
17
SECURITY.md
Normal file
17
SECURITY.md
Normal file
@ -0,0 +1,17 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
These are the versions of the GNS3 server that are
|
||||
currently being supported with security updates.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 3.x.x | :white_check_mark: |
|
||||
| 2.2.x | :white_check_mark: |
|
||||
| 2.1.x | :x: |
|
||||
| 1.x.x | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please contact us at security@gns3.net
|
@ -30,6 +30,13 @@
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20220223012712.vmdk",
|
||||
"version": "10.09.1000",
|
||||
"md5sum": "7b47c4442d825562e73e3f09b2f1f999",
|
||||
"filesize": 556828672,
|
||||
"download_url": "https://asp.arubanetworks.com/"
|
||||
},
|
||||
{
|
||||
"filename": "arubaoscx-disk-image-genericx86-p4-20211206170615.vmdk",
|
||||
"version": "10.09.0002",
|
||||
@ -81,6 +88,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "10.09.1000",
|
||||
"images": {
|
||||
"hda_disk_image": "arubaoscx-disk-image-genericx86-p4-20220223012712.vmdk"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.09.0002",
|
||||
"images": {
|
||||
|
@ -26,6 +26,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "asav9-16-2.qcow2",
|
||||
"version": "9.16.2",
|
||||
"md5sum": "c3aa2b73b029146ec345bf888dd54eab",
|
||||
"filesize": 264896512,
|
||||
"download_url": "https://software.cisco.com/download/home/286119613/type/280775065/release/9.16.2"
|
||||
},
|
||||
{
|
||||
"filename": "asav9-15-1.qcow2",
|
||||
"version": "9.15.1",
|
||||
@ -105,6 +112,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "9.16.2",
|
||||
"images": {
|
||||
"hda_disk_image": "asav9-16-2.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "9.15.1",
|
||||
"images": {
|
||||
|
@ -32,6 +32,13 @@
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files",
|
||||
"direct_download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/IOSv_startup_config.img/download"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m4.qcow2",
|
||||
"version": "15.9(3)M4",
|
||||
"md5sum": "355b13ab821e64e2939fd7008d6304d7",
|
||||
"filesize": 57297920,
|
||||
"download_url": "https://learningnetworkstore.cisco.com/myaccount"
|
||||
},
|
||||
{
|
||||
"filename": "vios-adventerprisek9-m.spa.159-3.m3.qcow2",
|
||||
"version": "15.9(3)M3",
|
||||
@ -83,6 +90,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "15.9(3)M4",
|
||||
"images": {
|
||||
"hda_disk_image": "vios-adventerprisek9-m.spa.159-3.m4.qcow2",
|
||||
"hdb_disk_image": "IOSv_startup_config.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "15.9(3)M3",
|
||||
"images": {
|
||||
|
46
gns3server/appliances/clavister-netsheild.gns3a
Normal file
46
gns3server/appliances/clavister-netsheild.gns3a
Normal file
@ -0,0 +1,46 @@
|
||||
{
|
||||
"appliance_id": "39c6b8db-8dc3-4b04-8727-7d0b414be7c8",
|
||||
"name": "Clavister NetShield",
|
||||
"category": "firewall",
|
||||
"description": "Clavister NetShield (cOS Stream) Virtual Appliance offers the same functionality as the Clavister NetShield physical NGappliances FWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"product_name": "NetShield",
|
||||
"product_url": "https://www.clavister.com/products/netshield/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "No configuration by default, oen console to set IPs and activate configuration.",
|
||||
"port_name_format": "if{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "virtio-net-pci",
|
||||
"adapters": 4,
|
||||
"ram": 1024,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "c",
|
||||
"kvm": "allow",
|
||||
"options": "-cpu Nehalem"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-stream-3.80.09.01-virtual-x64-generic.qcow2",
|
||||
"version": "cOS Stream 3.80.09",
|
||||
"md5sum": "b57d8e0f1a3cdd4b2c96ffbc7d7c4f05",
|
||||
"filesize": 134217728,
|
||||
"download_url": "https://my.clavister.com/download/c44639bf-b082-ec11-8308-005056956b6b"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-stream-3.80.09.01-virtual-x64-generic.qcow2"
|
||||
},
|
||||
"name": "cOS Stream 3.80.09"
|
||||
}
|
||||
]
|
||||
}
|
58
gns3server/appliances/clavister-netwall.gns3a
Normal file
58
gns3server/appliances/clavister-netwall.gns3a
Normal file
@ -0,0 +1,58 @@
|
||||
{
|
||||
"appliance_id": "68ddb1dc-e55b-4bcc-9c18-27a9eb5e7413",
|
||||
"name": "Clavister NetWall",
|
||||
"category": "firewall",
|
||||
"description": "Clavister NetWall (cOS Core) Virtual Appliance offers the same functionality as the Clavister NetWall physical NGFWs in a virtual environment.",
|
||||
"vendor_name": "Clavister",
|
||||
"vendor_url": "https://www.clavister.com/",
|
||||
"documentation_url": "https://kb.clavister.com",
|
||||
"product_name": "NetWall",
|
||||
"product_url": "https://www.clavister.com/products/ngfw/",
|
||||
"registry_version": 4,
|
||||
"status": "stable",
|
||||
"availability": "free-to-try",
|
||||
"maintainer": "Mattias Nordlund",
|
||||
"maintainer_email": "mattias.nordlund@clavister.com",
|
||||
"usage": "DHCP enabled on all interfaces by default, WebUI/SSH access enabled on the local network connected to If1.",
|
||||
"port_name_format": "If{0}",
|
||||
"qemu": {
|
||||
"adapter_type": "e1000",
|
||||
"adapters": 4,
|
||||
"ram": 512,
|
||||
"hda_disk_interface": "virtio",
|
||||
"arch": "x86_64",
|
||||
"console_type": "telnet",
|
||||
"boot_priority": "c",
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.01.13-kvm-en.img",
|
||||
"version": "cOS Core 14.00.01 (x86)",
|
||||
"md5sum": "6c72eb0bb13d191912ca930b72071d07",
|
||||
"filesize": 134217728,
|
||||
"download_url": "https://my.clavister.com/download/ee3ecb2f-7662-ec11-8308-005056956b6b"
|
||||
},
|
||||
{
|
||||
"filename": "clavister-cos-core-14.00.00.12-kvm-en.img",
|
||||
"version": "cOS Core 14.00.00 (x86)",
|
||||
"md5sum": "496ddd494b226e3508563db837643910",
|
||||
"filesize": 134217728,
|
||||
"download_url": "https://my.clavister.com/download/b2b7bce8-4449-ec11-8308-005056956b6b"
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-core-14.00.01.13-kvm-en.img"
|
||||
},
|
||||
"name": "cOS Core 14.00.01 (x86)"
|
||||
},
|
||||
{
|
||||
"images": {
|
||||
"hda_disk_image": "clavister-cos-core-14.00.00.12-kvm-en.img"
|
||||
},
|
||||
"name": "cOS Core 14.00.00 (x86)"
|
||||
}
|
||||
]
|
||||
}
|
@ -24,20 +24,20 @@
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "debian-11-genericcloud-amd64-20211220-862.qcow2",
|
||||
"version": "11.2",
|
||||
"md5sum": "3bdc52b0b3622a72095efdd001780a45",
|
||||
"filesize": 253231104,
|
||||
"filename": "debian-11-genericcloud-amd64-20220328-962.qcow2",
|
||||
"version": "11.3",
|
||||
"md5sum": "7cf51e23747898485971a656ac2eb96d",
|
||||
"filesize": 253296640,
|
||||
"download_url": "https://cloud.debian.org/images/cloud/bullseye/",
|
||||
"direct_download_url": "https://cloud.debian.org/images/cloud/bullseye/20211220-862/debian-11-genericcloud-amd64-20211220-862.qcow2"
|
||||
"direct_download_url": "https://cloud.debian.org/images/cloud/bullseye/20220328-962/debian-11-genericcloud-amd64-20220328-962.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-10-genericcloud-amd64-20211011-792.qcow2",
|
||||
"version": "10.11",
|
||||
"md5sum": "ea4de19b17d114b6db813ee64a6b8284",
|
||||
"filename": "debian-10-genericcloud-amd64-20220328-962.qcow2",
|
||||
"version": "10.12",
|
||||
"md5sum": "e92dfa1fc779fff807856f6ea6876e42",
|
||||
"filesize": 232980480,
|
||||
"download_url": "https://cloud.debian.org/images/cloud/buster/",
|
||||
"direct_download_url": "https://cloud.debian.org/images/cloud/buster/20211011-792/debian-10-genericcloud-amd64-20211011-792.qcow2"
|
||||
"direct_download_url": "https://cloud.debian.org/images/cloud/buster/20220328-962/debian-10-genericcloud-amd64-20220328-962.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "debian-cloud-init-data.iso",
|
||||
@ -49,16 +49,16 @@
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "11.2",
|
||||
"name": "11.3",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-11-genericcloud-amd64-20211220-862.qcow2",
|
||||
"hda_disk_image": "debian-11-genericcloud-amd64-20220328-962.qcow2",
|
||||
"cdrom_image": "debian-cloud-init-data.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "10.11",
|
||||
"name": "10.12",
|
||||
"images": {
|
||||
"hda_disk_image": "debian-10-genericcloud-amd64-20211011-792.qcow2",
|
||||
"hda_disk_image": "debian-10-genericcloud-amd64-20220328-962.qcow2",
|
||||
"cdrom_image": "debian-cloud-init-data.iso"
|
||||
}
|
||||
}
|
||||
|
@ -22,6 +22,14 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "frr-8.1.0.qcow2",
|
||||
"version": "8.1.0",
|
||||
"md5sum": "836d6a207f63f99a4039378f2b0c6123",
|
||||
"filesize": 54063616,
|
||||
"download_url": "https://sourceforge.net/projects/gns-3/files/Qemu%20Appliances/",
|
||||
"direct_download_url": "http://downloads.sourceforge.net/project/gns-3/Qemu%20Appliances/frr-8.1.0.qcow2"
|
||||
},
|
||||
{
|
||||
"filename": "frr-7.5.1.qcow2",
|
||||
"version": "7.5.1",
|
||||
@ -40,6 +48,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "8.1.0",
|
||||
"images": {
|
||||
"hda_disk_image": "frr-8.1.0.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "7.5.1",
|
||||
"images": {
|
||||
|
@ -25,6 +25,13 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "OPNsense-22.1.2-OpenSSL-nano-amd64.img",
|
||||
"version": "22.1.2",
|
||||
"md5sum": "3109030a214301b89a47eb9466e8b656",
|
||||
"filesize": 3221225472,
|
||||
"download_url": "https://opnsense.c0urier.net/releases/22.1/"
|
||||
},
|
||||
{
|
||||
"filename": "OPNsense-21.7.1-OpenSSL-nano-amd64.img",
|
||||
"version": "21.7.1",
|
||||
@ -48,6 +55,12 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "22.1.2",
|
||||
"images": {
|
||||
"hda_disk_image": "OPNsense-22.1.2-OpenSSL-nano-amd64.img"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "21.7.1",
|
||||
"images": {
|
||||
|
18
gns3server/appliances/ovs-snmp.gns3a
Normal file
18
gns3server/appliances/ovs-snmp.gns3a
Normal file
@ -0,0 +1,18 @@
|
||||
{
|
||||
"appliance_id": "bfafb392-bb2b-4078-8817-29c55273fff6",
|
||||
"name": "Open vSwitch with SNMP",
|
||||
"category": "multilayer_switch",
|
||||
"description": "Customized Open vSwtich with SNMP support",
|
||||
"vendor_name": "Open vSwitch",
|
||||
"vendor_url": "http://openvswitch.org/",
|
||||
"product_name": "Open vSwitch",
|
||||
"registry_version": 3,
|
||||
"status": "stable",
|
||||
"maintainer": "GNS3 Team",
|
||||
"maintainer_email": "developers@gns3.net",
|
||||
"usage": "",
|
||||
"docker": {
|
||||
"adapters": 8,
|
||||
"image": "gns3/ovs-snmp:latest"
|
||||
}
|
||||
}
|
@ -24,6 +24,13 @@
|
||||
"process_priority": "normal"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "pfSense-CE-2.6.0-RELEASE-amd64.iso",
|
||||
"version": "2.6.0",
|
||||
"md5sum": "5ca6d4cb89977022d2e76c9158eeeb67",
|
||||
"filesize": 767463424,
|
||||
"download_url": "https://www.pfsense.org/download/mirror.php?section=downloads"
|
||||
},
|
||||
{
|
||||
"filename": "pfSense-CE-2.5.2-RELEASE-amd64.iso",
|
||||
"version": "2.5.2",
|
||||
@ -62,6 +69,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "2.6.0",
|
||||
"images": {
|
||||
"hda_disk_image": "empty100G.qcow2",
|
||||
"cdrom_image": "pfSense-CE-2.6.0-RELEASE-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "2.5.2",
|
||||
"images": {
|
||||
|
@ -24,6 +24,20 @@
|
||||
"kvm": "require"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "VI-18.5.2_MR-2.KVM-380-PRIMARY.qcow2",
|
||||
"version": "18.5.2 MR2",
|
||||
"md5sum": "d3b99cd9519fae06e4ef348af34fef2b",
|
||||
"filesize": 458555392,
|
||||
"download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "VI-18.5.2_MR-2.KVM-380-AUXILIARY.qcow2",
|
||||
"version": "18.5.2 MR2",
|
||||
"md5sum": "9cf2ebc15c92f712e28f8e45a29ee613",
|
||||
"filesize": 11272192,
|
||||
"download_url": "https://secure2.sophos.com/en-us/products/next-gen-firewall/free-trial.aspx"
|
||||
},
|
||||
{
|
||||
"filename": "VI-17.1.3_MR-3.KVM-250-PRIMARY.qcow2",
|
||||
"version": "17.1.3 MR3",
|
||||
@ -124,6 +138,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "18.5.2 MR2",
|
||||
"images": {
|
||||
"hda_disk_image": "VI-18.5.2_MR-2.KVM-380-PRIMARY.qcow2",
|
||||
"hdb_disk_image": "VI-18.5.2_MR-2.KVM-380-AUXILIARY.qcow2"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "17.1.3 MR3",
|
||||
"images": {
|
||||
|
@ -26,6 +26,13 @@
|
||||
"kvm": "allow"
|
||||
},
|
||||
"images": [
|
||||
{
|
||||
"filename": "vyos-1.3.1-amd64.iso",
|
||||
"version": "1.3.1",
|
||||
"md5sum": "b6f57bd0cf9b60cdafa337b08ba4f2bc",
|
||||
"filesize": 350224384,
|
||||
"download_url": "https://support.vyos.io/en/downloads/files/vyos-1-3-1-generic-iso-image"
|
||||
},
|
||||
{
|
||||
"filename": "vyos-1.3.0-amd64.iso",
|
||||
"version": "1.3.0",
|
||||
@ -73,6 +80,13 @@
|
||||
}
|
||||
],
|
||||
"versions": [
|
||||
{
|
||||
"name": "1.3.1",
|
||||
"images": {
|
||||
"hda_disk_image": "empty8G.qcow2",
|
||||
"cdrom_image": "vyos-1.3.1-amd64.iso"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "1.3.0",
|
||||
"images": {
|
||||
|
@ -333,16 +333,17 @@ class DockerVM(BaseNode):
|
||||
os.makedirs(os.path.join(path, "if-down.d"), exist_ok=True)
|
||||
os.makedirs(os.path.join(path, "if-pre-up.d"), exist_ok=True)
|
||||
os.makedirs(os.path.join(path, "if-post-down.d"), exist_ok=True)
|
||||
os.makedirs(os.path.join(path, "interfaces.d"), exist_ok=True)
|
||||
|
||||
if not os.path.exists(os.path.join(path, "interfaces")):
|
||||
with open(os.path.join(path, "interfaces"), "w+") as f:
|
||||
f.write(
|
||||
"""#
|
||||
# This is a sample network config uncomment lines to configure the network
|
||||
f.write("""#
|
||||
# This is a sample network config, please uncomment lines to configure the network
|
||||
#
|
||||
|
||||
"""
|
||||
)
|
||||
# Uncomment this line to load custom interface files
|
||||
# source /etc/network/interfaces.d/*
|
||||
""")
|
||||
for adapter in range(0, self.adapters):
|
||||
f.write(
|
||||
"""
|
||||
@ -355,11 +356,9 @@ class DockerVM(BaseNode):
|
||||
#\tup echo nameserver 192.168.{adapter}.1 > /etc/resolv.conf
|
||||
|
||||
# DHCP config for eth{adapter}
|
||||
# auto eth{adapter}
|
||||
# iface eth{adapter} inet dhcp""".format(
|
||||
adapter=adapter
|
||||
)
|
||||
)
|
||||
#auto eth{adapter}
|
||||
#iface eth{adapter} inet dhcp
|
||||
""".format(adapter=adapter))
|
||||
return path
|
||||
|
||||
async def create(self):
|
||||
|
@ -311,8 +311,8 @@ class VMware(BaseManager):
|
||||
vmnet_interfaces = self._get_vmnet_interfaces_ubridge()
|
||||
else:
|
||||
vmnet_interfaces = self._get_vmnet_interfaces()
|
||||
vmnet_interfaces = list(vmnet_interfaces.keys())
|
||||
self._vmnets_info = vmnet_interfaces.copy()
|
||||
vmnet_interfaces = list(vmnet_interfaces.keys())
|
||||
|
||||
# remove vmnets already in use
|
||||
for vmware_vm in self._nodes.values():
|
||||
|
@ -224,7 +224,7 @@ def _convert_2_1_0(topo, topo_path):
|
||||
if node["node_type"] in ("qemu", "vmware", "virtualbox"):
|
||||
if "acpi_shutdown" in node["properties"]:
|
||||
if node["properties"]["acpi_shutdown"] is True:
|
||||
node["properties"]["on_close"] = "save_vm_sate"
|
||||
node["properties"]["on_close"] = "save_vm_state"
|
||||
else:
|
||||
node["properties"]["on_close"] = "power_off"
|
||||
del node["properties"]["acpi_shutdown"]
|
||||
|
@ -59,7 +59,7 @@ class CrashReport:
|
||||
Report crash to a third party service
|
||||
"""
|
||||
|
||||
DSN = "https://8f474628c1e44d0799140ccf05c486b8:f952ab1783d3427188fd81cc37da323c@o19455.ingest.sentry.io/38482"
|
||||
DSN = "https://57f6b1102b6a4985a8e93aed51e19b8b@o19455.ingest.sentry.io/38482"
|
||||
_instance = None
|
||||
|
||||
def __init__(self):
|
||||
|
File diff suppressed because one or more lines are too long
@ -1,9 +1,10 @@
|
||||
GNS3 WebUI is web implementation of user interface for GNS3 software.
|
||||
|
||||
Current version: 2.2.24
|
||||
Current version: 2.2.32
|
||||
|
||||
Bug Fixes & enhancements
|
||||
- security fixes
|
||||
- Fixed generated capture file is not valid
|
||||
- Fixed Docker additional directories
|
||||
|
||||
Current version: 2020.4.0-beta.1
|
||||
|
||||
|
@ -46,6 +46,6 @@
|
||||
|
||||
gtag('config', 'G-5D6FZL9923');
|
||||
</script>
|
||||
<script src="runtime.445d8d501d6ed9a85ab9.js" defer></script><script src="polyfills-es5.4eb1fdd946638b823036.js" nomodule defer></script><script src="polyfills.519e27ac94450b1b7e67.js" defer></script><script src="main.e8a548933524bbeda197.js" defer></script>
|
||||
<script src="runtime.91a209cf21f6fb848205.js" defer></script><script src="polyfills-es5.865074f5cd9a121111a2.js" nomodule defer></script><script src="polyfills.2f91a039d848e57ff02e.js" defer></script><script src="main.4b4883543cd4ccdf0202.js" defer></script>
|
||||
|
||||
</body></html>
|
File diff suppressed because one or more lines are too long
@ -1 +0,0 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var a=g[e];if(void 0!==a)return a.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(a,t,u,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],u=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=u();void 0!==s&&(a=s)}}return a}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,u,o]},n.n=function(e){var a=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(a,{a:a}),a},n.d=function(e,a){for(var t in a)n.o(a,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(a,t){return n.f[t](e,a),a},[]))},n.u=function(e){return e+".288b4de0ead3b7b9276b.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,a){return Object.prototype.hasOwnProperty.call(e,a)},function(){var e={},a="gns3-web-ui:";n.l=function(t,u,o,i){if(e[t])e[t].push(u);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==a+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",a+o),r.src=n.tu(t)),e[t]=[u];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(a){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(a)}}(),n.p="",function(){var e={666:0};n.f.j=function(u,o){var i=n.o(e,u)?e[u]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=u){var r=new Promise(function(c,d){i=e[u]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(u),f=new Error;n.l(l,function(c){if(n.o(e,u)&&(0!==(i=e[u])&&(e[u]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+u+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+u,u)}else e[u]=0},n.O.j=function(u){return 0===e[u]};var a=function(u,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(u&&u(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(a.bind(null,0)),t.push=a.bind(null,t.push.bind(t))}()}();
|
1
gns3server/static/web-ui/runtime.91a209cf21f6fb848205.js
Normal file
1
gns3server/static/web-ui/runtime.91a209cf21f6fb848205.js
Normal file
@ -0,0 +1 @@
|
||||
!function(){"use strict";var e,v={},g={};function n(e){var u=g[e];if(void 0!==u)return u.exports;var t=g[e]={id:e,loaded:!1,exports:{}};return v[e](t,t.exports,n),t.loaded=!0,t.exports}n.m=v,e=[],n.O=function(u,t,a,o){if(!t){var r=1/0;for(i=0;i<e.length;i++){t=e[i][0],a=e[i][1],o=e[i][2];for(var l=!0,f=0;f<t.length;f++)(!1&o||r>=o)&&Object.keys(n.O).every(function(b){return n.O[b](t[f])})?t.splice(f--,1):(l=!1,o<r&&(r=o));if(l){e.splice(i--,1);var s=a();void 0!==s&&(u=s)}}return u}o=o||0;for(var i=e.length;i>0&&e[i-1][2]>o;i--)e[i]=e[i-1];e[i]=[t,a,o]},n.n=function(e){var u=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(u,{a:u}),u},n.d=function(e,u){for(var t in u)n.o(u,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:u[t]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce(function(u,t){return n.f[t](e,u),u},[]))},n.u=function(e){return e+".52bf50eec59e1bcb0895.js"},n.miniCssF=function(e){return"styles.f8555f2eecf8cf87f666.css"},n.hmd=function(e){return(e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set:function(){throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e},n.o=function(e,u){return Object.prototype.hasOwnProperty.call(e,u)},function(){var e={},u="gns3-web-ui:";n.l=function(t,a,o,i){if(e[t])e[t].push(a);else{var r,l;if(void 0!==o)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var c=f[s];if(c.getAttribute("src")==t||c.getAttribute("data-webpack")==u+o){r=c;break}}r||(l=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,n.nc&&r.setAttribute("nonce",n.nc),r.setAttribute("data-webpack",u+o),r.src=n.tu(t)),e[t]=[a];var d=function(h,b){r.onerror=r.onload=null,clearTimeout(p);var _=e[t];if(delete e[t],r.parentNode&&r.parentNode.removeChild(r),_&&_.forEach(function(m){return m(b)}),h)return h(b)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=d.bind(null,r.onerror),r.onload=d.bind(null,r.onload),l&&document.head.appendChild(r)}}}(),n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e;n.tu=function(u){return void 0===e&&(e={createScriptURL:function(t){return t}},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e.createScriptURL(u)}}(),n.p="",function(){var e={666:0};n.f.j=function(a,o){var i=n.o(e,a)?e[a]:void 0;if(0!==i)if(i)o.push(i[2]);else if(666!=a){var r=new Promise(function(c,d){i=e[a]=[c,d]});o.push(i[2]=r);var l=n.p+n.u(a),f=new Error;n.l(l,function(c){if(n.o(e,a)&&(0!==(i=e[a])&&(e[a]=void 0),i)){var d=c&&("load"===c.type?"missing":c.type),p=c&&c.target&&c.target.src;f.message="Loading chunk "+a+" failed.\n("+d+": "+p+")",f.name="ChunkLoadError",f.type=d,f.request=p,i[1](f)}},"chunk-"+a,a)}else e[a]=0},n.O.j=function(a){return 0===e[a]};var u=function(a,o){var f,s,i=o[0],r=o[1],l=o[2],c=0;for(f in r)n.o(r,f)&&(n.m[f]=r[f]);if(l)var d=l(n);for(a&&a(o);c<i.length;c++)n.o(e,s=i[c])&&e[s]&&e[s][0](),e[i[c]]=0;return n.O(d)},t=self.webpackChunkgns3_web_ui=self.webpackChunkgns3_web_ui||[];t.forEach(u.bind(null,0)),t.push=u.bind(null,t.push.bind(t))}()}();
|
@ -76,7 +76,7 @@ if [ "$CUSTOM_REPO" = false ] ; then
|
||||
git fetch --tags
|
||||
git pull
|
||||
|
||||
if [[ ! -z "$TAG" ]]
|
||||
if [[ -n "$TAG" ]]
|
||||
then
|
||||
echo "Switching to tag: ${TAG}"
|
||||
git checkout "tags/${TAG}"
|
||||
|
Loading…
Reference in New Issue
Block a user