mirror of
https://github.com/arcan1s/netctl-gui.git
synced 2025-04-24 15:37:23 +00:00
add getrecommended to wpasup class
This commit is contained in:
parent
529e2dd995
commit
b63d883eb2
@ -91,6 +91,11 @@ public:
|
|||||||
* @return profile name
|
* @return profile name
|
||||||
*/
|
*/
|
||||||
QString existentProfile(const QString essid);
|
QString existentProfile(const QString essid);
|
||||||
|
/**
|
||||||
|
* @brief method which check system configuration and return recommended values to keys
|
||||||
|
* @return recommended parametrs
|
||||||
|
*/
|
||||||
|
static QMap<QString, QString> getRecommendedConfiguration();
|
||||||
/**
|
/**
|
||||||
* @brief method which checks profile status by ESSID
|
* @brief method which checks profile status by ESSID
|
||||||
* @param essid ESSID name
|
* @param essid ESSID name
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
|
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
#include <grp.h>
|
||||||
|
|
||||||
#include "netctlgui.h"
|
#include "netctlgui.h"
|
||||||
#include "pdebug.h"
|
#include "pdebug.h"
|
||||||
@ -104,6 +105,102 @@ QString WpaSup::existentProfile(const QString essid)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @fn getRecommendedConfiguration
|
||||||
|
*/
|
||||||
|
QMap<QString, QString> WpaSup::getRecommendedConfiguration()
|
||||||
|
{
|
||||||
|
QMap<QString, QString> settings;
|
||||||
|
int size = 99;
|
||||||
|
QString cmd;
|
||||||
|
TaskResult process;
|
||||||
|
QStringList recommended;
|
||||||
|
// ctrl directory
|
||||||
|
// nothing to do
|
||||||
|
settings[QString("CTRL_DIR")] = QString("/run/wpa_supplicant_netctl-gui");
|
||||||
|
// ctrl group
|
||||||
|
// check group list and find out 'network', 'users', 'root'
|
||||||
|
settings[QString("CTRL_GROUP")] = QString("");
|
||||||
|
gid_t gtpList[99];
|
||||||
|
int grpSize = getgroups(size, gtpList);
|
||||||
|
recommended.clear();
|
||||||
|
recommended.append("network");
|
||||||
|
recommended.append("users");
|
||||||
|
recommended.append("root");
|
||||||
|
for (int i=0; i<recommended.count(); i++) {
|
||||||
|
for (int j=0; j<grpSize; j++)
|
||||||
|
if (recommended[i] == QString(getgrgid(gtpList[j])->gr_name)) {
|
||||||
|
settings[QString("CTRL_GROUP")] = recommended[i];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!settings[QString("CTRL_GROUP")].isEmpty()) break;
|
||||||
|
}
|
||||||
|
// force sudo
|
||||||
|
// find out helper exe
|
||||||
|
settings[QString("FORCE_SUDO")] = QString("true");
|
||||||
|
recommended.clear();
|
||||||
|
recommended.append(QString("netctlgui-helper"));
|
||||||
|
recommended.append(QString("netctlgui-helper-suid"));
|
||||||
|
for (int i=0; i<recommended.count(); i++) {
|
||||||
|
cmd = QString("which ") + recommended[i];
|
||||||
|
process = runTask(cmd, false);
|
||||||
|
if (process.exitCode == 0) {
|
||||||
|
settings[QString("FORCE_SUDO")] = QString("false");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// pid file
|
||||||
|
// nothing to do
|
||||||
|
settings[QString("PID_FILE")] = QString("/run/wpa_supplicant_netctl-gui.pid");
|
||||||
|
// sudo path
|
||||||
|
// find out sudo, kdesu, gksu exes
|
||||||
|
settings[QString("SUDO_PATH")] = QString("");
|
||||||
|
recommended.clear();
|
||||||
|
recommended.append("sudo");
|
||||||
|
recommended.append("kdesu");
|
||||||
|
recommended.append("gksu");
|
||||||
|
for (int i=0; i<recommended.count(); i++) {
|
||||||
|
cmd = QString("which ") + recommended[i];
|
||||||
|
process = runTask(cmd, false);
|
||||||
|
if (process.exitCode == 0) {
|
||||||
|
settings[QString("SUDO_PATH")] = process.output.trimmed();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// wpa_cli path
|
||||||
|
// find out wpa_cli exe
|
||||||
|
settings[QString("WPACLI_PATH")] = QString("true");
|
||||||
|
recommended.clear();
|
||||||
|
recommended.append("wpa_cli");
|
||||||
|
for (int i=0; i<recommended.count(); i++) {
|
||||||
|
cmd = QString("which ") + recommended[i];
|
||||||
|
process = runTask(cmd, false);
|
||||||
|
if (process.exitCode == 0) {
|
||||||
|
settings[QString("WPACLI_PATH")] = process.output.trimmed();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// wpa drivers
|
||||||
|
// nothing to do
|
||||||
|
settings[QString("WPA_DRIVERS")] = QString("nl80211,wext");
|
||||||
|
// wpa_supplicant path
|
||||||
|
// find out wpa_supplicant exe
|
||||||
|
settings[QString("WPASUP_PATH")] = QString("true");
|
||||||
|
recommended.clear();
|
||||||
|
recommended.append("wpa_supplicant");
|
||||||
|
for (int i=0; i<recommended.count(); i++) {
|
||||||
|
cmd = QString("which ") + recommended[i];
|
||||||
|
process = runTask(cmd, false);
|
||||||
|
if (process.exitCode == 0) {
|
||||||
|
settings[QString("WPASUP_PATH")] = process.output.trimmed();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return settings;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @fn isProfileActive
|
* @fn isProfileActive
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user