Monotone-Parent: 17604ed59a73836f0c28f1e20146d8645215cbb1
Monotone-Revision: 3d66d23639769946e3c2badd40d0861b60c6cff8 Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2010-04-07T13:58:59 Monotone-Branch: ca.inverse.sogomaint-2.0.2
parent
f52e8a52eb
commit
bed291c039
|
@ -1036,20 +1036,21 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
|
|
||||||
pool = [[NSAutoreleasePool alloc] init];
|
pool = [[NSAutoreleasePool alloc] init];
|
||||||
|
|
||||||
@@ -547,7 +567,11 @@
|
@@ -547,7 +567,12 @@
|
||||||
if (!(_pattern = [self _folder2ImapFolder:_pattern]))
|
if (!(_pattern = [self _folder2ImapFolder:_pattern]))
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
- s = [NSString stringWithFormat:@"list \"%@\" \"%@\"", _folder, _pattern];
|
- s = [NSString stringWithFormat:@"list \"%@\" \"%@\"", _folder, _pattern];
|
||||||
+ if ([_folder length] > 0)
|
+ if ([_folder length] > 0)
|
||||||
+ prefix = [NSString stringWithFormat: @"%@%@", SaneFolderName(_folder), self->delimiter];
|
+ prefix = [NSString stringWithFormat: @"%@%@",
|
||||||
|
+ SaneFolderName(_folder), self->delimiter];
|
||||||
+ else
|
+ else
|
||||||
+ prefix = @"";
|
+ prefix = @"";
|
||||||
+ s = [NSString stringWithFormat:@"list \"%@\" \"%@\"", prefix, _pattern];
|
+ s = [NSString stringWithFormat:@"LIST \"\" \"%@%@\"", prefix, _pattern];
|
||||||
map = [self processCommand:s];
|
map = [self processCommand:s];
|
||||||
|
|
||||||
if (self->delimiter == nil) {
|
if (self->delimiter == nil) {
|
||||||
@@ -563,18 +587,49 @@
|
@@ -563,18 +588,49 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSDictionary *)capability {
|
- (NSDictionary *)capability {
|
||||||
|
@ -1102,7 +1103,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
|
|
||||||
if (_folder == nil)
|
if (_folder == nil)
|
||||||
_folder = @"";
|
_folder = @"";
|
||||||
@@ -591,7 +646,11 @@
|
@@ -591,7 +647,11 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1111,11 +1112,11 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
+ prefix = [NSString stringWithFormat: @"%@%@", SaneFolderName(_folder), self->delimiter];
|
+ prefix = [NSString stringWithFormat: @"%@%@", SaneFolderName(_folder), self->delimiter];
|
||||||
+ else
|
+ else
|
||||||
+ prefix = @"";
|
+ prefix = @"";
|
||||||
+ s = [NSString stringWithFormat:@"lsub \"%@\" \"%@\"", prefix, _pattern];
|
+ s = [NSString stringWithFormat:@"LSUB \"\" \"%@%@\"", prefix, _pattern];
|
||||||
map = [self processCommand:s];
|
map = [self processCommand:s];
|
||||||
|
|
||||||
if (self->delimiter == nil) {
|
if (self->delimiter == nil) {
|
||||||
@@ -617,24 +676,25 @@
|
@@ -617,24 +677,25 @@
|
||||||
'flags' - array of strings (eg (answered,flagged,draft,seen);
|
'flags' - array of strings (eg (answered,flagged,draft,seen);
|
||||||
'RawResponse' - the raw IMAP4 response
|
'RawResponse' - the raw IMAP4 response
|
||||||
*/
|
*/
|
||||||
|
@ -1150,7 +1151,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
- (NSDictionary *)status:(NSString *)_folder flags:(NSArray *)_flags {
|
- (NSDictionary *)status:(NSString *)_folder flags:(NSArray *)_flags {
|
||||||
NSString *cmd;
|
NSString *cmd;
|
||||||
|
|
||||||
@@ -646,7 +706,7 @@
|
@@ -646,7 +707,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
cmd = [NSString stringWithFormat:@"status \"%@\" (%@)",
|
cmd = [NSString stringWithFormat:@"status \"%@\" (%@)",
|
||||||
|
@ -1159,7 +1160,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeStatusResponse:[self processCommand:cmd]];
|
return [self->normer normalizeStatusResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -663,24 +723,28 @@
|
@@ -663,24 +724,28 @@
|
||||||
if ((_newName = [self _folder2ImapFolder:_newName]) == nil)
|
if ((_newName = [self _folder2ImapFolder:_newName]) == nil)
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
|
@ -1193,7 +1194,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self _performCommand:@"delete" onFolder:_name];
|
return [self _performCommand:@"delete" onFolder:_name];
|
||||||
}
|
}
|
||||||
- (NSDictionary *)create:(NSString *)_name {
|
- (NSDictionary *)create:(NSString *)_name {
|
||||||
@@ -820,23 +884,23 @@
|
@@ -820,23 +885,23 @@
|
||||||
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1223,7 +1224,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
seqstr, _flag ? '+' : '-', flagstr];
|
seqstr, _flag ? '+' : '-', flagstr];
|
||||||
|
|
||||||
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
||||||
@@ -896,35 +960,23 @@
|
@@ -896,35 +961,23 @@
|
||||||
NSArray *flags;
|
NSArray *flags;
|
||||||
NGHashMap *result;
|
NGHashMap *result;
|
||||||
NSString *message, *icmd;
|
NSString *message, *icmd;
|
||||||
|
@ -1270,7 +1271,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
if (old[cntOld] == '\n') {
|
if (old[cntOld] == '\n') {
|
||||||
new[cntNew] = '\r'; cntNew++;
|
new[cntNew] = '\r'; cntNew++;
|
||||||
new[cntNew] = '\n'; cntNew++;
|
new[cntNew] = '\n'; cntNew++;
|
||||||
@@ -932,16 +984,24 @@
|
@@ -932,16 +985,24 @@
|
||||||
else if (old[cntOld] != '\r') {
|
else if (old[cntOld] != '\r') {
|
||||||
new[cntNew] = old[cntOld]; cntNew++;
|
new[cntNew] = old[cntOld]; cntNew++;
|
||||||
}
|
}
|
||||||
|
@ -1301,7 +1302,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
result = [self processCommand:icmd
|
result = [self processCommand:icmd
|
||||||
withTag:YES withNotification:NO];
|
withTag:YES withNotification:NO];
|
||||||
|
|
||||||
@@ -967,11 +1027,12 @@
|
@@ -967,11 +1028,12 @@
|
||||||
descr = @"Could not process qualifier for imap search ";
|
descr = @"Could not process qualifier for imap search ";
|
||||||
descr = [descr stringByAppendingString:reason];
|
descr = [descr stringByAppendingString:reason];
|
||||||
|
|
||||||
|
@ -1317,7 +1318,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)_searchExprForQual:(EOQualifier *)_qualifier {
|
- (NSString *)_searchExprForQual:(EOQualifier *)_qualifier {
|
||||||
@@ -1093,7 +1154,18 @@
|
@@ -1093,7 +1155,18 @@
|
||||||
Eg: UID SORT ( DATE REVERSE SUBJECT ) UTF-8 TODO
|
Eg: UID SORT ( DATE REVERSE SUBJECT ) UTF-8 TODO
|
||||||
*/
|
*/
|
||||||
NSString *tmp;
|
NSString *tmp;
|
||||||
|
@ -1336,7 +1337,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
if ([_sortSpec isKindOfClass:[NSArray class]])
|
if ([_sortSpec isKindOfClass:[NSArray class]])
|
||||||
tmp = [self _generateIMAP4SortOrderings:_sortSpec];
|
tmp = [self _generateIMAP4SortOrderings:_sortSpec];
|
||||||
else if ([_sortSpec isKindOfClass:[EOSortOrdering class]])
|
else if ([_sortSpec isKindOfClass:[EOSortOrdering class]])
|
||||||
@@ -1107,9 +1179,10 @@
|
@@ -1107,9 +1180,10 @@
|
||||||
tmp = @"DATE";
|
tmp = @"DATE";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1349,7 +1350,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
}
|
}
|
||||||
- (NSDictionary *)sort:(NSArray *)_sortOrderings
|
- (NSDictionary *)sort:(NSArray *)_sortOrderings
|
||||||
qualifier:(EOQualifier *)_qual
|
qualifier:(EOQualifier *)_qual
|
||||||
@@ -1130,7 +1203,7 @@
|
@@ -1130,7 +1204,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1358,7 +1359,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeSearchResponse:[self processCommand:s]];
|
return [self->normer normalizeSearchResponse:[self processCommand:s]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1142,7 +1215,7 @@
|
@@ -1142,7 +1216,7 @@
|
||||||
if ((_folder = [self _folder2ImapFolder:_folder]) == nil)
|
if ((_folder = [self _folder2ImapFolder:_folder]) == nil)
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
|
@ -1367,7 +1368,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeGetACLResponse:[self processCommand:cmd]];
|
return [self->normer normalizeGetACLResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1155,7 +1228,7 @@
|
@@ -1155,7 +1229,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
cmd = [NSString stringWithFormat:@"setacl \"%@\" \"%@\" \"%@\"",
|
cmd = [NSString stringWithFormat:@"setacl \"%@\" \"%@\" \"%@\"",
|
||||||
|
@ -1376,7 +1377,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1166,7 +1239,7 @@
|
@@ -1166,7 +1240,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
cmd = [NSString stringWithFormat:@"deleteacl \"%@\" \"%@\"",
|
cmd = [NSString stringWithFormat:@"deleteacl \"%@\" \"%@\"",
|
||||||
|
@ -1385,7 +1386,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
return [self->normer normalizeResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1177,7 +1250,7 @@
|
@@ -1177,7 +1251,7 @@
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
cmd = [NSString stringWithFormat:@"listrights \"%@\" \"%@\"",
|
cmd = [NSString stringWithFormat:@"listrights \"%@\" \"%@\"",
|
||||||
|
@ -1394,7 +1395,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
return [self->normer normalizeListRightsResponse:[self processCommand:cmd]];
|
return [self->normer normalizeListRightsResponse:[self processCommand:cmd]];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1187,12 +1260,94 @@
|
@@ -1187,12 +1261,94 @@
|
||||||
if ((_folder = [self _folder2ImapFolder:_folder]) == nil)
|
if ((_folder = [self _folder2ImapFolder:_folder]) == nil)
|
||||||
return nil;
|
return nil;
|
||||||
|
|
||||||
|
@ -1490,7 +1491,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
- (NSException *)_processCommandParserException:(NSException *)_exception {
|
- (NSException *)_processCommandParserException:(NSException *)_exception {
|
||||||
[self logWithFormat:@"ERROR(%s): catched IMAP4 parser exception %@: %@",
|
[self logWithFormat:@"ERROR(%s): catched IMAP4 parser exception %@: %@",
|
||||||
__PRETTY_FUNCTION__, [_exception name], [_exception reason]];
|
__PRETTY_FUNCTION__, [_exception name], [_exception reason]];
|
||||||
@@ -1280,7 +1435,9 @@
|
@@ -1280,7 +1436,9 @@
|
||||||
if (tryReconnect) {
|
if (tryReconnect) {
|
||||||
[self reconnect];
|
[self reconnect];
|
||||||
}
|
}
|
||||||
|
@ -1501,7 +1502,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
if (reconnectCnt == 0) {
|
if (reconnectCnt == 0) {
|
||||||
reconnectCnt++;
|
reconnectCnt++;
|
||||||
tryReconnect = YES;
|
tryReconnect = YES;
|
||||||
@@ -1412,21 +1569,24 @@
|
@@ -1412,21 +1570,24 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1534,7 +1535,7 @@ Index: sope-mime/NGImap4/NGImap4Client.m
|
||||||
}
|
}
|
||||||
|
|
||||||
- (NSString *)_imapFolder2Folder:(NSString *)_folder {
|
- (NSString *)_imapFolder2Folder:(NSString *)_folder {
|
||||||
@@ -1442,10 +1602,16 @@
|
@@ -1442,10 +1603,16 @@
|
||||||
return nil;
|
return nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3064,7 +3065,14 @@ Index: sope-mime/NGImap4/ChangeLog
|
||||||
===================================================================
|
===================================================================
|
||||||
--- sope-mime/NGImap4/ChangeLog (revision 1664)
|
--- sope-mime/NGImap4/ChangeLog (revision 1664)
|
||||||
+++ sope-mime/NGImap4/ChangeLog (working copy)
|
+++ sope-mime/NGImap4/ChangeLog (working copy)
|
||||||
@@ -1,3 +1,158 @@
|
@@ -1,3 +1,165 @@
|
||||||
|
+2010-04-07 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
|
+
|
||||||
|
+ * NGImap4Client.m (-list:pattern:, -lsub:pattern:): use an empty
|
||||||
|
+ prefix and put the used prefix in the "pattern" component of the
|
||||||
|
+ LIST or LSUB command, as this work around bugs in bad server
|
||||||
|
+ implementations.
|
||||||
|
+
|
||||||
+2010-04-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
+2010-04-02 Wolfgang Sourdeau <wsourdeau@inverse.ca>
|
||||||
+
|
+
|
||||||
+ * NGSieveClient.m (-putScript:script:):
|
+ * NGSieveClient.m (-putScript:script:):
|
||||||
|
|
Loading…
Reference in New Issue