grossmj
|
3f50319990
|
Fix L2IOU "failed code signing checks" when IOU base file name is >= 63 characters
|
2023-10-26 15:05:10 +10:00 |
|
grossmj
|
5475eedce7
|
Add igb Qemu adapter
|
2023-10-24 18:33:26 +10:00 |
|
grossmj
|
d680bbbc77
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/schemas/qemu_template.py
# requirements.txt
# tests/compute/qemu/test_qemu_vm.py
# tests/handlers/api/compute/test_qemu.py
|
2023-10-24 18:31:51 +10:00 |
|
Jeremy Grossmann
|
240708112c
|
Merge branch '2.2' into feature/add-qemu-igb-nic
|
2023-10-24 17:14:27 +10:00 |
|
grossmj
|
0d15f40930
|
Change "ip cef" to "no ip cef" in IOU default configs. Fixes #2298
|
2023-10-23 15:16:49 +10:00 |
|
Jeremy Grossmann
|
9c369a2597
|
Merge branch '3.0' into fix/1468
|
2023-10-22 15:44:25 +10:00 |
|
grossmj
|
0f0412158d
|
Drop support for Python 3.7 and upgrade dependencies
|
2023-10-22 15:37:00 +10:00 |
|
grossmj
|
44c066ac68
|
Fix compute authentication for websocket endpoints
|
2023-10-22 12:44:39 +10:00 |
|
grossmj
|
ffc49ea954
|
Development on 3.0.0.dev9
|
2023-10-18 20:15:11 +10:00 |
|
grossmj
|
d610c933fb
|
Release v3.0.0a4
|
2023-10-18 19:01:13 +10:00 |
|
grossmj
|
edcc69f617
|
Remove old web-ui files
|
2023-10-18 17:58:11 +10:00 |
|
grossmj
|
fe8b61373c
|
Bundle web-ui v3.0.0a4
|
2023-10-18 17:51:41 +10:00 |
|
grossmj
|
87960f1ff0
|
Merge branch '2.2' into 3.0
# Conflicts:
# README.md
|
2023-10-18 17:48:09 +10:00 |
|
grossmj
|
3b0d89be5a
|
Merge branch 'master' into 2.2
|
2023-10-18 17:46:51 +10:00 |
|
grossmj
|
5ff3043fb4
|
Sync appliances
|
2023-10-18 17:45:17 +10:00 |
|
grossmj
|
47d3f3f349
|
Do not enforce Compute.Audit and Template.Audit privileges due to current web-ui limitations
|
2023-10-18 15:51:43 +10:00 |
|
grossmj
|
6ca15cbcff
|
Merge branch '2.2' into 3.0
# Conflicts:
# .github/workflows/testing.yml
# requirements.txt
# setup.py
|
2023-10-18 14:49:49 +10:00 |
|
grossmj
|
722512d851
|
Remove model validator. Fixes https://github.com/GNS3/gns3-gui/issues/3522
Default port name and port segment size are already set in the code when a new node is created.
|
2023-10-15 11:16:05 +10:00 |
|
Konrad Goławski
|
737664a3d4
|
Add Qemu IGB network device
|
2023-10-12 11:35:53 +02:00 |
|
grossmj
|
5092bd2fdf
|
List elements when a project is closed
|
2023-10-09 13:16:12 +10:00 |
|
grossmj
|
a27db6b4eb
|
Fix deleting resource from resource pool. Ref #2293
|
2023-09-28 18:38:38 +10:00 |
|
grossmj
|
66b66cc3e1
|
Bump version to 3.0.0.dev8
|
2023-09-25 21:38:20 +10:00 |
|
grossmj
|
674381f1be
|
Fix tests
|
2023-09-25 21:08:23 +10:00 |
|
grossmj
|
1ae6d13022
|
Support to create empty disk images on the controller
|
2023-09-25 17:51:14 +10:00 |
|
grossmj
|
999a47f747
|
Fix issue with importlib.resources.files() and Python 3.9
|
2023-09-23 20:44:00 +10:00 |
|
grossmj
|
d9214a3c67
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/compute/virtualbox/__init__.py
# gns3server/controller/gns3vm/virtualbox_gns3_vm.py
# gns3server/crash_report.py
# gns3server/version.py
# requirements.txt
|
2023-09-23 15:54:54 +10:00 |
|
Jeremy Grossmann
|
ffb58a4ed2
|
Merge branch 'master' into Inappropriate_Logic-5node.py11635999804432162276.diff
|
2023-09-20 14:17:58 +07:00 |
|
munahaf
|
4d7b3fb9d6
|
Comment: Updated a test expression to remove a logical short circuit.
|
2023-09-20 06:51:41 +00:00 |
|
grossmj
|
94abdfc9f0
|
Development on 2.2.44.dev1
|
2023-09-19 21:08:24 +07:00 |
|
grossmj
|
89ec458f5c
|
Release v2.2.43
|
2023-09-19 20:16:52 +07:00 |
|
grossmj
|
80bc1a726b
|
Sync appliances
|
2023-09-19 20:12:32 +07:00 |
|
grossmj
|
a96a82821c
|
Merge branch 'master' into 2.2
|
2023-09-19 20:04:15 +07:00 |
|
grossmj
|
ad47ffbe29
|
Force English output for VBoxManage. Fixes #2266
|
2023-09-19 18:14:05 +07:00 |
|
Sylvain MATHIEU OBS
|
0d834ee2a0
|
rbac fix: cannot add multiple time same privilege to a role
|
2023-09-18 13:34:46 +02:00 |
|
grossmj
|
7534718a1c
|
Remove privileges endpoint from roles
|
2023-09-14 22:41:08 +07:00 |
|
Jeremy Grossmann
|
63c1defd9a
|
Merge branch '3.0' into resource-pools
|
2023-09-14 22:38:52 +07:00 |
|
grossmj
|
1f90bb14b6
|
Require users to be logged in for privilege API endpoints
|
2023-09-14 22:36:21 +07:00 |
|
Sylvain MATHIEU OBS
|
10eeefc1f5
|
API: add endpoint to expose availables privileges to web UI
|
2023-09-12 15:24:54 +02:00 |
|
grossmj
|
702fea89fb
|
Automatically add vboxnet and DHCP server if not present for VirtualBox GNS3 VM. Ref #2266
|
2023-09-12 16:14:44 +07:00 |
|
grossmj
|
a95dda0d1d
|
Complete resource pool support for projects
|
2023-09-11 18:15:03 +07:00 |
|
grossmj
|
d53ef175f8
|
DB and API for resource pools
|
2023-09-07 17:31:11 +07:00 |
|
grossmj
|
c11b3c3911
|
Fix tests after merge
|
2023-09-06 23:42:50 +07:00 |
|
grossmj
|
1ec056c1a6
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/compute/docker/docker_vm.py
# gns3server/controller/__init__.py
# gns3server/controller/appliance_manager.py
# gns3server/web/route.py
# requirements.txt
# tests/compute/docker/test_docker_vm.py
|
2023-09-06 23:30:00 +07:00 |
|
Jeremy Grossmann
|
285b19d97f
|
Merge pull request #2272 from GNS3/fix/2271
Correctly install built-in appliances
|
2023-09-06 23:16:34 +07:00 |
|
grossmj
|
709aa46074
|
Fix issue with controller config saved before checking current version with previous one
|
2023-09-06 16:48:24 +07:00 |
|
grossmj
|
0c12849d0d
|
Use controller vars file to store version and appliance etag
|
2023-09-06 16:28:46 +07:00 |
|
grossmj
|
8aa9d1aae6
|
Upgrade dependencies and fix user group tests
|
2023-09-03 17:58:51 +07:00 |
|
grossmj
|
66047b3431
|
Fix OAuth2PasswordBearer token URL
|
2023-09-03 17:31:05 +07:00 |
|
grossmj
|
6ec97a704f
|
Put user, groups, roles and ACL under /access
|
2023-09-02 19:10:02 +07:00 |
|
grossmj
|
a358369606
|
Move notifications under controller router
|
2023-09-02 18:57:53 +07:00 |
|
grossmj
|
e72b07bf5c
|
Prepare resource pools table for future development
|
2023-09-02 18:42:40 +07:00 |
|
grossmj
|
170f476733
|
Add more built-in roles
|
2023-09-02 18:15:00 +07:00 |
|
grossmj
|
0077fd98aa
|
Add required privileges to all endpoints
|
2023-09-02 17:54:24 +07:00 |
|
grossmj
|
f3a4ad49f4
|
Check for group ACEs to find user privileges
|
2023-08-28 18:14:34 +10:00 |
|
grossmj
|
3e0592520b
|
Handle ACE propagate and allowed
|
2023-08-28 12:06:01 +10:00 |
|
grossmj
|
d6e1ee5dbb
|
Prevent X11 socket file to be modified by Docker container
|
2023-08-27 18:30:37 +10:00 |
|
grossmj
|
57197c3d1c
|
Comment unused code
|
2023-08-27 18:23:10 +10:00 |
|
grossmj
|
60ce1172e0
|
Use an ACL table to check for privileges
|
2023-08-27 18:20:42 +10:00 |
|
grossmj
|
6bd855b3c5
|
New database schema for better RBAC
|
2023-08-21 21:32:23 +10:00 |
|
grossmj
|
e9e2dc2ca7
|
Fix validation issues and improve exceptions logs
|
2023-08-17 17:36:50 +10:00 |
|
Echo Nar
|
a6b0f32b57
|
Hash Update openwrt.gns3a
Update hashes for openwrt-18.06.5 and openwrt-18.06.2 based hashes from download links.
|
2023-08-16 18:37:55 -05:00 |
|
grossmj
|
a69feb3682
|
Use an older version of platformdirs
|
2023-08-12 19:15:29 +10:00 |
|
grossmj
|
090d1c8c84
|
Only use platformdirs with Python >= '3.7'
|
2023-08-12 19:04:14 +10:00 |
|
grossmj
|
df2f96828e
|
Use the user data dir to store built-in appliances
|
2023-08-12 18:48:43 +10:00 |
|
grossmj
|
77d4eabadc
|
Catch ConnectionResetError exception when client disconnects
|
2023-08-12 17:31:58 +10:00 |
|
grossmj
|
ca48efa5be
|
Upgrade SQLAlchemy to v2.0.18 and fix async_timeout warning
|
2023-08-11 22:52:29 +10:00 |
|
grossmj
|
b0657b39ef
|
Upgrade dependencies
|
2023-08-11 18:54:05 +10:00 |
|
grossmj
|
cefa459721
|
Fix command line issue with certfile and certkey
|
2023-08-11 18:34:16 +10:00 |
|
grossmj
|
f3b6825e40
|
Test if busybox is not dynamically linked
|
2023-08-11 14:10:25 +10:00 |
|
grossmj
|
719458764f
|
Fix tests
|
2023-08-10 23:23:11 +10:00 |
|
grossmj
|
1cb433c5bc
|
New packaging relying only pyproject.toml
|
2023-08-10 22:44:37 +10:00 |
|
grossmj
|
17f71f970e
|
Add truststore inject_into_ssl
|
2023-08-10 15:01:49 +10:00 |
|
grossmj
|
fe90d2b146
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/controller/__init__.py
# gns3server/controller/appliance_manager.py
# gns3server/crash_report.py
# gns3server/run.py
# gns3server/static/web-ui/index.html
# gns3server/utils/images.py
# gns3server/version.py
# requirements.txt
# scripts/update-bundled-web-ui.sh
|
2023-08-10 15:00:22 +10:00 |
|
grossmj
|
35e1519073
|
Development on v2.2.43.dev1
|
2023-08-09 22:15:15 +10:00 |
|
grossmj
|
08139ebdd1
|
Release v2.2.42
|
2023-08-09 21:11:57 +10:00 |
|
grossmj
|
cd87ac4474
|
Bundle web-ui v2.2.42
|
2023-08-09 21:03:40 +10:00 |
|
grossmj
|
77744cc31d
|
Handle API version key in VirtualBox 7. Fixes #2266
|
2023-08-09 20:51:53 +10:00 |
|
grossmj
|
df9d642a56
|
Sync appliances
|
2023-08-08 19:07:04 +10:00 |
|
grossmj
|
fad28c766a
|
Enable system certificate store later in the code and bump version to 2.2.42.dev4
|
2023-08-08 17:22:27 +10:00 |
|
grossmj
|
21d9d968c4
|
Revert "Use truststore in appliance_manager.py instead"
This reverts commit a2628042e8 .
|
2023-08-07 20:44:37 +10:00 |
|
grossmj
|
945a2c98cd
|
Revert "Use finer-grained control for truststore"
This reverts commit 5e1792ff4d .
|
2023-08-07 20:44:33 +10:00 |
|
grossmj
|
5e1792ff4d
|
Use finer-grained control for truststore
|
2023-08-07 19:15:14 +10:00 |
|
grossmj
|
a2628042e8
|
Use truststore in appliance_manager.py instead
|
2023-08-07 19:04:55 +10:00 |
|
grossmj
|
e616b09028
|
Use truststore
|
2023-08-07 18:40:03 +10:00 |
|
grossmj
|
7f595b089b
|
Use certifi to get SSL root certificates
|
2023-08-06 20:37:10 +10:00 |
|
grossmj
|
a76d7576c6
|
Bump version to 2.2.42.dev3
|
2023-08-06 18:14:21 +10:00 |
|
grossmj
|
533c4544ea
|
Use certifi on Windows and macOS
|
2023-08-06 18:09:56 +10:00 |
|
grossmj
|
5da742394e
|
Use bundled cacert file on Windows and macOS
|
2023-08-05 22:21:08 +10:00 |
|
grossmj
|
962c5eed8e
|
Add log message for comparing controller version with config version. Ref https://github.com/GNS3/gns3-gui/issues/3486
|
2023-08-05 20:24:11 +10:00 |
|
grossmj
|
f4dab1482f
|
Bump version to 2.2.42.dev2
|
2023-08-05 20:16:30 +10:00 |
|
grossmj
|
9c456532d0
|
Pydantic v2 migration
|
2023-08-04 18:20:06 +10:00 |
|
grossmj
|
7ef9b7600c
|
Use DEFAULT_BUFFER_SIZE for md5sum
|
2023-08-03 12:09:24 +10:00 |
|
grossmj
|
11f51b3809
|
Allow connection to ws console over IPv6
|
2023-08-02 18:29:01 +10:00 |
|
grossmj
|
1d59afa9fb
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/controller/__init__.py
# gns3server/crash_report.py
# gns3server/handlers/api/controller/node_handler.py
# gns3server/utils/images.py
|
2023-08-02 18:26:50 +10:00 |
|
grossmj
|
c51d71a4fa
|
Fix version check when installing appliances. Ref https://github.com/GNS3/gns3-gui/issues/3486
|
2023-08-02 17:58:53 +10:00 |
|
grossmj
|
af83adfdf6
|
Add debug message when calculating MD5 checksum
|
2023-08-02 17:41:51 +10:00 |
|
grossmj
|
658bfb7624
|
Allow connection to ws console over IPv6. Fixes https://github.com/GNS3/gns3-web-ui/issues/1400
|
2023-08-02 15:28:32 +10:00 |
|
grossmj
|
6097166055
|
Remove import urllib3 and let sentry_sdk import and patch it. Fixes https://github.com/GNS3/gns3-gui/issues/3498
|
2023-07-30 17:42:52 +10:00 |
|
grossmj
|
3f691b60c9
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/compute/qemu/qemu_vm.py
# gns3server/crash_report.py
# gns3server/schemas/qemu.py
# gns3server/schemas/qemu_template.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.1379a5647e8bc6d3e401.js
# gns3server/version.py
# tests/compute/qemu/test_qemu_vm.py
|
2023-07-13 10:09:26 +10:00 |
|
grossmj
|
a6ca7c4e36
|
Development on 2.2.42.dev1
|
2023-07-12 18:26:26 +10:00 |
|
grossmj
|
d2a0632ec4
|
Release v2.2.41
|
2023-07-12 17:07:39 +10:00 |
|
grossmj
|
7dc5628845
|
Bundle web-ui v2.2.41
|
2023-07-12 16:31:54 +10:00 |
|
grossmj
|
723b519e8f
|
Sync appliance files
|
2023-07-12 16:20:29 +10:00 |
|
grossmj
|
9c653f7dbf
|
Bump version to 2.2.41.dev3
|
2023-07-12 13:26:22 +10:00 |
|
grossmj
|
c226b2a9ef
|
Catch urllib3 exceptions when sending crash report. Ref https://github.com/GNS3/gns3-gui/issues/3483
|
2023-07-06 17:16:05 +10:00 |
|
grossmj
|
8e2989d747
|
Fix issue with tests and Qemu version on Windows
|
2023-07-06 16:36:36 +10:00 |
|
grossmj
|
c181df6935
|
Only fetch Qemu version once when starting Qemu + only add speed/duplex for virtio-net-pci with Qemu version >= 2.12
|
2023-07-06 16:29:55 +10:00 |
|
grossmj
|
0a14a08d54
|
Use recent OVMF firmware (stable-202305) and use flash drives to configure Qemu command line
|
2023-07-04 13:06:34 +10:00 |
|
grossmj
|
9357ac6035
|
Add builtin field in Appliance model
|
2023-07-03 21:02:17 +10:00 |
|
grossmj
|
785eff869d
|
Fix issue with appliance API returning unset data
|
2023-07-03 18:55:19 +10:00 |
|
Raizo62
|
bbb68cb148
|
- remove the useless executable permissions to the file gns3server/disks/empty8G.qcow2
https://github.com/GNS3/gns3-gui/issues/3491
|
2023-06-28 08:30:13 +02:00 |
|
grossmj
|
427bbc40b9
|
Fix websocket authentication after upgrade to FastAPI 0.97.0 + tests
|
2023-06-24 14:55:43 +09:30 |
|
grossmj
|
4b791d4924
|
Fix websocket compute notifications after upgrade to FastAPI 0.97.0
|
2023-06-23 23:26:08 +09:30 |
|
grossmj
|
d5cfb85de5
|
Backport UEFI boot mode support for Qemu VMs
|
2023-06-23 11:18:25 +09:30 |
|
grossmj
|
21049d73a5
|
Allow computes to be dynamically or manually allocated
|
2023-06-21 22:28:09 +09:30 |
|
grossmj
|
40c265152b
|
Add UEFI boot mode option for Qemu VMs
|
2023-06-21 17:56:34 +09:30 |
|
grossmj
|
e5eeab662e
|
Check if server config file is readable
|
2023-06-20 21:26:21 +09:30 |
|
grossmj
|
1ff23348d3
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/compute/base_node.py
# gns3server/compute/docker/__init__.py
# gns3server/compute/qemu/qemu_vm.py
# gns3server/controller/compute.py
# gns3server/controller/gns3vm/virtualbox_gns3_vm.py
# gns3server/controller/node.py
# gns3server/controller/project.py
# gns3server/crash_report.py
# gns3server/handlers/api/controller/template_handler.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.8448c96e4facbe79a613.js
# gns3server/version.py
# tests/compute/iou/test_iou_vm.py
# tests/compute/qemu/test_qemu_vm.py
# tests/handlers/api/controller/test_template.py
|
2023-06-20 16:06:53 +09:30 |
|
grossmj
|
3dbc714f37
|
Developement on v2.2.41.dev2
|
2023-06-10 21:40:39 +09:30 |
|
grossmj
|
60f1d76eab
|
Release v2.2.40.1
|
2023-06-10 20:06:40 +09:30 |
|
grossmj
|
d44038305f
|
Add missing web-ui files. Fixes #2239
|
2023-06-10 15:50:28 +09:30 |
|
grossmj
|
3641742930
|
Development on v2.2.41.dev1
|
2023-06-06 12:43:20 +09:30 |
|
grossmj
|
aa79f4cb25
|
Release v2.2.40
|
2023-06-06 10:23:42 +09:30 |
|
grossmj
|
2602602193
|
Merge branch 'master' into 2.2
|
2023-06-06 10:20:07 +09:30 |
|
grossmj
|
8d969349c8
|
Bundle web-ui v2.2.40
|
2023-06-06 10:18:18 +09:30 |
|
grossmj
|
bf67fec242
|
Sync appliances
|
2023-06-06 10:07:50 +09:30 |
|
Raizo62
|
0b6436d2cb
|
qemu : with network adapter_type equal to "virtio-net-pci", fix the speed to 10000 and duplex to full.
The values are actually fake.
(https://github.com/GNS3/gns3-gui/issues/3476)
|
2023-06-03 11:48:55 +02:00 |
|
Jeremy Grossmann
|
088ae699de
|
Merge pull request #2223 from GNS3/fix/2214
Use proc.communicate() when checking for subprocess output
|
2023-06-02 20:29:40 +09:30 |
|
grossmj
|
cc4ead40e2
|
Fix unexpected indent
|
2023-06-02 20:08:21 +09:30 |
|
Mlastawi
|
045c0c4c14
|
Add missing comma
|
2023-06-02 10:38:42 +02:00 |
|
Maciej Łastawiecki
|
a0943b0b5a
|
Parse name for request to node creation from template
|
2023-06-02 09:39:08 +02:00 |
|
grossmj
|
84c886b058
|
Remove left over Xvfb related code
|
2023-05-31 21:33:39 +09:30 |
|
grossmj
|
e59b5fb95b
|
Remove Xvfb + x11vnc support
|
2023-05-31 21:28:06 +09:30 |
|
grossmj
|
e45467af57
|
Use the correct VirtualBox host-only type
|
2023-05-31 20:39:25 +09:30 |
|
grossmj
|
c6d6fcfe66
|
Search for correct VirtualBox network type
|
2023-05-31 20:19:13 +09:30 |
|
grossmj
|
73bcd019cc
|
Require a Host-Only Network to start the VirtualBox GNS3 VM on macOS with VirtualBox 7
|
2023-05-30 21:22:57 +09:30 |
|
grossmj
|
2361e138ec
|
Properly catch aiohttp client exception. Ref #2228
|
2023-05-30 16:17:12 +09:30 |
|
grossmj
|
0f02cff5f2
|
Catch ConnectionResetError when waiting for the wrap console
|
2023-05-25 18:29:19 +08:00 |
|
grossmj
|
72af145a23
|
Fix open IPv6 address for HTTP consoles on controller. Fixes https://github.com/GNS3/gns3-gui/issues/3448
|
2023-05-22 19:42:01 +08:00 |
|
grossmj
|
b3dfb87622
|
Merge branch '2.2' into 3.0
# Conflicts:
# gns3server/controller/__init__.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.96be36058f5df0ca7e7f.js
# gns3server/utils/images.py
# gns3server/version.py
# requirements.txt
# tests/compute/docker/test_docker_vm.py
# tests/controller/test_controller.py
|
2023-05-22 15:11:17 +08:00 |
|
grossmj
|
af2fc8c111
|
Use proc.communicate() when checking for subprocess output
As recommended in https://docs.python.org/3/library/asyncio-subprocess.html#asyncio.subprocess.Process.stderr
|
2023-05-14 13:58:50 +08:00 |
|
grossmj
|
b4bfb24a80
|
Development on v2.2.40.dev1
|
2023-05-08 20:26:40 +08:00 |
|
grossmj
|
d6ea546ff7
|
Release v2.2.39
|
2023-05-08 19:17:02 +08:00 |
|
grossmj
|
68f9c55f3d
|
Install web-ui v2.2.39
|
2023-05-08 19:10:22 +08:00 |
|
Jeremy Grossmann
|
9868c28bc6
|
Merge pull request #2219 from GNS3/install-qemu-empty-disks
Install empty Qemu disks
|
2023-05-08 16:58:26 +08:00 |
|
grossmj
|
f3f7921525
|
Add generic function to install resource files
|
2023-05-07 21:57:44 +08:00 |
|
grossmj
|
65cc12c850
|
Sync appliance files
|
2023-05-05 22:46:42 +08:00 |
|
grossmj
|
161f62d083
|
Install empty Qemu disks on first start
|
2023-05-05 22:40:58 +08:00 |
|
grossmj
|
d6141d4652
|
Fix checking for ":" in project dir on Windows for Docker containers
|
2023-03-23 22:17:29 -10:00 |
|
grossmj
|
f08ce9d3f1
|
Check for colon in project name. Fixes #2203
|
2023-03-19 18:26:26 +10:00 |
|