Skip to content

Commit

Permalink
Implement MAC address randomization
Browse files Browse the repository at this point in the history
  • Loading branch information
Cacodemon345 committed Jan 29, 2024
1 parent c8c1b0d commit ff97ccb
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
3 changes: 1 addition & 2 deletions src/device.c
Original file line number Diff line number Diff line change
Expand Up @@ -450,8 +450,7 @@ device_has_config(const device_t *dev)
config = dev->config;

while (config->type != -1) {
if (config->type != CONFIG_MAC)
c++;
c++;
config++;
}

Expand Down
17 changes: 14 additions & 3 deletions src/qt/qt_deviceconfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ extern "C" {
#include <86box/device.h>
#include <86box/midi_rtmidi.h>
#include <86box/mem.h>
#include <86box/random.h>
#include <86box/rom.h>
}

Expand Down Expand Up @@ -261,17 +262,27 @@ DeviceConfig::ConfigureDevice(const _device_ *device, int instance, Settings *se
break;
}
case CONFIG_STRING:
case CONFIG_MAC:
{
auto lineEdit = new QLineEdit;
if (config->type == CONFIG_MAC)
lineEdit->setInputMask("HH:HH:HH;0");
lineEdit->setObjectName(config->name);
lineEdit->setCursor(Qt::IBeamCursor);
lineEdit->setText(config_get_string(device_context.name, const_cast<char *>(config->name), const_cast<char *>(config->default_string)));
dc.ui->formLayout->addRow(config->description, lineEdit);
break;
}
case CONFIG_MAC:
{
auto lineEdit = new QLineEdit;
lineEdit->setInputMask("HH:HH:HH;0");
lineEdit->setObjectName(config->name);
lineEdit->setCursor(Qt::IBeamCursor);
if (config_get_mac(device_context.name, const_cast<char *>(config->name), config->default_int) & 0xFF000000) {
lineEdit->setText(QString::asprintf("%02X:%02X:%02X", random_generate(), random_generate(), random_generate()));
} else
lineEdit->setText(config_get_string(device_context.name, const_cast<char *>(config->name), const_cast<char *>(config->default_string)));
dc.ui->formLayout->addRow(config->description, lineEdit);
break;
}
case CONFIG_SERPORT:
{
auto *cbox = new QComboBox();
Expand Down

0 comments on commit ff97ccb

Please sign in to comment.