diff --git a/SOPE/sope-mime-nosort.diff b/SOPE/sope-mime-nosort.diff new file mode 100644 index 000000000..1ea4bf52c --- /dev/null +++ b/SOPE/sope-mime-nosort.diff @@ -0,0 +1,69 @@ +Index: sope-mime/NGImap4/NGImap4Client.m +=================================================================== +--- sope-mime/NGImap4/NGImap4Client.m (révision 1620) ++++ sope-mime/NGImap4/NGImap4Client.m (copie de travail) +@@ -1054,17 +1054,18 @@ + + if (![_encoding isNotNull]) _encoding = @"UTF-8"; + if (![_qualString isNotNull]) _qualString = @" ALL"; ++ ++ sortStr = @"FETCH 1:* UID"; ++// sortStr = [NSMutableString stringWithCapacity:128]; + +- sortStr = [NSMutableString stringWithCapacity:128]; ++// [sortStr appendString:@"UID SORT ("]; ++// if (_sort != nil) [sortStr appendString:_sort]; ++// [sortStr appendString:@") "]; + +- [sortStr appendString:@"UID SORT ("]; +- if (_sort != nil) [sortStr appendString:_sort]; +- [sortStr appendString:@") "]; ++// [sortStr appendString:_encoding]; /* eg 'UTF-8' */ + +- [sortStr appendString:_encoding]; /* eg 'UTF-8' */ +- + /* Note: this is _space sensitive_! to many spaces lead to error! */ +- [sortStr appendString:_qualString]; /* eg ' ALL' or ' TEXT "abc"' */ ++// [sortStr appendString:_qualString]; /* eg ' ALL' or ' TEXT "abc"' */ + + return [self->normer normalizeSortResponse:[self processCommand:sortStr]]; + } +Index: sope-mime/NGImap4/NGImap4Connection.m +=================================================================== +--- sope-mime/NGImap4/NGImap4Connection.m (révision 1620) ++++ sope-mime/NGImap4/NGImap4Connection.m (copie de travail) +@@ -456,7 +456,7 @@ + return nil; + } + +- uids = [result valueForKey:@"sort"]; ++ uids = [result valueForKey:@"fetch"]; + if (![uids isNotNull]) { + [self errorWithFormat:@"got no UIDs for URL: %@: %@", _url, result]; + return nil; +Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m +=================================================================== +--- sope-mime/NGImap4/NGImap4ResponseNormalizer.m (révision 1620) ++++ sope-mime/NGImap4/NGImap4ResponseNormalizer.m (copie de travail) +@@ -148,12 +148,18 @@ + /* filter for sort response (search : NSArray (msn)) */ + id obj; + NSMutableDictionary *result; ++ NSMutableArray *uids; ++ NSEnumerator *fetchEnum; + + result = [self normalizeResponse:_map]; ++ uids = [NSMutableArray array]; ++ ++ fetchEnum = [_map objectEnumeratorForKey:@"fetch"]; ++ while ((obj = [fetchEnum nextObject])) ++ [uids addObject: [obj objectForKey: @"uid"]]; + +- if ((obj = [[_map objectEnumeratorForKey:@"sort"] nextObject]) != nil) +- [result setObject:obj forKey:@"sort"]; +- ++ [result setObject: uids forKey:@"fetch"]; ++ + return result; + } +