Hi Canh,

Sorry I have missed that, so the code fix is fine to me.

Thanks,
Minh

On 15/02/17 20:40, Canh Truong wrote:
> Hi aMinh,
>
> NTFS has already re-assigned length of buffer  to MAX_ADDITIONAL_TEXT_LENGTH
> if it is exceeds to MAX_ADDITIONAL_TEXT_LENGTH.
> So we don't need to add any more for this check.
>
> Regards
> Canh
>
> -----Original Message-----
> From: minh chau [mailto:[email protected]]
> Sent: Wednesday, February 15, 2017 10:08 AM
> To: Canh Van Truong; [email protected]; [email protected]
> Cc: [email protected]
> Subject: Re: [PATCH 1 of 1] ntf: workaround to fix failed upgrade [#2300]
>
> Hi Canh,
>
> Ack with comments:
>
> - The patch #2006 introduced another check against
> MAX_ADDITIONAL_TEXT_LENGTH, it's equal to SA_LOG_MAX_RECORD_SIZE too
> (65535). So we need to add the same check of #2006 for #2300 so that NTF
> server copes with possibly invalid input.
> - We encounter the upgrade problem because NTF Agent in Opensaf 5.0 does not
> have patch of #2006, so when we move on and Opensaf 5.0 is no longer
> maintained, then this workaround should be removed from NTF server side.
> The reason is this kind of check (or auto-adjustment) should be done in NTF
> Agent only, not in NTF Server side. So I think we should add comment besides
> this workaround as a reminder.
>
> Thanks,
> Minh
>
> On 14/02/17 17:20, Canh Van Truong wrote:
>>    src/ntf/ntfd/NtfLogger.cc |  9 +++++++++
>>    1 files changed, 9 insertions(+), 0 deletions(-)
>>
>>
>> During cluster upgrade from an old OpenSAF version which have not
>> included the fix #2006 to one that have the fix in, if there is an
>> code fault related to inconsistent in additionalText and
> lengthAdditionalText in NTF application, could lead to upgadate failed.
>> This patch fix to add an workwround in NTFs, adjust
>> lengthAdditionalText to correct one if NTFs find the mismatch
>>
>> Note: The patch applies on branch 5.0 has little differences. There
>> are some changes in test cases ntftest 30 3... to change the length of
> additionalText+1  and lengthAdditionalText are the same.
>> diff --git a/src/ntf/ntfd/NtfLogger.cc b/src/ntf/ntfd/NtfLogger.cc
>> --- a/src/ntf/ntfd/NtfLogger.cc
>> +++ b/src/ntf/ntfd/NtfLogger.cc
>> @@ -197,6 +197,15 @@ SaAisErrorT NtfLogger::logNotification(N
>>    
>>      sendNotInfo = notif->getNotInfo();
>>      ntfsv_get_ntf_header(sendNotInfo, &ntfHeader);
>> +
>> +  // Workaround to fix with failed upgrade  // Auto correction if
>> + there is inconsistent b/w lengthAdditionalText and additionalText
>> + if (ntfHeader->additionalText != NULL &&
>> +      ntfHeader->lengthAdditionalText > strlen(ntfHeader->additionalText)
> + 1) {
>> +    LOG_WA("Mismatch b/w lengthAdditionalText and additionalText.
> Re-Adjust!");
>> +    ntfHeader->lengthAdditionalText =
>> + strlen(ntfHeader->additionalText) + 1;  }
>> +
>>      logBuffer.logBufSize = ntfHeader->lengthAdditionalText;
>>      logBuffer.logBuf = (SaUint8T*)&addTextBuf[0];
>>    
>>
>
>


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to