author | andyq <andyq> | 2002-11-10 15:34:59 (UTC) |
---|---|---|
committer | andyq <andyq> | 2002-11-10 15:34:59 (UTC) |
commit | 6d3fd69b7f14971d837e4fd13084bb978592a752 (patch) (side-by-side diff) | |
tree | 9c11d7be738bc147215af59654c9ab1f51ddcf10 | |
parent | 804e08f4642353af836bab921d8f732709051de0 (diff) | |
download | opie-6d3fd69b7f14971d837e4fd13084bb978592a752.zip opie-6d3fd69b7f14971d837e4fd13084bb978592a752.tar.gz opie-6d3fd69b7f14971d837e4fd13084bb978592a752.tar.bz2 |
Added braces round key checking if statement to fix bug that WEP settings
were never saved if WEP was enabled
-rw-r--r-- | noncore/net/networksetup/wlan/wlanimp.cpp | 3 | ||||
-rw-r--r-- | noncore/settings/networksettings/wlan/wlanimp.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/noncore/net/networksetup/wlan/wlanimp.cpp b/noncore/net/networksetup/wlan/wlanimp.cpp index d4b4af9..e64a633 100644 --- a/noncore/net/networksetup/wlan/wlanimp.cpp +++ b/noncore/net/networksetup/wlan/wlanimp.cpp @@ -107,126 +107,129 @@ void WLANImp::parseSettingFile(){ } s = line.find("[3]"); if(s != -1){ keyLineEdit2->setText(line.mid(0, s)); line = line.mid(s+3, line.length()); } s = line.find("[4]"); if(s != -1){ keyLineEdit3->setText(line.mid(0, s)); line = line.mid(s+3, line.length()); } if(line.contains("key [1]")) keyRadio0->setChecked(true); if(line.contains("key [2]")) keyRadio1->setChecked(true); if(line.contains("key [3]")) keyRadio2->setChecked(true); if(line.contains("key [4]")) keyRadio3->setChecked(true); if(line.contains("open")){ authOpen->setChecked(true); authShared->setChecked(false); } else{ authOpen->setChecked(false); authShared->setChecked(true); } } if(line.contains("CHANNEL=")){ networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt()); } } } } /** * Saves settings to the wireless.opts file using the current profile */ void WLANImp::changeAndSaveSettingFile(){ QString wlanFile = WIRELESS_OPTS; QFile::remove(wlanFile); QFile file(wlanFile); if (!file.open(IO_ReadWrite)){ qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1()); return; } QTextStream stream( &file ); bool foundCase = false; bool found = false; bool output = true; for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) { QString line = (*it).simplifyWhiteSpace(); if(line.contains("case")) foundCase = true; // See if we found our scheme to write or the sceme couldn't be found if((foundCase && line.contains("esac") && !found) || (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')){ // write out scheme found = true; output = false; if(!line.contains("esac")) stream << line << "\n"; stream << "\tESSID=" << (essNon->isChecked() == true ? QString("any") : essSpecificLineEdit->text()) << '\n'; stream << "\tMODE=" << (networkInfrastructure->isChecked() == true ? "Managed" : "AdHoc") << '\n'; if(!wepEnabled->isChecked()) stream << "#"; stream << "\tKEY="; stream << keyLineEdit0->text() << " [1]"; stream << keyLineEdit1->text() << " [2]"; stream << keyLineEdit2->text() << " [3]"; stream << keyLineEdit3->text() << " [4]"; stream << " key ["; if(keyRadio0->isChecked()) stream << "1]"; if(keyRadio1->isChecked()) stream << "2]"; if(keyRadio2->isChecked()) stream << "3]"; if(keyRadio3->isChecked()) stream << "4]"; if(authOpen->isChecked()) stream << " open"; stream << "\n"; stream << "\tCHANNEL=" << networkChannel->value() << "\n"; stream << "\tRATE=auto\n"; if(line.contains("esac")) stream << line << "\n"; } if(line.contains(";;")) output = true; if(output) stream << (*it) << '\n'; } file.close(); } /** * Check to see if the current config is valid * Save wireless.opts, save interfaces */ void WLANImp::accept(){ + printf( "Accept pressed\n" ); if(wepEnabled->isChecked()){ if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) + { QMessageBox::information(this, "", "Please enter a key for WEP.", QMessageBox::Ok); return; } + } // Ok settings are good here, save changeAndSaveSettingFile(); // Try to save the interfaces settings. if(!interfaceSetup->saveChanges()) return; // Restart the device now that the settings have changed QString initpath; if( QDir("/etc/rc.d/init.d").exists() ) initpath = "/etc/rc.d/init.d"; else if( QDir("/etc/init.d").exists() ) initpath = "/etc/init.d"; if( initpath ) system(QString("%1/pcmcia stop").arg(initpath)); if( initpath ) system(QString("%1/pcmcia start").arg(initpath)); // Close out the dialog QDialog::accept(); } // wlanimp.cpp diff --git a/noncore/settings/networksettings/wlan/wlanimp.cpp b/noncore/settings/networksettings/wlan/wlanimp.cpp index d4b4af9..e64a633 100644 --- a/noncore/settings/networksettings/wlan/wlanimp.cpp +++ b/noncore/settings/networksettings/wlan/wlanimp.cpp @@ -107,126 +107,129 @@ void WLANImp::parseSettingFile(){ } s = line.find("[3]"); if(s != -1){ keyLineEdit2->setText(line.mid(0, s)); line = line.mid(s+3, line.length()); } s = line.find("[4]"); if(s != -1){ keyLineEdit3->setText(line.mid(0, s)); line = line.mid(s+3, line.length()); } if(line.contains("key [1]")) keyRadio0->setChecked(true); if(line.contains("key [2]")) keyRadio1->setChecked(true); if(line.contains("key [3]")) keyRadio2->setChecked(true); if(line.contains("key [4]")) keyRadio3->setChecked(true); if(line.contains("open")){ authOpen->setChecked(true); authShared->setChecked(false); } else{ authOpen->setChecked(false); authShared->setChecked(true); } } if(line.contains("CHANNEL=")){ networkChannel->setValue(line.mid(line.find("CHANNEL=")+8, line.length()).toInt()); } } } } /** * Saves settings to the wireless.opts file using the current profile */ void WLANImp::changeAndSaveSettingFile(){ QString wlanFile = WIRELESS_OPTS; QFile::remove(wlanFile); QFile file(wlanFile); if (!file.open(IO_ReadWrite)){ qDebug(QString("WLANImp::changeAndSaveSettingFile(): Can't open file: %1 for writing.").arg(wlanFile).latin1()); return; } QTextStream stream( &file ); bool foundCase = false; bool found = false; bool output = true; for ( QStringList::Iterator it = settingsFileText.begin(); it != settingsFileText.end(); ++it ) { QString line = (*it).simplifyWhiteSpace(); if(line.contains("case")) foundCase = true; // See if we found our scheme to write or the sceme couldn't be found if((foundCase && line.contains("esac") && !found) || (foundCase && line.left(currentProfile.length()+7) == currentProfile + ",*,*,*)" && line.at(0) != '#')){ // write out scheme found = true; output = false; if(!line.contains("esac")) stream << line << "\n"; stream << "\tESSID=" << (essNon->isChecked() == true ? QString("any") : essSpecificLineEdit->text()) << '\n'; stream << "\tMODE=" << (networkInfrastructure->isChecked() == true ? "Managed" : "AdHoc") << '\n'; if(!wepEnabled->isChecked()) stream << "#"; stream << "\tKEY="; stream << keyLineEdit0->text() << " [1]"; stream << keyLineEdit1->text() << " [2]"; stream << keyLineEdit2->text() << " [3]"; stream << keyLineEdit3->text() << " [4]"; stream << " key ["; if(keyRadio0->isChecked()) stream << "1]"; if(keyRadio1->isChecked()) stream << "2]"; if(keyRadio2->isChecked()) stream << "3]"; if(keyRadio3->isChecked()) stream << "4]"; if(authOpen->isChecked()) stream << " open"; stream << "\n"; stream << "\tCHANNEL=" << networkChannel->value() << "\n"; stream << "\tRATE=auto\n"; if(line.contains("esac")) stream << line << "\n"; } if(line.contains(";;")) output = true; if(output) stream << (*it) << '\n'; } file.close(); } /** * Check to see if the current config is valid * Save wireless.opts, save interfaces */ void WLANImp::accept(){ + printf( "Accept pressed\n" ); if(wepEnabled->isChecked()){ if(keyLineEdit0->text().isEmpty() && keyLineEdit1->text().isEmpty() && keyLineEdit2->text().isEmpty() && keyLineEdit3->text().isEmpty() ) + { QMessageBox::information(this, "", "Please enter a key for WEP.", QMessageBox::Ok); return; } + } // Ok settings are good here, save changeAndSaveSettingFile(); // Try to save the interfaces settings. if(!interfaceSetup->saveChanges()) return; // Restart the device now that the settings have changed QString initpath; if( QDir("/etc/rc.d/init.d").exists() ) initpath = "/etc/rc.d/init.d"; else if( QDir("/etc/init.d").exists() ) initpath = "/etc/init.d"; if( initpath ) system(QString("%1/pcmcia stop").arg(initpath)); if( initpath ) system(QString("%1/pcmcia start").arg(initpath)); // Close out the dialog QDialog::accept(); } // wlanimp.cpp |