Hanno Böck commited on 2019-12-07 18:43:52
Zeige 1 geänderte Dateien mit 12 Einfügungen und 29 Löschungen.
| ... | ... |
@@ -130,10 +130,8 @@ for sect in config.sections(): |
| 130 | 130 |
item['subdir'] = int(config.get(sect, 'subdir')) |
| 131 | 131 |
|
| 132 | 132 |
# match magic |
| 133 |
- item['variable'] = [] |
|
| 134 |
- for var in config.get(sect, 'variable').split(","):
|
|
| 135 |
- item['variable'].append(re.compile(re.escape(var) |
|
| 136 |
- + r"[^0-9\n\r]*[.]*([0-9.]*[0-9])[^0-9.]")) |
|
| 133 |
+ item['variable'] = re.compile(re.escape(config.get(sect, 'variable')) |
|
| 134 |
+ + r"[^0-9\n\r]*[.]*([0-9.]*[0-9])[^0-9.]") |
|
| 137 | 135 |
|
| 138 | 136 |
# optional options |
| 139 | 137 |
if config.has_option(sect, 'extra_match'): |
| ... | ... |
@@ -180,28 +178,18 @@ for fdir in args: |
| 180 | 178 |
filestr = file.read() |
| 181 | 179 |
file.close() |
| 182 | 180 |
|
| 183 |
- if item['extra_match']: |
|
| 184 |
- ematch = filestr.find(item['extra_match']) != -1 |
|
| 185 |
- elif item['extra_nomatch']: |
|
| 186 |
- ematch = not filestr.find(item['extra_nomatch']) != -1 |
|
| 187 |
- else: |
|
| 188 |
- ematch = True |
|
| 189 |
- |
|
| 190 |
- if (item['path_match'] |
|
| 191 |
- and not root.endswith(item['path_match'])): |
|
| 181 |
+ if ((item['extra_match'] |
|
| 182 |
+ and item['extra_match'] not in filestr) |
|
| 183 |
+ or (item['extra_nomatch'] |
|
| 184 |
+ and item['extra_nomatch'] not in filestr) |
|
| 185 |
+ or (item['path_match'] |
|
| 186 |
+ and not root.endswith(item['path_match']))): |
|
| 192 | 187 |
continue |
| 193 | 188 |
|
| 194 |
- findversion = [] |
|
| 195 |
- for var in item['variable']: |
|
| 196 |
- var = var.search(filestr) |
|
| 197 |
- if not var: |
|
| 198 |
- findversion = False |
|
| 199 |
- break |
|
| 200 |
- else: |
|
| 201 |
- findversion.append(var.group(1)) |
|
| 202 |
- |
|
| 203 |
- if findversion and ematch: |
|
| 204 |
- findversion = '.'.join(findversion) |
|
| 189 |
+ findversion = item['variable'].search(filestr) |
|
| 190 |
+ if not findversion: |
|
| 191 |
+ continue |
|
| 192 |
+ findversion=findversion.group(1) |
|
| 205 | 193 |
|
| 206 | 194 |
# Very ugly phpbb workaround |
| 207 | 195 |
if item['add_minor']: |
| ... | ... |
@@ -236,10 +224,5 @@ for fdir in args: |
| 236 | 224 |
safev, item['vuln'], |
| 237 | 225 |
mfile, item['subdir'], opts.OUTPUT) |
| 238 | 226 |
|
| 239 |
- else: |
|
| 240 |
- if opts.DEBUG: |
|
| 241 |
- print("regexp failed for "
|
|
| 242 |
- + item['name'] + " on " + mfile) |
|
| 243 |
- |
|
| 244 | 227 |
if opts.OUTPUT == 'xml': |
| 245 | 228 |
print('</freewvs>')
|
| 246 | 229 |