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

Reply via email to