9 Commits

Author SHA1 Message Date
YueGuobin
702fc1f6d9
fix: never allow the projects directory to become a project directory
Loading a .gns3 placed directly in the projects root registered the
shared projects directory as the project path (load_project derives
the path from the file's parent directory). Deleting such an entry ran
rmtree on the projects directory itself, wiping every project until a
root-owned file stopped it, and left a zombie entry in the controller.

Three layers of protection:

- Controller.load_project() refuses a .gns3 whose parent directory is
  the projects directory; the normal subdirectory layout is unaffected
- the Project.path setter rejects the projects directory itself and
  its ancestors, closing the same hole for POST/PUT with an explicit
  path
- Project.delete() uses realpath + commonpath instead of commonprefix:
  entries whose path is the projects root are refused, and sibling
  directories sharing a string prefix (/srv/projects-evil vs
  /srv/projects) are no longer treated as inside the projects dir

Also removes the project_load MCP tool: loading by raw server
filesystem path is a footgun for automated clients; projects can still
be opened by project_id via the remaining tools.
2026-08-25 13:17:37 +08:00
grossmj
900d4f79ee "Local" command line parameter is only for stopping
a server that has been started by the desktop GUI
2022-03-30 18:38:34 +08:00
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj
d3ea67da24 Refactor tests
* Use pytest-aiohttp
* Use the async def / await syntax.
* Fix tests to run with Python 3.8
2020-06-16 13:59:03 +09:30
ziajka
b0783eeccc Load meta of the project on loading time (Fixes #2225) 2017-08-22 09:36:52 +02:00
Julien Duponchelle
d112da400e
Remove use_ubridge flag
Ref #1115
2017-07-11 13:58:59 +02:00
Julien Duponchelle
e892e5dfab
Manage base configuration on server
Fix #786
2017-02-03 13:19:14 +01:00
Julien Duponchelle
5ae456d6e2
Avoid to corrupt project in case of error during loading
Fix #651
2016-09-05 17:40:35 +02:00
Julien Duponchelle
3ce3f925ae
Fix creation of link when reloading a project
Fix https://github.com/GNS3/gns3-gui/issues/1457
2016-09-02 14:39:38 +02:00