示例#1
0
func fsPosixSetAcls(log *logging.Logger, filename *string, acls *[]common.JSONFileAcl) common.JSONResult {
	var result common.JSONResult
	var err error

	for _, item := range *acls {
		fa := FileACL(*filename)
		err = fa.Set(log, item)
	}

	if err != nil {
		result = common.JSONResult{Result: "ko"}
		if exitError, ok := err.(*exec.ExitError); ok {
			waitStatus := exitError.Sys().(syscall.WaitStatus)
			message := exitError.String()

			result.Message = "Status: " + strconv.Itoa(waitStatus.ExitStatus()) + " Message: " + message
		}
	} else {
		result = common.JSONResult{Result: "ok"}
	}
	return result
}