From 63b90b0284a2290364a5868465349bb6f0c6a5c0 Mon Sep 17 00:00:00 2001 From: Mark Jerde Date: Sat, 4 Jul 2015 15:43:57 -0500 Subject: [PATCH] Recognize specific length strings of lower, upper, number, and symbol or punctuation but nothing else as passwords. Add preferences panel controls for password avoidance via type or length. --- AppController.m | 81 +++++++++++++++- English.lproj/MainMenu.nib/designable.nib | 101 +++++++++++++++----- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 35641 -> 38085 bytes 3 files changed, 158 insertions(+), 24 deletions(-) diff --git a/AppController.m b/AppController.m index f819cca..dcb81b0 100755 --- a/AppController.m +++ b/AppController.m @@ -55,6 +55,16 @@ @"store", [NSNumber numberWithBool:YES], @"skipPasswordFields", + [NSNumber numberWithBool:YES], + @"skipPboardTypes", + @"PasswordPboardType", + @"skipPboardTypesList", + [NSNumber numberWithBool:NO], + @"skipPasswordLengths", + @"12, 20, 32", + @"skipPasswordLengthsList", + [NSNumber numberWithBool:NO], + @"revealPasteboardTypes", [NSNumber numberWithBool:NO], @"removeDuplicates", [NSNumber numberWithBool:YES], @@ -427,6 +437,73 @@ CFRelease(sourceRef); } +-(BOOL)shouldSkip:(NSString *)contents +{ + NSString *type = [jcPasteboard availableTypeFromArray:[NSArray arrayWithObject:NSStringPboardType]]; + + // Check to see if we are skipping passwords based on length and characters. + if ( [[DBUserDefaults standardUserDefaults] boolForKey:@"skipPasswordFields"] ) + { + // Check to see if they want a little help figuring out what types to enter. + if ( [[DBUserDefaults standardUserDefaults] boolForKey:@"revealPasteboardTypes"] ) + [clippingStore addClipping:type ofType:type]; + + __block bool skipClipping = NO; + + // Check the array of types to skip. + if ( [[DBUserDefaults standardUserDefaults] boolForKey:@"skipPboardTypes"] ) + { + NSArray *typesArray = [[[[DBUserDefaults standardUserDefaults] stringForKey:@"skipPboardTypesList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]; + [typesArray enumerateObjectsUsingBlock:^(id typeString, NSUInteger idx, BOOL *stop) + { + if ( [type isEqualToString:typeString] ) + { + skipClipping = YES; + stop = YES; + } + }]; + } + if (skipClipping) + return YES; + + // Check the array of lengths to skip for suspicious strings. + if ( [[DBUserDefaults standardUserDefaults] boolForKey:@"skipPasswordLengths"] ) + { + int contentsLength = [contents length]; + NSArray *lengthsArray = [[[[DBUserDefaults standardUserDefaults] stringForKey:@"skipPasswordLengthsList"] stringByReplacingOccurrencesOfString:@" " withString:@""] componentsSeparatedByString: @","]; + [lengthsArray enumerateObjectsUsingBlock:^(id lengthString, NSUInteger idx, BOOL *stop) + { + if ( [lengthString integerValue] == contentsLength ) + { + NSRange uppercaseLetter = [contents rangeOfCharacterFromSet: [NSCharacterSet uppercaseLetterCharacterSet]]; + NSRange lowercaseLetter = [contents rangeOfCharacterFromSet: [NSCharacterSet lowercaseLetterCharacterSet]]; + NSRange decimalDigit = [contents rangeOfCharacterFromSet: [NSCharacterSet decimalDigitCharacterSet]]; + NSRange punctuation = [contents rangeOfCharacterFromSet: [NSCharacterSet punctuationCharacterSet]]; + NSRange symbol = [contents rangeOfCharacterFromSet: [NSCharacterSet symbolCharacterSet]]; + NSRange control = [contents rangeOfCharacterFromSet: [NSCharacterSet controlCharacterSet]]; + NSRange illegal = [contents rangeOfCharacterFromSet: [NSCharacterSet illegalCharacterSet]]; + NSRange whitespaceAndNewline = [contents rangeOfCharacterFromSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]]; + if ( NSNotFound == control.location + && NSNotFound == illegal.location + && NSNotFound == whitespaceAndNewline.location + && NSNotFound != uppercaseLetter.location + && NSNotFound != lowercaseLetter.location + && NSNotFound != decimalDigit.location + && ( NSNotFound != punctuation.location + || NSNotFound != symbol.location ) ) + { + skipClipping = YES; + stop = YES; + } + } + }]; + + if (skipClipping) + return YES; + } + } + return NO; +} -(void)pollPB:(NSTimer *)timer { @@ -458,8 +535,8 @@ if (largeCopyRisk) [self toggleMenuIconDisabled]; - if ( contents == nil || ([jcPasteboard stringForType:@"PasswordPboardType"] && [[DBUserDefaults standardUserDefaults] boolForKey:@"skipPasswordFields"]) ) { - NSLog(@"Contents: Empty"); + if ( contents == nil || [self shouldSkip:contents] ) { + NSLog(@"Contents: Empty or skipped"); } else { if (( [clippingStore jcListCount] == 0 || ! [contents isEqualToString:[clippingStore clippingContentsAtPosition:0]]) && ! [pbCount isEqualTo:pbBlockCount] ) { diff --git a/English.lproj/MainMenu.nib/designable.nib b/English.lproj/MainMenu.nib/designable.nib index f4308b1..81b716e 100644 --- a/English.lproj/MainMenu.nib/designable.nib +++ b/English.lproj/MainMenu.nib/designable.nib @@ -80,14 +80,14 @@ - + - + - + @@ -116,7 +116,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -183,7 +183,7 @@ - + @@ -194,7 +194,7 @@ - + @@ -203,7 +203,7 @@ - + @@ -222,7 +222,7 @@ - + @@ -241,7 +241,7 @@ - + @@ -250,7 +250,7 @@ - + @@ -260,7 +260,7 @@ - + @@ -302,7 +302,7 @@ - + @@ -321,7 +321,7 @@ - + @@ -329,6 +329,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index 0c420fa0e4e0b787d1dc2e432dd786555dcddf53..cf0c7e9f4d7ae48fd608e087107d5b2c25885406 100644 GIT binary patch literal 38085 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 literal 35641 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