Commit Graph

285 Commits

Author SHA1 Message Date
grossmj
a55c9a5c6a Return disk usage for partition that contains the default project directory. Fixes #1947 2021-09-03 12:04:10 +09:30
grossmj
d606553e20 Allow images to be stored in subdirs and used by templates. 2021-08-30 16:53:41 +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
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
078c42f185 Save image size + start to automatic template creation based on image checksum. 2021-08-11 16:58:23 +09:30
grossmj
515bd50261 Start refactoring for images management 2021-06-06 16:52:47 +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
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
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
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
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
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
piotrpekala7
30cbfe2154 Update picture.py 2021-04-08 23:29:46 +02:00
grossmj
c043830e3f Move endpoints to routes & preparations to use a database. 2020-11-19 15:21:03 +10:30
grossmj
e13c84bada Fix tests 2020-11-05 18:47:59 +10:30
grossmj
841b013223 SSL support. 2020-11-05 18:24:50 +10:30
grossmj
a5d89b428a Merge branch '2.2' into 3.0
# Conflicts:
#	gns3server/controller/__init__.py
#	gns3server/controller/compute.py
#	gns3server/schemas/gns3vm.py
#	gns3server/utils/application_id.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2020-11-05 17:15:25 +10:30
grossmj
5d1fdceb98 Fix bug with application id allocation for IOU nodes. Fixes #3079 2020-10-27 19:41:24 +10:30
grossmj
a92c47b310 Add HTTP client to reuse the aiohttp session where needed.
Remove unnecessary aiohttp exceptions.
2020-10-22 16:19:44 +10:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj
af22fb8e98 Comment unused code that causes issue with flake8 2020-06-26 18:47:31 +09:30
grossmj
f498ab06b4 Wait longer for x11 socket file to be created. Ref #1761 2020-06-10 20:37:13 +09:30
grossmj
5b59a09e8d Deprecate running with Python 3.5 2020-05-19 16:14:58 +09:30
Bernhard Ehlers
10bb259248 Implement a minimum interval between cpu_percent() calls. Fixes #1738 2020-04-19 20:42:46 +02:00
Bernhard Ehlers
4ab100b716 Revert "Implement a minimum interval between psutil calls. Fixes #2262"
This reverts commit 3a09bd43dc.
2020-04-19 20:06:47 +02:00
grossmj
c5412bf970 Allocate application IDs for IOU nodes on the controller.
An application ID is used by IOU to generate its interface Mac addresses. They must be unique across all opened projects sharing the same computes to avoid Mac address collisions.
2020-02-10 15:20:49 +08:00
grossmj
a98fc2d308 Python3.8 support. Ref https://github.com/GNS3/gns3-gui/issues/2895 2019-11-11 12:44:31 +08:00
grossmj
2af9127879 Fix issue when linking to more than one NAT node with allowed_interface option enabled. Fixes #1671 2019-10-31 17:07:52 +08:00
grossmj
7cfd0d4d1d Use compatible shlex_quote to handle case where Windows needs double quotes around file names, not single quotes. Ref https://github.com/GNS3/gns3-gui/issues/2866 2019-10-09 17:02:30 +08:00
grossmj
aad74dbcb9 Add debug message when searching for an image. Ref https://github.com/GNS3/gns3-gui/issues/2828 2019-07-10 11:16:50 +02:00
grossmj
6db8cecda5 Merge 2.1 into 2.2 2019-04-13 18:39:06 +07:00
grossmj
cc1980ac1c Fix broken embedded console for Ethernet switch. Fixes #1574 2019-04-11 17:57:47 +07:00
ziajka
cbb6eccad8 Merge branch '2.2' of github.com:GNS3/gns3-server into 2.2 2019-03-21 10:39:55 +01:00
ziajka
9edbd27b4f Serve WebUI via get_resource for freezed app 2019-03-21 10:39:49 +01:00
grossmj
1f1d93d078 Deactivate the embedded shell for Ethernet switch. Ref #1424 #1556 2019-03-20 16:23:30 +08:00
grossmj
03401a477e Fix issue when images are not uploaded from appliance wizard. Ref https://github.com/GNS3/gns3-gui/issues/2738 2019-03-18 15:33:37 +07:00
grossmj
52bfa636c1 Project duplication support. 2019-02-27 17:57:07 +07:00
grossmj
a8990c9e89 Non blocking project exportation. 2019-02-26 15:55:07 +07:00
grossmj
3e21f96bf9 Fix indentation issue. Ref https://github.com/GNS3/gns3-gui/issues/2674
(cherry picked from commit c14d79a3d5)
2019-01-21 23:51:46 +07:00
grossmj
5f932fee9f Tune how to get the size of SVG images. Ref https://github.com/GNS3/gns3-gui/issues/2674.
* Default for missing height/width is "100%" as defined in the SVG specification
* Better error message, if viewBox attribute is missing
* Removal of "%" in percent more fault tolerant by using rstrip("%")

(cherry picked from commit e3757a8955)
2019-01-21 23:49:43 +07:00
grossmj
c14d79a3d5 Fix indentation issue. Ref https://github.com/GNS3/gns3-gui/issues/2674 2019-01-21 16:24:23 +07:00
grossmj
e3757a8955 Tune how to get the size of SVG images. Ref https://github.com/GNS3/gns3-gui/issues/2674.
* Default for missing height/width is "100%" as defined in the SVG specification
* Better error message, if viewBox attribute is missing
* Removal of "%" in percent more fault tolerant by using rstrip("%")
2019-01-21 16:01:03 +07:00
grossmj
bb284d082a Set socket options SO_KEEPALIVE and TCP_NODELAY for embedded Telnet server. Ref #1335 2019-01-12 16:50:15 +07:00
grossmj
56412b35e0 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/utils/asyncio/telnet_server.py
2018-11-30 12:38:02 +08:00
grossmj
60ac6d2dfe Telnet console resize support for Docker VM. 2018-11-27 15:06:56 +07:00
grossmj
76af98404a Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425 2018-10-15 17:05:49 +07:00
grossmj
9de13c570c Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/builtin/nodes/cloud.py
#	gns3server/compute/docker/docker_vm.py
#	gns3server/compute/dynamips/nodes/ethernet_switch.py
#	gns3server/compute/iou/iou_vm.py
#	gns3server/compute/qemu/qemu_vm.py
#	gns3server/compute/virtualbox/virtualbox_vm.py
#	gns3server/compute/vmware/vmware_vm.py
#	gns3server/controller/__init__.py
#	gns3server/version.py
#	gns3server/web/web_server.py
2018-10-04 15:44:13 +02:00
grossmj
4d95e0b51f Catch some exceptions. 2018-09-28 15:04:38 +02:00
grossmj
4021a13651 Catch exceptions in various locations to fix small issues reported by Sentry. 2018-09-06 09:49:12 +02:00
grossmj
33e8710495 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/compute/docker/docker_vm.py
#	gns3server/controller/compute.py
#	gns3server/controller/gns3vm/__init__.py
#	gns3server/controller/link.py
#	gns3server/controller/project.py
#	gns3server/handlers/api/controller/project_handler.py
#	gns3server/handlers/api/controller/server_handler.py
#	gns3server/utils/asyncio/__init__.py
#	gns3server/utils/asyncio/telnet_server.py
#	gns3server/version.py
#	gns3server/web/web_server.py
#	tests/compute/qemu/test_qemu_vm.py
2018-08-29 15:57:54 +07:00
grossmj
814526ba26 Add missing coroutine decorator Ref https://github.com/GNS3/gns3-gui/issues/2566 2018-08-25 16:00:40 +07:00
grossmj
902de3dd47 Refactor asyncio locking system for Python 3.7 support. Ref https://github.com/GNS3/gns3-gui/issues/2566 Ref https://github.com/GNS3/gns3-gui/issues/2568 2018-08-25 14:10:47 +07:00
grossmj
3560cda06c Use asyncio.ensure_future() instead of asyncio.async() with conservative approach to support Python < 3.4.4. Fixes https://github.com/GNS3/gns3-gui/issues/2566 2018-08-24 18:57:18 +07:00
grossmj
b7f9b865c8 Optimize appliance templates update from GitHub repository by only downloading when the repository
has been updated. Ref https://github.com/GNS3/gns3-gui/issues/2490
2018-08-21 16:26:07 +07:00
ziajka
0e1f2e26d0 Serve WebUI handlers and update-bundled-web-ui script, Ref: #1362 2018-06-26 12:09:08 +02:00
ziajka
867e997b74 Support /static/ files serving, Ref: #1362 2018-06-22 15:29:47 +02:00
grossmj
96d5e351f7 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/version.py
#	requirements.txt
2018-06-10 21:19:55 +07:00
grossmj
fd5df0052a Fix issue with some SVG symbols that could not be used in GNS3.
This was due to the height and width values being percentages.
2018-06-06 16:32:51 +07:00
grossmj
f8bf749577 Remove unwanted trailing characters and other white spaces when reading .md5sum files. 2018-06-05 00:01:20 +07:00
grossmj
d1ccf3bc84 Merge branch '2.1' into 2.2
# Conflicts:
#	gns3server/version.py
#	requirements.txt
2018-06-04 22:46:52 +07:00
grossmj
051eedb406 Change order to find vnetlib on Windows (PATH -> Registry -> Default directories). 2018-06-04 21:57:34 +07:00
grossmj
7622c10cc9 Returns the ports' adapter types and mac addresses when available. 2018-04-06 13:19:17 +07:00
grossmj
d419d3fa39 Check if the HAXM service is running when starting a Qemu VM with hardware acceleration. Ref #1242. 2018-03-24 22:15:20 +07:00
grossmj
08493871a5 Restrict the list of available Ethernet/TAP adapters. Fixes #352. 2018-03-15 16:33:23 +07:00
grossmj
90ce6093d8 Some spring cleaning. 2018-03-15 14:17:39 +07:00
grossmj
658aa4bae9 Merge 2.1 into 2.2 branch 2018-03-12 13:38:50 +07:00
Bernhard Ehlers
3a09bd43dc Implement a minimum interval between psutil calls. Fixes #2262 2018-02-13 11:31:04 +01:00
ziajka
1582ac3195 Merge branch '2.2' into async-md5-calcs 2018-01-29 13:01:45 +01:00
ziajka
eeae07e783 Conservative approach to supported versions of Python 3.4 and asyncio.ensure_future, Ref. #1269 2018-01-29 12:13:20 +01:00
ziajka
dc377165f2 Cancellable md5sum calculation on thread, Ref. gui#2239 2018-01-29 10:18:13 +01:00
ziajka
d9a0ec9ff3 Replace asyncio.async with ensure_future because of deprecation, Fixes: #1269 2018-01-24 11:11:53 +01:00
ziajka
860ca3b35d Remotely close telnet console. Ref #2330 2017-11-20 15:28:07 +01:00
ziajka
96a0b52cf8 EthernetSwitch closing connections, Ref: gui/#2330 2017-11-20 13:51:07 +01:00
grossmj
1524493c33 Fix IOU detection of layer 1 keepalive support. Fixes #1183. 2017-10-12 23:32:45 +08:00
ziajka
807bea40d4 Fixes running switch console inside PyCharm terminal (Ref. #1172) 2017-08-29 12:28:53 +02:00
ziajka
4e3eee33fc Windows console bugfix tests 2017-08-29 10:08:10 +02:00
Julien Duponchelle
2dc83d7894
Interface starting with gns3 are not display by default in the cloud
Fix https://github.com/GNS3/gns3-gui/issues/2199
2017-08-03 16:33:42 +02:00
ziajka
86bd7b6058 Added missing corutine flag, fixes #1145 2017-07-26 11:37:09 +02:00
ziajka
ac508435c3 History support for console and telnet application, Fixes: #1083
Arrows UP/DOWN for telnet, Ref. #1083

Typo, Ref. #1083

Support async commands, Ref. #1083

Small refactor, Ref. #1083

Asyncio telnet server - connections support, Ref. #10831

Prompt-toolkit in dependencies, ref. #1083

Few comments, ref. #1083

Direct imports, ref. #1083

Windows size changed support in telnet server, ref. #1139

Fake termios

Fake termios - different approach

InputStream - copied source from prompt_toolkit
2017-07-25 16:18:07 +02:00
Julien Duponchelle
e8a35ac41f
Interface ending with -nic are special ethernet interface
It's libvirt internal stuff

Fix #1114
2017-07-12 16:13:46 +02:00
Julien Duponchelle
e5bc7c7a66
Merge branch '2.1' into embed_shell 2017-06-19 11:10:24 +02:00
Julien Duponchelle
40cc5d76b3
Fix racecondition when listing interface
Fix #1060
2017-06-07 15:57:05 +02:00
Julien Duponchelle
ca3f8d0b43
Provide easy to test a shell by using stdin as an input 2017-06-02 14:50:34 +02:00
Julien Duponchelle
5616ab0e9a
Fake console for simple Ethernet switch
Fix #454
2017-05-31 15:13:29 +02:00
Julien Duponchelle
c9ceeee9de
Handle some invalid SVG images
Fix #986
2017-04-24 17:31:20 +02:00
Julien Duponchelle
36de30e25e
Fix various tests for windows 2017-04-18 14:23:29 +02:00
Julien Duponchelle
cfe13e1929
Support IOU image without .bin at the end 2017-03-29 16:08:13 +02:00
Julien Duponchelle
8d22f2930e
Fix a crash with missing size in the svg files
Fix #960
2017-03-27 10:41:28 +02:00
Julien Duponchelle
7c318d477d
Handle some invalid svg
Fix #944
2017-03-16 18:39:07 +01:00
Julien Duponchelle
961c209ab1
Fix an issue when getting size from some SVG file
Fix https://github.com/GNS3/gns3-gui/issues/1866
2017-02-20 17:25:26 +01:00
Julien Duponchelle
10b039074f
Avoid a crash in some conditions when reading the serial console 2017-02-15 19:31:38 +01:00
Julien Duponchelle
19b70accd5
Catch error when we can't access to a unix socket 2017-02-06 17:59:00 +01:00
Julien Duponchelle
bfbc6ff0be
Fix rare race condition when stopping ubridge
Fix #887
2017-01-31 13:43:05 +01:00
Julien Duponchelle
2da20177a2
Avoid crash when you broke your system permissions
Fix #877
2017-01-27 10:56:48 +01:00