Commit Graph

3924 Commits

Author SHA1 Message Date
grossmj
6f1feed265 Fix issue preventing to use custom nested symbols. Fixes #1969 2021-09-08 15:13:51 +09:30
grossmj
5162ef2e22 Updated affinity symbols 2021-09-08 01:08:01 +09:30
grossmj
611570a863 Fix qemu-img rebase code to support Qemu 6.1. Ref https://github.com/GNS3/gns3-server/pull/1962 2021-09-05 22:18:46 +09:30
grossmj
99d7d0c769 Merge branch 'master' into 2.2
# Conflicts:
#	gns3server/compute/qemu/qemu_vm.py
2021-09-05 21:53:36 +09:30
grossmj
ed336da304 Qemu 6.1 support
Handle the deprecated use of backing file without explicit backing format issue.
2021-09-05 18:34:37 +09:30
Brian Candler
21e9f38437 Reinstate qemu-img rebase
This allows importing portable projects with images and/or snapshots,
regression introduced by #1927.

Fixes #1955
2021-09-04 12:34:22 +01:00
grossmj
f1ecb02160 Small db tables adjustments 2021-09-04 15:23:25 +09:30
grossmj
fdc3774fff Add index for "name" field in role table 2021-09-03 15:21:41 +09:30
grossmj
a55c9a5c6a Return disk usage for partition that contains the default project directory. Fixes #1947 2021-09-03 12:04:10 +09:30
Jeremy Grossmann
51c6f3fa31
Revert "List disk usage for all mount points" 2021-09-02 21:59:09 +09:30
grossmj
b1224ce9f6 Update schema description for disk_usage_percent. 2021-09-02 15:48:13 +09:30
grossmj
a2367d3c04 List disk usage for all mount points. 2021-09-02 15:43:38 +09:30
grossmj
d606553e20 Allow images to be stored in subdirs and used by templates. 2021-08-30 16:53:41 +09:30
grossmj
75bb06563a Fix tests 2021-08-30 13:04:24 +09:30
grossmj
afdda427d2 Merge branch 'master' into 3.0
# Conflicts:
#	.github/workflows/testing.yml
#	gns3server/compute/builtin/nodes/nat.py
#	gns3server/compute/qemu/__init__.py
#	gns3server/controller/link.py
#	gns3server/utils/asyncio/embed_shell.py
#	gns3server/utils/asyncio/raw_command_server.py
#	gns3server/utils/asyncio/telnet_server.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2021-08-29 19:23:51 +09:30
grossmj
945e3e3e8e Development on 2.2.25dev1 2021-08-25 21:23:19 +09:30
grossmj
59a89c5f88 Release v2.2.24 2021-08-25 20:31:25 +09:30
grossmj
78c2ded2aa Merge branch 'master' into 2.2 2021-08-25 20:08:26 +09:30
piotrpekala7
6ba40bd5fb Release web UI 2.2.24 2021-08-25 11:57:52 +02:00
grossmj
6005e89181 Fix issue when searching for image with relative path. Fixes #1925 2021-08-25 17:23:21 +09:30
grossmj
27bcb60580 Sync appliance files. 2021-08-24 21:21:18 +09:30
grossmj
363fdb7d10 Fix wrong error when NAT interface is not allowed. Fixes #1943 2021-08-24 20:40:06 +09:30
grossmj
92150fba71 Fix incorrect Qemu binary selected when importing template. Fixes https://github.com/GNS3/gns3-gui/issues/3216 2021-08-24 17:26:06 +09:30
grossmj
c4c71cc838 Fix error when updating a link style. Fixes https://github.com/GNS3/gns3-gui/issues/2461 2021-08-24 11:35:33 +09:30
grossmj
332fa47b50 Option to prune images when deleting template. 2021-08-23 10:27:10 +09:30
grossmj
bf9a3aee20 Associate images when creating or updating a template. 2021-08-22 15:16:02 +09:30
grossmj
4d9e4e1059 Add prune images endpoint.
Use many-to-many relationship between images and templates.
2021-08-20 15:58:41 +09:30
grossmj
8f30b466e0 Merge remote-tracking branch 'origin/3.0' into 3.0 2021-08-19 14:48:29 +09:30
grossmj
07d4892faf Check if user has the right to add a permission 2021-08-19 14:47:48 +09:30
Jeremy Grossmann
1a5fb1abcc
Only use the necessary HTTP methods for default permissions 2021-08-17 23:47:32 +09:30
grossmj
4c6135fe88 Add /permissions/prune to delete orphaned permissions 2021-08-17 21:55:59 +09:30
grossmj
9df586d5d5 Check a permission matches an existing route before it is allowed to be created. 2021-08-17 16:14:15 +09:30
grossmj
8aada49414 Some fixes for early support for Python3.10
The loop parameter has been removed from most of asyncio‘s high-level API following deprecation in Python 3.8.
2021-08-15 15:25:33 +09:30
grossmj
496170b4e5 Early support for Python3.10 Fixes #1940 2021-08-15 15:09:48 +09:30
grossmj
75c934f30a Bump version to 3.0.0dev3 2021-08-12 16:05:19 +09:30
grossmj
cfaafedb09 Merge branch '3.0' into busybox-docker 2021-08-11 18:36:30 +09:30
grossmj
d0a9425392 Remove busybox and copy system busybox in setup.py 2021-08-11 17:27:47 +09:30
grossmj
078c42f185 Save image size + start to automatic template creation based on image checksum. 2021-08-11 16:58:23 +09:30
Jeremy Grossmann
f13b4e89b7
Merge branch '3.0' into image-management-refactoring 2021-08-10 05:46:22 -07:00
grossmj
ce55ec73a4 Fix exception with endpoints returning HTTP status code 204. Fixes #1891 2021-08-10 21:53:21 +09:30
grossmj
3ae7783360 Fix "-machine accel=tcg" check 2021-08-10 15:41:05 +09:30
grossmj
c5c95979c2 Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_node.py
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/compute/qemu/utils/qcow2.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/server_handler.py
#	gns3server/version.py
2021-08-10 15:38:49 +09:30
grossmj
6dd0f4d4d3 Allow logged in user to change some of its data. Administrators can lock users using the is_active field. 2021-08-09 16:36:18 +09:30
grossmj
8c0899d086 Development on 2.2.24dev1 2021-08-05 21:16:10 +09:30
grossmj
d5c73f4ba4 Release v2.2.23 2021-08-05 15:58:54 +09:30
grossmj
77487e4fc3 Merge branch 'master' into 2.2 2021-08-05 15:54:16 +09:30
grossmj
754f55b01b Sync appliance files. 2021-08-05 15:53:12 +09:30
Jeremy Grossmann
b68f7a78a7
Merge pull request #1927 from candlerb/candlerb/1921
Support cloning of encrypted qcow2 base image files
2021-08-04 23:19:23 -07:00
piotrpekala7
6c36beb97f Release web UI 2.2.23 2021-08-04 10:59:50 +02:00
grossmj
1a24ebfc19 Add a reload server endpoint. Fixes #1926 2021-08-01 16:20:30 +09:30
Jeremy Grossmann
6cf268ca93
Merge pull request #1934 from GNS3/handle_no-kvm_deprecated
Handle -no-kvm param deprecated in Qemu >= v5.2
2021-07-27 17:37:41 +09:30
grossmj
4646ce684f Handle -no-kvm param deprecated in Qemu >= v5.2 2021-07-27 16:34:51 +09:30
Andrej Krpič
3b7dc21ef0 Fix binary websocket access to the console
telnet_writer.write is not an async method - drain() is.
Remove async keyword so the call is the same as for the text websocket.
2021-07-26 12:58:35 +02:00
grossmj
0ecea8ffbb Change how to generate random MAC addresses 2021-07-25 16:03:54 +09:30
Brian Candler
1ee3e14bd3 Support cloning of encrypted qcow2 base image files
Fixes #1921
2021-07-09 10:53:02 +01:00
grossmj
1f0ceb6f74 Symbols endpoints (except upload) don't require authentication. 2021-06-16 20:22:49 +09:30
grossmj
c13f5c6627 Update to the udhcpc wrapper script. Ref #1890 2021-06-14 19:28:40 +09:30
grossmj
cdedd53339 Fix VMware VM support on Linux and Windows. Fixes #1919 2021-06-14 13:16:11 +09:30
grossmj
229a04e2fa Fix link style merge 2021-06-12 15:26:35 +09:30
Jeremy Grossmann
e78b5fa6d6
Fix typo 2021-06-12 15:20:55 +09:30
grossmj
6ec028ea4e Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/builtin/nodes/cloud.py
#	gns3server/compute/vmware/vmware_vm.py
#	gns3server/controller/link.py
#	gns3server/controller/snapshot.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/link_handler.py
#	gns3server/schemas/link.py
#	gns3server/utils/path.py
#	gns3server/version.py
#	requirements.txt
2021-06-12 14:36:32 +09:30
grossmj
3524e22761 Development on 2.2.23dev1 2021-06-10 16:20:09 +09:30
grossmj
10daab21a3 Release v2.2.22 2021-06-10 15:41:58 +09:30
grossmj
22eb6f7d8c Sync appliance files. 2021-06-10 12:42:43 +09:30
grossmj
c892cf371b Fix VMware support on macOS BigSur 2021-06-08 11:56:33 +09:30
grossmj
bfd30f3547 Sync appliance files. 2021-06-07 15:01:45 +09:30
grossmj
4e34ab8e4f Link style support. Fixes https://github.com/GNS3/gns3-gui/issues/2461 2021-06-07 14:08:21 +09:30
grossmj
5da5cbd6d8 Merge branch 'master' into 2.2 2021-06-07 13:34:25 +09:30
grossmj
515bd50261 Start refactoring for images management 2021-06-06 16:52:47 +09:30
piotrpekala7
08f540f417 Release web UI 2.2.22 2021-06-05 10:32:12 +02:00
grossmj
f64b5cd9b6 Allow controller to be reloaded using the API. Fixes #1743 2021-06-04 17:01:07 +09:30
grossmj
6a726d0344 Fix formatting issue. 2021-06-03 19:32:00 +09:30
grossmj
9b0e3a77ed Use a stock BusyBox for the Docker Integration 2021-06-03 18:38:08 +09:30
grossmj
8be015cd86 Move "/{project_id}/templates/{template_id}" endpoint. 2021-06-03 18:18:34 +09:30
grossmj
6fb6a27859 Add last login info for users. 2021-06-03 16:57:16 +09:30
grossmj
4e33d29af8 Change RBAC field names from builtin to is_builtin 2021-06-03 16:24:38 +09:30
grossmj
d65b49acaa Add user permissions + RBAC tests. 2021-06-03 15:40:12 +09:30
grossmj
36a27c0c19 Force refresh of updated_at value for RBAC db models. 2021-06-01 16:12:06 +09:30
grossmj
a6d2f48df1 Merge remote-tracking branch 'origin/3.0' into rbac 2021-06-01 16:11:22 +09:30
grossmj
0113ca6673 Force refresh of updated_at value in db models. 2021-06-01 16:09:29 +09:30
grossmj
74d820fd0a Use synchronize_session="fetch" when updating values. 2021-06-01 15:55:50 +09:30
grossmj
e9b9884ee3 Merge remote-tracking branch 'origin/3.0' into rbac 2021-06-01 15:50:14 +09:30
grossmj
a6c2a3e47f Use synchronize_session="fetch" when updating values. 2021-06-01 13:02:03 +09:30
grossmj
2e2e31337a Add description for user permission. 2021-06-01 12:55:16 +09:30
grossmj
fbc47598d9 Basic functional RBAC support. 2021-05-27 17:28:44 +09:30
grossmj
6d4da98b8e Base API and tables for RBAC support. 2021-05-25 18:34:59 +09:30
Brian Candler
c051367d4b Preserve auto_start/auto_open/auto_close when restoring snapshot
Fixes #1904
2021-05-24 17:31:04 +01:00
grossmj
eb0f8c6174 Save/restore appliances Etag. 2021-05-17 00:37:15 +09:30
grossmj
f416d64042 Allow to set the initial super admin username / password in server config file. Ref #1857 2021-05-16 20:01:05 +09:30
grossmj
fffbb08a8e Catch SQLAlchemyError exception. 2021-05-16 18:37:17 +09:30
grossmj
d759564e20 Require authentication for get_user_memberships endpoint. 2021-05-16 17:06:23 +09:30
grossmj
971e86d254 Fix uBridge errors for cloud nodes not visible in logs. Fixes #1895 2021-05-16 14:59:02 +09:30
grossmj
6847e19847 Change method to prevent forbidden directory traversal. Fixes #1894 2021-05-16 14:44:38 +09:30
grossmj
2bf16f1e5f Change method to prevent forbidden directory traversal. Ref #1894 2021-05-16 14:29:56 +09:30
grossmj
f3d81fa450 Clean files and catch file path escape. Ref #1894 2021-05-15 22:35:44 +09:30
grossmj
09ac7fd7fb Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/compute/base_manager.py
#	gns3server/handlers/api/compute/dynamips_vm_handler.py
#	gns3server/handlers/api/compute/iou_handler.py
#	gns3server/handlers/api/compute/project_handler.py
#	gns3server/handlers/api/compute/qemu_handler.py
#	gns3server/handlers/api/controller/node_handler.py
#	gns3server/handlers/api/controller/project_handler.py
#	gns3server/handlers/index_handler.py
#	tests/handlers/api/compute/test_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/handlers/api/controller/test_node.py
#	tests/handlers/api/controller/test_project.py
2021-05-15 20:46:34 +09:30
grossmj
e86d8f96ca Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/version.py
2021-05-15 20:12:21 +09:30
grossmj
9a6978902d Fix tests. 2021-05-15 19:43:36 +09:30
grossmj
6294ad9e76 Prevent directory traversal 2021-05-15 17:35:32 +09:30
grossmj
8810249d36 Add user groups support. 2021-05-15 15:10:02 +09:30
grossmj
2c938b2c19 Development on 2.2.22dev1 2021-05-10 23:44:40 +09:30
grossmj
03b7d9191b Release v2.2.21 2021-05-10 22:42:46 +09:30
grossmj
87c87ca3cb Sync appliance files. 2021-05-10 22:39:03 +09:30
grossmj
dfba40fee2 Merge branch 'master' into 2.2 2021-05-10 22:34:59 +09:30
grossmj
956b9056c1 Fix issues with latest version of sqlalchemy 2021-05-08 15:37:51 +09:30
grossmj
0a77f0035b Add delete cascade on foreign keys for appliance table 2021-05-06 17:25:32 +09:30
grossmj
10164e262d Enable SQL foreign key support for SQLite 2021-05-06 17:21:45 +09:30
grossmj
912fb2ed29 Fix add node from template. Fixes https://github.com/GNS3/gns3-web-ui/issues/1122 2021-05-06 16:22:16 +09:30
piotrpekala7
f576bedfaf Release web UI 2.2.21 2021-04-30 14:01:53 +02:00
grossmj
a795e0d7c1 Add missing CORS origins. 2021-04-28 21:20:05 +09:30
grossmj
41ba215e32 Show topology path when check topology schema fails. 2021-04-27 22:48:55 -07:00
grossmj
b1b3338e3c Fix bug when binding on address already in use. 2021-04-28 15:13:31 +09:30
grossmj
edb20482c7 Fix bug when no server config file is present. 2021-04-28 14:44:34 +09:30
grossmj
d3ace8ff17 Fix user delete endpoint. 2021-04-26 16:21:16 +09:30
grossmj
49be4146d6 Protect controlle notification endpoints. Ref #1888
(WebSocket endpoint is not secured, it takes an optional token).
2021-04-26 16:18:18 +09:30
grossmj
a02aede1b0 Use uuid5 to create new compute_id. Fixes #1641 #1887 2021-04-21 13:47:32 +09:30
grossmj
dff1ec9bc6 Fix /users/me endpoint. 2021-04-20 19:54:55 +09:30
grossmj
0465cb87f6 Protect the API and add alternative authentication endpoint. 2021-04-20 11:59:02 +09:30
grossmj
e28452f09a Secure users API and handle manual password recovery. 2021-04-19 09:40:04 +09:30
grossmj
c03226e368 Add default super admin account in controller db. 2021-04-18 17:39:47 +09:30
grossmj
9404c00411 Complete type annotations for API endpoints. 2021-04-18 15:40:38 +09:30
grossmj
cefab8d362 Rename __json__() to asdict() 2021-04-17 23:34:28 +09:30
grossmj
44074ff7c9 Some cleaning. 2021-04-17 18:36:32 +09:30
grossmj
bad3ef7003 Detect the app is exiting and avoid reconnecting to computes. 2021-04-17 18:33:20 +09:30
grossmj
9c850e0f2b Move schemas between compute and controller subpackages 2021-04-15 18:12:08 +09:30
grossmj
c59fc375f2 Remove traceng code. 2021-04-13 19:03:23 +09:30
grossmj
c021e21309 Use black with -l 120 param. 2021-04-13 18:46:50 +09:30
grossmj
f928738bd5 Use pyupgrade with --py36-plus param. 2021-04-13 18:37:58 +09:30
grossmj
a9eb035b7d Move error responses to API routers. 2021-04-13 16:19:56 +09:30
grossmj
6b0d0de1bc Wait for local compute to be started.
Don't reconnect to local compute when server is being stopped.
2021-04-13 15:41:59 +09:30
grossmj
71725aade6 Rename ssl and auth configuration file settings.
Add enable SSL config validator.
Strict configuration file validation: any error will prevent the server to start.
Core server logic moved to a Server class.
2021-04-12 23:26:42 +09:30
grossmj
1b5a5de4bc Generate new config for each test. Fixes tests. 2021-04-12 19:37:59 +09:30
grossmj
30ebae207f Use Pydantic to validate the server config file. 2021-04-12 17:02:23 +09:30
grossmj
fa4c9a91ca Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server. 2021-04-10 13:01:23 +09:30
grossmj
802959f9ab Merge branch 'master' into 3.0
# Conflicts:
#	dev-requirements.txt
#	gns3server/controller/__init__.py
#	gns3server/controller/appliance_manager.py
#	gns3server/controller/compute.py
#	gns3server/controller/topology.py
#	gns3server/handlers/api/compute/ethernet_switch_handler.py
#	gns3server/handlers/api/controller/link_handler.py
#	gns3server/handlers/api/controller/symbol_handler.py
#	gns3server/version.py
#	requirements.txt
#	tests/controller/test_export_project.py
#	tests/handlers/api/compute/test_qemu.py
#	tests/web/test_response.py
#	win-requirements.txt
2021-04-10 12:46:40 +09:30
grossmj
4e61cc811e Improvements for get symbol dimensions endpoint. Ref #1885 2021-04-10 12:28:50 +09:30
Jeremy Grossmann
c9c6a5a762
Merge pull request #1885 from GNS3/Create-endpoint-in-symbols-handler-to-get-symbol-dimensions
Create endpoint in symbols handler to get symbol dimensions #1884
2021-04-09 04:59:57 -07:00
grossmj
e797ad1b9f Development on 2.2.21dev1 2021-04-09 13:50:20 +09:30
grossmj
a50141fcbf Release v2.2.20 2021-04-09 12:14:38 +09:30
grossmj
852151f836 Merge branch 'master' into 2.2 2021-04-09 12:06:01 +09:30
grossmj
e5807e5a8c Sync appliance files. 2021-04-09 12:04:20 +09:30
piotrpekala7
30cbfe2154 Update picture.py 2021-04-08 23:29:46 +02:00
piotrpekala7
4bbf7c2ed2 Update symbol_handler.py 2021-04-08 21:27:05 +02:00
piotrpekala7
7a8c1e8f5d Release web UI 2.2.20 2021-04-08 13:30:59 +02:00
grossmj
7bb5202bdb Sync appliance files. 2021-04-07 20:58:55 +09:30
grossmj
082206a7db Fix packet capture with HTTPS remote server. Fixes #1882 2021-04-07 12:40:15 +09:30
grossmj
360a819e91 Set PyQt5 version to 5.15.2 on Windows 2021-04-06 22:12:34 +09:30
grossmj
685963b85d Sync appliance files and remove old ones after sync with online repo. Fixes #1876 2021-04-06 17:38:11 +09:30
grossmj
e614ed79f4 Upgrade dependencies 2021-04-06 13:57:00 +09:30
grossmj
170e83e589 Fix tests and update requirements 2021-04-05 17:43:35 +09:30