Compare commits
5 Commits
Author | SHA1 | Date |
---|---|---|
|
719cfff000 | |
|
c6207a3dee | |
|
d34d3b7a66 | |
|
2c3d256d30 | |
|
65c739eff6 |
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [1.1.3] - 2025-08-08
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fix parsing of the output of '/bin/ip -json'
|
||||
|
||||
## [1.1.2] - 2025-07-31
|
||||
|
||||
### Changed
|
||||
|
||||
- Try several encodings on hivexregedit output
|
||||
|
||||
## [1.1.1] - 2025-07-29
|
||||
|
||||
### Fixed
|
||||
|
|
|
@ -266,8 +266,16 @@ def ogListSoftware (disk, par):
|
|||
if shutil.which ('hivexregedit'):
|
||||
hive = RegistryLib.ogGetHivePath (mntdir, 'software')
|
||||
if hive:
|
||||
cmd1_out = subprocess.run (['hivexregedit', '--unsafe-printable-strings', '--export', hive, r'\Microsoft\Windows\CurrentVersion\Uninstall'], capture_output=True, text=True, encoding='utf-16le').stdout
|
||||
cmd1_out += subprocess.run (['hivexregedit', '--unsafe-printable-strings', '--export', hive, r'\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall'], capture_output=True, text=True, encoding='utf-16le').stdout
|
||||
cmd1_out_bytes = subprocess.run (['hivexregedit', '--unsafe-printable-strings', '--export', hive, r'\Microsoft\Windows\CurrentVersion\Uninstall'], capture_output=True).stdout
|
||||
cmd1_out_bytes += subprocess.run (['hivexregedit', '--unsafe-printable-strings', '--export', hive, r'\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall'], capture_output=True).stdout
|
||||
try:
|
||||
cmd1_out = cmd1_out_bytes.decode ('utf-16le')
|
||||
except:
|
||||
try:
|
||||
cmd1_out = cmd1_out_bytes.decode ('utf-8')
|
||||
except:
|
||||
cmd1_out = cmd1_out_bytes.decode ('latin1')
|
||||
|
||||
out = name = ''
|
||||
for l in cmd1_out.splitlines():
|
||||
words = l.split ('"')
|
||||
|
|
|
@ -241,6 +241,8 @@ def _clientip():
|
|||
ipasj = json.loads (ipas)
|
||||
addresses = []
|
||||
for e in ipasj:
|
||||
if not isinstance(e, dict): continue
|
||||
if 'ifname' not in e: continue
|
||||
if 'lo' == e['ifname']: continue
|
||||
if 'addr_info' not in e: continue
|
||||
addrs = e['addr_info']
|
||||
|
|
Loading…
Reference in New Issue