Hi Vu,

While validating the patch , i received following errors , do we need to 
apply any other IMM patchs

to validate this patch ?

==============================================================================

# Jul  8 13:03:03 SC-1 osafimmnd[23888]: NO ERR_INVALID_PARAM: RDN 
attribute value 
safLgStr=LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL
 
is too large: 997. Max length is 64 for SaStringT
Jul  8 13:03:03 SC-1 osaflogd[23903]: WA saImmOiRtObjectCreate_2 
returned 7 for 
safLgStr=LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL,
  
parent (null)

==============================================================================

-AVM


On 7/8/2016 10:19 AM, A V Mahesh wrote:
> Hi Vu,
>
> On 7/8/2016 10:11 AM, Vu Minh Nguyen wrote:
>> I zipped all the patches in attached file, you can try to apply it in 
>> the
>> meantime. Thanks.
>
> Thanks The attached patches are getting applied.
>
> -AVM
>
> On 7/8/2016 10:11 AM, Vu Minh Nguyen wrote:
>> Hi Mahesh,
>>
>> I have tried to apply these patches (copy from emails [PATCH x of 4]) to
>> latest staging and it works.
>> And I see you get failed at the first patch (saflogger tool), then I 
>> guess
>> the patches you applied were broken somehow.
>>
>> Can you send me the saflogger patch (1st patch) that you used? I will 
>> check
>> it to see why you get failed.
>>
>> I zipped all the patches in attached file, you can try to apply it in 
>> the
>> meantime. Thanks.
>>
>> Regards, Vu
>>
>>> -----Original Message-----
>>> From: A V Mahesh [mailto:mahesh.va...@oracle.com]
>>> Sent: Friday, July 8, 2016 11:07 AM
>>> To: Vu Minh Nguyen <vu.m.ngu...@dektech.com.au>;
>>> lennart.l...@ericsson.com
>>> Cc: opensaf-devel@lists.sourceforge.net
>>> Subject: Re: [PATCH 1 of 4] log: add one new option -f to saflogger 
>>> tool
>>> [#1315]
>>>
>>> Hi Vu,
>>>
>>> This patch is not being applied on latest staging , can you tell on
>>> which changesset  this will cleanly appy ?
>>>
>>> ==============================================================
>>> ====================
>>>
>>> patching file osaf/tools/saflog/saflogger/Makefile.am
>>> Hunk #1 FAILED at 22.
>>> 1 out of 1 hunk FAILED -- saving rejects to file
>>> osaf/tools/saflog/saflogger/Makefile.am.rej
>>> patching file osaf/tools/saflog/saflogger/saf_logger.c
>>> Hunk #2 FAILED at 84.
>>> Hunk #3 FAILED at 96.
>>> Hunk #4 FAILED at 236.
>>> Hunk #5 FAILED at 259.
>>> Hunk #6 FAILED at 268.
>>> Hunk #7 FAILED at 299.
>>> Hunk #8 FAILED at 367.
>>> Hunk #9 FAILED at 411.
>>> 8 out of 9 hunks FAILED -- saving rejects to file
>>> osaf/tools/saflog/saflogger/saf_logger.c.rej
>>>
>>> ==============================================================
>>> ====================
>>>
>>> -AVM
>>>
>>> On 7/1/2016 4:12 PM, Vu Minh Nguyen wrote:
>>>> osaf/tools/saflog/saflogger/Makefile.am  |   1 +
>>>>    osaf/tools/saflog/saflogger/saf_logger.c |  90
>>> ++++++++++++++++++++++++++-----
>>>>    2 files changed, 75 insertions(+), 16 deletions(-)
>>>>
>>>>
>>>> With app stream, saflogger used app stream DN as logFileName.
>>>> With Long DN, the app stream DN could be longer than 255 characters in
>>> length.
>>>> This patch provides one new option -f <filename>.
>>>> This option is only applicable for app stream.
>>>>
>>>> diff --git a/osaf/tools/saflog/saflogger/Makefile.am
>>> b/osaf/tools/saflog/saflogger/Makefile.am
>>>> --- a/osaf/tools/saflog/saflogger/Makefile.am
>>>> +++ b/osaf/tools/saflog/saflogger/Makefile.am
>>>> @@ -22,6 +22,7 @@ MAINTAINERCLEANFILES = Makefile.in
>>>>    bin_PROGRAMS = saflogger
>>>>
>>>>    saflogger_CPPFLAGS = \
>>>> +    -DSA_EXTENDED_NAME_SOURCE \
>>>>        $(AM_CPPFLAGS) \
>>>>        -I$(top_srcdir)/osaf/tools/saflog/include
>>>>
>>>> diff --git a/osaf/tools/saflog/saflogger/saf_logger.c
>>> b/osaf/tools/saflog/saflogger/saf_logger.c
>>>> --- a/osaf/tools/saflog/saflogger/saf_logger.c
>>>> +++ b/osaf/tools/saflog/saflogger/saf_logger.c
>>>> @@ -37,8 +37,9 @@
>>>>    #include <poll.h>
>>>>    #include <unistd.h>
>>>>    #include <limits.h>
>>>> +#include <stdbool.h>
>>>> +#include "osaf_extended_name.h"
>>>>
>>>> -#include <saAis.h>
>>>>    #include <saLog.h>
>>>>
>>>>    #include "saf_error.h"
>>>> @@ -83,7 +84,7 @@ static void usage(void)
>>>>        printf("\t%s - write log record to log stream\n", progname);
>>>>
>>>>        printf("\nSYNOPSIS\n");
>>>> -    printf("\t%s [options] [message ...]\n", progname);
>>>> +    printf("\t%s [options] [-f <FILENAME>] [message ...]\n", 
>>>> progname);
>>>>
>>>>        printf("\nDESCRIPTION\n");
>>>>        printf("\t%s is a SAF LOG client used to write a log record 
>>>> into a
>>> specified log stream.\n", progname);
>>>> @@ -95,11 +96,16 @@ static void usage(void)
>>>>        printf("\t-n or --notification           write to notification
>> stream\n");
>>>>        printf("\t-y or --system                 write to system stream
>> (default)\n");
>>>>        printf("\t-a NAME or --application=NAME  write to application
>>> stream NAME (create it if not exist)\n");
>>>> +    printf("\t-f FILENAME                    write log record to
>> FILENAME\n");
>>>>        printf("\t-s SEV or --severity=SEV       use severity SEV, 
>>>> default
>>> INFO\n");
>>>>        printf("\t\tvalid severity names: emerg, alert, crit, error, 
>>>> warn,
>>> notice, info\n");
>>>> +    printf("\nNOTES\n");
>>>> +    printf("\t1) -f is only applicable for app stream.\n");
>>>> +    printf("\t1) <FILENAME> length must not be longer than 255
>>> characters.\n");
>>>>        printf("\nEXAMPLES\n");
>>>>        printf("\tsaflogger -a safLgStrCfg=Test \"Hello world\"\n");
>>>> +    printf("\tsaflogger -a safLgStrCfg=Test -f testLogFile \"Hello
>>> world\"\n");
>>>>        printf("\tsaflogger -s crit \"I am going down\"\n\n");
>>>>    }
>>>>
>>>> @@ -230,7 +236,7 @@ static SaLogSeverityT get_severity(char
>>>>    int main(int argc, char *argv[])
>>>>    {
>>>>        int c;
>>>> -    SaNameT logStreamName = {.length = 0 };
>>>> +    SaNameT logStreamName;
>>>>        SaLogFileCreateAttributesT_2 *logFileCreateAttributes = NULL;
>>>>        SaLogFileCreateAttributesT_2 appLogFileCreateAttributes;

>>>>        SaLogStreamOpenFlagsT logStreamOpenFlags = 0;
>>>> @@ -253,6 +259,7 @@ int main(int argc, char *argv[])
>>>>        SaLogStreamHandleT logStreamHandle;
>>>>        SaSelectionObjectT selectionObject;
>>>>        unsigned int wait_time;
>>>> +    bool is_appstream = false, f_opt = false;
>>>>
>>>>        srandom(getpid());
>>>>
>>>> @@ -261,11 +268,23 @@ int main(int argc, char *argv[])
>>>>            exit(EXIT_FAILURE);
>>>>        }
>>>>
>>>> -    sprintf((char *)logSvcUsrName.value, "%s.%u@%s", "saflogger",
>>> getpid(), hostname);
>>>> -    logSvcUsrName.length = strlen((char *)logSvcUsrName.value);
>>>> +    if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
>>>> +        fprintf(stderr, "Failed to enable Extended SaNameT");
>>>> +        exit(EXIT_FAILURE);
>>>> +    }
>>>> +
>>>> +    /**
>>>> +     * osaf_extended_name_init() is added in case osaf_extended_* 
>>>> APIs
>>>> +     * are used before saLogInitialize().
>>>> +     */
>>>> +    osaf_extended_name_init();
>>>> +
>>>> +    char svcUserName[kOsafMaxDnLength];
>>>> +    snprintf(svcUserName, sizeof(svcUserName), "%s.%u@%s",
>>> "saflogger", getpid(), hostname);
>>>> +    saAisNameLend(svcUserName, &logSvcUsrName);
>>>>
>>>>        /* Setup default values */
>>>> -    strcpy((char *)logStreamName.value, SA_LOG_STREAM_SYSTEM);
>>>     /* system stream is default */
>>>> + saAisNameLend(SA_LOG_STREAM_SYSTEM, &logStreamName);
>>>>        logRecord.logTimeStamp = SA_TIME_UNKNOWN;    /* LOG
>>> service should supply timestamp */
>>>>        logRecord.logHdrType = SA_LOG_GENERIC_HEADER;
>>>>        logRecord.logHeader.genericHdr.notificationClassId = NULL;
>>>> @@ -280,32 +299,58 @@ int main(int argc, char *argv[])
>>>>        appLogFileCreateAttributes.maxFilesRotated =
>>> DEFAULT_MAX_FILES_ROTATED;
>>>>        /* Use built-in log file format in log server for app stream */
>>>>        appLogFileCreateAttributes.logFileFmt = NULL;
>>>> +    appLogFileCreateAttributes.logFileName = NULL;
>>>>
>>>>        while (1) {
>>>> -        c = getopt_long(argc, argv, "?hlnya:s:", long_options,
>> NULL);
>>>> +        c = getopt_long(argc, argv, "?hlnya:s:f:", long_options,
>>> NULL);
>>>>            if (c == -1) {
>>>>                break;
>>>>            }
>>>>            switch (c) {
>>>>            case 'l':
>>>> -            strcpy((char *)logStreamName.value,
>>> SA_LOG_STREAM_ALARM);
>>>> + saAisNameLend(SA_LOG_STREAM_ALARM,
>>> &logStreamName);
>>>>                logRecord.logHdrType = SA_LOG_NTF_HEADER;
>>>>                break;
>>>>            case 'n':
>>>> -            strcpy((char *)logStreamName.value,
>>> SA_LOG_STREAM_NOTIFICATION);
>>>> + saAisNameLend(SA_LOG_STREAM_NOTIFICATION,
>>> &logStreamName);
>>>>                logRecord.logHdrType = SA_LOG_NTF_HEADER;
>>>>                break;
>>>>            case 'y':
>>>> -            strcpy((char *)logStreamName.value,
>>> SA_LOG_STREAM_SYSTEM);
>>>> + saAisNameLend(SA_LOG_STREAM_SYSTEM,
>>> &logStreamName);
>>>>                break;
>>>>            case 'a':
>>>> +            logFileCreateAttributes =
>>> &appLogFileCreateAttributes;
>>>> +            logStreamOpenFlags = SA_LOG_STREAM_CREATE;
>>>> +
>>>> +            char tmpDn[kOsafMaxDnLength + 8 + 1] = {0};
>>>>                if (strstr(optarg, "safLgStr"))
>>>> -                strcpy((char *)logStreamName.value,
>>> optarg);
>>>> +                strncpy(tmpDn, optarg, sizeof(tmpDn) - 1);
>>>>                else
>>>> -                sprintf((char *)logStreamName.value,
>>> "safLgStr=%s", optarg);
>>>> -            logFileCreateAttributes =
>>> &appLogFileCreateAttributes;
>>>> +                snprintf(tmpDn, sizeof(tmpDn),
>>> "safLgStr=%s", optarg);
>>>> +
>>>> +            if (strlen(tmpDn) > kOsafMaxDnLength) {
>>>> +                fprintf(stderr, "Application stream DN is so
>>> long (%lu). Max: %d \n",
>>>> +                    strlen(optarg), kOsafMaxDnLength);
>>>> +                fprintf(stderr, "Shut down app. \n");
>>>> +                exit(EXIT_FAILURE);
>>>> +            }
>>>> +            saAisNameLend(tmpDn, &logStreamName);
>>>> +            is_appstream = true;
>>>> +            if (f_opt == false)
>>>> +                appLogFileCreateAttributes.logFileName =
>>> strdup(optarg);
>>>> +            break;
>>>> +        case 'f':
>>>> +            if (f_opt == true) {
>>>> +                fprintf(stderr, "More than one option -f are
>>> given.\n");
>>>> +                fprintf(stderr, "Try saflogger -h for more
>>> information.\n");
>>>> +                exit(EXIT_FAILURE);
>>>> +
>>>> +            }
>>>> +            if (appLogFileCreateAttributes.logFileName != NULL)
>>>> +
>>>     free(appLogFileCreateAttributes.logFileName);
>>>> +
>>>>                appLogFileCreateAttributes.logFileName =
>>> strdup(optarg);
>>>> -            logStreamOpenFlags = SA_LOG_STREAM_CREATE;
>>>> +            f_opt = true;
>>>>                break;
>>>>            case 's':
>>>>                logRecord.logHeader.genericHdr.logSeverity =
>>> get_severity(optarg);
>>>> @@ -322,6 +367,21 @@ int main(int argc, char *argv[])
>>>>            }
>>>>        }
>>>>
>>>> +    if (f_opt == true && is_appstream == false) {
>>>> +        fprintf(stderr, "Note: -f is only applicaple for app
>> stream.\n");
>>>> +        fprintf(stderr, "Try saflogger -h for more information.\n");
>>>> +        exit(EXIT_FAILURE);
>>>> +    }
>>>> +
>>>> +    if (appLogFileCreateAttributes.logFileName != NULL &&
>>> is_appstream == true) {
>>>> +        size_t len = 0;
>>>> +        if ((len = strlen(appLogFileCreateAttributes.logFileName)) >
>>> 255) {
>>>> +            fprintf(stderr, "FILENAME is too long (%zu) (max:
>> 255
>>> characters).\n", len);
>>>> +            fprintf(stderr, "Try saflogger -h for more
>>> information.\n");
>>>> +            exit(EXIT_FAILURE);
>>>> +        }
>>>> +    }
>>>> +
>>>>        if (optind >= argc) {
>>>>            /* No body of log record */
>>>>        }
>>>> @@ -351,8 +411,6 @@ int main(int argc, char *argv[])
>>>>            exit(EXIT_FAILURE);
>>>>        }
>>>>
>>>> -    logStreamName.length = strlen((char *)logStreamName.value);
>>>> -
>>>>        if (logRecord.logHdrType == SA_LOG_NTF_HEADER) {
>>>>            /* Setup some valid values */
>>>>            logRecord.logHeader.ntfHdr.notificationId =
>>> SA_NTF_IDENTIFIER_UNUSED;
>



------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to