grossmj
015e17338c
HTTP middleware create issues when streaming project archive
2 years ago
grossmj
8a964390f8
Add zstandard compression support for project export
2 years ago
grossmj
2535e5508d
Remove Qemu binary requirement
2 years ago
grossmj
e50bed5bee
Support delete Qemu disk image from API
...
Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
2 years ago
grossmj
fda2a37b98
Handle creating Qemu disk images and resizing
2 years ago
grossmj
900d4f79ee
"Local" command line parameter is only for stopping
...
a server that has been started by the desktop GUI
2 years ago
grossmj
8975f63e2f
Fix AsyncSession handling after breaking changes in FastAPI 0.74.0
...
See https://github.com/tiangolo/fastapi/releases/tag/0.74.0 for details.
2 years ago
grossmj
9b39bfb845
Detect image type instead of requesting it from user
2 years ago
grossmj
74c675d5b0
Drop Windows support
2 years ago
grossmj
10fdd8fcf4
Add connect endpoint for computes
...
Param to connect to compute after creation
Report compute unauthorized HTTP errors to client
3 years ago
grossmj
36cf43475d
Replace CORS origins by origin regex
3 years ago
grossmj
ab4d964d69
Do not require the local server param to open a .gns3 file. Fixes https://github.com/GNS3/gns3-gui/issues/2421 Ref #1460
3 years ago
grossmj
05d2579907
Do not automatically install appliance after uploading image
3 years ago
grossmj
01a9e83f08
Ignore OSError when closing websocket
3 years ago
grossmj
8bae921587
Fix packet capture
3 years ago
grossmj
38388f7ae5
Secure controller to compute communication using HTTP basic authentication
3 years ago
grossmj
741fc4a557
Secure websocket endpoints
3 years ago
grossmj
bb15b13a9d
Return the current controller hostname/IP from any compute
3 years ago
grossmj
a31e5615a4
Add a custom version to an appliance
3 years ago
grossmj
13ff7df9fa
Validate appliance files with Pydantic
3 years ago
grossmj
04934691df
Appliance management refactoring:
...
* Install an appliance based on selected version
* Each template have unique name and version
* Allow to download an appliance file
3 years ago
grossmj
bc36d95060
Finalize image management refactoring and auto install appliance if possible
3 years ago
grossmj
b683659d21
Sqlite doesn't allow BigInteger to be used as an primary key with autoincrement
3 years ago
grossmj
d8bceaad5d
Merge branch '3.0' into image-management-refactoring
...
# Conflicts:
# gns3server/api/routes/controller/permissions.py
3 years ago
grossmj
5807dd068e
Revert "No need to add permissions when the super admin creates templates or projects"
...
This reverts commit 3d1c3303f9
.
3 years ago
grossmj
3d1c3303f9
No need to add permissions when the super admin creates templates or projects
3 years ago
grossmj
c8ed96d91b
Add isolate and unisolate endpoints. Ref https://github.com/GNS3/gns3-gui/issues/3190
3 years ago
Rolf Sommerhalder
6e88d4816f
REST API example needs additional parameter
...
While try this example with GNS3 branch 3.0 on Ubuntu 20.04 LTS, the API call
```$ curl http://172.17.46.114:3080/v3/users/authenticate -d '{"username": "admin", "password": "admin"}' ``` fails with ```{"detail":[{"loc":["body"],"msg":"value is not a valid dict","type":"type_error.dict"}]}```.
The additional parameter appended to curl fixes this ```{"access_token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTYzMTI4NTc4NX0.kT1dAN4v1vHMTBJO2UaI2I7yAFhnSpBU9iqmdDuwtAQ","token_type":"bearer"} ```
Found after googling for the error above in
FastAPI 0.65.2 POST request fails with "value is not a valid dict" when using the Requests library; 0.65.1 works (with a caveat) #3373
https://github.com/tiangolo/fastapi/issues/3373#issuecomment-886745123
3 years ago
grossmj
d606553e20
Allow images to be stored in subdirs and used by templates.
3 years ago
grossmj
332fa47b50
Option to prune images when deleting template.
3 years ago
grossmj
4d9e4e1059
Add prune images endpoint.
...
Use many-to-many relationship between images and templates.
3 years ago
grossmj
07d4892faf
Check if user has the right to add a permission
3 years ago
grossmj
4c6135fe88
Add /permissions/prune to delete orphaned permissions
3 years ago
grossmj
9df586d5d5
Check a permission matches an existing route before it is allowed to be created.
3 years ago
grossmj
078c42f185
Save image size + start to automatic template creation based on image checksum.
3 years ago
Jeremy Grossmann
f13b4e89b7
Merge branch '3.0' into image-management-refactoring
3 years ago
grossmj
ce55ec73a4
Fix exception with endpoints returning HTTP status code 204. Fixes #1891
3 years ago
grossmj
3ae7783360
Fix "-machine accel=tcg" check
3 years ago
grossmj
6dd0f4d4d3
Allow logged in user to change some of its data. Administrators can lock users using the `is_active` field.
3 years ago
grossmj
1f0ceb6f74
Symbols endpoints (except upload) don't require authentication.
3 years ago
grossmj
229a04e2fa
Fix link style merge
3 years ago
grossmj
515bd50261
Start refactoring for images management
3 years ago
grossmj
f64b5cd9b6
Allow controller to be reloaded using the API. Fixes #1743
3 years ago
grossmj
8be015cd86
Move "/{project_id}/templates/{template_id}" endpoint.
3 years ago
grossmj
4e33d29af8
Change RBAC field names from builtin to is_builtin
3 years ago
grossmj
d65b49acaa
Add user permissions + RBAC tests.
3 years ago
grossmj
fbc47598d9
Basic functional RBAC support.
3 years ago
grossmj
6d4da98b8e
Base API and tables for RBAC support.
3 years ago
grossmj
eb0f8c6174
Save/restore appliances Etag.
3 years ago
grossmj
fffbb08a8e
Catch SQLAlchemyError exception.
3 years ago
grossmj
d759564e20
Require authentication for get_user_memberships endpoint.
3 years ago
grossmj
2bf16f1e5f
Change method to prevent forbidden directory traversal. Ref #1894
3 years ago
grossmj
f3d81fa450
Clean files and catch file path escape. Ref #1894
3 years ago
grossmj
8810249d36
Add user groups support.
3 years ago
grossmj
912fb2ed29
Fix add node from template. Fixes https://github.com/GNS3/gns3-web-ui/issues/1122
3 years ago
grossmj
a795e0d7c1
Add missing CORS origins.
3 years ago
grossmj
d3ace8ff17
Fix user delete endpoint.
3 years ago
grossmj
49be4146d6
Protect controlle notification endpoints. Ref #1888
...
(WebSocket endpoint is not secured, it takes an optional token).
3 years ago
grossmj
dff1ec9bc6
Fix /users/me endpoint.
3 years ago
grossmj
0465cb87f6
Protect the API and add alternative authentication endpoint.
3 years ago
grossmj
e28452f09a
Secure users API and handle manual password recovery.
3 years ago
grossmj
c03226e368
Add default super admin account in controller db.
3 years ago
grossmj
9404c00411
Complete type annotations for API endpoints.
3 years ago
grossmj
cefab8d362
Rename __json__() to asdict()
3 years ago
grossmj
44074ff7c9
Some cleaning.
3 years ago
grossmj
bad3ef7003
Detect the app is exiting and avoid reconnecting to computes.
3 years ago
grossmj
9c850e0f2b
Move schemas between compute and controller subpackages
3 years ago
grossmj
c021e21309
Use black with -l 120 param.
3 years ago
grossmj
f928738bd5
Use pyupgrade with --py36-plus param.
3 years ago
grossmj
a9eb035b7d
Move error responses to API routers.
3 years ago
grossmj
30ebae207f
Use Pydantic to validate the server config file.
3 years ago
grossmj
fa4c9a91ca
Add symbol dimensions endpoint and SSL support for packet capture with remote HTTPS server.
3 years ago
grossmj
566e326b57
Save computes to database
3 years ago
grossmj
91920e5a5b
Fix issue with tests + some cleaning.
3 years ago
grossmj
0fea3f969e
Use aiosqlite and add service for templates
3 years ago
grossmj
d730c591b3
Refactor template management to use database.
3 years ago
grossmj
bde706d19a
Generate JWT secret key if none is configured in the config file.
...
Change location of the database.
4 years ago
grossmj
d47dcb0d6f
User authentication with tests.
4 years ago
grossmj
bf7cf862af
Refactor tests and start work on database integration.
4 years ago
grossmj
ae55c0ec9c
Fix tests.
4 years ago
grossmj
c043830e3f
Move endpoints to routes & preparations to use a database.
4 years ago