Dear Users,
Here is the ChangeLog entry:
Version 4.11, 2005.07.09, urgency: MEDIUM: * New features - New ./configure option --with-threads to select thread model. - ./configure option --with-tcp-wrappers renamed to --disable-libwrap. I hope the meaning of the option is much more clear, now. * Bugfixes - Workaround for non-standard makecontext() uc_stack.ss_sp parameter semantics on Sparc/Solaris 9 and earlier. - scan_waiting_queue() no longer drops contexts. - Inetd mode coredumps with UCONTEXT fixed. - Cleanup context is no longer used. - Releasing memory of the current context is delayed. - Win32 headers reordered for Visual Studio 7. - Some Solaris compilation warnings fixed. - Rejected inetd mode without 'connect' or 'exec'. * Release notes - UCONTEXT threading seems stable, now. Upgrade is recommended.
Home page, downloads: http://stunnel.mirt.net/
sha1sum for stunnel-4.11.tar.gz file: cf57169d591fbe3371a29e432d840e7f66103a9f
Best regards, Mike
Hello, stack_info () in stunnel-4.11 uses "%d" to print values of type size_t. The attached patch fixes this. Mirek
On Tue, Jul 12, 2005 at 11:56:33AM +0200, Miloslav Trmac wrote:
Hello, stack_info () in stunnel-4.11 uses "%d" to print values of type size_t. The attached patch fixes this. Mirek
Content-Description: stunnel-4.11-printf.patch
--- stunnel-4.11/src/sthreads.c.printf 2005-07-12 11:43:42.000000000 +0200 +++ stunnel-4.11/src/sthreads.c 2005-07-12 11:46:33.000000000 +0200 @@ -337,10 +337,10 @@ s_log(LOG_NOTICE, "stack_info: size=%d, current=%d (%d%%), maximum=%d (%d%%)", STACK_SIZE,
(VERIFY_AREA-num)*sizeof(u32),
(VERIFY_AREA-num)*sizeof(u32)*100/STACK_SIZE,
(VERIFY_AREA-min_num)*sizeof(u32),
(VERIFY_AREA-min_num)*sizeof(u32)*100/STACK_SIZE);
(int)((VERIFY_AREA-num)*sizeof(u32)),
(int)((VERIFY_AREA-num)*sizeof(u32)*100/STACK_SIZE),
(int)((VERIFY_AREA-min_num)*sizeof(u32)),
}(int)((VERIFY_AREA-min_num)*sizeof(u32)*100/STACK_SIZE));
}
%zu should be used for size_t. If it is not available, I suggest the cast to be to "unsigned long long", not "int".
On Tue, Jul 12, 2005 at 04:03:24PM +0300, Vasil Dimov wrote:
s_log(LOG_NOTICE, "stack_info: size=%d, current=%d (%d%%), maximum=%d (%d%%)", STACK_SIZE,
(VERIFY_AREA-num)*sizeof(u32),
(VERIFY_AREA-num)*sizeof(u32)*100/STACK_SIZE,
(VERIFY_AREA-min_num)*sizeof(u32),
(VERIFY_AREA-min_num)*sizeof(u32)*100/STACK_SIZE);
(int)((VERIFY_AREA-num)*sizeof(u32)),
(int)((VERIFY_AREA-num)*sizeof(u32)*100/STACK_SIZE),
(int)((VERIFY_AREA-min_num)*sizeof(u32)),
(int)((VERIFY_AREA-min_num)*sizeof(u32)*100/STACK_SIZE));
%zu should be used for size_t.
Yes, but not supported by some of the legacy UNIX systems. (I don't know what requirements stunnel has on the underlying platform, so I've decided to play it safe.)
If it is not available, I suggest the cast to be to "unsigned long long", not "int".
"int" should be OK here: each of the values is <= STACK_SIZE or 100. Because STACK_SIZE fits into an int, so do the other values. Mirek