Skip to content

Commit

Permalink
Merge pull request #3536 from GNS3/release-v2.2.44
Browse files Browse the repository at this point in the history
Release v2.2.44
  • Loading branch information
grossmj authored Nov 6, 2023
2 parents 9087ba8 + 29b8512 commit 947733a
Show file tree
Hide file tree
Showing 25 changed files with 196 additions and 122 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# Change Log

## 2.2.44 06/11/2023

* Fix timeout issue when creating Qemu disk image. Fixes https://github.com/GNS3/gns3-server/issues/2313
* Refactor command variables support
* Add vendor_logo_url in appliance schemas. Ref https://github.com/GNS3/gns3-registry/pull/825
* Add Qemu IGB network device
* Add the ability to edit width and height in the style edit dialog.

## 2.2.43 19/09/2023

* Add KiTTY to preconfigured telnet consoles. Fixes #3507
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ image: Visual Studio 2022
platform: x64

environment:
PYTHON: "C:\\Python37-x64"
PYTHON: "C:\\Python38-x64"
DISTUTILS_USE_SDK: "1"

install:
Expand Down
2 changes: 1 addition & 1 deletion gns3/crash_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ class CrashReport:
Report crash to a third party service
"""

DSN = "https://57454675a266a9d705fd505947a81b5c@o19455.ingest.sentry.io/38506"
DSN = "https://5c5fb544e56f9d41179e57bfff78e151@o19455.ingest.sentry.io/38506"
_instance = None

def __init__(self):
Expand Down
8 changes: 6 additions & 2 deletions gns3/local_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -482,11 +482,15 @@ def startLocalServer(self):
try:
if sys.platform.startswith("win"):
# use the string on Windows
self._local_server_process = subprocess.Popen(command, creationflags=subprocess.CREATE_NEW_PROCESS_GROUP, stderr=subprocess.PIPE)
self._local_server_process = subprocess.Popen(
command,
creationflags=subprocess.CREATE_NEW_PROCESS_GROUP,
stderr=subprocess.PIPE,
env=os.environ)
else:
# use arguments on other platforms
args = shlex.split(command)
self._local_server_process = subprocess.Popen(args, stderr=subprocess.PIPE)
self._local_server_process = subprocess.Popen(args, stderr=subprocess.PIPE, env=os.environ)
except (OSError, subprocess.SubprocessError) as e:
log.warning('Could not start local server "{}": {}'.format(command, e))
return False
Expand Down
2 changes: 1 addition & 1 deletion gns3/modules/qemu/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ def createDiskImage(self, compute_id, callback, options):
:param options: Options for the image creation
"""

Controller.instance().postCompute("/qemu/img", compute_id, callback, body=options)
Controller.instance().postCompute("/qemu/img", compute_id, callback, timeout=None, body=options)

def updateDiskImage(self, compute_id, callback, options):
"""
Expand Down
3 changes: 2 additions & 1 deletion gns3/modules/qemu/pages/qemu_vm_configuration_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def __init__(self):
self.uiOnCloseComboBox.addItem(name, option_name)

# Supported NIC models: e1000, e1000-82544gc, e1000-82545em, e1000e, i82550, i82551, i82557a, i82557b, i82557c, i82558a
# i82558b, i82559a, i82559b, i82559c, i82559er, i82562, i82801, ne2k_pci, pcnet, rocker, rtl8139, virtio-net-pci, vmxnet3
# i82558b, i82559a, i82559b, i82559c, i82559er, i82562, i82801, igb, ne2k_pci, pcnet, rocker, rtl8139, virtio-net-pci, vmxnet3
# This list can be retrieved using "qemu-system-x86_64 -nic model=?" or "qemu-system-x86_64 -device help"
self._legacy_devices = ("e1000", "i82551", "i82557b", "i82559er", "ne2k_pci", "pcnet", "rtl8139", "virtio")
self._qemu_network_devices = OrderedDict([("e1000", "Intel Gigabit Ethernet"),
Expand All @@ -121,6 +121,7 @@ def __init__(self):
("i82559er", "Intel i82559ER Ethernet"),
("i82562", "Intel i82562 Ethernet"),
("i82801", "Intel i82801 Ethernet"),
("igb", "Intel 82576 Gigabit Ethernet"),
("ne2k_pci", "NE2000 Ethernet"),
("pcnet", "AMD PCNet Ethernet"),
("rocker", "Rocker L2 switch device"),
Expand Down
18 changes: 15 additions & 3 deletions gns3/packet_capture.py
Original file line number Diff line number Diff line change
Expand Up @@ -146,21 +146,27 @@ def startPacketCaptureAnalyzer(self, link):

# PCAP capture file path
command = command.replace("%c", '"' + capture_file_path + '"')
command = command.replace("{pcap_file}", '"' + capture_file_path + '"')

# Add description
# Add project name
command = command.replace("%P", link.project().name())
command = command.replace("{project}", link.project().name().replace('"', '\\"'))

# Add link description
description = "{}[{}]->{}[{}]".format(link.sourceNode().name(),
link.sourcePort().name(),
link.destinationNode().name(),
link.destinationPort().name())
command = command.replace("%d", description)
command = command.replace("{link_description}", description)

if not sys.platform.startswith("win"):
command = shlex.split(command)
if len(command) == 0:
QtWidgets.QMessageBox.critical(self.parent(), "Packet Capture Analyzer", "No packet capture analyzer program configured")
return
try:
subprocess.Popen(command)
subprocess.Popen(command, env=os.environ)
except OSError as e:
QtWidgets.QMessageBox.critical(self.parent(), "Packet Capture Analyzer", "Can't start packet capture analyzer program {}".format(str(e)))
return
Expand Down Expand Up @@ -204,13 +210,19 @@ def _startPacketCommand(self, link, command):

# PCAP capture file path
command = command.replace("%c", '"' + capture_file_path + '"')
command = command.replace("{pcap_file}", '"' + capture_file_path + '"')

# Add project name
command = command.replace("%P", link.project().name())
command = command.replace("{project}", link.project().name().replace('"', '\\"'))

# Add description
# Add link description
description = "{} {} to {} {}".format(link.sourceNode().name(),
link.sourcePort().name(),
link.destinationNode().name(),
link.destinationPort().name())
command = command.replace("%d", description)
command = command.replace("{link_description}", description)

if "|" in command:
# live traffic capture (using tail)
Expand Down
1 change: 1 addition & 0 deletions gns3/schemas/appliance.json
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@
"i82559er",
"i82562",
"i82801",
"igb",
"ne2k_pci",
"pcnet",
"rocker",
Expand Down
2 changes: 2 additions & 0 deletions gns3/schemas/appliance_v8.json
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,7 @@
"i82559er",
"i82562",
"i82801",
"igb",
"ne2k_pci",
"pcnet",
"rtl8139",
Expand Down Expand Up @@ -402,6 +403,7 @@
"i82559er",
"i82562",
"i82801",
"igb",
"ne2k_pci",
"pcnet",
"rtl8139",
Expand Down
Loading

0 comments on commit 947733a

Please sign in to comment.