Merge pull request #123 from ghostbsd/devd
Improve devd scripts and bump version to 6.8
Add PIPE to subprocess.run in link-up.py for stdout capture
- Updated subprocess.run with `stdout=PIPE` for capturing output
- Removed unnecessary `close_fds` parameter (default True in Python 3)
Improve devd scripts and bump version to 6.8
- Replace Popen with subprocess.run() for cleaner code and better resource handling across all devd scripts
- Use proper raw string prefix (r"") for regex patterns
- Remove deprecated close_fds parameter (default True in Python 3)
- Change devd priority from 100 to 5 for faster event handling
auto-switch.py:
- Create marker file /tmp/link-down-{nic} for coordination with link-up.py
- Replace os.system() calls with subprocess.run()
link-up.py:
- Simplify logic using marker file from auto-switch.py
- Remove complex /tmp/network-{nic} state tracking
- Use explicit service calls instead of shell command strings
setup-nic.py:
- Use sysrc command instead of manual rc.conf file writing
- Fix wlan configuration logic to check wlans_{nic} only once
- Use appropriate pccard_ether action (startchildren for WiFi, start forEthernet)
Merge pull request #121 from Kernel-Error/feature/ipv6-support
Add IPv6 configuration support
Fix ipv6_defaultrouter regex to properly match interface suffix
Address code review feedback
- Fix ipv6_defaultrouter regex to match link-local with interface suffix
- Fix enable_slaac docstring to match actual behavior
- Fix get_ipv6_addresses docstring (returns all addresses, not filtered)
Add IPv6 configuration support
Implement IPv6 support in the Network Configuration dialog:
- Add SLAAC (Stateless Address Autoconfiguration) support
- Add static IPv6 address configuration
- Add IPv6 gateway configuration (with link-local address support)
- Add IPv6 DNS server configuration
- Fix existing GUI bugs (labels, connect handlers)
New functions in net_api.py:
- start_static_ipv6_network()
- enable_slaac() / disable_slaac()
- get_ipv6_addresses()
- has_slaac_enabled()
- get_ipv6_gateway()
New function in query.py:
- get_interface_settings_ipv6()
[4 lines not shown]Merge pull request #119 from Kernel-Error/feature/enterprise-wpa-support
Add Enterprise WPA (802.1X/EAP) support
Update docs/TESTING_ENTERPRISE_WPA.md
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Address code review feedback
- Add input escaping for wpa_supplicant.conf values (security)
- Use context manager and error handling for config file reads
- Fix i18n strings to use %s interpolation instead of f-strings
- Fix test expectation for bare RSN classification
Fix caps_string index bug causing PSK to be detected as WEP
The setup_wpa_supplicant function was using index 6 (short CAPS like
"EPS") instead of index 7 (full caps_string like "RSN HTCAP WME...").
Since "EPS" doesn't contain 'RSN' or 'WPA', networks were incorrectly
falling through to WEP configuration, causing authentication failures.
Improve enterprise network detection heuristic for FreeBSD
FreeBSD ifconfig scan doesn't distinguish PSK from EAP explicitly.
Use heuristic: RSN without WPS and without typical consumer router
features (HTCAP, VHTCAP, ATH, WME) suggests enterprise AP.
Fix enterprise detection: check correct index (9) for enterprise flag
Fix KeyError when WireGuard directory does not exist
Add Enterprise WPA (802.1X/EAP) support
- Add detection of enterprise networks in scan results
- Implement EnterpriseAuthentication dialog with support for:
- EAP methods: PEAP, TTLS, TLS, LEAP, FAST, PWD
- Phase 2 authentication: MSCHAPV2, GTC, PAP, CHAP, MD5
- CA certificate selection
- Client certificate/key for TLS
- Anonymous identity support
- Generate proper wpa_supplicant.conf blocks for EAP
- Add certificate validation helpers
- Fix security issue: wpa_supplicant.conf permissions (0o765 -> 0o600)
- Add unit tests for enterprise WPA functions
- Add FreeRADIUS test setup documentation
Addresses: ghostbsd/networkmgr#24
Merge pull request #117 from ykla/patch-1
Update Simplified Chinese translation
Merge pull request #116 from MatthiasLanter/master
Add basic WireGuard functions
suggestion (bug_risk): File handle 'content' is not closed after reading.
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Revised version, checked with Pylint
Wireguard menu entries only if configuration exists and Wireguard service is stopped
Update Simplified Chinese translation
Use f-string instead of string concatenation
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Add basic WireGuard functions to connect and disconnect tunnel based on WireGuard configurations
Merge pull request #115 from ghostbsd/fix-il8n
Remove legacy translation files and scripts; add new PO files for translations
Remove legacy translation files and scripts; add new PO files for translations
Update setup.py
Merge pull request #113 from ghostbsd/ericbsd-patch-1
Delete .github/FUNDING.yml
Delete .github/FUNDING.yml
Merge pull request #111 from ykla/master
Added translation for Simplified Chinese
zh_CN.po: Wifi--->WIFI
Added translation for Simplified Chinese