Lines Matching refs:dst
458 …ction == ACTION_OUT_DEST) && (r->dst != NULL) && (r->dst->path != NULL) && (!strcmp(r->dst->path, … in _asl_out_dest_for_path()
498 asl_out_dst_data_t *dst; in _asl_common_make_dir_path() local
542 dst = _asl_out_dest_for_path(mlist, tmp); in _asl_common_make_dir_path()
543 if ((dst == NULL) && (flags & MODULE_FLAG_NONSTD_DIR)) in _asl_common_make_dir_path()
552 if (dst != NULL) in _asl_common_make_dir_path()
554 mode = dst->mode; in _asl_common_make_dir_path()
566 if (dst != NULL) in _asl_common_make_dir_path()
568 if (dst->nuid > 0) u = dst->uid[0]; in _asl_common_make_dir_path()
569 if (dst->ngid > 0) g = dst->gid[0]; in _asl_common_make_dir_path()
590 if (r->dst == NULL) return -1; in asl_out_mkpath()
591 if (r->dst->path == NULL) return -1; in asl_out_mkpath()
593 snprintf(tmp, sizeof(tmp), "%s", r->dst->path); in asl_out_mkpath()
612 uint32_t dirflag = r->dst->flags & MODULE_FLAG_NONSTD_DIR; in asl_out_mkpath()
683 asl_make_dst_filename(asl_out_dst_data_t *dst, char *buf, size_t len) in asl_make_dst_filename() argument
685 if (dst == NULL) return; in asl_make_dst_filename()
688 if (dst->flags & (MODULE_FLAG_BASESTAMP | MODULE_FLAG_TYPE_ASL_DIR)) in asl_make_dst_filename()
691 const char *name = dst->path; in asl_make_dst_filename()
693 if (dst->flags & MODULE_FLAG_TYPE_ASL_DIR) name = dst->fname; in asl_make_dst_filename()
695 if (dst->stamp == 0) dst->stamp = time(NULL); in asl_make_dst_filename()
696 asl_make_timestamp(dst->stamp, dst->flags, tstamp, sizeof(tstamp)); in asl_make_dst_filename()
701 snprintf(buf, len, "%s", dst->path); in asl_make_dst_filename()
738 asl_out_dst_data_release(asl_out_dst_data_t *dst) in asl_out_dst_data_release() argument
740 if (dst == NULL) return; in asl_out_dst_data_release()
742 if (dst->refcount > 0) dst->refcount--; in asl_out_dst_data_release()
743 if (dst->refcount > 0) return; in asl_out_dst_data_release()
745 free(dst->path); in asl_out_dst_data_release()
746 free(dst->fname); in asl_out_dst_data_release()
747 free(dst->rotate_dir); in asl_out_dst_data_release()
748 free(dst->fmt); in asl_out_dst_data_release()
750 free(dst->uid); in asl_out_dst_data_release()
751 free(dst->gid); in asl_out_dst_data_release()
753 free(dst); in asl_out_dst_data_release()
757 asl_out_dst_data_retain(asl_out_dst_data_t *dst) in asl_out_dst_data_retain() argument
759 if (dst == NULL) return NULL; in asl_out_dst_data_retain()
760 dst->refcount++; in asl_out_dst_data_retain()
761 return dst; in asl_out_dst_data_retain()
766 asl_out_dst_set_access(int fd, asl_out_dst_data_t *dst) in asl_out_dst_set_access() argument
781 if (dst == NULL) return -1; in asl_out_dst_set_access()
788 if (dst->nuid > 0) fuid = dst->uid[0]; in asl_out_dst_set_access()
789 if (dst->ngid > 0) fgid = dst->gid[0]; in asl_out_dst_set_access()
798 for (i = 0; i < dst->ngid; i++) in asl_out_dst_set_access()
800 if (dst->gid[i] == (gid_t)-2) continue; in asl_out_dst_set_access()
806 if ((dst->gid[i] == fgid) && (dst->mode & 00040)) continue; in asl_out_dst_set_access()
809 status = mbr_gid_to_uuid(dst->gid[i], uuid); in asl_out_dst_set_access()
812 dst->gid[i] = -2; in asl_out_dst_set_access()
835 for (i = 0; i < dst->nuid; i++) in asl_out_dst_set_access()
837 if (dst->uid[i] == (gid_t)-2) continue; in asl_out_dst_set_access()
843 if ((dst->uid[i] == fuid) && (dst->mode & 00400)) continue; in asl_out_dst_set_access()
846 status = mbr_uid_to_uuid(dst->uid[i], uuid); in asl_out_dst_set_access()
849 dst->uid[i] = -2; in asl_out_dst_set_access()
889 asl_out_dst_file_create_open(asl_out_dst_data_t *dst, char **pathp) in asl_out_dst_file_create_open() argument
895 if (dst == NULL) return -1; in asl_out_dst_file_create_open()
896 if (dst->path == NULL) return -1; in asl_out_dst_file_create_open()
898 asl_make_dst_filename(dst, outpath, sizeof(outpath)); in asl_out_dst_file_create_open()
899 if (dst->fname != NULL) free(dst->fname); in asl_out_dst_file_create_open()
901 dst->fname = strdup(outpath); in asl_out_dst_file_create_open()
902 if (dst->fname == NULL) return -1; in asl_out_dst_file_create_open()
916 if (dst->stamp == 0) dst->stamp = sb.st_birthtimespec.tv_sec; in asl_out_dst_file_create_open()
917 if (dst->stamp == 0) dst->stamp = sb.st_mtimespec.tv_sec; in asl_out_dst_file_create_open()
918 dst->size = sb.st_size; in asl_out_dst_file_create_open()
928 fd = open(outpath, O_RDWR | O_CREAT | O_EXCL, (dst->mode & 00666)); in asl_out_dst_file_create_open()
931 dst->stamp = time(NULL); in asl_out_dst_file_create_open()
933 fd = asl_out_dst_set_access(fd, dst); in asl_out_dst_file_create_open()
957 if (r->dst != NULL) asl_out_dst_data_release(r->dst); in asl_out_module_free()
1136 _dst_add_uid(asl_out_dst_data_t *dst, char *s) in _dst_add_uid() argument
1141 if (dst == NULL) return; in _dst_add_uid()
1146 for (i = 0 ; i < dst->nuid; i++) in _dst_add_uid()
1148 if (dst->uid[i] == uid) return; in _dst_add_uid()
1151 dst->uid = reallocf(dst->uid, (dst->nuid + 1) * sizeof(uid_t)); in _dst_add_uid()
1152 if (dst->uid == NULL) in _dst_add_uid()
1154 dst->nuid = 0; in _dst_add_uid()
1158 dst->uid[dst->nuid++] = uid; in _dst_add_uid()
1162 _dst_add_gid(asl_out_dst_data_t *dst, char *s) in _dst_add_gid() argument
1167 if (dst == NULL) return; in _dst_add_gid()
1172 for (i = 0 ; i < dst->ngid; i++) in _dst_add_gid()
1174 if (dst->gid[i] == gid) return; in _dst_add_gid()
1177 dst->gid = reallocf(dst->gid, (dst->ngid + 1) * sizeof(gid_t)); in _dst_add_gid()
1178 if (dst->gid == NULL) in _dst_add_gid()
1180 dst->ngid = 0; in _dst_add_gid()
1184 dst->gid[dst->ngid++] = gid; in _dst_add_gid()
1255 asl_out_dst_data_t *dst; in _asl_out_module_parse_dst() local
1347 dst = rule->dst; in _asl_out_module_parse_dst()
1348 if (dst == NULL) continue; in _asl_out_module_parse_dst()
1350 if (_dst_path_match(path, dst->path)) in _asl_out_module_parse_dst()
1353 return dst; in _asl_out_module_parse_dst()
1392 dst = (asl_out_dst_data_t *)calloc(1, sizeof(asl_out_dst_data_t)); in _asl_out_module_parse_dst()
1393 if ((out == NULL) || (dst == NULL)) in _asl_out_module_parse_dst()
1397 free(dst); in _asl_out_module_parse_dst()
1401 dst->refcount = 1; in _asl_out_module_parse_dst()
1402 dst->path = path; in _asl_out_module_parse_dst()
1403 dst->mode = def_mode; in _asl_out_module_parse_dst()
1404 dst->ttl[LEVEL_ALL] = DEFAULT_TTL; in _asl_out_module_parse_dst()
1405 dst->flags = flags | MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1409 if (KEYMATCH(p, "mode=")) dst->mode = strtol(p+5, NULL, 0); in _asl_out_module_parse_dst()
1411 else if (KEYMATCH(p, "uid=")) _dst_add_uid(dst, p+4); in _asl_out_module_parse_dst()
1412 else if (KEYMATCH(p, "gid=")) _dst_add_gid(dst, p+4); in _asl_out_module_parse_dst()
1414 else if (KEYMATCH(p, "fmt=")) dst->fmt = _dst_format_string(p+4); in _asl_out_module_parse_dst()
1415 else if (KEYMATCH(p, "format=")) dst->fmt = _dst_format_string(p+7); in _asl_out_module_parse_dst()
1416 else if (KEYMATCH(p, "dest=")) dst->rotate_dir = _strdup_clean(p+5); in _asl_out_module_parse_dst()
1417 else if (KEYMATCH(p, "dst=")) dst->rotate_dir = _strdup_clean(p+4); in _asl_out_module_parse_dst()
1420 if (KEYMATCH(p+9, "0")) dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1421 else if (KEYMATCH(p+9, "off")) dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1422 else if (KEYMATCH(p+9, "false")) dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1424 else if (KEYMATCH(p, "compress")) dst->flags |= MODULE_FLAG_COMPRESS; in _asl_out_module_parse_dst()
1425 else if (KEYMATCH(p, "extern")) dst->flags |= MODULE_FLAG_EXTERNAL; in _asl_out_module_parse_dst()
1426 else if (KEYMATCH(p, "truncate")) dst->flags |= MODULE_FLAG_TRUNCATE; in _asl_out_module_parse_dst()
1427 else if (KEYMATCH(p, "dir")) dst->flags |= MODULE_FLAG_TYPE_ASL_DIR; in _asl_out_module_parse_dst()
1428 else if (KEYMATCH(p, "soft")) dst->flags |= MODULE_FLAG_SOFT_WRITE; in _asl_out_module_parse_dst()
1429 else if (KEYMATCH(p, "file_max=")) dst->file_max = asl_str_to_size(p+9); in _asl_out_module_parse_dst()
1430 else if (KEYMATCH(p, "all_max=")) dst->all_max = asl_str_to_size(p+8); in _asl_out_module_parse_dst()
1437 dst->flags |= MODULE_FLAG_ROTATE; in _asl_out_module_parse_dst()
1441 dst->flags |= MODULE_FLAG_STYLE_SEC; in _asl_out_module_parse_dst()
1446 if ((dash != NULL) && (*(dash + 1) == 'b')) dst->flags |= MODULE_FLAG_STYLE_UTC_B; in _asl_out_module_parse_dst()
1447 else dst->flags |= MODULE_FLAG_STYLE_UTC; in _asl_out_module_parse_dst()
1452 if ((dash != NULL) && (*(dash + 1) == 'b')) dst->flags |= MODULE_FLAG_STYLE_LCL_B; in _asl_out_module_parse_dst()
1453 else dst->flags |= MODULE_FLAG_STYLE_LCL; in _asl_out_module_parse_dst()
1457 dst->flags |= MODULE_FLAG_STYLE_SEQ; in _asl_out_module_parse_dst()
1461 dst->flags |= MODULE_FLAG_STYLE_SEC; in _asl_out_module_parse_dst()
1464 else if (KEYMATCH(p, "rotate")) dst->flags |= MODULE_FLAG_ROTATE; in _asl_out_module_parse_dst()
1468 dst->flags |= MODULE_FLAG_ROTATE; in _asl_out_module_parse_dst()
1469 dst->flags |= MODULE_FLAG_CRASHLOG; in _asl_out_module_parse_dst()
1470 dst->flags |= MODULE_FLAG_BASESTAMP; in _asl_out_module_parse_dst()
1471 dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1475 dst->flags |= MODULE_FLAG_BASESTAMP; in _asl_out_module_parse_dst()
1482 dst->ttl[LEVEL_ALL] = strtol(p+4, NULL, 0); in _asl_out_module_parse_dst()
1487 dst->ttl[x] = strtol(p+5, NULL, 0); in _asl_out_module_parse_dst()
1497 …if ((KEYMATCH(dst->path, _PATH_CRASHREPORTER)) || (KEYMATCH(dst->path, _PATH_CRASHREPORTER_MOBILE)… in _asl_out_module_parse_dst()
1499 dst->flags |= MODULE_FLAG_ROTATE; in _asl_out_module_parse_dst()
1500 dst->flags |= MODULE_FLAG_CRASHLOG; in _asl_out_module_parse_dst()
1501 dst->flags |= MODULE_FLAG_BASESTAMP; in _asl_out_module_parse_dst()
1502 dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1507 for (i = 0; i <= 7; i++) if (dst->ttl[i] > dst->ttl[LEVEL_ALL]) dst->ttl[LEVEL_ALL] = dst->ttl[i]; in _asl_out_module_parse_dst()
1510 if (dst->fmt == NULL) dst->fmt = strdup("std"); in _asl_out_module_parse_dst()
1513 if (strcmp(dst->fmt, "std") && strcmp(dst->fmt, "bsd")) dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_dst()
1516 …if (!strcmp(dst->fmt, "std") || !strcmp(dst->fmt, "bsd") || !strcmp(dst->fmt, "msg")) dst->flags |… in _asl_out_module_parse_dst()
1519 if ((dst->flags & MODULE_FLAG_BASESTAMP) && (dst->flags & MODULE_FLAG_STYLE_SEQ)) in _asl_out_module_parse_dst()
1521 dst->flags &= ~MODULE_FLAG_STYLE_SEQ; in _asl_out_module_parse_dst()
1522 dst->flags |= MODULE_FLAG_STYLE_SEC; in _asl_out_module_parse_dst()
1526 if (!strcmp(dst->fmt, "raw")) dst->tfmt = "sec"; in _asl_out_module_parse_dst()
1529 if (!strcmp(dst->path, ASL_PLACE_DATABASE_DEFAULT)) in _asl_out_module_parse_dst()
1531 dst->flags = MODULE_FLAG_TYPE_ASL_DIR; in _asl_out_module_parse_dst()
1535 out->dst = dst; in _asl_out_module_parse_dst()
1541 return dst; in _asl_out_module_parse_dst()
1633 …if (out->options == NULL) out->dst = asl_out_dst_data_retain(_asl_out_module_parse_dst(m, ASL_PLAC… in _asl_out_module_parse_query_action()
1634 …ons, ASL_PLACE_DATABASE_DEFAULT, strlen(ASL_PLACE_DATABASE_DEFAULT))) out->dst = asl_out_dst_data_… in _asl_out_module_parse_query_action()
1643 out->dst = asl_out_dst_data_retain(_asl_out_module_parse_dst(m, out->options, def_mode)); in _asl_out_module_parse_query_action()
1644 if (out->dst == NULL) in _asl_out_module_parse_query_action()
1654 if (out->dst->mode == 010000) out->dst->mode = def_mode; in _asl_out_module_parse_query_action()
1656 …if ((out->action == ACTION_FILE) && (out->dst != NULL) && (out->dst->fmt != NULL) && (!strcasecmp(… in _asl_out_module_parse_query_action()
1661 if ((out->action == ACTION_ASL_FILE) && (out->dst != NULL)) in _asl_out_module_parse_query_action()
1663 out->dst->flags |= MODULE_FLAG_TYPE_ASL; in _asl_out_module_parse_query_action()
1669 out->dst->flags &= ~MODULE_FLAG_COALESCE; in _asl_out_module_parse_query_action()
1672 out->dst->flags &= ~MODULE_FLAG_COMPRESS; in _asl_out_module_parse_query_action()
1674 out->dst->flags |= MODULE_FLAG_TYPE_ASL_DIR; in _asl_out_module_parse_query_action()
1677 …if (((out->dst->flags & MODULE_FLAG_STYLE_BITS) == 0) && (out->dst->flags & MODULE_FLAG_BASESTAMP)… in _asl_out_module_parse_query_action()
1683 out->dst->flags &= ~MODULE_FLAG_ROTATE; in _asl_out_module_parse_query_action()
1687 if (out->dst->nuid == 0) _dst_add_uid(out->dst, "0"); in _asl_out_module_parse_query_action()
1688 if (out->dst->ngid == 0) _dst_add_gid(out->dst, "80"); in _asl_out_module_parse_query_action()
1927 o = r->dst; in asl_out_module_print()
2427 asl_list_src_files(asl_out_dst_data_t *dst) in asl_list_src_files() argument
2433 if (dst == NULL) return NULL; in asl_list_src_files()
2434 if (dst->path == NULL) return NULL; in asl_list_src_files()
2440 if (dst->flags & MODULE_FLAG_EXTERNAL) in asl_list_src_files()
2446 if (stat(dst->path, &sb) == 0) in asl_list_src_files()
2453 char *p = strrchr(dst->path, '/'); in asl_list_src_files()
2454 if (p == NULL) p = dst->path; in asl_list_src_files()
2479 if (dst->flags & MODULE_FLAG_STYLE_UTC) flags = MODULE_FLAG_STYLE_UTC; in asl_list_src_files()
2480 else if (dst->flags & MODULE_FLAG_STYLE_UTC_B) flags = MODULE_FLAG_STYLE_UTC_B; in asl_list_src_files()
2481 else if (dst->flags & MODULE_FLAG_STYLE_LCL) flags = MODULE_FLAG_STYLE_LCL; in asl_list_src_files()
2482 else if (dst->flags & MODULE_FLAG_STYLE_LCL_B) flags = MODULE_FLAG_STYLE_LCL_B; in asl_list_src_files()
2484 …if ((dst->rotate_dir == NULL) && ((dst->flags & MODULE_FLAG_STYLE_SEQ) == 0) && ((dst->flags & MOD… in asl_list_src_files()
2490 base = strrchr(dst->path, '/'); in asl_list_src_files()
2496 out = asl_list_log_files(dst->path, base, true, flags); in asl_list_src_files()
2507 asl_list_dst_files(asl_out_dst_data_t *dst) in asl_list_dst_files() argument
2512 if (dst == NULL) return NULL; in asl_list_dst_files()
2513 if (dst->path == NULL) return NULL; in asl_list_dst_files()
2515 base = strrchr(dst->path, '/'); in asl_list_dst_files()
2521 dst_dir = dst->rotate_dir; in asl_list_dst_files()
2522 if (dst_dir == NULL) dst_dir = dst->path; in asl_list_dst_files()
2524 out = asl_list_log_files(dst_dir, base, false, dst->flags); in asl_list_dst_files()