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
