aboutsummaryrefslogtreecommitdiffstats
path: root/bin/common/srtool_common.py
diff options
context:
space:
mode:
Diffstat (limited to 'bin/common/srtool_common.py')
-rwxr-xr-xbin/common/srtool_common.py35
1 files changed, 16 insertions, 19 deletions
diff --git a/bin/common/srtool_common.py b/bin/common/srtool_common.py
index 4cba2dc2..a098fc7e 100755
--- a/bin/common/srtool_common.py
+++ b/bin/common/srtool_common.py
@@ -31,13 +31,11 @@ import sys
import re
import csv
import json
-import xml.etree.ElementTree as ET
import argparse
import sqlite3
import subprocess
from time import sleep
-from datetime import datetime, date, timedelta
-import pytz
+from datetime import datetime
# Load the srt.sqlite schema index file
# Since it is generated from this script
@@ -49,6 +47,11 @@ except:
print("Warning: srt_schema not yet created or bad format")
pass
+# Setup:
+verbose = False
+cmd_skip = 0
+cmd_count = 0
+
srtDbName = 'srt.sqlite'
packageKeywordsFile = 'data/package_keywords.csv'
notifyCategoriesFile = 'data/notify-categories.json'
@@ -86,6 +89,7 @@ def get_name_sort(cve_name):
# Load the package keyword source into the database
#
+# CSV database offsets
KEYWORDS_MODE = 0
KEYWORDS_NAME = 1
KEYWORDS_REALNAME = 2
@@ -93,9 +97,6 @@ KEYWORDS_INVALIDNAME = 3
KEYWORDS_WEIGHT = 4
def init_package_keywords(filename):
- global pkglistDbName
- global pkglistTable
-
if not os.path.exists(filename):
print("ERROR: DB NOT FOUND '%s'" % filename)
return
@@ -217,10 +218,9 @@ def attach_packages(cur, cve, recommend_list):
AGAINST = 1
cve_id = cve[ORM.CVE_ID]
# Bootstrap...
- if False:
- cve_packages = cve[ORM.CVE_PACKAGES]
- else:
- cve_packages = ''
+ #cve_packages = cve[ORM.CVE_PACKAGES]
+ cve_packages = ''
+
for pkg_name in recommend_list.split(','):
if '-' == pkg_name[0:1]:
mode = AGAINST
@@ -246,7 +246,7 @@ def attach_packages(cur, cve, recommend_list):
pkg_id = package[ORM.PACKAGE_ID]
else:
# Create Package
- if verbose: print("INSERTING PACKAGE for %s,%s" % (cve_name,pkg_name))
+ if verbose: print("INSERTING PACKAGE for %s,%s" % (cve[ORM.CVE_NAME],pkg_name))
sql = '''INSERT INTO orm_package (mode, name, realname, invalidname, weight, cve_count, vulnerability_count, investigation_count,defect_count ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)'''
cur.execute(sql, (mode, pkg_name, pkg_name, '', 1 if FOR==mode else -1),0,0,0,0)
pkg_id = cur.lastrowid
@@ -283,8 +283,8 @@ def score_new_cves(cve_filter):
cur.execute(sql)
for package in cur:
# Fixup notation not intended to be regex
- name = package[ORM.PACKAGE_NAME].replace('++','\+\+')
- realname = package[ORM.PACKAGE_REALNAME].replace('++','\+\+')
+ name = package[ORM.PACKAGE_NAME].replace('++',r'\+\+')
+ realname = package[ORM.PACKAGE_REALNAME].replace('++',r'\+\+')
recommends.append([package[ORM.PACKAGE_MODE],name,realname,package[ORM.PACKAGE_INVALIDNAME],package[ORM.PACKAGE_WEIGHT]])
# Scan the open CVEs
@@ -349,10 +349,8 @@ def score_new_cves(cve_filter):
if recommend_list:
# Go ahead and create/attach packages to CVEs
- if True:
- cve_packages = attach_packages(cur_write, cve, recommend_list)
- else:
- cve_packages = cve[ORM.CVE_PACKAGES]
+ cve_packages = attach_packages(cur_write, cve, recommend_list)
+ #cve_packages = cve[ORM.CVE_PACKAGES]
sql = ''' UPDATE orm_cve
SET recommend = ?,
@@ -556,7 +554,7 @@ def fix_cve_recommend():
# Progress indicator support
if 0 == i % 10:
- print('%05d: %20s to %20s\r' % (i,cve[ORM.CVE_NAME],name_sort), end='')
+ print('%05d: %20s\r' % (i,cve[ORM.CVE_NAME]), end='')
if (0 == i % 200):
conn.commit()
@@ -618,7 +616,6 @@ def main(argv):
print("Command not found")
if __name__ == '__main__':
- global srtool_basepath
srtool_basepath = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(sys.argv[0]))))
main(sys.argv[1:])