summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonathan Bauer2011-03-24 12:46:12 +0100
committerJonathan Bauer2011-03-24 12:46:12 +0100
commit3cae0346ee87f9dd318d49cec7544faaec4f266a (patch)
treeb34193974db78c6e8aff4e5dbc4fff8e84989115 /src
parentcleanups.... (diff)
downloadfbgui-3cae0346ee87f9dd318d49cec7544faaec4f266a.tar.gz
fbgui-3cae0346ee87f9dd318d49cec7544faaec4f266a.tar.xz
fbgui-3cae0346ee87f9dd318d49cec7544faaec4f266a.zip
md5 hash of eth0 mac + ip for hardwarehash tests, completed POST data building
Diffstat (limited to 'src')
-rw-r--r--src/fbgui.cpp61
-rw-r--r--src/fbgui.h1
2 files changed, 37 insertions, 25 deletions
diff --git a/src/fbgui.cpp b/src/fbgui.cpp
index 66e5670..fe7d4e2 100644
--- a/src/fbgui.cpp
+++ b/src/fbgui.cpp
@@ -135,10 +135,36 @@ void fbgui::checkForTrigger(const QString& dirname)
}
//-------------------------------------------------------------------------------------------
void fbgui::loadURL(){
- // TODO actual data...
- // PBS POST data tests
- QNetworkRequest req(baseURL);
- QByteArray postData("mac=d8:d3:85:80:81:8b&hardwarehash=12341234123412341234123412341234&bootisoID=1&serial=");
+ // load if host is valid
+ if (checkHost()){
+ qxtLog->debug() << "Loading URL...";
+ QByteArray postData = generatePOSTData();
+ qxtLog->debug() << "POST data: " << postData;
+ QNetworkRequest req(baseURL);
+ _webView->load(req, QNetworkAccessManager::PostOperation, postData);
+ }
+}
+//-------------------------------------------------------------------------------------------
+bool fbgui::checkHost() const
+{
+ QHostInfo hostInfo = QHostInfo::fromName(baseURL.host());
+ if (hostInfo.error() != QHostInfo::NoError){
+ qxtLog->debug() << "Lookup of " << baseURL.host() << "failed. Exiting...";
+ return false;
+ }
+ else{
+ qxtLog->debug() << "Lookup of " << baseURL.host() << " succeeded.";
+ return true;
+ }
+}
+//-------------------------------------------------------------------------------------------
+QByteArray fbgui::generatePOSTData(){
+ // hash testing
+ SysInfo si;
+ QByteArray data(si.getInfo("mac").toUtf8() + "|" + si.getInfo("ip").toUtf8());
+ qxtLog->debug() << "Hashing: " << data;
+ QByteArray hash = QCryptographicHash::hash(data, QCryptographicHash::Md5);
+ qxtLog->debug() << "MD5 Hash: " << hash.toHex();
// fetch serial number from usb rootfs
QByteArray serial;
@@ -161,27 +187,12 @@ void fbgui::loadURL(){
serial.chop(1);
qxtLog->debug() << "Serial number is: " << serial;
- postData.append(serial);
-
- // load if host is valid
- if (checkHost()){
- qxtLog->debug() << "Loading URL...";
- qxtLog->debug() << "POST data: " << postData;
- _webView->load(req, QNetworkAccessManager::PostOperation, postData);
- }
-}
-//-------------------------------------------------------------------------------------------
-bool fbgui::checkHost() const
-{
- QHostInfo hostInfo = QHostInfo::fromName(baseURL.host());
- if (hostInfo.error() != QHostInfo::NoError){
- qxtLog->debug() << "Lookup of " << baseURL.host() << "failed. Exiting...";
- return false;
- }
- else{
- qxtLog->debug() << "Lookup of " << baseURL.host() << " succeeded.";
- return true;
- }
+ // construct final byte array
+ QByteArray postData("bootisoID=1");
+ postData.append("&mac=" + si.getInfo("mac"));
+ postData.append("&hardwarehash=" + hash.toHex());
+ postData.append("&serial=" + serial);
+ return postData;
}
//-------------------------------------------------------------------------------------------
void fbgui::setupDebugSplit()
diff --git a/src/fbgui.h b/src/fbgui.h
index 6350ee2..f710fb6 100644
--- a/src/fbgui.h
+++ b/src/fbgui.h
@@ -59,6 +59,7 @@ private:
void watchForTrigger();
bool checkHost() const;
void loadURL();
+ QByteArray generatePOSTData();
// widgets constituing the gui
QWebView* _webView;