diff --git a/CHANGELOG b/CHANGELOG
index e4f7a15b..c8e44451 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,12 @@
# 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
* Bundle web-ui v2.2.48.1
diff --git a/dev-requirements.txt b/dev-requirements.txt
index 58b361a2..c4046899 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -1,6 +1,6 @@
-rrequirements.txt
-pytest==7.2.0
-flake8==5.0.4
-pytest-timeout==2.1.0
-pytest-aiohttp==1.0.4
+pytest==8.3.2
+flake8==7.1.0
+pytest-timeout==2.3.1
+pytest-aiohttp==1.0.5
diff --git a/gns3server/appliances/juniper-junos-space.gns3a b/gns3server/appliances/juniper-junos-space.gns3a
index c333c349..659d6a5e 100644
--- a/gns3server/appliances/juniper-junos-space.gns3a
+++ b/gns3server/appliances/juniper-junos-space.gns3a
@@ -12,18 +12,19 @@
"status": "stable",
"maintainer": "GNS3 Team",
"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",
"port_name_format": "em{0}",
"qemu": {
"adapter_type": "e1000",
"adapters": 4,
"ram": 16384,
+ "cpus": 4,
"hda_disk_interface": "ide",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-smp 4 -nographic"
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vmx-legacy.gns3a b/gns3server/appliances/juniper-vmx-legacy.gns3a
index 1409c4c7..592c4a60 100644
--- a/gns3server/appliances/juniper-vmx-legacy.gns3a
+++ b/gns3server/appliances/juniper-vmx-legacy.gns3a
@@ -34,7 +34,7 @@
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-nographic"
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vmx-vcp.gns3a b/gns3server/appliances/juniper-vmx-vcp.gns3a
index 089f4dce..d1d9493c 100644
--- a/gns3server/appliances/juniper-vmx-vcp.gns3a
+++ b/gns3server/appliances/juniper-vmx-vcp.gns3a
@@ -26,7 +26,7 @@
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-nographic -enable-kvm"
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vmx-vfp.gns3a b/gns3server/appliances/juniper-vmx-vfp.gns3a
index dba3ee1e..ff1145ef 100644
--- a/gns3server/appliances/juniper-vmx-vfp.gns3a
+++ b/gns3server/appliances/juniper-vmx-vfp.gns3a
@@ -20,11 +20,12 @@
"adapter_type": "virtio-net-pci",
"adapters": 13,
"ram": 4096,
+ "cpus": 4,
"hda_disk_interface": "ide",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-nographic -enable-kvm -smp cpus=3"
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vqfx-pfe.gns3a b/gns3server/appliances/juniper-vqfx-pfe.gns3a
index 23cacef5..7a4c4e21 100644
--- a/gns3server/appliances/juniper-vqfx-pfe.gns3a
+++ b/gns3server/appliances/juniper-vqfx-pfe.gns3a
@@ -23,7 +23,7 @@
"arch": "x86_64",
"console_type": "vnc",
"kvm": "require",
- "options": "-nographic"
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vqfx-re.gns3a b/gns3server/appliances/juniper-vqfx-re.gns3a
index b47c34d5..855d2a11 100644
--- a/gns3server/appliances/juniper-vqfx-re.gns3a
+++ b/gns3server/appliances/juniper-vqfx-re.gns3a
@@ -19,11 +19,12 @@
"adapter_type": "virtio-net-pci",
"adapters": 12,
"ram": 1024,
+ "cpus": 2,
"hda_disk_interface": "ide",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-nographic -smp 2"
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vrr.gns3a b/gns3server/appliances/juniper-vrr.gns3a
index 8c447a26..8ec4d506 100644
--- a/gns3server/appliances/juniper-vrr.gns3a
+++ b/gns3server/appliances/juniper-vrr.gns3a
@@ -25,7 +25,7 @@
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-nographic -enable-kvm"
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/juniper-vsrx.gns3a b/gns3server/appliances/juniper-vsrx.gns3a
index bd13122d..347632b3 100644
--- a/gns3server/appliances/juniper-vsrx.gns3a
+++ b/gns3server/appliances/juniper-vsrx.gns3a
@@ -19,11 +19,12 @@
"adapter_type": "vmxnet3",
"adapters": 6,
"ram": 4096,
+ "cpus": 2,
"hda_disk_interface": "ide",
"arch": "x86_64",
"console_type": "telnet",
"kvm": "require",
- "options": "-smp 2"
+ "options": "-machine q35,smbios-entry-point-type=32"
},
"images": [
{
diff --git a/gns3server/appliances/security-onion.gns3a b/gns3server/appliances/security-onion.gns3a
index f4f6cf1a..4841de8f 100644
--- a/gns3server/appliances/security-onion.gns3a
+++ b/gns3server/appliances/security-onion.gns3a
@@ -13,18 +13,27 @@
"status": "stable",
"maintainer": "Brent Stewart",
"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",
"qemu": {
"adapter_type": "e1000",
"adapters": 2,
- "ram": 3072,
+ "ram": 4096,
"hda_disk_interface": "ide",
"arch": "x86_64",
"console_type": "vnc",
- "kvm": "allow"
+ "kvm": "allow",
+ "options": "-cpu host"
},
"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",
"version": "16.04.7.1",
@@ -49,6 +58,14 @@
"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"
},
+ {
+ "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",
"version": "1.0",
@@ -59,6 +76,13 @@
}
],
"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",
"images": {
diff --git a/gns3server/appliances/ubuntu-docker.gns3a b/gns3server/appliances/ubuntu-docker.gns3a
index 110fba40..9cde03e7 100644
--- a/gns3server/appliances/ubuntu-docker.gns3a
+++ b/gns3server/appliances/ubuntu-docker.gns3a
@@ -14,7 +14,7 @@
"symbol": "linux_guest.svg",
"docker": {
"adapters": 1,
- "image": "gns3/ubuntu:focal",
+ "image": "gns3/ubuntu:noble",
"console_type": "telnet"
}
}
diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py
index 681c4d86..99b2d711 100644
--- a/gns3server/compute/qemu/qemu_vm.py
+++ b/gns3server/compute/qemu/qemu_vm.py
@@ -55,7 +55,7 @@ log = logging.getLogger(__name__)
# forbidden additional options
FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
- "-fsdev", "-virtfs"}
+ "-fsdev", "-virtfs", "-nic", "-netdev"}
FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
if opt.startswith("-") and not opt.startswith("--")}
diff --git a/gns3server/configs/iou_l2_base_startup-config.txt b/gns3server/configs/iou_l2_base_startup-config.txt
index 4a09db82..0ce9f365 100644
--- a/gns3server/configs/iou_l2_base_startup-config.txt
+++ b/gns3server/configs/iou_l2_base_startup-config.txt
@@ -15,7 +15,7 @@ no ip icmp rate-limit unreachable
!
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
no ip cef
-no ip domain-lookup
+no ip domain lookup
!
!
!
diff --git a/gns3server/configs/iou_l3_base_startup-config.txt b/gns3server/configs/iou_l3_base_startup-config.txt
index 67628f77..2706875d 100644
--- a/gns3server/configs/iou_l3_base_startup-config.txt
+++ b/gns3server/configs/iou_l3_base_startup-config.txt
@@ -14,7 +14,7 @@ no ip icmp rate-limit unreachable
!
! due to some bugs with IOU, try to change the following line to 'ip cef' if your routing does not work
no ip cef
-no ip domain-lookup
+no ip domain lookup
!
!
ip tcp synwait-time 5
diff --git a/gns3server/crash_report.py b/gns3server/crash_report.py
index d2ffbf47..d357f2da 100644
--- a/gns3server/crash_report.py
+++ b/gns3server/crash_report.py
@@ -57,7 +57,7 @@ class CrashReport:
Report crash to a third party service
"""
- DSN = "https://9888239d177479b53f1b089ec43f4630@o19455.ingest.us.sentry.io/38482"
+ DSN = "https://46838dcfc8a27b89afc8d5587c0f6230@o19455.ingest.us.sentry.io/38482"
_instance = None
def __init__(self):
diff --git a/gns3server/static/web-ui/index.html b/gns3server/static/web-ui/index.html
index 7f6bb8f8..c66f6074 100644
--- a/gns3server/static/web-ui/index.html
+++ b/gns3server/static/web-ui/index.html
@@ -46,6 +46,6 @@
gtag('config', 'G-0BT7QQV1W1');
-
+