Handle exceptions
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
#define kDNSCRYPT_QUERY_LOG_FILE @"/var/log/dnscrypt-query.log"
|
||||
#define kDNSCRYPT_BLACKLIST_IPS_TMP_FILE kDNSCRYPT_CONTROL_DIR @"/blacklist-ips.tmp"
|
||||
#define kDNSCRYPT_BLACKLIST_DOMAINS_TMP_FILE kDNSCRYPT_CONTROL_DIR @"/blacklist-domains.tmp"
|
||||
#define kDNSCRYPT_EXCEPTIONS_TMP_FILE kDNSCRYPT_CONTROL_DIR @"/exceptions.tmp"
|
||||
|
||||
#define kOPENDNS_URL @"http://www.opendns.com"
|
||||
|
||||
@@ -59,6 +60,7 @@ typedef enum {
|
||||
@property (nonatomic, retain) IBOutlet NSButton *lockinButton;
|
||||
@property (nonatomic, retain) IBOutlet NSTextField *blacklistIPsTextField;
|
||||
@property (nonatomic, retain) IBOutlet NSTextField *blacklistDomainsTextField;
|
||||
@property (nonatomic, retain) IBOutlet NSTextField *exceptionsTextField;
|
||||
@property (nonatomic, retain) IBOutlet WebView *helpWebView;
|
||||
|
||||
- (void) mainViewDidLoad;
|
||||
@@ -77,6 +79,7 @@ typedef enum {
|
||||
- (IBAction)lockinButtonPressed:(NSButton *)sender;
|
||||
- (IBAction)blacklistIPsUpdated:(NSTextField *)sender;
|
||||
- (IBAction)blacklistDomainsUpdated:(NSTextField *)sender;
|
||||
- (IBAction)exceptionsUpdated:(NSTextField *)sender;
|
||||
- (IBAction)helpButtonPressed:(NSButton *)sender;
|
||||
|
||||
@end
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
@synthesize blacklistIPsTextField = _blacklistIPsTextField;
|
||||
@synthesize blacklistDomainsTextField = _blacklistDomainsTextField;
|
||||
@synthesize helpWebView = _helpWebView;
|
||||
@synthesize exceptionsTextField = _exceptionsTextField;
|
||||
@synthesize dnscryptButton = _dnscryptButton;
|
||||
@synthesize opendnsButton = _opendnsButton;
|
||||
@synthesize fallbackButton = _fallbackButton;
|
||||
@@ -110,6 +111,10 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
if (fileContent != nil) {
|
||||
[_blacklistDomainsTextField setStringValue: fileContent];
|
||||
}
|
||||
fileContent = [NSString stringWithContentsOfFile: kDNSCRYPT_EXCEPTIONS_TMP_FILE encoding:NSUTF8StringEncoding error: nil];
|
||||
if (fileContent != nil) {
|
||||
[_exceptionsTextField setStringValue: fileContent];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) updateLedStatus
|
||||
@@ -507,6 +512,21 @@ DNSConfigurationState currentState = kDNS_CONFIGURATION_UNKNOWN;
|
||||
[self updateBlacklistDomains];
|
||||
}
|
||||
|
||||
- (BOOL) updateExceptions {
|
||||
[self showSpinners];
|
||||
NSString *res = [self fromCommand: @"/bin/ksh" withArguments: [NSArray arrayWithObjects: @"-c", @"cd '" kDNSCRIPT_SCRIPTS_BASE_DIR @"' && ./create-ticket.sh && ./update-exceptions.sh", nil]];
|
||||
(void) res;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
- (IBAction)exceptionsUpdated:(NSTextField *)sender {
|
||||
NSString *content = sender.stringValue;
|
||||
if ([content writeToFile: kDNSCRYPT_EXCEPTIONS_TMP_FILE atomically: YES encoding: NSUTF8StringEncoding error: nil] != YES) {
|
||||
return;
|
||||
}
|
||||
[self updateExceptions];
|
||||
}
|
||||
|
||||
- (IBAction)helpButtonPressed:(NSButton *)sender {
|
||||
if (_helpWebView.isHidden) {
|
||||
[_helpWebView setHidden: NO];
|
||||
|
||||
@@ -65,7 +65,6 @@
|
||||
<string key="NSFrame">{{13, 10}, {563, 359}}</string>
|
||||
<reference key="NSSuperview" ref="1037298196"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="42710935"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:461</string>
|
||||
<array class="NSMutableArray" key="NSTabViewItems">
|
||||
<object class="NSTabViewItem" id="19707695">
|
||||
@@ -854,7 +853,6 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<string key="NSFrame">{{511, 0}, {25, 25}}</string>
|
||||
<reference key="NSSuperview" ref="42710935"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:1598</string>
|
||||
<bool key="NSEnabled">YES</bool>
|
||||
<object class="NSButtonCell" key="NSCell" id="933364045">
|
||||
@@ -1449,6 +1447,22 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
</object>
|
||||
<int key="connectionID">451</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBOutletConnection" key="connection">
|
||||
<string key="label">exceptionsTextField</string>
|
||||
<reference key="source" ref="294453543"/>
|
||||
<reference key="destination" ref="902108600"/>
|
||||
</object>
|
||||
<int key="connectionID">452</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBActionConnection" key="connection">
|
||||
<string key="label">exceptionsUpdated:</string>
|
||||
<reference key="source" ref="294453543"/>
|
||||
<reference key="destination" ref="902108600"/>
|
||||
</object>
|
||||
<int key="connectionID">453</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
@@ -2147,7 +2161,7 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">451</int>
|
||||
<int key="maxID">453</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
@@ -2158,6 +2172,7 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<string key="blacklistDomainsUpdated:">NSTextField</string>
|
||||
<string key="blacklistIPsUpdated:">NSTextField</string>
|
||||
<string key="dnscryptButtonPressed:">NSButton</string>
|
||||
<string key="exceptionsUpdated:">NSTextField</string>
|
||||
<string key="fallbackButtonPressed:">NSButton</string>
|
||||
<string key="familyShieldButtonPressed:">NSButton</string>
|
||||
<string key="helpButtonPressed:">NSButton</string>
|
||||
@@ -2183,6 +2198,10 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<string key="name">dnscryptButtonPressed:</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="exceptionsUpdated:">
|
||||
<string key="name">exceptionsUpdated:</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="fallbackButtonPressed:">
|
||||
<string key="name">fallbackButtonPressed:</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
@@ -2235,6 +2254,7 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<string key="blacklistIPsTextField">NSTextField</string>
|
||||
<string key="currentResolverTextField">NSTextField</string>
|
||||
<string key="dnscryptButton">NSButton</string>
|
||||
<string key="exceptionsTextField">NSTextField</string>
|
||||
<string key="fallbackButton">NSButton</string>
|
||||
<string key="familyShieldButton">NSButton</string>
|
||||
<string key="feedbackWebView">WebView</string>
|
||||
@@ -2276,6 +2296,10 @@ aW91cy5leGFtcGxlLm5ldA</string>
|
||||
<string key="name">dnscryptButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="exceptionsTextField">
|
||||
<string key="name">exceptionsTextField</string>
|
||||
<string key="candidateClassName">NSTextField</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="fallbackButton">
|
||||
<string key="name">fallbackButton</string>
|
||||
<string key="candidateClassName">NSButton</string>
|
||||
|
||||
Reference in New Issue
Block a user