Skip to content

Commit

Permalink
Merge pull request #3592 from GNS3/2.2
Browse files Browse the repository at this point in the history
Release v2.2.48
  • Loading branch information
grossmj committed Jul 8, 2024
2 parents a6c7e0b + 1e80354 commit 141e7d8
Show file tree
Hide file tree
Showing 16 changed files with 261 additions and 241 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.48 08/07/2024

* Use "experimental features" to allow bypassing hostname validation. Ref #3524
* Update appliance_v8.json. Ref https://github.com/GNS3/gns3-registry/pull/897
* Option to keep the compute IDs unchanged when exporting a project
* Upgrade sentry-sdk and psutil packages
* Switch to PyQt5 5.15.10 for macOS build

## 2.2.47 15/05/2024

* Remove maximum size for capture dialog. Ref #3576
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://235ecbc961abe34327a4a397d8ce427a@o19455.ingest.us.sentry.io/38506"
DSN = "https://a9154d40d27d0cecfdbf5943b2ea68d5@o19455.ingest.us.sentry.io/38506"
_instance = None

def __init__(self):
Expand Down
12 changes: 5 additions & 7 deletions gns3/dialogs/project_export_wizard.py
Original file line number Diff line number Diff line change
Expand Up @@ -126,20 +126,18 @@ def done(self, result):
"""

if result:
include_images = include_snapshots = reset_mac_addresses = keep_compute_ids = "no"
if self.uiIncludeImagesCheckBox.isChecked():
include_images = "yes"
else:
include_images = "no"
if self.uiIncludeSnapshotsCheckBox.isChecked():
include_snapshots = "yes"
else:
include_snapshots = "no"
if self.uiResetMacAddressesCheckBox.isChecked():
reset_mac_addresses = "yes"
else:
reset_mac_addresses = "no"
if self.uiKeepComputeIdsCheckBox.isChecked():
keep_compute_ids = "yes"

compression = self.uiCompressionComboBox.currentData()
export_worker = ExportProjectWorker(self._project, self._path, include_images, include_snapshots, reset_mac_addresses, compression)
export_worker = ExportProjectWorker(self._project, self._path, include_images, include_snapshots, reset_mac_addresses, keep_compute_ids, compression)
progress_dialog = ProgressDialog(export_worker, "Exporting project", "Exporting portable project files...", "Cancel", parent=self, create_thread=False)
progress_dialog.show()
progress_dialog.exec_()
Expand Down
2 changes: 1 addition & 1 deletion gns3/graphics_view.py
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,7 @@ def changeHostnameActionSlot(self):
if not new_hostname.strip():
QtWidgets.QMessageBox.critical(self, "Change hostname", "Hostname cannot be blank")
continue
if hasattr(item.node(), "validateHostname"):
if hasattr(item.node(), "validateHostname") and not LocalConfig.instance().experimental():
if not item.node().validateHostname(new_hostname):
QtWidgets.QMessageBox.critical(self, "Change hostname", "Invalid name detected for this node: {}".format(new_hostname))
continue
Expand Down
3 changes: 2 additions & 1 deletion gns3/modules/dynamips/pages/ios_router_configuration_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

from gns3.qt import QtCore, QtGui, QtWidgets
from gns3.local_server import LocalServer
from gns3.local_config import LocalConfig
from gns3.dialogs.node_properties_dialog import ConfigurationError
from gns3.dialogs.symbol_selection_dialog import SymbolSelectionDialog
from gns3.controller import Controller
Expand Down Expand Up @@ -488,7 +489,7 @@ def saveSettings(self, settings, node=None, group=False):
name = self.uiNameLineEdit.text()
if not name:
QtWidgets.QMessageBox.critical(self, "Name", "IOS router name cannot be empty!")
elif node and not node.validateHostname(name):
elif node and not node.validateHostname(name) and not LocalConfig.instance().experimental():
QtWidgets.QMessageBox.critical(self, "Name", "Invalid name detected for IOS router: {}".format(name))
else:
settings["name"] = name
Expand Down
3 changes: 2 additions & 1 deletion gns3/modules/iou/pages/iou_device_configuration_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

from gns3.qt import QtWidgets
from gns3.local_server import LocalServer
from gns3.local_config import LocalConfig
from gns3.dialogs.node_properties_dialog import ConfigurationError
from gns3.dialogs.symbol_selection_dialog import SymbolSelectionDialog
from gns3.node import Node
Expand Down Expand Up @@ -245,7 +246,7 @@ def saveSettings(self, settings, node=None, group=False):
name = self.uiNameLineEdit.text()
if not name:
QtWidgets.QMessageBox.critical(self, "Name", "IOU device name cannot be empty!")
elif node and not node.validateHostname(name):
elif node and not node.validateHostname(name) and not LocalConfig.instance().experimental():
QtWidgets.QMessageBox.critical(self, "Name", "Invalid name detected for IOU device: {}".format(name))
else:
settings["name"] = name
Expand Down
Loading

0 comments on commit 141e7d8

Please sign in to comment.