Cristi
de1b539fb6
Enhancement Added link type support on the server side
2026-03-17 15:29:58 +02:00
grossmj
0aa6566e50
Prevent router to be duplicated when running and add tests
2026-03-17 12:49:38 +08:00
Jeremy Grossmann
6ac4c27bc1
Merge pull request #2639 from yueguobin/fix/telnet-server-connection-race-condition-3.0
...
Fix/telnet server connection race condition 3.0
2026-03-15 23:01:57 +08:00
Jeremy Grossmann
632b3daab7
Merge pull request #2635 from yueguobin/fix/iou-suspend-405
...
fix(iou): return 405 error for unsupported suspend operation
2026-03-15 22:47:42 +08:00
grossmj
6e7738a14f
Return 405 error for unsupported actions for other node types
2026-03-15 22:38:51 +08:00
Guobin Yue
08b579ff83
Merge branch '3.0' into fix/telnet-server-connection-race-condition-3.0
2026-03-15 01:17:30 +08:00
YueGuobin
e4faf673af
fix(telnet): handle connection race condition during broadcast
...
Fixes two critical issues in telnet server when clients rapidly
connect/disconnect during broadcast operations:
1. **OSError [Errno 107]**: Transport endpoint not connected
- Root cause: getpeername() called outside try block
- Fix: Move getpeername() inside try block and catch OSError
- Expand exception handling to include OSError and TimeoutError
2. **KeyError**: Double deletion from connections dictionary
- Root cause: Connection deleted in broadcast loop, then deleted
again in top-level exception handler
- Fix: Use dict.pop(key, None) instead of del dict[key]
**Changes**:
- Line 216: Add OSError to top-level exception handler
- Line 227-228: Use pop() to avoid KeyError on double deletion
- Line 305-316: Move getpeername() inside try block, expand
exception types, use pop() for safe deletion
**Impact**:
- Prevents unhandled exceptions from propagating to asyncio event loop
- Ensures proper resource cleanup even with race conditions
- No resource leaks or zombie connections
- Long-lived clients unaffected by rapid client disconnects
**Test Script**:
- Added stress test script to reproduce the issue
- Supports IOU-L3, VPCS, and generic device types
- Rapid clients send broadcast-triggering commands (show/run/OSPF)
**Related**: Fixes bug documented in docs/bugs/telnet-server-connection-race-condition.md
2026-03-15 00:19:51 +08:00
Mr.GIitch
302878b391
Merge branch 'GNS3:3.0' into 3.0
2026-03-12 14:44:43 +01:00
grossmj
3abecc8492
Fix IOU tests
2026-03-12 14:18:35 +08:00
grossmj
27ce1a4e25
Merge remote-tracking branch 'origin/2.2' into 3.0
...
# Conflicts:
# gns3server/schemas/iou_template.py
# tests/handlers/api/compute/test_iou.py
# tests/handlers/api/controller/test_template.py
2026-03-12 14:11:05 +08:00
UmmmAGoodName
4a45a68703
Changed errors to new type, was causing warnings
2026-03-11 18:48:36 +01:00
grossmj
0624c1b945
Deactivate 'use default IOU values' by default and update RAM/NVRAM values
2026-03-10 20:28:00 +08:00
grossmj
4606613673
Fix image handling
2026-03-05 12:38:28 +08:00
grossmj
8b245c96f8
Qemu VMs: only compute MD5 checksums for existing disks
2026-03-04 18:54:52 +08:00
Mark Paronyan
c48c89d309
tests(compute): test compute works with disabled auth
2026-03-03 00:30:00 +03:00
grossmj
47a7324eb5
Fix tests
2026-02-25 19:00:57 +08:00
grossmj
4d35477e46
Add/fix tests
2026-02-23 23:27:36 +08:00
grossmj
be4b87e8cd
Update project schema and fix tests
2026-02-22 18:13:08 +08:00
Felix Schulz
8ab34924b5
Add 'created_by' field to track project creator
2026-02-21 22:15:21 +01:00
grossmj
5e3ca29c58
Fix updating packet filters
2026-02-21 21:42:22 +08:00
grossmj
c5b9f379fe
Merge remote-tracking branch 'origin/2.2' into 3.0
...
# Conflicts:
# Dockerfile
# dev-requirements.txt
# gns3server/compute/qemu/qemu_vm.py
# gns3server/version.py
# requirements.txt
2026-02-20 16:28:53 +08:00
grossmj
715b7032bc
Fix tests
2026-02-20 15:51:49 +08:00
grossmj
abaeab6242
Upgrade greenlet and sqlalchemy dependencies
2026-01-26 19:50:42 +08:00
grossmj
1d45df6613
Upgrade dependencies
2026-01-24 21:38:58 +08:00
grossmj
60c10e7ecc
Merge remote-tracking branch 'origin/2.2' into 3.0
...
# Conflicts:
# .github/workflows/testing.yml
# CHANGELOG
# README.md
# gns3server/appliances/infix.gns3a
# gns3server/compute/docker/__init__.py
# gns3server/compute/docker/docker_vm.py
# gns3server/crash_report.py
# gns3server/version.py
# gns3server/web/web_server.py
# setup.py
# tests/controller/test_project.py
2025-11-29 11:42:02 +10:00
grossmj
f2aaf5ab38
Docker API version requirements and process to handle older daemons
2025-11-17 22:26:18 +10:00
grossmj
942f021b58
Fix test_config.py
2025-11-17 11:26:06 +10:00
grossmj
bae6221991
Set name of container in Docker
2025-11-17 10:59:05 +10:00
grossmj
c67ba6da0d
Fix config tests
2025-11-17 10:21:12 +10:00
grossmj
4d23ca221f
Comment out some tests in test_project.py
2025-11-16 20:52:14 +10:00
grossmj
232b9c2806
Fix tests
2025-05-25 17:35:45 +02:00
grossmj
2bf3eff143
Remove debug message in tests
2025-05-13 20:47:38 +02:00
grossmj
2b96e54629
Fix tests and require Qemu version >= 2.4
2025-04-30 13:38:52 +07:00
grossmj
d9dcc2738d
Merge remote-tracking branch 'origin/2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# Dockerfile
# README.md
# gns3server/appliances/infix.gns3a
# gns3server/compute/docker/docker_vm.py
# gns3server/compute/qemu/qemu_vm.py
# gns3server/controller/gns3vm/virtualbox_gns3_vm.py
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.9bcf455e62558dedfd48.js
# gns3server/version.py
2025-04-21 20:13:31 +07:00
grossmj
2b7eb91694
Add edk2-stable202502 UEFI firmwares and try to first use firmwares from the ovmf package if installed. Fixes #2494
2025-04-18 17:13:29 +07:00
grossmj
90cf73e434
Fix tests
2025-04-18 13:38:01 +07:00
grossmj
5019167098
Fix interface information API endpoint for Cloud/NAT devices
2025-04-16 15:26:56 +07:00
Mark Paronyan
f21887dbab
tests(get_iface): add unittests
2025-03-23 14:28:58 +00:00
grossmj
ba4e0c945d
Refactor tests and upgrade dev package requirements
2025-01-17 19:12:44 +10:00
grossmj
8e96c4c2e8
Refactor command line arguments parsing
2025-01-17 07:57:42 +07:00
grossmj
08693871ae
Support to create templates based on image checksums.
2025-01-03 21:35:14 +07:00
grossmj
ac4c5f5985
Improve tests for pruning images
2025-01-03 19:56:41 +07:00
grossmj
e17a79e261
Fix tests
2025-01-02 23:17:55 +07:00
grossmj
4758431c76
Improvements for built-in disks
...
* Checksum is updated in the database for updated disks.
* It is not possible to prune them.
2025-01-02 23:10:51 +07:00
grossmj
82779d816f
Use watchdog instead of watchfiles to monitor for new images on the file system
2024-12-31 17:19:32 +07:00
grossmj
ccc8974d92
Fix tests
2024-12-30 16:14:33 +07:00
grossmj
9d6cea665a
Replace python-jose library by joserfc
2024-12-30 15:25:24 +07:00
grossmj
9492fd0671
Fix tests
2024-12-22 22:34:23 +07:00
grossmj
a792792128
Remove debug message
2024-12-19 17:09:00 +07:00
grossmj
eca502c49c
Do not test authentication on docs endpoints
2024-12-19 17:04:00 +07:00