snyk-docker-plugin
Version:
Snyk CLI docker plugin
83 lines • 3.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getRpmSqliteDbFileContentAction = exports.getRpmNdbFileContent = exports.getRpmNdbFileContentAction = exports.getRpmSqliteDbFileContent = exports.getRpmDbFileContent = exports.getRpmDbFileContentAction = void 0;
const rpm_parser_1 = require("@snyk/rpm-parser");
const Debug = require("debug");
const path_1 = require("path");
const extractor_1 = require("../../extractor");
const stream_utils_1 = require("../../stream-utils");
const debug = Debug("snyk");
exports.getRpmDbFileContentAction = {
actionName: "rpm-db",
filePathMatches: (filePath) => filePath === (0, path_1.normalize)("/var/lib/rpm/Packages") ||
filePath === (0, path_1.normalize)("/usr/lib/sysimage/rpm/Packages"),
callback: stream_utils_1.streamToBuffer,
};
async function getRpmDbFileContent(extractedLayers) {
const rpmDb = (0, extractor_1.getContentAsBuffer)(extractedLayers, exports.getRpmDbFileContentAction);
if (!rpmDb) {
return [];
}
try {
const parserResponse = await (0, rpm_parser_1.getPackages)(rpmDb);
if (parserResponse.error !== undefined) {
throw parserResponse.error;
}
return parserResponse.response;
}
catch (error) {
debug(`An error occurred while analysing RPM packages: ${error.message}`);
return [];
}
}
exports.getRpmDbFileContent = getRpmDbFileContent;
async function getRpmSqliteDbFileContent(extractedLayers) {
const rpmDb = (0, extractor_1.getContentAsBuffer)(extractedLayers, exports.getRpmSqliteDbFileContentAction);
if (!rpmDb) {
return [];
}
try {
const results = await (0, rpm_parser_1.getPackagesSqlite)(rpmDb);
if (results.error) {
throw results.error;
}
return results.response;
}
catch (error) {
debug(`An error occurred while analysing RPM packages: ${error.message}`);
return [];
}
}
exports.getRpmSqliteDbFileContent = getRpmSqliteDbFileContent;
exports.getRpmNdbFileContentAction = {
actionName: "rpm-ndb",
filePathMatches: (filePath) => filePath === (0, path_1.normalize)("/var/lib/rpm/Packages.db") ||
filePath === (0, path_1.normalize)("/usr/lib/sysimage/rpm/Packages.db"),
callback: stream_utils_1.streamToBuffer,
};
async function getRpmNdbFileContent(extractedLayers) {
const rpmDb = (0, extractor_1.getContentAsBuffer)(extractedLayers, exports.getRpmNdbFileContentAction);
if (!rpmDb) {
return [];
}
try {
const results = await (0, rpm_parser_1.getPackagesNdb)(rpmDb);
if (results.error) {
throw results.error;
}
return results.response;
}
catch (error) {
debug(`An error occurred while analysing RPM NDB packages:`, error.stack || error);
return [];
}
}
exports.getRpmNdbFileContent = getRpmNdbFileContent;
exports.getRpmSqliteDbFileContentAction = {
actionName: "rpm-sqlite-db",
filePathMatches: (filePath) => filePath === (0, path_1.normalize)("/var/lib/rpm/rpmdb.sqlite") ||
filePath === (0, path_1.normalize)("/usr/lib/sysimage/rpm/rpmdb.sqlite") ||
filePath === (0, path_1.normalize)("/usr/lib/sysimage/rpm/Packages.db"),
callback: stream_utils_1.streamToBuffer,
};
//# sourceMappingURL=static.js.map
;