summaryrefslogtreecommitdiff
path: root/core
Unidiff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/transferserver.cpp14
-rw-r--r--core/settings/security/security.cpp33
-rw-r--r--core/settings/security/security.h1
-rw-r--r--core/settings/security/securitybase.ui34
4 files changed, 77 insertions, 5 deletions
diff --git a/core/launcher/transferserver.cpp b/core/launcher/transferserver.cpp
index 439e110..eea9f3a 100644
--- a/core/launcher/transferserver.cpp
+++ b/core/launcher/transferserver.cpp
@@ -194,14 +194,23 @@ bool SyncAuthentication::checkPassword( const QString& password )
194 static int denials=0; 194 static int denials=0;
195 int now = time(0); 195 int now = time(0);
196 196
197 Config cfg("Security");
198 cfg.setGroup("Sync");
199 QString syncapp = cfg.readEntry("syncapp","Qtopia");
200
201 //No password needed if the user really wants it
202 if (syncapp == "IntelliSync") {
203 return TRUE;
204 }
205
197 // Detect old Qtopia Desktop (no password) 206 // Detect old Qtopia Desktop (no password)
198 if ( password.isEmpty() ) { 207 if ( password.isEmpty() ) {
199 if ( denials < 1 || now > lastdenial+600 ) { 208 if ( denials < 3 || now > lastdenial+600 ) {
200 QMessageBox unauth( 209 QMessageBox unauth(
201 tr("Sync Connection"), 210 tr("Sync Connection"),
202 tr("<p>An unauthorized system is requesting access to this device." 211 tr("<p>An unauthorized system is requesting access to this device."
203 "<p>If you are using a version of Qtopia Desktop older than 1.5.1, " 212 "<p>If you are using a version of Qtopia Desktop older than 1.5.1, "
204 "please upgrade."), 213 "please upgrade or change the security setting to use IntelliSync." ),
205 QMessageBox::Warning, 214 QMessageBox::Warning,
206 QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton, 215 QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton,
207 0, QString::null, TRUE, WStyle_StaysOnTop); 216 0, QString::null, TRUE, WStyle_StaysOnTop);
@@ -212,6 +221,7 @@ bool SyncAuthentication::checkPassword( const QString& password )
212 lastdenial=now; 221 lastdenial=now;
213 } 222 }
214 return FALSE; 223 return FALSE;
224
215 } 225 }
216 226
217 // Second, check sync password... 227 // Second, check sync password...
diff --git a/core/settings/security/security.cpp b/core/settings/security/security.cpp
index 81363d2..1b90121 100644
--- a/core/settings/security/security.cpp
+++ b/core/settings/security/security.cpp
@@ -48,6 +48,16 @@
48 connect(syncnet, SIGNAL(textChanged(const QString&)), 48 connect(syncnet, SIGNAL(textChanged(const QString&)),
49 this, SLOT(setSyncNet(const QString&))); 49 this, SLOT(setSyncNet(const QString&)));
50 50
51 cfg.setGroup("Sync");
52 QString sa = cfg.readEntry("syncapp","Qtopia");
53
54 //There must be a better way to do that...
55 for (int i=0; i<syncapp->count(); i++) {
56 if ( syncapp->text(i) == sa ) {
57 syncapp->setCurrentItem(i);
58 }
59 }
60
51 /* 61 /*
52 cfg.setGroup("Remote"); 62 cfg.setGroup("Remote");
53 if ( telnetAvailable() ) 63 if ( telnetAvailable() )
@@ -81,6 +91,7 @@
81 connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int))); 91 connect(userlist, SIGNAL(activated(int)), this, SLOT(changeLoginName(int)));
82 connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode())); 92 connect(changepasscode,SIGNAL(clicked()), this, SLOT(changePassCode()));
83 connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode())); 93 connect(clearpasscode,SIGNAL(clicked()), this, SLOT(clearPassCode()));
94 connect(syncapp,SIGNAL(activated(int)), this, SLOT(changeSyncApp()));
84 95
85 loadUsers(); 96 loadUsers();
86 updateGUI(); 97 updateGUI();
@@ -105,7 +116,6 @@ void Security::updateGUI()
105 116
106 autologinToggle->setChecked(autoLogin); 117 autologinToggle->setChecked(autoLogin);
107 userlist->setEnabled(autoLogin); 118 userlist->setEnabled(autoLogin);
108
109} 119}
110 120
111 121
@@ -249,6 +259,8 @@ void Security::applySecurity()
249 parseNet(sn,auth_peer,auth_peer_bits); 259 parseNet(sn,auth_peer,auth_peer_bits);
250 cfg.writeEntry("auth_peer",auth_peer); 260 cfg.writeEntry("auth_peer",auth_peer);
251 cfg.writeEntry("auth_peer_bits",auth_peer_bits); 261 cfg.writeEntry("auth_peer_bits",auth_peer_bits);
262 cfg.writeEntry("syncapp",syncapp->currentText());
263
252 /* 264 /*
253 cfg.setGroup("Remote"); 265 cfg.setGroup("Remote");
254 if ( telnetAvailable() ) 266 if ( telnetAvailable() )
@@ -270,6 +282,25 @@ void Security::applySecurity()
270 282
271 } 283 }
272} 284}
285void Security::changeSyncApp()
286{
287 // Don't say i didn't tell ya
288 if (syncapp->currentText() == "IntelliSync") {
289 QMessageBox attn(
290 tr("WARNING"),
291 tr("<p>Selecting IntelliSync here will disable the FTP password."
292 "<p>Every machine in your netrange will be able to sync with "
293 "your Zaurus!"),
294 QMessageBox::Warning,
295 QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton,
296 0, QString::null, TRUE, WStyle_StaysOnTop);
297 attn.setButtonText(QMessageBox::Cancel, tr("Ok"));
298 attn.exec();
299 }
300 updateGUI();
301}
302
303
273 304
274void Security::changeLoginName( int idx ) 305void Security::changeLoginName( int idx )
275{ 306{
diff --git a/core/settings/security/security.h b/core/settings/security/security.h
index 52d56de..b1a3eca 100644
--- a/core/settings/security/security.h
+++ b/core/settings/security/security.h
@@ -46,6 +46,7 @@ private slots:
46 void setSyncNet(const QString&); 46 void setSyncNet(const QString&);
47 void changeLoginName(int); 47 void changeLoginName(int);
48 void toggleAutoLogin(bool); 48 void toggleAutoLogin(bool);
49 void changeSyncApp();
49 50
50 51
51private: 52private:
diff --git a/core/settings/security/securitybase.ui b/core/settings/security/securitybase.ui
index 9fb63a8..934111e 100644
--- a/core/settings/security/securitybase.ui
+++ b/core/settings/security/securitybase.ui
@@ -11,7 +11,7 @@
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>329</width> 14 <width>321</width>
15 <height>483</height> 15 <height>483</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
@@ -282,7 +282,7 @@
282 <vbox> 282 <vbox>
283 <property stdset="1"> 283 <property stdset="1">
284 <name>margin</name> 284 <name>margin</name>
285 <number>6</number> 285 <number>11</number>
286 </property> 286 </property>
287 <property stdset="1"> 287 <property stdset="1">
288 <name>spacing</name> 288 <name>spacing</name>
@@ -382,6 +382,36 @@
382 </property> 382 </property>
383 </widget> 383 </widget>
384 <widget> 384 <widget>
385 <class>QLabel</class>
386 <property stdset="1">
387 <name>name</name>
388 <cstring>TextLabel2</cstring>
389 </property>
390 <property stdset="1">
391 <name>text</name>
392 <string>Select your sync software</string>
393 </property>
394 </widget>
395 <widget>
396 <class>QComboBox</class>
397 <item>
398 <property>
399 <name>text</name>
400 <string>QTopia</string>
401 </property>
402 </item>
403 <item>
404 <property>
405 <name>text</name>
406 <string>IntelliSync</string>
407 </property>
408 </item>
409 <property stdset="1">
410 <name>name</name>
411 <cstring>syncapp</cstring>
412 </property>
413 </widget>
414 <widget>
385 <class>QComboBox</class> 415 <class>QComboBox</class>
386 <item> 416 <item>
387 <property> 417 <property>