mirror of
https://github.com/GNS3/gns3-server.git
synced 2024-11-16 16:54:51 +02:00
Merge branch '2.2' into 3.0
# Conflicts: # gns3server/crash_report.py # gns3server/static/web-ui/index.html # gns3server/static/web-ui/main.99a70a8d013fc974361c.js # gns3server/version.py # requirements.txt
This commit is contained in:
commit
90c69d95ad
@ -10,7 +10,7 @@ jobs:
|
|||||||
name: Add issue to project
|
name: Add issue to project
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/add-to-project@v0.4.0
|
- uses: actions/add-to-project@v1.0.1
|
||||||
with:
|
with:
|
||||||
project-url: https://github.com/orgs/GNS3/projects/3
|
project-url: https://github.com/orgs/GNS3/projects/3
|
||||||
github-token: ${{ secrets.ADD_NEW_ISSUES_TO_PROJECT }}
|
github-token: ${{ secrets.ADD_NEW_ISSUES_TO_PROJECT }}
|
||||||
|
79
.github/workflows/codeql-analysis.yml
vendored
79
.github/workflows/codeql-analysis.yml
vendored
@ -13,58 +13,81 @@ name: "CodeQL"
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [ master ]
|
branches: [ "master" ]
|
||||||
pull_request:
|
pull_request:
|
||||||
# The branches below must be a subset of the branches above
|
branches: [ "master" ]
|
||||||
branches: [ master ]
|
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '44 1 * * 3'
|
- cron: '21 12 * * 4'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
analyze:
|
analyze:
|
||||||
name: Analyze
|
name: Analyze (${{ matrix.language }})
|
||||||
runs-on: ubuntu-latest
|
# Runner size impacts CodeQL analysis time. To learn more, please see:
|
||||||
|
# - https://gh.io/recommended-hardware-resources-for-running-codeql
|
||||||
|
# - https://gh.io/supported-runners-and-hardware-resources
|
||||||
|
# - https://gh.io/using-larger-runners (GitHub.com only)
|
||||||
|
# Consider using larger runners or machines with greater resources for possible analysis time improvements.
|
||||||
|
runs-on: ${{ (matrix.language == 'swift' && 'macos-latest') || 'ubuntu-latest' }}
|
||||||
|
timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }}
|
||||||
permissions:
|
permissions:
|
||||||
|
# required for all workflows
|
||||||
|
security-events: write
|
||||||
|
|
||||||
|
# required to fetch internal or private CodeQL packs
|
||||||
|
packages: read
|
||||||
|
|
||||||
|
# only required for workflows in private repositories
|
||||||
actions: read
|
actions: read
|
||||||
contents: read
|
contents: read
|
||||||
security-events: write
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
language: [ 'python' ]
|
include:
|
||||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
- language: python
|
||||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
build-mode: none
|
||||||
|
# CodeQL supports the following values keywords for 'language': 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'swift'
|
||||||
|
# Use `c-cpp` to analyze code written in C, C++ or both
|
||||||
|
# Use 'java-kotlin' to analyze code written in Java, Kotlin or both
|
||||||
|
# Use 'javascript-typescript' to analyze code written in JavaScript, TypeScript or both
|
||||||
|
# To learn more about changing the languages that are analyzed or customizing the build mode for your analysis,
|
||||||
|
# see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning.
|
||||||
|
# If you are analyzing a compiled language, you can modify the 'build-mode' for that language to customize how
|
||||||
|
# your codebase is analyzed, see https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
# Initializes the CodeQL tools for scanning.
|
# Initializes the CodeQL tools for scanning.
|
||||||
- name: Initialize CodeQL
|
- name: Initialize CodeQL
|
||||||
uses: github/codeql-action/init@v1
|
uses: github/codeql-action/init@v3
|
||||||
with:
|
with:
|
||||||
languages: ${{ matrix.language }}
|
languages: ${{ matrix.language }}
|
||||||
|
build-mode: ${{ matrix.build-mode }}
|
||||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
# 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.
|
# 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.
|
# 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).
|
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
|
||||||
# If this step fails, then you should remove it and run the build manually (see below)
|
# queries: security-extended,security-and-quality
|
||||||
- name: Autobuild
|
|
||||||
uses: github/codeql-action/autobuild@v1
|
|
||||||
|
|
||||||
|
# If the analyze step fails for one of the languages you are analyzing with
|
||||||
|
# "We were unable to automatically build your code", modify the matrix above
|
||||||
|
# to set the build mode to "manual" for that language. Then modify this step
|
||||||
|
# to build your code.
|
||||||
# ℹ️ Command-line programs to run using the OS shell.
|
# ℹ️ Command-line programs to run using the OS shell.
|
||||||
# 📚 https://git.io/JvXDl
|
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
||||||
|
- if: matrix.build-mode == 'manual'
|
||||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
shell: bash
|
||||||
# and modify them (or add more) to build your code if your project
|
run: |
|
||||||
# uses a compiled language
|
echo 'If you are using a "manual" build mode for one or more of the' \
|
||||||
|
'languages you are analyzing, replace this with the commands to build' \
|
||||||
#- run: |
|
'your code, for example:'
|
||||||
# make bootstrap
|
echo ' make bootstrap'
|
||||||
# make release
|
echo ' make release'
|
||||||
|
exit 1
|
||||||
|
|
||||||
- name: Perform CodeQL Analysis
|
- name: Perform CodeQL Analysis
|
||||||
uses: github/codeql-action/analyze@v1
|
uses: github/codeql-action/analyze@v3
|
||||||
|
with:
|
||||||
|
category: "/language:${{matrix.language}}"
|
||||||
|
@ -12,11 +12,11 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
ref: "gh-pages"
|
ref: "gh-pages"
|
||||||
- uses: actions/setup-python@v3
|
- uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.8
|
||||||
- name: Merge changes from 3.0 branch
|
- name: Merge changes from 3.0 branch
|
||||||
|
4
.github/workflows/testing.yml
vendored
4
.github/workflows/testing.yml
vendored
@ -20,9 +20,9 @@ jobs:
|
|||||||
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v4
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v3
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
- name: Display Python version
|
- name: Display Python version
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## 2.2.49 06/08/2024
|
||||||
|
|
||||||
|
* Bundle web-ui v2.2.49
|
||||||
|
* Forbid -nic and -nicdev in Qemu additional options. Fixes https://github.com/GNS3/gns3-server/issues/2397
|
||||||
|
* Upgrade jsonschema and sentry-sdk packages
|
||||||
|
* Update IOU base configs to use "no ip domain lookup". Fixes #2404
|
||||||
|
|
||||||
## 2.2.48.1 12/07/2024
|
## 2.2.48.1 12/07/2024
|
||||||
|
|
||||||
* Bundle web-ui v2.2.48.1
|
* Bundle web-ui v2.2.48.1
|
||||||
|
@ -12,18 +12,19 @@
|
|||||||
"status": "stable",
|
"status": "stable",
|
||||||
"maintainer": "GNS3 Team",
|
"maintainer": "GNS3 Team",
|
||||||
"maintainer_email": "developers@gns3.net",
|
"maintainer_email": "developers@gns3.net",
|
||||||
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deplyments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
"usage": "16 GB RAM is the bare minimum; you should use 32/64 GB in production deployments.\nDefault credentials:\n- CLI: admin / abc123\n- WebUI: super / juniper123",
|
||||||
"symbol": "juniper-vqfx.svg",
|
"symbol": "juniper-vqfx.svg",
|
||||||
"port_name_format": "em{0}",
|
"port_name_format": "em{0}",
|
||||||
"qemu": {
|
"qemu": {
|
||||||
"adapter_type": "e1000",
|
"adapter_type": "e1000",
|
||||||
"adapters": 4,
|
"adapters": 4,
|
||||||
"ram": 16384,
|
"ram": 16384,
|
||||||
|
"cpus": 4,
|
||||||
"hda_disk_interface": "ide",
|
"hda_disk_interface": "ide",
|
||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-smp 4 -nographic"
|
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic"
|
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic -enable-kvm"
|
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -20,11 +20,12 @@
|
|||||||
"adapter_type": "virtio-net-pci",
|
"adapter_type": "virtio-net-pci",
|
||||||
"adapters": 13,
|
"adapters": 13,
|
||||||
"ram": 4096,
|
"ram": 4096,
|
||||||
|
"cpus": 4,
|
||||||
"hda_disk_interface": "ide",
|
"hda_disk_interface": "ide",
|
||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic -enable-kvm -smp cpus=3"
|
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "vnc",
|
"console_type": "vnc",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic"
|
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -19,11 +19,12 @@
|
|||||||
"adapter_type": "virtio-net-pci",
|
"adapter_type": "virtio-net-pci",
|
||||||
"adapters": 12,
|
"adapters": 12,
|
||||||
"ram": 1024,
|
"ram": 1024,
|
||||||
|
"cpus": 2,
|
||||||
"hda_disk_interface": "ide",
|
"hda_disk_interface": "ide",
|
||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic -smp 2"
|
"options": "-nographic -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-nographic -enable-kvm"
|
"options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -19,11 +19,12 @@
|
|||||||
"adapter_type": "vmxnet3",
|
"adapter_type": "vmxnet3",
|
||||||
"adapters": 6,
|
"adapters": 6,
|
||||||
"ram": 4096,
|
"ram": 4096,
|
||||||
|
"cpus": 2,
|
||||||
"hda_disk_interface": "ide",
|
"hda_disk_interface": "ide",
|
||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "telnet",
|
"console_type": "telnet",
|
||||||
"kvm": "require",
|
"kvm": "require",
|
||||||
"options": "-smp 2"
|
"options": "-machine q35,smbios-entry-point-type=32"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
{
|
{
|
||||||
|
@ -13,18 +13,27 @@
|
|||||||
"status": "stable",
|
"status": "stable",
|
||||||
"maintainer": "Brent Stewart",
|
"maintainer": "Brent Stewart",
|
||||||
"maintainer_email": "brent@stewart.tc",
|
"maintainer_email": "brent@stewart.tc",
|
||||||
"usage": "Your default account will have sudo priviledges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
"usage": "Your default account will have sudo privileges. Squil and Squert username and password are configured in the Setup wizard. MySQL root is set to null. For more info see https://github.com/Security-Onion-Solutions/security-onion/wiki/Passwords.",
|
||||||
"symbol": "securityonion-logo.png",
|
"symbol": "securityonion-logo.png",
|
||||||
"qemu": {
|
"qemu": {
|
||||||
"adapter_type": "e1000",
|
"adapter_type": "e1000",
|
||||||
"adapters": 2,
|
"adapters": 2,
|
||||||
"ram": 3072,
|
"ram": 4096,
|
||||||
"hda_disk_interface": "ide",
|
"hda_disk_interface": "ide",
|
||||||
"arch": "x86_64",
|
"arch": "x86_64",
|
||||||
"console_type": "vnc",
|
"console_type": "vnc",
|
||||||
"kvm": "allow"
|
"kvm": "allow",
|
||||||
|
"options": "-cpu host"
|
||||||
},
|
},
|
||||||
"images": [
|
"images": [
|
||||||
|
{
|
||||||
|
"filename": "securityonion-2.4.80-20240624.iso",
|
||||||
|
"version": "2.4.80-20240624",
|
||||||
|
"md5sum": "139f9762e926f9cb3c4a9528a3752c31",
|
||||||
|
"filesize": 12391022592,
|
||||||
|
"download_url": "https://github.com/Security-Onion-Solutions/securityonion/blob/2.4/main/DOWNLOAD_AND_VERIFY_ISO.md",
|
||||||
|
"direct_download_url": "https://download.securityonion.net/file/securityonion/securityonion-2.4.80-20240624.iso"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filename": "securityonion-16.04.7.1.iso",
|
"filename": "securityonion-16.04.7.1.iso",
|
||||||
"version": "16.04.7.1",
|
"version": "16.04.7.1",
|
||||||
@ -49,6 +58,14 @@
|
|||||||
"download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
|
"download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
|
||||||
"direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
|
"direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"filename": "empty100G.qcow2",
|
||||||
|
"version": "1.0",
|
||||||
|
"md5sum": "5d9fec18a980f13002028491259f158d",
|
||||||
|
"filesize": 198656,
|
||||||
|
"download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3",
|
||||||
|
"direct_download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3/empty100G.qcow2"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"filename": "empty30G.qcow2",
|
"filename": "empty30G.qcow2",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
@ -59,6 +76,13 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"versions": [
|
"versions": [
|
||||||
|
{
|
||||||
|
"name": "2.4.80-20240624",
|
||||||
|
"images": {
|
||||||
|
"hda_disk_image": "empty100G.qcow2",
|
||||||
|
"cdrom_image": "securityonion-2.4.80-20240624.iso"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "16.04.7.1",
|
"name": "16.04.7.1",
|
||||||
"images": {
|
"images": {
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
"symbol": "linux_guest.svg",
|
"symbol": "linux_guest.svg",
|
||||||
"docker": {
|
"docker": {
|
||||||
"adapters": 1,
|
"adapters": 1,
|
||||||
"image": "gns3/ubuntu:focal",
|
"image": "gns3/ubuntu:noble",
|
||||||
"console_type": "telnet"
|
"console_type": "telnet"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -56,7 +56,7 @@ log = logging.getLogger(__name__)
|
|||||||
|
|
||||||
# forbidden additional options
|
# forbidden additional options
|
||||||
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
|
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
|
||||||
"-fsdev", "-virtfs"}
|
"-fsdev", "-virtfs", "-nic", "-netdev"}
|
||||||
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
|
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
|
||||||
if opt.startswith("-") and not opt.startswith("--")}
|
if opt.startswith("-") and not opt.startswith("--")}
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ uvicorn==0.29.0
|
|||||||
fastapi==0.112.0
|
fastapi==0.112.0
|
||||||
python-multipart==0.0.9
|
python-multipart==0.0.9
|
||||||
websockets==12.0
|
websockets==12.0
|
||||||
aiohttp>=3.9.5,<3.10
|
aiohttp>=3.10.3,<3.11
|
||||||
async-timeout==4.0.3
|
async-timeout==4.0.3
|
||||||
aiofiles>=24.1.0,<25.0
|
aiofiles>=24.1.0,<25.0
|
||||||
Jinja2>=3.1.4,<3.2
|
Jinja2>=3.1.4,<3.2
|
||||||
|
@ -197,8 +197,18 @@ then
|
|||||||
# Force hostid for IOU
|
# Force hostid for IOU
|
||||||
dd if=/dev/zero bs=4 count=1 of=/etc/hostid
|
dd if=/dev/zero bs=4 count=1 of=/etc/hostid
|
||||||
|
|
||||||
# Block iou call. The server is down
|
# Block potential IOU phone home call (xml.cisco.com is not in use at this time)
|
||||||
echo "127.0.0.254 xml.cisco.com" | tee --append /etc/hosts
|
log "Block IOU phone home call"
|
||||||
|
if [ "$UBUNTU_CODENAME" == "focal" ]
|
||||||
|
then
|
||||||
|
iptables -I OUTPUT -p udp --dport 53 -m string --hex-string "|03|xml|05|cisco|03|com" --algo bm -j DROP
|
||||||
|
echo iptables-persistent iptables-persistent/autosave_v4 boolean true | debconf-set-selections
|
||||||
|
echo iptables-persistent iptables-persistent/autosave_v6 boolean true | debconf-set-selections
|
||||||
|
apt-get install -y iptables-persistent
|
||||||
|
else
|
||||||
|
echo "127.0.0.254 xml.cisco.com" | tee --append /etc/hosts
|
||||||
|
fi
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log "Add gns3 to the kvm group"
|
log "Add gns3 to the kvm group"
|
||||||
|
Loading…
Reference in New Issue
Block a user