[OGo-Developer] GNUstep make tree?
Adam Tauno Williams
developer@opengroupware.org
Wed, 25 Apr 2007 11:19:36 -0400
--=-pE50rPQ6uIrvLyb0g7Wc
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable
> > I'm building from SVN. I've built and installed SOPE, but when I try t=
o
> > build OGo (following possibly outdated
> > http://www.opengroupware.org/en/devs/build/ogo.html):
> > antony@myung:~/src/svn/ogo-trunk$ ./configure --enable-debug
> > error: please specify a GNUstep make tree!
> I'm going to answer myself here - is this correct or will it break?
> That path had GNUstep.sh in, which is what led me to make that guess.
> --gsmake=3D../sope-trunk/gnustep-make/
If you are thinking about trying to crank out a patch for Bug#150
(IMAP/SSL) I looked at this issue for someone a little while ago and
have some notes (which may or may not be accurate or even
understandable):
----------------------------
It looks like initWithNSURL calls the same initWithConnectionDictionary
method that OGo uses to setup an IMAP connection, but initWithNSURL
checks for the "imaps" scheme and adds a corresponding key to the
connection dictionary...
- (id)initWithNSURL:(NSURL *)_url {
...
if ([[_url scheme] isEqualToString:@"imaps"])
[md setObject:[NSNumber numberWithBool:YES] forKey:@"SSL"];
...
OGo calls initWithConnectionDictionary only from
"Mailer/OGoWebMail/SkyImapContextHandler.m"
- (NGImap4Context *)imapContextWithSession:(id)_session
password:(NSString *)_pwd login:(NSString **)login_
host:(NSString **)host_ errorString:(NSString **)error_
{
....
condict =3D [NSDictionary dictionaryWithObjectsAndKeys:
*login_, @"login",
_pwd , @"passwd",
*host_, @"host", nil];
imapCtx =3D [[NGImap4Context alloc]
initWithConnectionDictionary:condict];
[imapCtx enterSyncMode];
The "WebUI/Mailer/OGoWebMail/LSWImapMails.m" sets up the IMAP connection
with -
- (id)doLogin
{
self->loginFailed =3D NO;
[self clearVars];
[[self imapCtxHandler] prepareForLogin:self->login
passwd:self->passwd
host:self->host
savePwd:self->savePasswd
session:[self session]];
[self initializeImapWithPasswd:self->passwd];
[self->passwd release]; self->passwd =3D nil;
if (![self isLogin])
return nil;
ASSIGN(self->tabKey, @"mail");
return nil;
}
SkyImapContextHandler:prepareForLogin digs the settings out of the
defaults:
NSUserDefaults *defs;
defs =3D [_session userDefaults];
....
if (_host !=3D nil)
[self _writeDefault:@"imap_host" value:_host session:_session];
It is "initializeImapWithPasswd" that looks like it actually sets up the
IMAP connection; this is the method that calls "imapContextWithSession"
So if imapContextWithSession added the SSL key to the connection
dictionary would we have encrypted IMAP? It would seem like a useSSL:
parameter should be added to SkyImapContextHandler:prepareForLogin so
that when LSWImapMails:initializeImapWithPasswd the
SkyImapContextHandler:imapContextWithSession knows to add the SSL key;
or what value to assign the key (one assumes the key can always be added
but with a false value if SSL is not required)???
So sequence is -
LSWImapMails:doLogin
SkyImapContextHandler:prepareForLogin
LSWImapMails:initializeImapWithPasswd
SkyImapContextHandler:imapContextWithSession
NGImap4Context:initWithConnectionDictionary:=20
* Seems to do redundant grousing about in user defaults
NGImap4Context:enterSyncMode
(?)
-----------------
--=-pE50rPQ6uIrvLyb0g7Wc
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
iD8DBQBGL3GILRePpNle04MRAtUPAJ93Zh3HnqEjLCL6ftnsVlvCAQ97uwCfbZD9
36sLEiSvYzIa7ooOkbExfXs=
=4ufN
-----END PGP SIGNATURE-----
--=-pE50rPQ6uIrvLyb0g7Wc--