fix(report): record not found on reporting with OVAL #679 (#680)

* fix(report): record not found on reporting with OVAL #679

* lock go version in .travis.yml
This commit is contained in:
Kota Kanbe
2018-07-10 15:14:35 +09:00
committed by GitHub
parent 9e9370b178
commit 81f2ba8a46
5 changed files with 101 additions and 62 deletions

View File

@@ -1,7 +1,7 @@
language: go
go:
- 1.x
- "1.10"
after_success:
- test -n "$TRAVIS_TAG" && curl -sL https://git.io/goreleaser | bash

111
Gopkg.lock generated
View File

@@ -3,9 +3,12 @@
[[projects]]
name = "github.com/Azure/azure-sdk-for-go"
packages = ["storage"]
revision = "eae258195456be76b2ec9ad2ee2ab63cdda365d9"
version = "v12.2.0-beta"
packages = [
"storage",
"version"
]
revision = "fbe7db0e3f9793ba3e5704efbab84f51436c136e"
version = "v18.0.0"
[[projects]]
name = "github.com/Azure/go-autorest"
@@ -15,8 +18,8 @@
"autorest/azure",
"autorest/date"
]
revision = "fc3b03a2d2d1f43fad3007038bd16f044f870722"
version = "v9.10.0"
revision = "1f7cd6cfe0adea687ad44a512dfe76140f804318"
version = "v10.12.0"
[[projects]]
name = "github.com/BurntSushi/toml"
@@ -27,8 +30,8 @@
[[projects]]
name = "github.com/asaskevich/govalidator"
packages = ["."]
revision = "521b25f4b05fd26bec69d9dedeb8f9c9a83939a8"
version = "v8"
revision = "ccb8e960c48f04d6935e72476ae4a51028f9e22f"
version = "v9"
[[projects]]
name = "github.com/aws/aws-sdk-go"
@@ -43,6 +46,7 @@
"aws/credentials/ec2rolecreds",
"aws/credentials/endpointcreds",
"aws/credentials/stscreds",
"aws/csm",
"aws/defaults",
"aws/ec2metadata",
"aws/endpoints",
@@ -53,6 +57,8 @@
"internal/sdkrand",
"internal/shareddefaults",
"private/protocol",
"private/protocol/eventstream",
"private/protocol/eventstream/eventstreamapi",
"private/protocol/query",
"private/protocol/query/queryutil",
"private/protocol/rest",
@@ -61,8 +67,8 @@
"service/s3",
"service/sts"
]
revision = "bb206ce0d6a50da7807694a823aed5c601c57ce0"
version = "v1.13.23"
revision = "66e86be40287fdef6990768b65f713f4bce11deb"
version = "v1.14.23"
[[projects]]
name = "github.com/boltdb/bolt"
@@ -73,14 +79,14 @@
[[projects]]
name = "github.com/cenkalti/backoff"
packages = ["."]
revision = "61153c768f31ee5f130071d08fc82b85208528de"
version = "v1.1.0"
revision = "2ea60e5f094469f9e65adb9cd103795b73ae743e"
version = "v2.0.0"
[[projects]]
branch = "master"
name = "github.com/cheggaaa/pb"
packages = ["."]
revision = "75a8cbd866a7bad0d4a3b2b8cb6cab48a1475155"
revision = "2af8bbdea9e99e83b3ac400d8f6b6d1b8cbbf338"
[[projects]]
name = "github.com/dgrijalva/jwt-go"
@@ -91,8 +97,8 @@
[[projects]]
name = "github.com/go-ini/ini"
packages = ["."]
revision = "6333e38ac20b8949a8dd68baa3650f4dee8f39f0"
version = "v1.33.0"
revision = "06f5f3d67269ccec1fe5fe4134ba6e982984f7f5"
version = "v1.37.0"
[[projects]]
name = "github.com/go-redis/redis"
@@ -106,20 +112,32 @@
"internal/singleflight",
"internal/util"
]
revision = "877867d2845fbaf86798befe410b6ceb6f5c29a3"
version = "v6.10.2"
revision = "83fb42932f6145ce52df09860384a4653d2d332a"
version = "v6.12.0"
[[projects]]
name = "github.com/go-sql-driver/mysql"
packages = ["."]
revision = "a0583e0143b1624142adab07e0e97fe106d99561"
version = "v1.3"
revision = "d523deb1b23d913de5bdada721a6071e71283618"
version = "v1.4.0"
[[projects]]
name = "github.com/go-stack/stack"
packages = ["."]
revision = "259ab82a6cad3992b4e21ff5cac294ccb06474bc"
version = "v1.7.0"
[[projects]]
branch = "master"
name = "github.com/google/subcommands"
packages = ["."]
revision = "a3682377147edf596d303faabd89f81977b3f678"
revision = "5bae204cdfb2d92dcc333d56014bae6a2f6c58b1"
[[projects]]
name = "github.com/gorilla/websocket"
packages = ["."]
revision = "ea4d1f681babbce9545c9c5f3d5194a789c89f5b"
version = "v1.2.0"
[[projects]]
branch = "master"
@@ -137,6 +155,12 @@
packages = ["."]
revision = "bf9dde6d0d2c004a008c27aaee91170c786f6db8"
[[projects]]
name = "github.com/inconshreveable/log15"
packages = ["."]
revision = "0decfc6c20d9ca0ad143b0e89dcaa20f810b4fb3"
version = "v2.13"
[[projects]]
name = "github.com/jinzhu/gorm"
packages = [
@@ -166,10 +190,10 @@
version = "v0.3.0"
[[projects]]
branch = "master"
name = "github.com/k0kubun/pp"
packages = ["."]
revision = "e057ee7a28277be4d2af303443b6da377768181f"
revision = "027a6d1765d673d337e687394dbe780dd64e2a1e"
version = "v2.3.0"
[[projects]]
branch = "master"
@@ -195,7 +219,7 @@
"nvd",
"util"
]
revision = "2a3c286d7d791fb75f0b0b9e81fae2bc2b558dc7"
revision = "4ee71e8b928d387bdedfd8f1a0c394bbd84f273e"
[[projects]]
name = "github.com/kotakanbe/go-pingscanner"
@@ -210,10 +234,10 @@
"config",
"db",
"db/rdb",
"log",
"models"
"models",
"util"
]
revision = "5f6caf8e94afbd280b9d55026cef351cb24c0889"
revision = "f3255b2e6a0a38b88eaa25b5696d7e73868e46dc"
[[projects]]
branch = "master"
@@ -229,12 +253,13 @@
"hstore",
"oid"
]
revision = "d34b9ff171c21ad295489235aec8b6626023cd04"
revision = "90697d60dd844d5ef6ff15135d0203f65d2f53b8"
[[projects]]
name = "github.com/marstr/guid"
packages = ["."]
revision = "8bdf7d1a087ccc975cf37dd6507da50698fd19ca"
revision = "8bd9a64bf37eb297b492a4101fb28e80ac0b290f"
version = "v1.1.0"
[[projects]]
name = "github.com/mattn/go-colorable"
@@ -257,8 +282,8 @@
[[projects]]
name = "github.com/mattn/go-sqlite3"
packages = ["."]
revision = "6c771bb9887719704b210e87e934f08be014bdb1"
version = "v1.6.0"
revision = "25ecb14adfc7543176f7d85291ec7dba82c6f7e4"
version = "v1.9.0"
[[projects]]
branch = "master"
@@ -270,7 +295,7 @@
branch = "master"
name = "github.com/mitchellh/go-homedir"
packages = ["."]
revision = "b8bc1bf767474819792c23f32d8286a45736f1c6"
revision = "3864e76763d94a6df2f9960b16a20a33da9f9a66"
[[projects]]
branch = "master"
@@ -281,14 +306,14 @@
[[projects]]
name = "github.com/nlopes/slack"
packages = ["."]
revision = "c86337c0ef2486a15edd804355d9c73d2f2caed1"
version = "v0.1.0"
revision = "8ab4d0b364ef1e9af5d102531da20d5ec902b6c4"
version = "v0.2.0"
[[projects]]
branch = "master"
name = "github.com/nsf/termbox-go"
packages = ["."]
revision = "e2050e41c8847748ec5288741c0b19a8cb26d084"
revision = "5c94acc5e6eb520f1bcd183974e01171cc4c23b3"
[[projects]]
name = "github.com/parnurzeal/gorequest"
@@ -318,7 +343,7 @@
branch = "master"
name = "github.com/sirupsen/logrus"
packages = ["."]
revision = "90150a8ed11b6ce285e77e8af2b0109559ce4777"
revision = "e54a77765aca7bbdd8e56c1c54f60579968b2dc9"
[[projects]]
branch = "master"
@@ -334,12 +359,13 @@
"ed25519",
"ed25519/internal/edwards25519",
"internal/chacha20",
"internal/subtle",
"poly1305",
"ssh",
"ssh/agent",
"ssh/terminal"
]
revision = "88942b9c40a4c9d203b82b3731787b672d6e809b"
revision = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"
[[projects]]
branch = "master"
@@ -347,10 +373,9 @@
packages = [
"context",
"idna",
"publicsuffix",
"websocket"
"publicsuffix"
]
revision = "6078986fec03a1dcc236c34816c71b0e05018fda"
revision = "292b43bbf7cb8d35ddf40f8d5100ef3837cced3f"
[[projects]]
branch = "master"
@@ -359,7 +384,7 @@
"unix",
"windows"
]
revision = "13d03a9a82fba647c21a0ef8fba44a795d0f0835"
revision = "1b2967e3c290b7c545b3db0deeda16e9be4f98a2"
[[projects]]
name = "golang.org/x/text"
@@ -382,9 +407,15 @@
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[projects]]
name = "google.golang.org/appengine"
packages = ["cloudsql"]
revision = "b1f26356af11148e710935ed1ac8a7f5702c7612"
version = "v1.1.0"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "6f9e0e0abf431f853507394b28b24360e764850217a4bc8e6bdf300b34891dd2"
inputs-digest = "c2bf4688a14aeb3a7f15a2e0181cc5f9552b5a9cab02ed915f39cf432925462d"
solver-name = "gps-cdcl"
solver-version = 1

View File

@@ -1,6 +1,6 @@
# Gopkg.toml example
#
# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md
# Refer to https://golang.github.io/dep/docs/Gopkg.toml.html
# for detailed Gopkg.toml documentation.
#
# required = ["github.com/user/thing/cmd/thing"]
@@ -16,13 +16,18 @@
# source = "github.com/myfork/project2"
#
# [[override]]
# name = "github.com/x/y"
# version = "2.4.0"
# name = "github.com/x/y"
# version = "2.4.0"
#
# [prune]
# non-go = false
# go-tests = true
# unused-packages = true
[[constraint]]
name = "github.com/Azure/azure-sdk-for-go"
version = "12.2.0-beta"
version = "18.0.0"
[[constraint]]
name = "github.com/BurntSushi/toml"
@@ -30,11 +35,11 @@
[[constraint]]
name = "github.com/asaskevich/govalidator"
version = "8.0.0"
version = "9.0.0"
[[constraint]]
name = "github.com/aws/aws-sdk-go"
version = "1.12.67"
version = "1.14.23"
[[constraint]]
name = "github.com/boltdb/bolt"
@@ -42,7 +47,7 @@
[[constraint]]
name = "github.com/cenkalti/backoff"
version = "1.1.0"
version = "2.0.0"
[[constraint]]
branch = "master"
@@ -61,8 +66,8 @@
version = "0.3.0"
[[constraint]]
branch = "master"
name = "github.com/k0kubun/pp"
version = "2.3.0"
[[constraint]]
branch = "master"
@@ -88,17 +93,25 @@
branch = "master"
name = "github.com/kotakanbe/logrus-prefixed-formatter"
[[constraint]]
branch = "master"
name = "github.com/mitchellh/go-homedir"
[[constraint]]
name = "github.com/nlopes/slack"
version = "0.1.0"
version = "0.2.0"
[[constraint]]
name = "github.com/parnurzeal/gorequest"
version = "0.2.15"
[[constraint]]
name = "github.com/pkg/errors"
version = "0.8.0"
[[constraint]]
name = "github.com/rifflock/lfshook"
version = "2.2.0"
version = "2.3.0"
[[constraint]]
branch = "master"
@@ -108,6 +121,6 @@
branch = "master"
name = "golang.org/x/crypto"
[[constraint]]
branch = "master"
name = "github.com/mitchellh/go-homedir"
[prune]
go-tests = true
unused-packages = true

View File

@@ -27,7 +27,6 @@ import (
"github.com/future-architect/vuls/models"
"github.com/future-architect/vuls/util"
"github.com/kotakanbe/goval-dictionary/db"
ovallog "github.com/kotakanbe/goval-dictionary/log"
"github.com/parnurzeal/gorequest"
)
@@ -67,10 +66,9 @@ func (b Base) CheckHTTPHealth() error {
// CheckIfOvalFetched checks if oval entries are in DB by family, release.
func (b Base) CheckIfOvalFetched(osFamily, release string) (fetched bool, err error) {
ovallog.Initialize(config.Conf.LogDir)
if !b.isFetchViaHTTP() {
var ovaldb db.DB
if ovaldb, err = db.NewDB(
if ovaldb, _, err = db.NewDB(
osFamily,
config.Conf.OvalDBType,
config.Conf.OvalDBPath,
@@ -103,11 +101,10 @@ func (b Base) CheckIfOvalFetched(osFamily, release string) (fetched bool, err er
// CheckIfOvalFresh checks if oval entries are fresh enough
func (b Base) CheckIfOvalFresh(osFamily, release string) (ok bool, err error) {
ovallog.Initialize(config.Conf.LogDir)
var lastModified time.Time
if !b.isFetchViaHTTP() {
var ovaldb db.DB
if ovaldb, err = db.NewDB(
if ovaldb, _, err = db.NewDB(
osFamily,
config.Conf.OvalDBType,
config.Conf.OvalDBPath,

View File

@@ -32,7 +32,6 @@ import (
debver "github.com/knqyf263/go-deb-version"
rpmver "github.com/knqyf263/go-rpm-version"
"github.com/kotakanbe/goval-dictionary/db"
ovallog "github.com/kotakanbe/goval-dictionary/log"
ovalmodels "github.com/kotakanbe/goval-dictionary/models"
"github.com/parnurzeal/gorequest"
)
@@ -218,7 +217,6 @@ func httpGet(url string, req request, resChan chan<- response, errChan chan<- er
}
func getDefsByPackNameFromOvalDB(r *models.ScanResult) (relatedDefs ovalResult, err error) {
ovallog.Initialize(config.Conf.LogDir)
path := config.Conf.OvalDBURL
if config.Conf.OvalDBType == "sqlite3" {
path = config.Conf.OvalDBPath
@@ -226,7 +224,7 @@ func getDefsByPackNameFromOvalDB(r *models.ScanResult) (relatedDefs ovalResult,
util.Log.Debugf("Open oval-dictionary db (%s): %s", config.Conf.OvalDBType, path)
var ovaldb db.DB
if ovaldb, err = db.NewDB(r.Family, config.Conf.OvalDBType,
if ovaldb, _, err = db.NewDB(r.Family, config.Conf.OvalDBType,
path, config.Conf.DebugSQL); err != nil {
return
}