Review Request 124747: Fix random MAC generation on Wired/WiFi

Lamarque Souza lamarque at kde.org
Sat Aug 15 22:19:14 UTC 2015



> On Aug. 15, 2015, 6:53 p.m., Lamarque Souza wrote:
> > libs/editor/settings/wificonnectionwidget.cpp, line 133
> > <https://git.reviewboard.kde.org/r/124747/diff/1/?file=394828#file394828line133>
> >
> >     You can use:
> >     
> >     mac[0] &= ~0x1;
> >     mac[0] |= 0x2;
> >     
> >     It is more common to specify bits in hexadecimal than decimal. I know, in this particular case they use the same digits.
> 
> Boudhayan Gupta wrote:
>     I'll fix it to use hex, but using the &= and |= shorthand gives a very weird build error:
>     
>     ```
>     /home/bg14ina/Projects/plasma-nm/libs/editor/settings/wificonnectionwidget.cpp: In member function ‘void WifiConnectionWidget::generateRandomClonedMac()’:
>     /home/bg14ina/Projects/plasma-nm/libs/editor/settings/wificonnectionwidget.cpp:133:12: error: no match for ‘operator&=’ (operand types are ‘QByteRef’ and ‘int’)
>          mac[0] &= ~1;
>                 ^
>     /home/bg14ina/Projects/plasma-nm/libs/editor/settings/wificonnectionwidget.cpp:134:12: error: no match for ‘operator|=’ (operand types are ‘QByteRef’ and ‘int’)
>          mac[0] |= 2;
>                 ^
>     In file included from /usr/include/qt/QtCore/QtCore:48:0,
>                      from /usr/include/qt/QtDBus/QtDBusDepends:3,
>                      from /usr/include/qt/QtDBus/QtDBus:3,
>                      from /usr/include/KF5/ModemManagerQt/generictypes.h:30,
>                      from /usr/include/KF5/ModemManagerQt/bearer.h:30,
>                      from /usr/include/KF5/ModemManagerQt/modem.h:37,
>                      from /home/bg14ina/Projects/plasma-nm/libs/uiutils.h:41,
>                      from /home/bg14ina/Projects/plasma-nm/libs/editor/settings/wificonnectionwidget.cpp:28:
>     /usr/include/qt/QtCore/qurl.h:377:33: note: candidate: QUrl::FormattingOptions& operator|=(QUrl::FormattingOptions&, QUrl::ComponentFormattingOptions)
>      inline QUrl::FormattingOptions &operator|=(QUrl::FormattingOptions &i, QUrl::ComponentFormattingOptions f)
>                                      ^
>     /usr/include/qt/QtCore/qurl.h:377:33: note:   no known conversion for argument 1 from ‘QByteRef’ to ‘QUrl::FormattingOptions& {aka QUrlTwoFlags<QUrl::UrlFormattingOption, QUrl::ComponentFormattingOption>&}’
>     ```

Ok, let's use the old version then. Do you have a developer account or do you need me to push this patch for you?


- Lamarque


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124747/#review83839
-----------------------------------------------------------


On Aug. 15, 2015, 7:03 p.m., Boudhayan Gupta wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124747/
> -----------------------------------------------------------
> 
> (Updated Aug. 15, 2015, 7:03 p.m.)
> 
> 
> Review request for Network Management.
> 
> 
> Repository: plasma-nm
> 
> 
> Description
> -------
> 
> Randomly generated MAC addresses aren't truly random; they should have an even first octet (LSB set to 0) to signify that this is an Unicast address, and the second least-significant-bit should be set to 1 to specify that it is a locally administered MAC, not a globally enforced one.
> 
> Setting the Multicast bit (current behaviour half the time) will result in the kernel refusing to set the randomly generated MAC address, with a small entry in Journalctl/Syslog:
> 
> [platform/nm-linux-platform.c:2782] do_change_link(): platform-linux: do-change-link: failure changing link 3: Invalid address for specified address family (19)
> 
> This small patch fixes random MAC generation for both Wired and WiFi connections
> 
> 
> Diffs
> -----
> 
>   libs/editor/settings/wificonnectionwidget.cpp d22fda0 
>   libs/editor/settings/wiredconnectionwidget.cpp 80523ef 
> 
> Diff: https://git.reviewboard.kde.org/r/124747/diff/
> 
> 
> Testing
> -------
> 
> Builds, correctly generates random MACs with last two bits of first octet set to 10, saves said MAC.
> 
> 
> Thanks,
> 
> Boudhayan Gupta
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-networkmanager/attachments/20150815/23a162c5/attachment-0001.html>


More information about the kde-networkmanager mailing list