From 3f503199907cce4a3f0bb11fbabcdec4bb32e131 Mon Sep 17 00:00:00 2001 From: grossmj Date: Thu, 26 Oct 2023 15:05:10 +1000 Subject: [PATCH] Fix L2IOU "failed code signing checks" when IOU base file name is >= 63 characters --- gns3server/compute/iou/iou_vm.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gns3server/compute/iou/iou_vm.py b/gns3server/compute/iou/iou_vm.py index 617b247e..4f9ddb2c 100644 --- a/gns3server/compute/iou/iou_vm.py +++ b/gns3server/compute/iou/iou_vm.py @@ -539,7 +539,12 @@ class IOUVM(BaseNode): # create a symbolic link to the image to avoid IOU error "failed code signing checks" # on newer images, see https://github.com/GNS3/gns3-server/issues/1484 try: - symlink = os.path.join(self.working_dir, os.path.basename(self.path)) + iou_image_path = os.path.basename(self.path) + if len(iou_image_path) > 63: + # IOU file basename length must be <= 63 chars + iou_file_name, iou_file_ext = os.path.splitext(iou_image_path) + iou_image_path = iou_file_name[:63 - len(iou_file_ext)] + iou_file_ext + symlink = os.path.join(self.working_dir, iou_image_path) if os.path.islink(symlink): os.unlink(symlink) os.symlink(self.path, symlink)