Commit MetaInfo
Log Message
Prepare for 3.5.13 release.
Change Summary
Diff
| | @@ -1,5 +1,5 @@ | | 1 | 1 | ----------------------------------------------------------------------------- | | 2 | | -Java Service Wrapper Community Edition 3.5.12 | | 2 | +Java Service Wrapper Community Edition 3.5.13 | | 3 | 3 | Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. | | 4 | 4 | http://wrapper.tanukisoftware.com | | 5 | 5 | ----------------------------------------------------------------------------- |
| | @@ -1,5 +1,5 @@ | | 1 | 1 | ----------------------------------------------------------------------------- | | 2 | | -Java Service Wrapper Community Edition 3.5.12 | | 2 | +Java Service Wrapper Community Edition 3.5.13 | | 3 | 3 | Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. | | 4 | 4 | http://wrapper.tanukisoftware.com | | 5 | 5 | ----------------------------------------------------------------------------- |
| | @@ -1,5 +1,5 @@ | | 1 | 1 | ----------------------------------------------------------------------------- | | 2 | | -Java Service Wrapper Community Edition 3.5.12 | | 2 | +Java Service Wrapper Community Edition 3.5.13 | | 3 | 3 | Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. | | 4 | 4 | http://wrapper.tanukisoftware.com | | 5 | 5 | ----------------------------------------------------------------------------- |
| | @@ -1,6 +1,19 @@ | | 1 | 1 | Java Service Wrapper Revision History. | | 2 | 2 | -------------------------------------- | | 3 | 3 | | | 4 | +3.5.13 | | 5 | + * Fix a typo in the script where the environment variable 'TR_BIN' should | | 6 | + actually be 'TREXE'. This was causing the "install" command on UNIX | | 7 | + platforms to fail. Introduced in 3.5.12. | | 8 | + * Fix a heap corruption which could lead to a crash that would occur the | | 9 | + second time an internal buffer used for logging was expanded. The buffer | | 10 | + would be expanded the first time a log line over 2048 characters in length | | 11 | + was encountered. Then the second expansion would happen when a line at | | 12 | + least 1024 characters longer was encountered. The only work around for | | 13 | + this issue is to log a single line early which is longer than anything else | | 14 | + the application will log to prevent a second expansion from ever happening. | | 15 | + Introduced in 3.5.11. Bug ID #3423108 | | 16 | + | | 4 | 17 | 3.5.12 | | 5 | 18 | * Put more descriptive Text in case the Wrapper is using integration method 4, | | 6 | 19 | but the jar file deos not specify the Main-Class correctly in its meta |
| | @@ -28,22 +28,37 @@ | | 28 | 28 | public static void main(String[] args) { | | 29 | 29 | // 62 chars long | | 30 | 30 | String subStr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; | | 31 | + | | 32 | + // This first test is to check for buffer problems increasing the size of the Wrapper's log buffer. | | 33 | + System.out.println( "Print out 10 long lines of increasing length." ); | | 34 | + // Now loop and print this to the console 10 times. Log the time before each line. | | 35 | + StringBuffer sb = new StringBuffer(); | | 36 | + SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss.SSS" ); | | 37 | + for ( int i = 0; i < 10; i++ ) | | 38 | + { | | 39 | + for ( int j = 0; j < 10; j++ ) | | 40 | + { | | 41 | + sb.append( subStr ); | | 42 | + } | | 43 | + String longStr = sb.toString(); | | 44 | + System.out.println( df.format( new Date() ) ); | | 45 | + System.out.println( longStr ); | | 46 | + } | | 31 | 47 | | | 48 | + // This next test is to check for a speed problem which used to exist with VERY large log lines. | | 49 | + System.out.println( "Print out 10 very long lines of output." ); | | 32 | 50 | // Create a string that is 1,000,060 chars long (16130 copies) | | 33 | | - StringBuffer sb = new StringBuffer(); | | 51 | + sb = new StringBuffer(); | | 34 | 52 | for ( int i = 0; i < 16130; i++ ) | | 35 | 53 | { | | 36 | 54 | sb.append( subStr ); | | 37 | 55 | } | | 38 | | - String longStr = sb.toString(); | | 39 | | - | | 40 | | - // Now loop and print this to the console 10 times. Log the time before each line | | 41 | | - System.out.println( "Print out 10 very long lines of output." ); | | 42 | | - SimpleDateFormat df = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss.SSS" ); | | 43 | | - for ( int i = 0; i < 10; i++ ) | | 56 | + String hugeStr = sb.toString(); | | 57 | + // Now loop and print this to the console 3 times. Log the time before each line. | | 58 | + for ( int i = 0; i < 3; i++ ) | | 44 | 59 | { | | 45 | 60 | System.out.println( df.format( new Date() ) ); | | 46 | | - System.out.println( longStr ); | | 61 | + System.out.println( hugeStr ); | | 47 | 62 | } | | 48 | 63 | System.out.println( "All done." ); | | 49 | 64 | } |
| | @@ -3135,6 +3135,8 @@ | | 3135 | 3135 | int currentBlockRead; | | 3136 | 3136 | int defer = FALSE; | | 3137 | 3137 | int readThisPass = FALSE; | | 3138 | + size_t removeLen = 0; | | 3139 | + int foundCRLF = FALSE; | | 3138 | 3140 | | | 3139 | 3141 | if (!wrapperChildWorkBuffer) { | | 3140 | 3142 | /* Initialize the wrapperChildWorkBuffer. Set its initial size to the block size + 1. |
| | @@ -3175,7 +3177,7 @@ | | 3175 | 3177 | * but is safer. */ | | 3176 | 3178 | wrapperChildWorkBufferSize = __max(wrapperChildWorkBufferLen + 1, __max(wrapperChildWorkBufferSize + sizeof(char) * READ_BUFFER_BLOCK_SIZE, wrapperChildWorkBufferSize + wrapperChildWorkBufferSize / 10)); | | 3177 | 3179 | | | 3178 | | - tempBuffer = malloc(wrapperChildWorkBufferSize); | | 3180 | + tempBuffer = malloc(wrapperChildWorkBufferSize + 1); | | 3179 | 3181 | if (!tempBuffer) { | | 3180 | 3182 | outOfMemory(TEXT("WRCO"), 2); | | 3181 | 3183 | return FALSE; |
| | @@ -3224,8 +3226,10 @@ | | 3224 | 3226 | #endif | | 3225 | 3227 | /* Replace the CR with a NULL */ | | 3226 | 3228 | (cLF - sizeof(char))[0] = 0; | | 3229 | + foundCRLF = TRUE; | | 3227 | 3230 | } else { | | 3228 | 3231 | #endif | | 3232 | + foundCRLF = FALSE; | | 3229 | 3233 | #ifdef DEBUG_CHILD_OUTPUT | | 3230 | 3234 | log_printf(WRAPPER_SOURCE_WRAPPER, LEVEL_INFO, TEXT("Found LF")); | | 3231 | 3235 | #endif |
| | @@ -3250,11 +3254,18 @@ | | 3250 | 3254 | #endif | | 3251 | 3255 | #endif | | 3252 | 3256 | logChildOutput(wrapperChildWorkBuffer); | | 3257 | + /* Remove the line we just logged from the buffer by moving the rest up. */ | | 3253 | 3258 | | | 3254 | | - /* Remove the line we just logged from the buffer by moving the rest up. */ | | 3259 | + removeLen = cLF - wrapperChildWorkBuffer + 1; | | 3260 | +#ifdef DEBUG_CHILD_OUTPUT | | 3261 | + log_printf(WRAPPER_SOURCE_WRAPPER, LEVEL_INFO, TEXT("removeLen: %d"), removeLen); | | 3262 | +#endif | | 3263 | + | | 3255 | 3264 | /* NOTE - This line intentionally does the copy within the same memory space. It is safe the way it is working however. */ | | 3256 | | - wrapperChildWorkBufferLen -= (cLF - wrapperChildWorkBuffer) + 1; | | 3257 | | - safeMemCpy(wrapperChildWorkBuffer, 0, cLF - wrapperChildWorkBuffer + 1, wrapperChildWorkBufferLen + 1); | | 3265 | + wrapperChildWorkBufferLen = wrapperChildWorkBufferLen - removeLen; | | 3266 | + safeMemCpy(wrapperChildWorkBuffer, 0, removeLen, wrapperChildWorkBufferLen); | | 3267 | + /* just to make sure the buffer has been ended properly */ | | 3268 | + wrapperChildWorkBuffer[wrapperChildWorkBufferLen] = 0; | | 3258 | 3269 | } else { | | 3259 | 3270 | /* If we read this pass or if the last character is a CR on Windows then we always want to defer. */ | | 3260 | 3271 | if (readThisPass |
| | @@ -28,7 +28,7 @@ | | 28 | 28 | TCHAR *wrapperBits = TEXT("@bits@"); | | 29 | 29 | TCHAR *wrapperArch = TEXT("@dist.arch@"); | | 30 | 30 | TCHAR *wrapperOS = TEXT("@dist.os@"); | | 31 | | -TCHAR *wrapperReleaseDate = TEXT("20110929"); | | 31 | +TCHAR *wrapperReleaseDate = TEXT("20111102"); | | 32 | 32 | TCHAR *wrapperReleaseTime = TEXT("0000"); | | 33 | 33 | TCHAR *wrapperBuildDate = TEXT("@build.date@"); | | 34 | 34 | TCHAR *wrapperBuildTime = TEXT("@build.time@"); |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -16,7 +16,7 @@ | | 16 | 16 | | | 17 | 17 | #----------------------------------------------------------------------------- | | 18 | 18 | # These settings can be modified to fit the needs of your application | | 19 | | -# Optimized for use with version 3.5.12 of the Wrapper. | | 19 | +# Optimized for use with version 3.5.13 of the Wrapper. | | 20 | 20 | | | 21 | 21 | # Application | | 22 | 22 | APP_NAME="@app.name@" |
| | @@ -1028,7 +1028,7 @@ | | 1028 | 1028 | eval echo `gettext 'Must be root to perform this action.'` | | 1029 | 1029 | exit 1 | | 1030 | 1030 | else | | 1031 | | - APP_NAME_LOWER=`echo "$APP_NAME" | $TR_BIN "[A-Z]" "[a-z]"` | | 1031 | + APP_NAME_LOWER=`echo "$APP_NAME" | $TREXE "[A-Z]" "[a-z]"` | | 1032 | 1032 | if [ "$DIST_OS" = "solaris" ] ; then | | 1033 | 1033 | eval echo `gettext 'Detected Solaris:'` | | 1034 | 1034 | if [ -f /etc/init.d/$APP_NAME ] ; then |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -14,7 +14,7 @@ | | 14 | 14 | | | 15 | 15 | rem ----------------------------------------------------------------------------- | | 16 | 16 | rem These settings can be modified to fit the needs of your application | | 17 | | -rem Optimized for use with version 3.5.12 of the Wrapper. | | 17 | +rem Optimized for use with version 3.5.13 of the Wrapper. | | 18 | 18 | | | 19 | 19 | rem The base name for the Wrapper binary. | | 20 | 20 | set _WRAPPER_BASE=wrapper |
| | @@ -1,5 +1,5 @@ | | 1 | 1 | ----------------------------------------------------------------------------- | | 2 | | -Java Service Wrapper Community Edition 3.5.12 | | 2 | +Java Service Wrapper Community Edition 3.5.13 | | 3 | 3 | Copyright (C) 1999-2011 Tanuki Software, Ltd. All Rights Reserved. | | 4 | 4 | http://wrapper.tanukisoftware.com | | 5 | 5 | ----------------------------------------------------------------------------- |
旧リポジトリブラウザで表示
|