bpo-33542: Ignore DUID in uuid.get_node on Windows. (GH-6922)
uuid._ipconfig_getnode did not validate the maximum length of the value,
so long as the value had the same type of formatting as a MAC address.
This let it select DUIDs as MAC addresses. It now requires an exact
length match.
(cherry picked from commit c66c342cb4
)
Co-authored-by: CtrlZvi <viz+github@flippedperspective.com>
This commit is contained in:
parent
736e3b3219
commit
073eca39a5
|
@ -488,7 +488,7 @@ def _ipconfig_getnode():
|
||||||
with proc:
|
with proc:
|
||||||
for line in proc.stdout:
|
for line in proc.stdout:
|
||||||
value = line.split(':')[-1].strip().lower()
|
value = line.split(':')[-1].strip().lower()
|
||||||
if re.match('([0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value):
|
if re.fullmatch('(?:[0-9a-f][0-9a-f]-){5}[0-9a-f][0-9a-f]', value):
|
||||||
mac = int(value.replace('-', ''), 16)
|
mac = int(value.replace('-', ''), 16)
|
||||||
if _is_universal(mac):
|
if _is_universal(mac):
|
||||||
return mac
|
return mac
|
||||||
|
|
|
@ -426,6 +426,7 @@ Ulrich Eckhardt
|
||||||
David Edelsohn
|
David Edelsohn
|
||||||
John Edmonds
|
John Edmonds
|
||||||
Grant Edwards
|
Grant Edwards
|
||||||
|
Zvi Effron
|
||||||
John Ehresman
|
John Ehresman
|
||||||
Tal Einat
|
Tal Einat
|
||||||
Eric Eisner
|
Eric Eisner
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
Prevent ``uuid.get_node`` from using a DUID instead of a MAC on Windows.
|
||||||
|
Patch by Zvi Effron
|
Loading…
Reference in New Issue