Skip to content

Commit 1c62763

Browse files
committed
allow user to control every kind of update we check.
1 parent 853b326 commit 1c62763

File tree

5 files changed

+88
-22
lines changed

5 files changed

+88
-22
lines changed

cSploit/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="org.csploit.android"
44
android:versionCode="1"
5-
android:versionName="1.4.4" >
5+
android:versionName="1.4.5" >
66

77
<uses-sdk
88
android:minSdkVersion="9"

cSploit/res/layout/preferences.xml

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,6 @@
55

66
<PreferenceCategory android:title="@string/pref_general" >
77

8-
<CheckBoxPreference
9-
android:defaultValue="true"
10-
android:key="PREF_CHECK_UPDATES"
11-
android:summary="@string/pref_check_updates_desc"
12-
android:title="@string/pref_check_updates" />
13-
148
<CheckBoxPreference
159
android:defaultValue="true"
1610
android:key="PREF_WAKE_LOCK"
@@ -41,6 +35,50 @@
4135
android:title="@string/pref_theme" />
4236
</PreferenceCategory>
4337

38+
<PreferenceCategory android:title="@string/pref_updates" >
39+
<CheckBoxPreference
40+
android:defaultValue="true"
41+
android:key="PREF_CHECK_UPDATES"
42+
android:summary="@string/pref_check_updates_desc"
43+
android:title="@string/pref_check_updates" />
44+
45+
<CheckBoxPreference
46+
android:defaultValue="true"
47+
android:key="PREF_UPDATES_APP"
48+
android:dependency="PREF_CHECK_UPDATES"
49+
android:summary="@string/pref_updates_app_desc"
50+
android:title="@string/pref_updates_app" />
51+
52+
<CheckBoxPreference
53+
android:defaultValue="true"
54+
android:key="PREF_UPDATES_CORE"
55+
android:dependency="PREF_CHECK_UPDATES"
56+
android:summary="@string/pref_updates_core_desc"
57+
android:title="@string/pref_updates_core" />
58+
59+
<CheckBoxPreference
60+
android:defaultValue="true"
61+
android:key="PREF_UPDATES_RUBY"
62+
android:dependency="PREF_CHECK_UPDATES"
63+
android:summary="@string/pref_updates_ruby_desc"
64+
android:title="@string/pref_updates_ruby" />
65+
66+
<CheckBoxPreference
67+
android:defaultValue="true"
68+
android:key="PREF_UPDATES_GEMS"
69+
android:dependency="PREF_CHECK_UPDATES"
70+
android:summary="@string/pref_updates_gems_desc"
71+
android:title="@string/pref_updates_gems" />
72+
73+
<CheckBoxPreference
74+
android:defaultValue="true"
75+
android:key="PREF_UPDATES_MSF"
76+
android:dependency="PREF_CHECK_UPDATES"
77+
android:summary="@string/pref_updates_msf_desc"
78+
android:title="@string/pref_updates_msf" />
79+
80+
</PreferenceCategory>
81+
4482
<PreferenceCategory android:title="@string/pref_modules" >
4583

4684
<EditTextPreference
@@ -125,12 +163,6 @@
125163
android:title="@string/pref_msf_enable"
126164
android:summary="@string/pref_msf_enable_desc" />
127165

128-
<CheckBoxPreference
129-
android:defaultValue="true"
130-
android:key="MSF_CHECK_UPDATES"
131-
android:summary="@string/pref_msf_check_updates_desc"
132-
android:title="@string/pref_msf_check_updates" />
133-
134166
<ListPreference
135167
android:key="MSF_BRANCH"
136168
android:summary="@string/pref_msf_branch_desc"

cSploit/res/values-it/strings.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -419,4 +419,15 @@
419419
<string name="installing_msf_gems">installo le gemme per MSF</string>
420420
<string name="installing_bundle">installo bundle</string>
421421
<string name="new_gems_update_desc">Un aggiornamento per le gemme di ruby</string>
422+
<string name="pref_updates">Aggiornamenti</string>
423+
<string name="pref_updates_app">App</string>
424+
<string name="pref_updates_app_desc">cerca aggiornamenti per l\'Applicazione</string>
425+
<string name="pref_updates_core">Core</string>
426+
<string name="pref_updates_core_desc">cerca aggiornamenti per il Core</string>
427+
<string name="pref_updates_ruby">Ruby</string>
428+
<string name="pref_updates_ruby_desc">cerca aggiornamenti per Ruby</string>
429+
<string name="pref_updates_msf">MSF</string>
430+
<string name="pref_updates_msf_desc">cerca aggiornamenti per il MetaSploit Framework</string>
431+
<string name="pref_updates_gems">RubyGems</string>
432+
<string name="pref_updates_gems_desc">cerca aggiornamenti per le Gemme di Ruby</string>
422433
</resources>

cSploit/res/values/strings.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,4 +477,15 @@
477477
<string name="new_core_found">Core version %s is available, do you want to upgrade ?</string>
478478
<string name="update_cancelled">update cancelled</string>
479479
<string name="child_not_started">cannot start process</string>
480+
<string name="pref_updates">Updates</string>
481+
<string name="pref_updates_app">App</string>
482+
<string name="pref_updates_app_desc">check for App updates</string>
483+
<string name="pref_updates_core">Core</string>
484+
<string name="pref_updates_core_desc">check for Core updates</string>
485+
<string name="pref_updates_ruby">Ruby</string>
486+
<string name="pref_updates_ruby_desc">check for Ruby updates</string>
487+
<string name="pref_updates_msf">MSF</string>
488+
<string name="pref_updates_msf_desc">check for MSF updates</string>
489+
<string name="pref_updates_gems">RubyGems</string>
490+
<string name="pref_updates_gems_desc">check for RubyGems updates</string>
480491
</resources>

cSploit/src/org/csploit/android/core/UpdateChecker.java

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import android.content.Context;
2222
import android.content.Intent;
23+
import android.content.SharedPreferences;
2324

2425
public class UpdateChecker extends Thread
2526
{
@@ -59,20 +60,31 @@ public void run(){
5960

6061
Logger.debug("Service started.");
6162

62-
boolean checkMsfUpdates =
63-
System.isCoreInitialized() &&
64-
System.getSettings().getBoolean("MSF_ENABLED", true) &&
65-
System.getSettings().getBoolean("MSF_CHECK_UPDATES", true);
63+
SharedPreferences prefs = System.getSettings();
6664

67-
if(UpdateService.isUpdateAvailable())
65+
boolean checkApp = prefs.getBoolean("PREF_UPDATES_APP", true);
66+
67+
boolean checkCore = prefs.getBoolean("PREF_UPDATES_CORE", true);
68+
69+
boolean canCheckMsf = System.isCoreInitialized() && prefs.getBoolean("MSF_ENABLED", true);
70+
71+
boolean checkRuby = canCheckMsf && prefs.getBoolean("PREF_UPDATES_RUBY", true);
72+
73+
boolean checkGems = canCheckMsf && prefs.getBoolean("PREF_UPDATES_GEMS", true) &&
74+
System.getLocalRubyVersion() != null;
75+
76+
boolean checkMsf = canCheckMsf && prefs.getBoolean("PREF_UPDATES_MSF", true) &&
77+
System.getLocalRubyVersion() != null;
78+
79+
if(checkApp && UpdateService.isUpdateAvailable())
6880
send(UPDATE_AVAILABLE, AVAILABLE_VERSION, UpdateService.getRemoteVersion());
69-
else if(UpdateService.isCoreUpdateAvailable())
81+
else if(checkCore && UpdateService.isCoreUpdateAvailable())
7082
send(CORE_AVAILABLE, AVAILABLE_VERSION, UpdateService.getRemoteCoreVersion());
71-
else if(checkMsfUpdates && UpdateService.isRubyUpdateAvailable())
83+
else if(checkRuby && UpdateService.isRubyUpdateAvailable())
7284
send(RUBY_AVAILABLE);
73-
else if(checkMsfUpdates && UpdateService.isMsfUpdateAvailable()) {
85+
else if(checkMsf && UpdateService.isMsfUpdateAvailable()) {
7486
send(MSF_AVAILABLE);
75-
} else if(checkMsfUpdates && UpdateService.isGemUpdateAvailable()){
87+
} else if(checkGems && UpdateService.isGemUpdateAvailable()){
7688
send(GEMS_AVAILABLE);
7789
} else
7890
send(UPDATE_NOT_AVAILABLE);

0 commit comments

Comments
 (0)