1679
1680 if (sep->se_args) {
1681 if (strcats(line, " ")) {
1682 freestr(line);
1683 return (1);
1684 }
1685 if (strcats(line, sep->se_args)) {
1686 freestr(line);
1687 return (1);
1688 }
1689
1690 if (sysevent_get_attr_list(ev, &nvlist) != 0) {
1691 syslog(LOG_ERR, GET_ATTR_LIST_ERR,
1692 sep->se_conf_file, sep->se_lineno,
1693 strerror(errno));
1694 freestr(line);
1695 return (1);
1696 }
1697 if (expand_macros(ev, nvlist, sep, line, hdr)) {
1698 freestr(line);
1699 if (nvlist)
1700 nvlist_free(nvlist);
1701 return (1);
1702 }
1703 if (nvlist)
1704 nvlist_free(nvlist);
1705 }
1706
1707 if (debug_level >= DBG_EXEC) {
1708 syseventd_print(DBG_EXEC, "%s, line %d: path = %s\n",
1709 sep->se_conf_file, sep->se_lineno, sep->se_path);
1710 syseventd_print(DBG_EXEC, " cmd = %s\n", line->s_str);
1711 }
1712
1713 cmd_nvlist = NULL;
1714 if ((errno = nvlist_alloc(&cmd_nvlist, NV_UNIQUE_NAME, 0)) != 0) {
1715 freestr(line);
1716 syslog(LOG_ERR, NVLIST_ALLOC_ERR,
1717 sep->se_conf_file, sep->se_lineno,
1718 strerror(errno));
1719 return (1);
1720 }
1721
1722 if ((errno = nvlist_add_string(cmd_nvlist, "path", sep->se_path)) != 0)
1723 goto err;
|
1679
1680 if (sep->se_args) {
1681 if (strcats(line, " ")) {
1682 freestr(line);
1683 return (1);
1684 }
1685 if (strcats(line, sep->se_args)) {
1686 freestr(line);
1687 return (1);
1688 }
1689
1690 if (sysevent_get_attr_list(ev, &nvlist) != 0) {
1691 syslog(LOG_ERR, GET_ATTR_LIST_ERR,
1692 sep->se_conf_file, sep->se_lineno,
1693 strerror(errno));
1694 freestr(line);
1695 return (1);
1696 }
1697 if (expand_macros(ev, nvlist, sep, line, hdr)) {
1698 freestr(line);
1699 nvlist_free(nvlist);
1700 return (1);
1701 }
1702 nvlist_free(nvlist);
1703 }
1704
1705 if (debug_level >= DBG_EXEC) {
1706 syseventd_print(DBG_EXEC, "%s, line %d: path = %s\n",
1707 sep->se_conf_file, sep->se_lineno, sep->se_path);
1708 syseventd_print(DBG_EXEC, " cmd = %s\n", line->s_str);
1709 }
1710
1711 cmd_nvlist = NULL;
1712 if ((errno = nvlist_alloc(&cmd_nvlist, NV_UNIQUE_NAME, 0)) != 0) {
1713 freestr(line);
1714 syslog(LOG_ERR, NVLIST_ALLOC_ERR,
1715 sep->se_conf_file, sep->se_lineno,
1716 strerror(errno));
1717 return (1);
1718 }
1719
1720 if ((errno = nvlist_add_string(cmd_nvlist, "path", sep->se_path)) != 0)
1721 goto err;
|