gns3-server 3.0.0b2__py3-none-any.whl → 3.0.0rc1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of gns3-server might be problematic. Click here for more details.

Files changed (80) hide show
  1. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/METADATA +32 -32
  2. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/RECORD +79 -62
  3. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/WHEEL +1 -1
  4. gns3server/api/routes/compute/dynamips_nodes.py +2 -2
  5. gns3server/api/routes/controller/images.py +4 -2
  6. gns3server/api/routes/controller/projects.py +2 -0
  7. gns3server/appliances/arista-veos.gns3a +178 -2
  8. gns3server/appliances/aruba-arubaoscx.gns3a +39 -0
  9. gns3server/appliances/asterfusion-vAsterNOS.gns3a +2 -2
  10. gns3server/appliances/cisco-c8000v.gns3a +14 -1
  11. gns3server/appliances/cisco-iou-l2.gns3a +2 -2
  12. gns3server/appliances/cisco-iou-l3.gns3a +2 -2
  13. gns3server/appliances/debian.gns3a +28 -0
  14. gns3server/appliances/fortiadc.gns3a +46 -4
  15. gns3server/appliances/fortianalyzer.gns3a +42 -0
  16. gns3server/appliances/fortiauthenticator.gns3a +58 -2
  17. gns3server/appliances/fortigate.gns3a +42 -0
  18. gns3server/appliances/fortimanager.gns3a +42 -0
  19. gns3server/appliances/fortiweb.gns3a +56 -0
  20. gns3server/appliances/juniper-junos-space.gns3a +3 -2
  21. gns3server/appliances/juniper-vmx-legacy.gns3a +1 -1
  22. gns3server/appliances/juniper-vmx-vcp.gns3a +1 -1
  23. gns3server/appliances/juniper-vmx-vfp.gns3a +2 -1
  24. gns3server/appliances/juniper-vqfx-pfe.gns3a +1 -1
  25. gns3server/appliances/juniper-vqfx-re.gns3a +2 -1
  26. gns3server/appliances/juniper-vrr.gns3a +1 -1
  27. gns3server/appliances/juniper-vsrx.gns3a +2 -1
  28. gns3server/appliances/openvswitch-management.gns3a +1 -1
  29. gns3server/appliances/opnsense.gns3a +2 -2
  30. gns3server/appliances/pan-vm-fw.gns3a +26 -0
  31. gns3server/appliances/security-onion.gns3a +27 -3
  32. gns3server/appliances/ubuntu-docker.gns3a +1 -1
  33. gns3server/compute/docker/__init__.py +9 -3
  34. gns3server/compute/dynamips/__init__.py +4 -0
  35. gns3server/compute/iou/iou_vm.py +2 -1
  36. gns3server/compute/qemu/qemu_vm.py +26 -10
  37. gns3server/config_samples/gns3_server.conf +13 -3
  38. gns3server/configs/iou_l2_base_startup-config.txt +1 -1
  39. gns3server/configs/iou_l3_base_startup-config.txt +1 -1
  40. gns3server/controller/__init__.py +12 -7
  41. gns3server/controller/appliance_manager.py +7 -2
  42. gns3server/controller/export_project.py +9 -9
  43. gns3server/controller/import_project.py +3 -3
  44. gns3server/controller/project.py +8 -4
  45. gns3server/controller/snapshot.py +5 -10
  46. gns3server/controller/symbol_themes.py +7 -0
  47. gns3server/controller/topology.py +30 -1
  48. gns3server/controller/udp_link.py +1 -1
  49. gns3server/crash_report.py +1 -1
  50. gns3server/schemas/config.py +3 -0
  51. gns3server/schemas/controller/templates/__init__.py +0 -1
  52. gns3server/services/authentication.py +2 -2
  53. gns3server/services/templates.py +1 -1
  54. gns3server/static/web-ui/index.html +3 -3
  55. gns3server/static/web-ui/main.4185a8e61824af0d.js +1 -0
  56. gns3server/symbols/affinity/circle/blue/nat.svg +60 -0
  57. gns3server/symbols/affinity/circle/blue/nat2.svg +55 -0
  58. gns3server/symbols/affinity/circle/gray/nat.svg +60 -0
  59. gns3server/symbols/affinity/circle/gray/nat2.svg +55 -0
  60. gns3server/symbols/affinity/circle/green/nat.svg +60 -0
  61. gns3server/symbols/affinity/circle/green/nat2.svg +55 -0
  62. gns3server/symbols/affinity/circle/red/nat.svg +60 -0
  63. gns3server/symbols/affinity/circle/red/nat2.svg +55 -0
  64. gns3server/symbols/affinity/square/blue/nat.svg +58 -0
  65. gns3server/symbols/affinity/square/blue/nat2.svg +74 -0
  66. gns3server/symbols/affinity/square/gray/nat.svg +58 -0
  67. gns3server/symbols/affinity/square/gray/nat2.svg +74 -0
  68. gns3server/symbols/affinity/square/green/nat.svg +58 -0
  69. gns3server/symbols/affinity/square/green/nat2.svg +74 -0
  70. gns3server/symbols/affinity/square/red/nat.svg +58 -0
  71. gns3server/symbols/affinity/square/red/nat2.svg +74 -0
  72. gns3server/symbols/classic/nat.svg +207 -0
  73. gns3server/utils/__init__.py +20 -0
  74. gns3server/utils/hostname.py +53 -0
  75. gns3server/utils/images.py +3 -5
  76. gns3server/version.py +1 -1
  77. gns3server/static/web-ui/main.8e8e3d55e78d84fc.js +0 -1
  78. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/LICENSE +0 -0
  79. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/entry_points.txt +0 -0
  80. {gns3_server-3.0.0b2.dist-info → gns3_server-3.0.0rc1.dist-info}/top_level.txt +0 -0
@@ -28,6 +28,13 @@
28
28
  "kvm": "allow"
29
29
  },
30
30
  "images": [
31
+ {
32
+ "filename": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2",
33
+ "version": "7.4.4",
34
+ "md5sum": "dfe0e78827ec728631539669001bb23f",
35
+ "filesize": 100728832,
36
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
37
+ },
31
38
  {
32
39
  "filename": "FGT_VM64_KVM-v7.4.3.F-build2573-FORTINET.out.kvm.qcow2",
33
40
  "version": "7.4.3",
@@ -42,6 +49,13 @@
42
49
  "filesize": 116064256,
43
50
  "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
44
51
  },
52
+ {
53
+ "filename": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
54
+ "version": "7.2.8",
55
+ "md5sum": "5c8fd4baf80aeb2999d4be5a9c49eb3d",
56
+ "filesize": 89980928,
57
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
58
+ },
45
59
  {
46
60
  "filename": "FGT_VM64_KVM-v7.2.7.M-build1577-FORTINET.out.kvm.qcow2",
47
61
  "version": "7.2.7",
@@ -77,6 +91,13 @@
77
91
  "filesize": 86704128,
78
92
  "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
79
93
  },
94
+ {
95
+ "filename": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
96
+ "version": "7.0.15",
97
+ "md5sum": "423f50378b7e93098ab765c3dd3a788f",
98
+ "filesize": 77398016,
99
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
100
+ },
80
101
  {
81
102
  "filename": "FGT_VM64_KVM-v7.0.14.M-build0601-FORTINET.out.kvm.qcow2",
82
103
  "version": "7.0.14",
@@ -367,6 +388,13 @@
367
388
  }
368
389
  ],
369
390
  "versions": [
391
+ {
392
+ "name": "7.4.4",
393
+ "images": {
394
+ "hda_disk_image": "FGT_VM64_KVM-v7.4.4.F-build2573-FORTINET.out.kvm.qcow2",
395
+ "hdb_disk_image": "empty30G.qcow2"
396
+ }
397
+ },
370
398
  {
371
399
  "name": "7.4.3",
372
400
  "images": {
@@ -381,6 +409,13 @@
381
409
  "hdb_disk_image": "empty30G.qcow2"
382
410
  }
383
411
  },
412
+ {
413
+ "name": "7.2.8",
414
+ "images": {
415
+ "hda_disk_image": "FGT_VM64_KVM-v7.2.8.M-build1639-FORTINET.out.kvm_fortios.qcow2",
416
+ "hdb_disk_image": "empty30G.qcow2"
417
+ }
418
+ },
384
419
  {
385
420
  "name": "7.2.7",
386
421
  "images": {
@@ -416,6 +451,13 @@
416
451
  "hdb_disk_image": "empty30G.qcow2"
417
452
  }
418
453
  },
454
+ {
455
+ "name": "7.0.15",
456
+ "images": {
457
+ "hda_disk_image": "FGT_VM64_KVM-v7.0.15.M-build0601-FORTINET.out.kvm.qcow2",
458
+ "hdb_disk_image": "empty30G.qcow2"
459
+ }
460
+ },
419
461
  {
420
462
  "name": "7.0.14",
421
463
  "images": {
@@ -29,6 +29,13 @@
29
29
  "kvm": "allow"
30
30
  },
31
31
  "images": [
32
+ {
33
+ "filename": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
34
+ "version": "7.4.23",
35
+ "md5sum": "b01d9f86aa27c538407d518df1326863",
36
+ "filesize": 346107904,
37
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
38
+ },
32
39
  {
33
40
  "filename": "FMG_VM64_KVM-v7.4.2-build2397-FORTINET.out.kvm.qcow2",
34
41
  "version": "7.4.2",
@@ -43,6 +50,13 @@
43
50
  "filesize": 309387264,
44
51
  "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
45
52
  },
53
+ {
54
+ "filename": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
55
+ "version": "7.2.5",
56
+ "md5sum": "754326845096afd909ec45d98f8d5a83",
57
+ "filesize": 278401024,
58
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
59
+ },
46
60
  {
47
61
  "filename": "FMG_VM64_KVM-v7.2.4-build1460-FORTINET.out.kvm.qcow2",
48
62
  "version": "7.2.4",
@@ -64,6 +78,13 @@
64
78
  "filesize": 242814976,
65
79
  "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
66
80
  },
81
+ {
82
+ "filename": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
83
+ "version": "7.0.12",
84
+ "md5sum": "5b6f6a2b8bc00e56337aa7023a9025cf",
85
+ "filesize": 249520128,
86
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
87
+ },
67
88
  {
68
89
  "filename": "FMG_VM64_KVM-v7.0.11-build0595-FORTINET.out.kvm.qcow2",
69
90
  "version": "7.0.11",
@@ -256,6 +277,13 @@
256
277
  }
257
278
  ],
258
279
  "versions": [
280
+ {
281
+ "name": "7.4.3",
282
+ "images": {
283
+ "hda_disk_image": "FMG_VM64_KVM-v7.4.3-build2487-FORTINET.out.kvm.qcow2",
284
+ "hdb_disk_image": "empty30G.qcow2"
285
+ }
286
+ },
259
287
  {
260
288
  "name": "7.4.2",
261
289
  "images": {
@@ -270,6 +298,13 @@
270
298
  "hdb_disk_image": "empty30G.qcow2"
271
299
  }
272
300
  },
301
+ {
302
+ "name": "7.2.5",
303
+ "images": {
304
+ "hda_disk_image": "FMG_VM64_KVM-v7.2.5-build1574-FORTINET.out.kvm.qcow2",
305
+ "hdb_disk_image": "empty30G.qcow2"
306
+ }
307
+ },
273
308
  {
274
309
  "name": "7.2.4",
275
310
  "images": {
@@ -291,6 +326,13 @@
291
326
  "hdb_disk_image": "empty30G.qcow2"
292
327
  }
293
328
  },
329
+ {
330
+ "name": "7.0.12",
331
+ "images": {
332
+ "hda_disk_image": "FMG_VM64_KVM-v7.0.12-build0623-FORTINET.out.kvm.qcow2",
333
+ "hdb_disk_image": "empty30G.qcow2"
334
+ }
335
+ },
294
336
  {
295
337
  "name": "7.0.11",
296
338
  "images": {
@@ -28,6 +28,27 @@
28
28
  "kvm": "allow"
29
29
  },
30
30
  "images": [
31
+ {
32
+ "filename": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
33
+ "version": "7.6.0",
34
+ "md5sum": "e94aa4af7ed0a12bd6084f0d74a2a96e",
35
+ "filesize": 329187840,
36
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
37
+ },
38
+ {
39
+ "filename": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
40
+ "version": "7.4.3",
41
+ "md5sum": "3c0ac11a6d80a319a4fe460aff5bc66c",
42
+ "filesize": 303497728,
43
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
44
+ },
45
+ {
46
+ "filename": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
47
+ "version": "7.2.8",
48
+ "md5sum": "367307242e6855dc190df089d196e712",
49
+ "filesize": 257950208,
50
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
51
+ },
31
52
  {
32
53
  "filename": "FWB_KVM-v7.2.1-build0330-FORTINET.out.kvm.boot.qcow2",
33
54
  "version": "7.2.1",
@@ -35,6 +56,13 @@
35
56
  "filesize": 260506112,
36
57
  "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
37
58
  },
59
+ {
60
+ "filename": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
61
+ "version": "7.0.10",
62
+ "md5sum": "ff9d4b827c4e41c1b38e59359ba05487",
63
+ "filesize": 257556992,
64
+ "download_url": "https://support.fortinet.com/Download/FirmwareImages.aspx"
65
+ },
38
66
  {
39
67
  "filename": "FWB_KVM-v7.0.6-build0140-FORTINET.out.kvm.boot.qcow2",
40
68
  "version": "7.0.6",
@@ -150,6 +178,27 @@
150
178
  }
151
179
  ],
152
180
  "versions": [
181
+ {
182
+ "name": "7.6.0",
183
+ "images": {
184
+ "hda_disk_image": "FWB_KVM-v7.6.0.F-build0962-FORTINET.out.kvm_boot.qcow2",
185
+ "hdb_disk_image": "empty30G.qcow2"
186
+ }
187
+ },
188
+ {
189
+ "name": "7.4.3",
190
+ "images": {
191
+ "hda_disk_image": "FWB_KVM-v7.4.3-build0638-FORTINET.out.kvm_boot.qcow2",
192
+ "hdb_disk_image": "empty30G.qcow2"
193
+ }
194
+ },
195
+ {
196
+ "name": "7.2.8",
197
+ "images": {
198
+ "hda_disk_image": "FWB_KVM-v7.2.8-build0400-FORTINET.out.kvm_boot.qcow2",
199
+ "hdb_disk_image": "empty30G.qcow2"
200
+ }
201
+ },
153
202
  {
154
203
  "name": "7.2.1",
155
204
  "images": {
@@ -157,6 +206,13 @@
157
206
  "hdb_disk_image": "empty30G.qcow2"
158
207
  }
159
208
  },
209
+ {
210
+ "name": "7.0.10",
211
+ "images": {
212
+ "hda_disk_image": "FWB_KVM-v7.0.10-build0166-FORTINET.out.kvm_boot.qcow2",
213
+ "hdb_disk_image": "empty30G.qcow2"
214
+ }
215
+ },
160
216
  {
161
217
  "name": "7.0.6",
162
218
  "images": {
@@ -12,18 +12,19 @@
12
12
  "status": "stable",
13
13
  "maintainer": "GNS3 Team",
14
14
  "maintainer_email": "developers@gns3.net",
15
- "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",
15
+ "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",
16
16
  "symbol": "juniper-vqfx.svg",
17
17
  "port_name_format": "em{0}",
18
18
  "qemu": {
19
19
  "adapter_type": "e1000",
20
20
  "adapters": 4,
21
21
  "ram": 16384,
22
+ "cpus": 4,
22
23
  "hda_disk_interface": "ide",
23
24
  "arch": "x86_64",
24
25
  "console_type": "telnet",
25
26
  "kvm": "require",
26
- "options": "-smp 4 -nographic"
27
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
27
28
  },
28
29
  "images": [
29
30
  {
@@ -34,7 +34,7 @@
34
34
  "arch": "x86_64",
35
35
  "console_type": "telnet",
36
36
  "kvm": "require",
37
- "options": "-nographic"
37
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
38
38
  },
39
39
  "images": [
40
40
  {
@@ -26,7 +26,7 @@
26
26
  "arch": "x86_64",
27
27
  "console_type": "telnet",
28
28
  "kvm": "require",
29
- "options": "-nographic -enable-kvm"
29
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
30
30
  },
31
31
  "images": [
32
32
  {
@@ -20,11 +20,12 @@
20
20
  "adapter_type": "virtio-net-pci",
21
21
  "adapters": 13,
22
22
  "ram": 4096,
23
+ "cpus": 4,
23
24
  "hda_disk_interface": "ide",
24
25
  "arch": "x86_64",
25
26
  "console_type": "telnet",
26
27
  "kvm": "require",
27
- "options": "-nographic -enable-kvm -smp cpus=3"
28
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
28
29
  },
29
30
  "images": [
30
31
  {
@@ -23,7 +23,7 @@
23
23
  "arch": "x86_64",
24
24
  "console_type": "vnc",
25
25
  "kvm": "require",
26
- "options": "-nographic"
26
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
27
27
  },
28
28
  "images": [
29
29
  {
@@ -19,11 +19,12 @@
19
19
  "adapter_type": "virtio-net-pci",
20
20
  "adapters": 12,
21
21
  "ram": 1024,
22
+ "cpus": 2,
22
23
  "hda_disk_interface": "ide",
23
24
  "arch": "x86_64",
24
25
  "console_type": "telnet",
25
26
  "kvm": "require",
26
- "options": "-nographic -smp 2"
27
+ "options": "-nographic -machine q35,smbios-entry-point-type=32"
27
28
  },
28
29
  "images": [
29
30
  {
@@ -25,7 +25,7 @@
25
25
  "arch": "x86_64",
26
26
  "console_type": "telnet",
27
27
  "kvm": "require",
28
- "options": "-nographic -enable-kvm"
28
+ "options": "-nographic -enable-kvm -machine q35,smbios-entry-point-type=32"
29
29
  },
30
30
  "images": [
31
31
  {
@@ -19,11 +19,12 @@
19
19
  "adapter_type": "vmxnet3",
20
20
  "adapters": 6,
21
21
  "ram": 4096,
22
+ "cpus": 2,
22
23
  "hda_disk_interface": "ide",
23
24
  "arch": "x86_64",
24
25
  "console_type": "telnet",
25
26
  "kvm": "require",
26
- "options": "-smp 2"
27
+ "options": "-machine q35,smbios-entry-point-type=32"
27
28
  },
28
29
  "images": [
29
30
  {
@@ -16,6 +16,6 @@
16
16
  "docker": {
17
17
  "adapters": 16,
18
18
  "image": "gns3/openvswitch:latest",
19
- "environment": "MANAGEMENT_INTERFACE=1"
19
+ "environment": "MANAGEMENT_INTERFACE=eth0"
20
20
  }
21
21
  }
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "images": [
28
28
  {
29
- "filename": "OPNsense-24.1-OpenSSL-nano-amd64.img",
29
+ "filename": "OPNsense-24.1-nano-amd64.img",
30
30
  "version": "24.1",
31
31
  "md5sum": "ea8472df2c272419b7834cddaf68048d",
32
32
  "filesize": 3221225472,
@@ -72,7 +72,7 @@
72
72
  {
73
73
  "name": "24.1",
74
74
  "images": {
75
- "hda_disk_image": "OPNsense-24.1-OpenSSL-nano-amd64.img"
75
+ "hda_disk_image": "OPNsense-24.1-nano-amd64.img"
76
76
  }
77
77
  },
78
78
  {
@@ -28,6 +28,20 @@
28
28
  },
29
29
  "images": [
30
30
  {
31
+ "filename": "PA-VM-KVM-11.0.0.qcow2",
32
+ "version": "11.0.0",
33
+ "md5sum": "fc54b0e680ca2bcecb5522430e420f06",
34
+ "filesize": 4130865152,
35
+ "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
36
+ },
37
+ {
38
+ "filename": "PA-VM-KVM-10.2.3.qcow2",
39
+ "version": "10.2.3",
40
+ "md5sum": "0e7b2a52d1447186d335ef9a1a197c6c",
41
+ "filesize": 5298585600,
42
+ "download_url": "https://support.paloaltonetworks.com/Updates/SoftwareUpdates/"
43
+ },
44
+ {
31
45
  "filename": "PA-VM-KVM-10.1.0.qcow2",
32
46
  "version": "10.1.0",
33
47
  "md5sum": "8266fd412a22694749f2cd4afcd5fa33",
@@ -128,6 +142,18 @@
128
142
  ],
129
143
  "versions": [
130
144
  {
145
+ "name": "11.0.0",
146
+ "images": {
147
+ "hda_disk_image": "PA-VM-KVM-11.0.0.qcow2"
148
+ }
149
+ },
150
+ {
151
+ "name": "10.2.3",
152
+ "images": {
153
+ "hda_disk_image": "PA-VM-KVM-10.2.3.qcow2"
154
+ }
155
+ },
156
+ {
131
157
  "name": "10.1.0",
132
158
  "images": {
133
159
  "hda_disk_image": "PA-VM-KVM-10.1.0.qcow2"
@@ -13,18 +13,27 @@
13
13
  "status": "stable",
14
14
  "maintainer": "Brent Stewart",
15
15
  "maintainer_email": "brent@stewart.tc",
16
- "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.",
16
+ "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.",
17
17
  "symbol": "securityonion-logo.png",
18
18
  "qemu": {
19
19
  "adapter_type": "e1000",
20
20
  "adapters": 2,
21
- "ram": 3072,
21
+ "ram": 4096,
22
22
  "hda_disk_interface": "ide",
23
23
  "arch": "x86_64",
24
24
  "console_type": "vnc",
25
- "kvm": "allow"
25
+ "kvm": "allow",
26
+ "options": "-cpu host"
26
27
  },
27
28
  "images": [
29
+ {
30
+ "filename": "securityonion-2.4.80-20240624.iso",
31
+ "version": "2.4.80-20240624",
32
+ "md5sum": "139f9762e926f9cb3c4a9528a3752c31",
33
+ "filesize": 12391022592,
34
+ "download_url": "https://github.com/Security-Onion-Solutions/securityonion/blob/2.4/main/DOWNLOAD_AND_VERIFY_ISO.md",
35
+ "direct_download_url": "https://download.securityonion.net/file/securityonion/securityonion-2.4.80-20240624.iso"
36
+ },
28
37
  {
29
38
  "filename": "securityonion-16.04.7.1.iso",
30
39
  "version": "16.04.7.1",
@@ -49,6 +58,14 @@
49
58
  "download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/",
50
59
  "direct_download_url": "https://github.com/Security-Onion-Solutions/security-onion/releases/download/v14.04.5.4_20171031/securityonion-14.04.5.4.iso"
51
60
  },
61
+ {
62
+ "filename": "empty100G.qcow2",
63
+ "version": "1.0",
64
+ "md5sum": "5d9fec18a980f13002028491259f158d",
65
+ "filesize": 198656,
66
+ "download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3",
67
+ "direct_download_url": "https://github.com/riverbed/Riverbed-Community-Toolkit/raw/master/SteelHead/GNS3/empty100G.qcow2"
68
+ },
52
69
  {
53
70
  "filename": "empty30G.qcow2",
54
71
  "version": "1.0",
@@ -59,6 +76,13 @@
59
76
  }
60
77
  ],
61
78
  "versions": [
79
+ {
80
+ "name": "2.4.80-20240624",
81
+ "images": {
82
+ "hda_disk_image": "empty100G.qcow2",
83
+ "cdrom_image": "securityonion-2.4.80-20240624.iso"
84
+ }
85
+ },
62
86
  {
63
87
  "name": "16.04.7.1",
64
88
  "images": {
@@ -14,7 +14,7 @@
14
14
  "symbol": "linux_guest.svg",
15
15
  "docker": {
16
16
  "adapters": 1,
17
- "image": "gns3/ubuntu:focal",
17
+ "image": "gns3/ubuntu:noble",
18
18
  "console_type": "telnet"
19
19
  }
20
20
  }
@@ -28,6 +28,7 @@ import shutil
28
28
  import platformdirs
29
29
 
30
30
  from gns3server.utils import parse_version
31
+ from gns3server.config import Config
31
32
  from gns3server.utils.asyncio import locking
32
33
  from gns3server.compute.base_manager import BaseManager
33
34
  from gns3server.compute.docker.docker_vm import DockerVM
@@ -87,7 +88,7 @@ class Docker(BaseManager):
87
88
  f"{stdout.decode('utf-8', errors='ignore').strip()}")
88
89
  except OSError as e:
89
90
  raise DockerError(f"Could not install busybox: {e}")
90
- raise DockerError("No busybox executable could be found")
91
+ raise DockerError("No busybox executable could be found, please install busybox (apt install busybox-static on Debian/Ubuntu) and make sure it is in your PATH")
91
92
 
92
93
  @staticmethod
93
94
  def resources_path():
@@ -95,8 +96,13 @@ class Docker(BaseManager):
95
96
  Get the Docker resources storage directory
96
97
  """
97
98
 
98
- appname = vendor = "GNS3"
99
- docker_resources_dir = os.path.join(platformdirs.user_data_dir(appname, vendor, roaming=True), "docker", "resources")
99
+ resources_path = Config.instance().settings.Server.resources_path
100
+ if not resources_path:
101
+ appname = vendor = "GNS3"
102
+ resources_path = platformdirs.user_data_dir(appname, vendor, roaming=True)
103
+ else:
104
+ resources_path = os.path.expanduser(resources_path)
105
+ docker_resources_dir = os.path.join(resources_path, "docker")
100
106
  os.makedirs(docker_resources_dir, exist_ok=True)
101
107
  return docker_resources_dir
102
108
 
@@ -521,6 +521,10 @@ class Dynamips(BaseManager):
521
521
  if usage is not None and usage != vm.usage:
522
522
  vm.usage = usage
523
523
 
524
+ aux_type = settings.get("aux_type")
525
+ if aux_type is not None and aux_type != vm.aux_type:
526
+ vm.aux_type = aux_type
527
+
524
528
  # update the configs if needed
525
529
  await self.set_vm_configs(vm, settings)
526
530
 
@@ -661,7 +661,8 @@ class IOUVM(BaseNode):
661
661
  self._telnet_server.close()
662
662
  await self._telnet_server.wait_closed()
663
663
  self._telnet_server = None
664
- await self.start_console()
664
+ if self.is_running():
665
+ await self.start_console()
665
666
 
666
667
  @locking
667
668
  async def _networking(self):
@@ -45,7 +45,7 @@ from ..nios.nio_tap import NIOTAP
45
45
  from ..base_node import BaseNode
46
46
  from ...utils.asyncio import monitor_process
47
47
  from ...utils.images import md5sum
48
- from ...utils import macaddress_to_int, int_to_macaddress
48
+ from ...utils import macaddress_to_int, int_to_macaddress, is_ipv6_enabled
49
49
  from ...utils.hostname import is_rfc1123_hostname_valid
50
50
 
51
51
  from gns3server.schemas.compute.qemu_nodes import Qemu, QemuPlatform
@@ -54,6 +54,12 @@ import logging
54
54
 
55
55
  log = logging.getLogger(__name__)
56
56
 
57
+ # forbidden additional options
58
+ FORBIDDEN_OPTIONS = {"-blockdev", "-drive", "-hda", "-hdb", "-hdc", "-hdd",
59
+ "-fsdev", "-virtfs", "-nic", "-netdev"}
60
+ FORBIDDEN_OPTIONS |= {"-" + opt for opt in FORBIDDEN_OPTIONS
61
+ if opt.startswith("-") and not opt.startswith("--")}
62
+
57
63
 
58
64
  class QemuVM(BaseNode):
59
65
  module_name = "qemu"
@@ -1855,14 +1861,17 @@ class QemuVM(BaseNode):
1855
1861
  if port:
1856
1862
  console_host = self._manager.port_manager.console_host
1857
1863
  if console_host == "0.0.0.0":
1858
- if socket.has_ipv6:
1859
- # to fix an issue with Qemu when IPv4 is not enabled
1860
- # see https://github.com/GNS3/gns3-gui/issues/2352
1861
- # FIXME: consider making this more global (not just for Qemu + SPICE)
1862
- console_host = "::"
1863
- else:
1864
- raise QemuError("IPv6 must be enabled in order to use the SPICE console")
1865
- return ["-spice", f"addr={console_host},port={port},disable-ticketing", "-vga", "qxl"]
1864
+ try:
1865
+ if is_ipv6_enabled():
1866
+ # to fix an issue with Qemu when IPv4 is not enabled
1867
+ # see https://github.com/GNS3/gns3-gui/issues/2352
1868
+ # FIXME: consider making this more global (not just for Qemu + SPICE)
1869
+ console_host = "::"
1870
+ except OSError as e:
1871
+ raise QemuError("Could not check if IPv6 is enabled: {}".format(e))
1872
+ return ["-spice",
1873
+ f"addr={console_host},port={port},disable-ticketing",
1874
+ "-vga", "qxl"]
1866
1875
  else:
1867
1876
  return []
1868
1877
 
@@ -2640,9 +2649,16 @@ class QemuVM(BaseNode):
2640
2649
  command.extend(self._tpm_options())
2641
2650
  if additional_options:
2642
2651
  try:
2643
- command.extend(shlex.split(additional_options))
2652
+ additional_opt_list = shlex.split(additional_options)
2644
2653
  except ValueError as e:
2645
2654
  raise QemuError(f"Invalid additional options: {additional_options} error {e}")
2655
+ allow_unsafe_options = self.manager.config.settings.Qemu.allow_unsafe_options
2656
+ if allow_unsafe_options is False:
2657
+ for opt in additional_opt_list:
2658
+ if opt in FORBIDDEN_OPTIONS:
2659
+ raise QemuError("Forbidden additional option: {}".format(opt))
2660
+ command.extend(additional_opt_list)
2661
+
2646
2662
  # avoiding mouse offset (see https://github.com/GNS3/gns3-server/issues/2335)
2647
2663
  if self._console_type == "vnc":
2648
2664
  command.extend(['-machine', 'usb=on', '-device', 'usb-tablet'])