Revision: 29788
http://sourceforge.net/p/bibdesk/svn/29788
Author: hofman
Date: 2025-11-13 16:16:51 +0000 (Thu, 13 Nov 2025)
Log Message:
-----------
don't use array and dictionary decoding methods for secure coding, as they
apparently require secure decoding
Modified Paths:
--------------
trunk/bibdesk/BDSKComplexString.m
trunk/bibdesk/BDSKFilter.m
trunk/bibdesk/BDSKServerInfo.m
trunk/bibdesk/BDSKTreeNode.m
trunk/bibdesk/BibItem.m
Modified: trunk/bibdesk/BDSKComplexString.m
===================================================================
--- trunk/bibdesk/BDSKComplexString.m 2025-11-13 10:33:43 UTC (rev 29787)
+++ trunk/bibdesk/BDSKComplexString.m 2025-11-13 16:16:51 UTC (rev 29788)
@@ -367,10 +367,7 @@
self = [super init];
if (self) {
BDSKASSERT([coder isKindOfClass:[NSKeyedUnarchiver class]]);
- if (@available(macOS 11.0, *))
- nodes = [coder decodeArrayOfObjectsOfClass:[BDSKStringNode
class] forKey:@"nodes"];
- else
- nodes = [coder decodeObjectOfClass:[NSArray class]
forKey:@"nodes"];
+ nodes = [coder decodeObjectOfClass:[NSArray class]
forKey:@"nodes"];
isComplex = [coder decodeBoolForKey:@"complex"];
isInherited = [coder decodeBoolForKey:@"inherited"];
macroResolver = [[self class] macroResolverForUnarchiving];
Modified: trunk/bibdesk/BDSKFilter.m
===================================================================
--- trunk/bibdesk/BDSKFilter.m 2025-11-13 10:33:43 UTC (rev 29787)
+++ trunk/bibdesk/BDSKFilter.m 2025-11-13 16:16:51 UTC (rev 29788)
@@ -84,10 +84,7 @@
- (instancetype)initWithCoder:(NSCoder *)decoder {
self = [super init];
if (self) {
- if (@available(macOS 11.0, *))
- conditions = [[NSMutableArray alloc] initWithArray:[decoder
decodeArrayOfObjectsOfClass:[BDSKCondition class] forKey:@"conditions"]];
- else
- conditions = [[NSMutableArray alloc] initWithArray:[decoder
decodeObjectOfClass:[NSArray class] forKey:@"conditions"]];
+ conditions = [[NSMutableArray alloc] initWithArray:[decoder
decodeObjectOfClass:[NSArray class] forKey:@"conditions"]];
conjunction = [decoder decodeIntegerForKey:@"conjunction"];
group = nil;
}
Modified: trunk/bibdesk/BDSKServerInfo.m
===================================================================
--- trunk/bibdesk/BDSKServerInfo.m 2025-11-13 10:33:43 UTC (rev 29787)
+++ trunk/bibdesk/BDSKServerInfo.m 2025-11-13 16:16:51 UTC (rev 29788)
@@ -156,10 +156,7 @@
if ([self isEntrez] || [self isISI] || [self isDBLP]) {
host = nil;
port = nil;
- if (@available(macOS 11.0, *))
- options = [[decoder decodeDictionaryWithKeysOfClass:[NSString
class] objectsOfClass:[NSString class] forKey:OPTIONS_KEY] mutableCopy];
- else
- options = [[decoder decodeObjectOfClass:[NSDictionary class]
forKey:OPTIONS_KEY] mutableCopy];
+ options = [[decoder decodeObjectOfClass:[NSDictionary class]
forKey:OPTIONS_KEY] mutableCopy];
if ([options count] == 0)
options = nil;
password = [[options objectForKey:PASSWORD_KEY] copy];
@@ -167,10 +164,7 @@
} else if ([self isZoom] || [self isSRU]) {
host = [decoder decodeObjectOfClass:[NSString class]
forKey:HOST_KEY];
port = [decoder decodeObjectOfClass:[NSString class]
forKey:PORT_KEY];
- if (@available(macOS 11.0, *))
- options = [[decoder decodeDictionaryWithKeysOfClass:[NSString
class] objectsOfClass:[NSString class] forKey:OPTIONS_KEY] mutableCopy];
- else
- options = [[decoder decodeObjectOfClass:[NSDictionary class]
forKey:OPTIONS_KEY] mutableCopy];
+ options = [[decoder decodeObjectOfClass:[NSDictionary class]
forKey:OPTIONS_KEY] mutableCopy];
password = [[options objectForKey:PASSWORD_KEY] copy];
[options removeObjectForKey:PASSWORD_KEY];
} else {
Modified: trunk/bibdesk/BDSKTreeNode.m
===================================================================
--- trunk/bibdesk/BDSKTreeNode.m 2025-11-13 10:33:43 UTC (rev 29787)
+++ trunk/bibdesk/BDSKTreeNode.m 2025-11-13 16:16:51 UTC (rev 29788)
@@ -68,14 +68,8 @@
- (instancetype)initWithCoder:(NSCoder *)coder;
{
if(self = [super init]){
- if (@available(macOS 11.0, *))
- children = [[NSMutableArray alloc] initWithArray:[coder
decodeArrayOfObjectsOfClass:[BDSKTreeNode class] forKey:@"children"]];
- else
- children = [[NSMutableArray alloc] initWithArray:[coder
decodeObjectOfClass:[NSArray class] forKey:@"children"]];
- if (@available(macOS 11.0, *))
- columnValues = [[NSMutableDictionary alloc]
initWithDictionary:[coder decodeDictionaryWithKeysOfClasses:[NSSet
setWithObject:[NSString class]] objectsOfClasses:[NSSet setWithObject:[NSObject
class]] forKey:@"columnValues"]];
- else
- columnValues = [[NSMutableDictionary alloc]
initWithDictionary:[coder decodeObjectOfClass:[NSDictionary class]
forKey:@"columnValues"]];
+ children = [[NSMutableArray alloc] initWithArray:[coder
decodeObjectOfClass:[NSArray class] forKey:@"children"]];
+ columnValues = [[NSMutableDictionary alloc] initWithDictionary:[coder
decodeObjectOfClass:[NSDictionary class] forKey:@"columnValues"]];
parent = [coder decodeObjectOfClass:[BDSKTreeNode class]
forKey:@"parent"];
}
return self;
Modified: trunk/bibdesk/BibItem.m
===================================================================
--- trunk/bibdesk/BibItem.m 2025-11-13 10:33:43 UTC (rev 29787)
+++ trunk/bibdesk/BibItem.m 2025-11-13 16:16:51 UTC (rev 29788)
@@ -278,18 +278,12 @@
- (instancetype)initWithCoder:(NSCoder *)coder{
if([coder allowsKeyedCoding]){
if(self = [super init]){
- if (@available(macOS 11.0, *))
- pubFields = [[NSMutableDictionary alloc]
initWithDictionary:[coder decodeDictionaryWithKeysOfClass:[NSString class]
objectsOfClass:[NSString class] forKey:@"pubFields"]];
- else
- pubFields = [[NSMutableDictionary alloc]
initWithDictionary:[coder decodeObjectOfClass:[NSDictionary class]
forKey:@"pubFields"]];
+ pubFields = [[NSMutableDictionary alloc] initWithDictionary:[coder
decodeObjectOfClass:[NSDictionary class] forKey:@"pubFields"]];
[self setCiteKeyString:[coder decodeObjectOfClass:[NSString class]
forKey:@"citeKey"]];
[self setPubTypeString:[coder decodeObjectOfClass:[NSString class]
forKey:@"pubType"]];
groups = [[NSMutableDictionary alloc] initWithCapacity:5];
URLs = [[NSMutableDictionary alloc] initWithCapacity:5];
- if (@available(macOS 11.0, *))
- files = [[NSMutableArray alloc] initWithArray:[coder
decodeArrayOfObjectsOfClass:[BDSKLinkedFile class] forKey:@"files"]];
- else
- files = [[NSMutableArray alloc] initWithArray:[coder
decodeObjectOfClass:[NSArray class] forKey:@"files"]];
+ files = [[NSMutableArray alloc] initWithArray:[coder
decodeObjectOfClass:[NSArray class] forKey:@"files"]];
[files setValue:self forKey:@"delegate"];
// set by the document, which we don't archive
owner = nil;
@@ -510,11 +504,7 @@
[NSString setMacroResolverForUnarchiving:aMacroResolver];
- NSArray *pubs;
- if (@available(macOS 11.0, *))
- pubs = [unarchiver decodeArrayOfObjectsOfClass:[BibItem class]
forKey:@"publications"];
- else
- pubs = [unarchiver decodeObjectOfClass:[NSArray class]
forKey:@"publications"];
+ NSArray *pubs = [unarchiver decodeObjectOfClass:[NSArray class]
forKey:@"publications"];
[unarchiver finishDecoding];
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit