On 2007.04.26., at 1:33, Sam Varshavchik wrote:

>> The attached dirty patch makes starttls work on Digital UNIX 4.0   
>> (Tru64 4.0) amongst more others.
>
> … and stops it from working everywhere else, since you return from  
> main() if the rand generator is initialized.

Told you it's dirty. You are the developers, I just kindly pointed to  
the bug with a simple proof-of-concept code.

> This code does not belong in main().  It belongs in tls_create(),  
> right after everything else gets initialized.
>
> Additionally, I'd prefer to see configure check the existence of  
> resource.h, getrusage, and struct rusage, and only compile the  
> relevant code if it can actually be compiled.

Well this is the code you get if I don't get any answers for my  
mails. In regards to configure: actually despite that courier strives  
to use autoconf-shit and libtool-shit therefore slowing down  
compilation by 200%, it couldn't achieve being truly crossplatform  
(well those tools will never ever be):

  - it doesn't check if the compiler accepts the format "-Wall" (DEC  
C doesn't).

  - it doesn't check if [v]snprintf is available, and therefore  
doesn't use replacement routines

  - after the crypt() prototype checking there is a serious  
braindamage which can break compilation with a bogus errormsg like  
"conftest2.c not existing" (if conftest.c creation failed in the  
first place) so I had to just remove it entirely

  - there are some files which don't compile with DEC C, only gcc (I  
don't bother, that's usual when dealing with "F/OSS" - that means:  
linuxonly by developer carelessness - code)

  - despite all the libtool braindamagemagic, courier couldn't find / 
usr/pkg/lib/libgdbm.so by itself, so I had to LD_LIBRARY_PATH it - so  
it looks like there are stuff needed to be fixed around -rpath.  
Because -rpath is the preferred way for this, and not the hacky- 
linuxy method described in the Courier FAQ:
 > It is also possible that libgdbm.so is not found at runtime  
because your dynamic linker doesn't search /usr/local/lib either. You  
will have to reconfigure your dynamic linker.

 > An alternative solution is to install soft links in /usr/lib and / 
usr/include to point to the GDBM library.

-- 
Bérczi Gábor
http://www.gabucino.be/




-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Courier-imap mailing list
Courier-imap@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap

Reply via email to