Ack, Mathi.
> -----Original Message----- > From: Vu Minh Nguyen [mailto:[email protected]] > Sent: Monday, October 19, 2015 3:01 PM > To: Mathivanan Naickan Palanivelu; [email protected] > Cc: [email protected] > Subject: [PATCH 1 of 1] log: fix ownership of log files is not changed when > group name is changed [#1550] > > osaf/services/saf/logsv/lgs/lgs_imm.c | 5 +++-- > osaf/services/saf/logsv/lgs/lgs_util.c | 13 ++++++++++++- > osaf/services/saf/logsv/lgs/lgs_util.h | 3 +-- > 3 files changed, 16 insertions(+), 5 deletions(-) > > > Fix changing groupname for file ownership that files are reowened when > change is applied. > > diff --git a/osaf/services/saf/logsv/lgs/lgs_imm.c > b/osaf/services/saf/logsv/lgs/lgs_imm.c > --- a/osaf/services/saf/logsv/lgs/lgs_imm.c > +++ b/osaf/services/saf/logsv/lgs/lgs_imm.c > @@ -1844,7 +1844,8 @@ void logRootDirectory_filemove( > * @param new_logDataGroupname[in] > * String contains new group. > */ > -void logDataGroupname_fileown(const char *new_logDataGroupname){ > +void logDataGroupname_fileown(const char *new_logDataGroupname) { > TRACE_ENTER(); > log_stream_t *stream; > > @@ -1860,7 +1861,7 @@ void logDataGroupname_fileown(const char > */ > stream = log_stream_getnext_by_name(NULL); > while (stream != NULL) { > - lgs_own_log_files_h(stream); > + lgs_own_log_files_h(stream, > new_logDataGroupname); > stream = log_stream_getnext_by_name(stream- > >name); > } > } > diff --git a/osaf/services/saf/logsv/lgs/lgs_util.c > b/osaf/services/saf/logsv/lgs/lgs_util.c > --- a/osaf/services/saf/logsv/lgs/lgs_util.c > +++ b/osaf/services/saf/logsv/lgs/lgs_util.c > @@ -606,7 +606,7 @@ gid_t lgs_get_data_gid(char *groupname) > * @return: 0 on success > * -1 on error > */ > -int lgs_own_log_files_h(log_stream_t *stream) > +int lgs_own_log_files_h(log_stream_t *stream, const char *groupname) > { > lgsf_apipar_t apipar; > lgsf_retcode_t api_rc; > @@ -615,6 +615,7 @@ int lgs_own_log_files_h(log_stream_t *st > > TRACE_ENTER2("stream %s",stream->name); > > + /* Set in parameter file_name */ > n = snprintf(data_in->file_name, SA_MAX_NAME_LENGTH, "%s", > stream->fileName); > if (n >= SA_MAX_NAME_LENGTH) { > rc = -1; > @@ -622,6 +623,7 @@ int lgs_own_log_files_h(log_stream_t *st > goto done; > } > > + /* Set in parameter dir_path */ > const char *logsv_root_dir = > lgs_cfg_get(LGS_IMM_LOG_ROOT_DIRECTORY); > > n = snprintf(data_in->dir_path, PATH_MAX, "%s/%s", @@ -638,6 > +640,15 @@ int lgs_own_log_files_h(log_stream_t *st > rc = -1; > goto done; > } > + > + /* Set in parameter groupname */ > + n = snprintf(data_in->groupname, UT_NAMESIZE, "%s", > groupname); > + if (n > UT_NAMESIZE) { > + LOG_WA("Group name > UT_NAMESIZE"); > + rc = -1; > + goto done; > + } > + > /* Fill in API structure */ > apipar.req_code_in = LGSF_OWN_LOGFILES; > apipar.data_in_size = sizeof(olfbgh_t); diff --git > a/osaf/services/saf/logsv/lgs/lgs_util.h > b/osaf/services/saf/logsv/lgs/lgs_util.h > --- a/osaf/services/saf/logsv/lgs/lgs_util.h > +++ b/osaf/services/saf/logsv/lgs/lgs_util.h > @@ -66,6 +66,5 @@ extern bool lgs_relative_path_check_ts(c extern int > lgs_make_reldir_h(const char* path); extern int > lgs_check_path_exists_h(const char *path_to_check); extern gid_t > lgs_get_data_gid(char *groupname); -extern int > lgs_own_log_files_h(log_stream_t *stream); > - > +extern int lgs_own_log_files_h(log_stream_t *stream, const char > +*groupname); > #endif /* ifndef __LGS_UTIL_H */ ------------------------------------------------------------------------------ _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
