Preparing report...

Report for github.com/teamnsrg/zcrypto

A+    Excellent!    Found 52 issues across 146 files

Tweet

gofmt97%

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command


go_vet100%

go vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string.

No problems detected. Good job!


golint78%

Golint is a linter for Go source code.

    • zcrypto/ct/asn1/marshal.go
    • Line 394: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 419: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • zcrypto/x509/extended_key_usage.go
    • Line 14: warning: exported const OID_EKU_APPLE_CODE_SIGNING should have comment (or a comment on this block) or be unexported (golint)
    • Line 146: warning: exported const ExtKeyUsageAppleCodeSigning should have comment (or a comment on this block) or be unexported (golint)
    • zcrypto/x509/extensions.go
    • Line 36: warning: exported type CertificateExtensions should have comment or be unexported (golint)
    • Line 53: warning: exported type UnknownCertificateExtensions should have comment or be unexported (golint)
    • Line 55: warning: exported type IsPrecert should have comment or be unexported (golint)
    • Line 57: warning: exported type BasicConstraints should have comment or be unexported (golint)
    • Line 62: warning: exported type NoticeReference should have comment or be unexported (golint)
    • Line 67: warning: exported type UserNoticeData should have comment or be unexported (golint)
    • Line 72: warning: exported type CertificatePoliciesJSON should have comment or be unexported (golint)
    • Line 78: warning: exported type CertificatePolicies should have comment or be unexported (golint)
    • Line 80: warning: exported type CertificatePoliciesData should have comment or be unexported (golint)
    • Line 89: warning: exported method CertificatePoliciesData.MarshalJSON should have comment or be unexported (golint)
    • Line 98: warning: don't use underscores in Go names; range var explicit_text should be explicitText (golint)
    • Line 151: warning: exported method GeneralNames.MarshalJSON should have comment or be unexported (golint)
    • Line 168: warning: exported method GeneralNames.UnmarshalJSON should have comment or be unexported (golint)
    • Line 202: warning: exported type NameConstraints should have comment or be unexported (golint)
    • Line 220: warning: exported type NameConstraintsJSON should have comment or be unexported (golint)
    • Line 238: warning: exported method NameConstraints.UnmarshalJSON should have comment or be unexported (golint)
    • Line 304: warning: exported method NameConstraints.MarshalJSON should have comment or be unexported (golint)
    • Line 344: warning: exported type CRLDistributionPoints should have comment or be unexported (golint)
    • Line 346: warning: exported type SubjAuthKeyId should have comment or be unexported (golint)
    • Line 348: warning: exported method SubjAuthKeyId.MarshalJSON should have comment or be unexported (golint)
    • Line 353: warning: exported type ExtendedKeyUsage should have comment or be unexported (golint)
    • Line 355: warning: exported type ExtendedKeyUsageExtension should have comment or be unexported (golint)
    • Line 373: warning: exported method ExtendedKeyUsageExtension.UnmarshalJSON should have comment or be unexported (golint)
    • Line 384: warning: comment on exported type CertValidationLevel should be of the form "CertValidationLevel ..." (with optional leading article) (golint)
    • Line 390: warning: exported const UnknownValidationLevel should have comment (or a comment on this block) or be unexported (golint)
    • Line 396: warning: exported method CertValidationLevel.MarshalJSON should have comment or be unexported (golint)
    • Line 669: warning: comment on exported type AuthorityInfoAccess should be of the form "AuthorityInfoAccess ..." (with optional leading article) (golint)
    • zcrypto/tls/tls_heartbeat.go
    • Line 28: warning: error var HeartbleedError should have name of the form ErrFoo (golint)
    • Line 28: warning: exported var HeartbleedError should have comment or be unexported (golint)
    • Line 31: warning: exported type Heartbleed should have comment or be unexported (golint)
    • Line 49: warning: exported method Conn.CheckHeartbleed should have comment or be unexported (golint)
    • Line 87: warning: exported method Conn.GetHeartbleedLog should have comment or be unexported (golint)
    • zcrypto/x509/pem_decrypt.go
    • Line 23: warning: exported type PEMCipher should have comment or be unexported (golint)
    • Line 105: warning: error var IncorrectPasswordError should have name of the form ErrFoo (golint)
    • zcrypto/x509/verify.go
    • Line 16: warning: exported type InvalidReason should have comment or be unexported (golint)
    • Line 605: warning: comment on exported function FilterByDate should be of the form "FilterByDate ..." (golint)
    • zcrypto/tls/handshake_client.go
    • Line 37: warning: exported type CacheKeyGenerator should have comment or be unexported (golint)
    • Line 41: warning: exported type ClientFingerprintConfiguration should have comment or be unexported (golint)
    • Line 67: warning: exported type ClientExtension should have comment or be unexported (golint)
    • Line 78: warning: exported method ClientFingerprintConfiguration.CheckImplementedExtensions should have comment or be unexported (golint)
    • Line 101: warning: exported method ClientFingerprintConfiguration.WriteToConfig should have comment or be unexported (golint)
    • Line 174: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 190: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 193: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • zcrypto/tls/handshake_extensions.go
    • Line 8: warning: exported type NullExtension should have comment or be unexported (golint)
    • Line 11: warning: exported method NullExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 15: warning: exported method NullExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 19: warning: exported method NullExtension.Marshal should have comment or be unexported (golint)
    • Line 23: warning: exported type SNIExtension should have comment or be unexported (golint)
    • Line 28: warning: exported method SNIExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 54: warning: exported method SNIExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 58: warning: exported method SNIExtension.Marshal should have comment or be unexported (golint)
    • Line 83: warning: exported type ALPNExtension should have comment or be unexported (golint)
    • Line 87: warning: exported method ALPNExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 92: warning: exported method ALPNExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 96: warning: exported method ALPNExtension.Marshal should have comment or be unexported (golint)
    • Line 119: warning: exported type SecureRenegotiationExtension should have comment or be unexported (golint)
    • Line 122: warning: exported method SecureRenegotiationExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 126: warning: exported method SecureRenegotiationExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 130: warning: exported method SecureRenegotiationExtension.Marshal should have comment or be unexported (golint)
    • Line 140: warning: exported type ExtendedMasterSecretExtension should have comment or be unexported (golint)
    • Line 143: warning: exported method ExtendedMasterSecretExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 148: warning: exported method ExtendedMasterSecretExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 152: warning: exported method ExtendedMasterSecretExtension.Marshal should have comment or be unexported (golint)
    • Line 161: warning: exported type NextProtocolNegotiationExtension should have comment or be unexported (golint)
    • Line 165: warning: exported method NextProtocolNegotiationExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 170: warning: exported method NextProtocolNegotiationExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 174: warning: exported method NextProtocolNegotiationExtension.Marshal should have comment or be unexported (golint)
    • Line 183: warning: exported type StatusRequestExtension should have comment or be unexported (golint)
    • Line 186: warning: exported method StatusRequestExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 190: warning: exported method StatusRequestExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 194: warning: exported method StatusRequestExtension.Marshal should have comment or be unexported (golint)
    • Line 208: warning: exported type SCTExtension should have comment or be unexported (golint)
    • Line 211: warning: exported method SCTExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 216: warning: exported method SCTExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 220: warning: exported method SCTExtension.Marshal should have comment or be unexported (golint)
    • Line 229: warning: exported type SupportedCurvesExtension should have comment or be unexported (golint)
    • Line 233: warning: exported method SupportedCurvesExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 238: warning: exported method SupportedCurvesExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 253: warning: exported method SupportedCurvesExtension.Marshal should have comment or be unexported (golint)
    • Line 268: warning: exported type PointFormatExtension should have comment or be unexported (golint)
    • Line 272: warning: exported method PointFormatExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 276: warning: exported method PointFormatExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 285: warning: exported method PointFormatExtension.Marshal should have comment or be unexported (golint)
    • Line 298: warning: exported type SessionTicketExtension should have comment or be unexported (golint)
    • Line 303: warning: exported method SessionTicketExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 308: warning: exported method SessionTicketExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 312: warning: exported method SessionTicketExtension.Marshal should have comment or be unexported (golint)
    • Line 324: warning: exported type HeartbeatExtension should have comment or be unexported (golint)
    • Line 328: warning: exported method HeartbeatExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 332: warning: exported method HeartbeatExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 336: warning: exported method HeartbeatExtension.Marshal should have comment or be unexported (golint)
    • Line 346: warning: exported type SignatureAlgorithmExtension should have comment or be unexported (golint)
    • Line 350: warning: exported method SignatureAlgorithmExtension.WriteToConfig should have comment or be unexported (golint)
    • Line 355: warning: exported method SignatureAlgorithmExtension.CheckImplemented should have comment or be unexported (golint)
    • Line 365: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 380: warning: exported method SignatureAlgorithmExtension.Marshal should have comment or be unexported (golint)
    • zcrypto/ct/x509/pkix/pkix.go
    • Line 25: warning: exported type RDNSequence should have comment or be unexported (golint)
    • Line 27: warning: exported type RelativeDistinguishedNameSET should have comment or be unexported (golint)
    • Line 55: warning: exported method Name.FillFromRDNSequence should have comment or be unexported (golint)
    • Line 123: warning: exported method Name.ToRDNSequence should have comment or be unexported (golint)
    • zcrypto/x509/x509.go
    • Line 10: warning: package comment is detached; there should be no blank lines between it and the package statement (golint)
    • Line 18: warning: a blank import should be only in a main or test package, or have a comment justifying it (golint)
    • Line 162: warning: exported type AugmentedECDSA should have comment or be unexported (golint)
    • Line 182: warning: exported type SignatureAlgorithmOID should have comment or be unexported (golint)
    • Line 184: warning: exported type SignatureAlgorithm should have comment or be unexported (golint)
    • Line 187: warning: exported const UnknownSignatureAlgorithm should have comment (or a comment on this block) or be unexported (golint)
    • Line 246: warning: exported type PublicKeyAlgorithm should have comment or be unexported (golint)
    • Line 249: warning: exported const UnknownPublicKeyAlgorithm should have comment (or a comment on this block) or be unexported (golint)
    • Line 253: warning: don't use underscores in Go names; const total_key_algorithms should be totalKeyAlgorithms (golint)
    • Line 554: warning: exported const KeyUsageDigitalSignature should have comment (or a comment on this block) or be unexported (golint)
    • Line 865: warning: comment on exported method Certificate.GetParsedSubjectCommonName should be of the form "GetParsedSubjectCommonName ..." (golint)
    • Line 891: warning: comment on exported type InsecureAlgorithmError should be of the form "InsecureAlgorithmError ..." (with optional leading article) (golint)
    • Line 907: warning: exported method Certificate.Equal should have comment or be unexported (golint)
    • Line 996: warning: exported function CheckSignatureFromKey should have comment or be unexported (golint)
    • Line 1030: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 1126: warning: exported type NoticeNumber should have comment or be unexported (golint)
    • Line 1134: warning: exported type GeneralSubtreeString should have comment or be unexported (golint)
    • Line 1140: warning: exported type GeneralSubtreeIP should have comment or be unexported (golint)
    • Line 1146: warning: exported type GeneralSubtreeName should have comment or be unexported (golint)
    • Line 1152: warning: exported type GeneralSubtreeEdi should have comment or be unexported (golint)
    • Line 1158: warning: exported type GeneralSubtreeOid should have comment or be unexported (golint)
    • Line 1164: warning: exported type GeneralSubtreeRaw should have comment or be unexported (golint)
    • Line 2216: warning: exported type CertParser should have comment or be unexported (golint)
    • Line 2220: warning: exported function NewCertParser should have comment or be unexported (golint)
    • Line 2240: warning: exported function ParseCertificate should have comment or be unexported (golint)
    • Line 2271: warning: exported function ParseTBSCertificate should have comment or be unexported (golint)
    • zcrypto/tls/cipher_suites.go
    • Line 861: warning: comment on exported var RSACiphers should be of the form "RSACiphers ..." (golint)
    • Line 870: warning: exported var DHECiphers should have comment or be unexported (golint)
    • Line 891: warning: exported var ECDHECiphers should have comment or be unexported (golint)
    • Line 912: warning: exported var ExportCiphers should have comment or be unexported (golint)
    • Line 936: warning: exported var RSAExportCiphers should have comment or be unexported (golint)
    • Line 946: warning: exported var RSA512ExportCiphers should have comment or be unexported (golint)
    • Line 952: warning: exported var DHEExportCiphers should have comment or be unexported (golint)
    • Line 959: warning: exported var ChromeCiphers should have comment or be unexported (golint)
    • Line 982: warning: exported var ChromeNoDHECiphers should have comment or be unexported (golint)
    • Line 1001: warning: exported var FirefoxCiphers should have comment or be unexported (golint)
    • Line 1016: warning: exported var FirefoxNoDHECiphers should have comment or be unexported (golint)
    • Line 1031: warning: exported var SafariCiphers should have comment or be unexported (golint)
    • Line 1070: warning: exported var SafariNoDHECiphers should have comment or be unexported (golint)
    • Line 1122: warning: exported var SChannelSuites should have comment or be unexported (golint)
    • zcrypto/tls/common.go
    • Line 28: warning: exported const VersionSSL30 should have comment (or a comment on this block) or be unexported (golint)
    • Line 105: warning: exported const CurveP256 should have comment (or a comment on this block) or be unexported (golint)
    • Line 110: warning: exported method CurveID.MarshalJSON should have comment or be unexported (golint)
    • Line 128: warning: exported method CurveID.UnmarshalJSON should have comment or be unexported (golint)
    • Line 144: warning: exported type PointFormat should have comment or be unexported (golint)
    • Line 152: warning: exported method PointFormat.MarshalJSON should have comment or be unexported (golint)
    • Line 169: warning: exported method PointFormat.UnmarshalJSON should have comment or be unexported (golint)
    • Line 284: warning: comment on exported const NoClientCert should be of the form "NoClientCert ..." (golint)
    • Line 287: warning: exported const RequestClientCert should have comment (or a comment on this block) or be unexported (golint)
    • Line 301: warning: exported method ClientAuthType.MarshalJSON should have comment or be unexported (golint)
    • Line 305: warning: exported method ClientAuthType.UnmarshalJSON should have comment or be unexported (golint)
    • Line 939: warning: exported const PKCS1WithSHA1 should have comment (or a comment on this block) or be unexported (golint)
    • Line 956: warning: exported method SignatureScheme.MarshalJSON should have comment or be unexported (golint)
    • Line 972: warning: exported method SignatureScheme.UnmarshalJSON should have comment or be unexported (golint)
    • Line 1045: warning: exported method ClientHelloInfo.MarshalJSON should have comment or be unexported (golint)
    • Line 1087: warning: exported method ClientHelloInfo.UnmarshalJSON should have comment or be unexported (golint)
    • Line 1165: warning: exported method FakeConn.Close should have comment or be unexported (golint)
    • Line 1169: warning: exported method FakeConn.LocalAddr should have comment or be unexported (golint)
    • Line 1173: warning: exported method FakeConn.RemoteAddr should have comment or be unexported (golint)
    • Line 1177: warning: exported method FakeConn.SetDeadline should have comment or be unexported (golint)
    • Line 1181: warning: exported method FakeConn.SetReadDeadline should have comment or be unexported (golint)
    • Line 1185: warning: exported method FakeConn.SetWriteDeadline should have comment or be unexported (golint)
    • Line 1189: warning: exported type FakeAddr should have comment or be unexported (golint)
    • Line 1198: warning: exported method FakeAddr.Network should have comment or be unexported (golint)
    • Line 1202: warning: exported type ConfigJSON should have comment or be unexported (golint)
    • Line 1233: warning: exported method Config.MarshalJSON should have comment or be unexported (golint)
    • Line 1233: warning: receiver name config should be consistent with previous receiver name c for Config (golint)
    • Line 1274: warning: exported method Config.UnmarshalJSON should have comment or be unexported (golint)
    • Line 1274: warning: receiver name config should be consistent with previous receiver name c for Config (golint)
    • Line 1278: warning: comment on exported var ErrCertsOnly should be of the form "ErrCertsOnly ..." (golint)
    • zcrypto/ct/scanner/scanner.go
    • Line 18: warning: comment on exported type Matcher should be of the form "Matcher ..." (with optional leading article) (golint)
    • Line 32: warning: exported method MatchAll.CertificateMatches should have comment or be unexported (golint)
    • Line 36: warning: exported method MatchAll.PrecertificateMatches should have comment or be unexported (golint)
    • Line 43: warning: exported method MatchNone.CertificateMatches should have comment or be unexported (golint)
    • Line 47: warning: exported method MatchNone.PrecertificateMatches should have comment or be unexported (golint)
    • Line 51: warning: exported type MatchSerialNumber should have comment or be unexported (golint)
    • Line 55: warning: exported method MatchSerialNumber.CertificateMatches should have comment or be unexported (golint)
    • Line 59: warning: exported method MatchSerialNumber.PrecertificateMatches should have comment or be unexported (golint)
    • Line 72: warning: comment on exported method MatchSubjectRegex.CertificateMatches should be of the form "CertificateMatches ..." (golint)
    • Line 85: warning: comment on exported method MatchSubjectRegex.PrecertificateMatches should be of the form "PrecertificateMatches ..." (golint)
    • Line 98: warning: comment on exported type MatchIssuerRegex should be of the form "MatchIssuerRegex ..." (with optional leading article) (golint)
    • Line 104: warning: exported method MatchIssuerRegex.CertificateMatches should have comment or be unexported (golint)
    • Line 108: warning: exported method MatchIssuerRegex.PrecertificateMatches should have comment or be unexported (golint)
    • Line 145: warning: comment on exported function DefaultScannerOptions should be of the form "DefaultScannerOptions ..." (golint)
    • Line 311: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 320: warning: if block ends with a return statement, so drop this else and outdent its block (golint)
    • Line 347: warning: comment on exported method Scanner.Scan should be of the form "Scan ..." (golint)
    • Line 432: warning: comment on exported function NewScanner should be of the form "NewScanner ..." (golint)
    • zcrypto/ct/x509/x509.go
    • Line 162: warning: exported type SignatureAlgorithm should have comment or be unexported (golint)
    • Line 165: warning: exported const UnknownSignatureAlgorithm should have comment (or a comment on this block) or be unexported (golint)
    • Line 180: warning: exported type PublicKeyAlgorithm should have comment or be unexported (golint)
    • Line 183: warning: exported const UnknownPublicKeyAlgorithm should have comment (or a comment on this block) or be unexported (golint)
    • Line 375: warning: exported const KeyUsageDigitalSignature should have comment (or a comment on this block) or be unexported (golint)
    • Line 418: warning: exported const ExtKeyUsageAny should have comment (or a comment on this block) or be unexported (golint)
    • Line 548: warning: exported method Certificate.Equal should have comment or be unexported (golint)
    • Line 627: warning: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)
    • Line 696: warning: comment on exported type UnhandledCriticalExtension should be of the form "UnhandledCriticalExtension ..." (with optional leading article) (golint)
    • Line 828: warning: comment on exported method NonFatalErrors.AddError should be of the form "AddError ..." (golint)
    • Line 843: warning: comment on exported method NonFatalErrors.HasError should be of the form "HasError ..." (golint)
    • zcrypto/x509/json.go
    • Line 431: warning: exported method Certificate.MarshalJSON should have comment or be unexported (golint)
    • Line 590: warning: exported method GeneralSubtreeIP.MarshalJSON should have comment or be unexported (golint)
    • Line 620: warning: exported method GeneralSubtreeIP.UnmarshalJSON should have comment or be unexported (golint)
    • zcrypto/tls/tls_handshake.go
    • Line 20: warning: exported var ErrUnimplementedCipher should have comment or be unexported (golint)
    • Line 21: warning: exported var ErrNoMutualCipher should have comment or be unexported (golint)
    • Line 23: warning: exported type TLSVersion should have comment or be unexported (golint)
    • Line 25: warning: exported type CipherSuite should have comment or be unexported (golint)
    • Line 27: warning: exported type ClientHello should have comment or be unexported (golint)
    • Line 51: warning: exported type ParsedAndRawSCT should have comment or be unexported (golint)
    • Line 56: warning: exported type ServerHello should have comment or be unexported (golint)
    • Line 118: warning: exported type MasterSecret should have comment or be unexported (golint)
    • Line 123: warning: exported type PreMasterSecret should have comment or be unexported (golint)
    • Line 212: warning: exported type CompressionMethod should have comment or be unexported (golint)
    • Line 214: warning: exported method CompressionMethod.MarshalJSON should have comment or be unexported (golint)
    • Line 231: warning: exported method CompressionMethod.UnmarshalJSON should have comment or be unexported (golint)
    • Line 247: warning: exported method Conn.GetHandshakeLog should have comment or be unexported (golint)
    • Line 251: warning: exported method Conn.InCipher should have comment or be unexported (golint)
    • Line 255: warning: exported method Conn.InSeq should have comment or be unexported (golint)
    • Line 259: warning: exported method Conn.OutCipher should have comment or be unexported (golint)
    • Line 263: warning: exported method Conn.OutSeq should have comment or be unexported (golint)
    • Line 451: warning: exported method ClientSessionState.MakeLog should have comment or be unexported (golint)
    • zcrypto/ct/client/logclient.go
    • Line 213: warning: error should be the last type when returning multiple items (golint)
    • Line 282: warning: error should be the last type when returning multiple items (golint)
    • Line 287: warning: error should be the last type when returning multiple items (golint)
    • Line 293: warning: error should be the last type when returning multiple items (golint)
    • Line 297: warning: exported method LogClient.AddJSON should have comment or be unexported (golint)
    • zcrypto/x509/pkix/pkix.go
    • Line 23: warning: exported type RDNSequence should have comment or be unexported (golint)
    • Line 25: warning: exported type RelativeDistinguishedNameSET should have comment or be unexported (golint)
    • zcrypto/tls/poly1305.go
    • Line 292: warning: don't use underscores in Go names; var r0high_stack should be r0highStack (golint)
    • Line 297: warning: don't use underscores in Go names; var r1high_stack should be r1highStack (golint)
    • Line 309: warning: don't use underscores in Go names; var r1low_stack should be r1lowStack (golint)
    • Line 312: warning: don't use underscores in Go names; var sr1high_stack should be sr1highStack (golint)
    • Line 315: warning: don't use underscores in Go names; var r2low_stack should be r2lowStack (golint)
    • Line 318: warning: don't use underscores in Go names; var sr2high_stack should be sr2highStack (golint)
    • Line 321: warning: don't use underscores in Go names; var r0low_stack should be r0lowStack (golint)
    • Line 324: warning: don't use underscores in Go names; var sr1low_stack should be sr1lowStack (golint)
    • Line 327: warning: don't use underscores in Go names; var r2high_stack should be r2highStack (golint)
    • Line 330: warning: don't use underscores in Go names; var sr2low_stack should be sr2lowStack (golint)
    • Line 333: warning: don't use underscores in Go names; var r3high_stack should be r3highStack (golint)
    • Line 336: warning: don't use underscores in Go names; var sr3high_stack should be sr3highStack (golint)
    • Line 339: warning: don't use underscores in Go names; var r3low_stack should be r3lowStack (golint)
    • Line 342: warning: don't use underscores in Go names; var sr3low_stack should be sr3lowStack (golint)
    • zcrypto/util/isURL.go
    • Line 38: warning: exported const IP should have comment (or a comment on this block) or be unexported (golint)
    • Line 48: warning: exported var URL should have comment or be unexported (golint)
    • zcrypto/ct/types.go
    • Line 317: warning: receiver name s should be consistent with previous receiver name sct for SignedCertificateTimestamp (golint)
    • zcrypto/tls/conn.go
    • Line 76: warning: exported method Conn.ClientHelloRaw should have comment or be unexported (golint)
    • Line 83: warning: exported method Conn.ClientCiphers should have comment or be unexported (golint)
    • Line 1119: warning: exported method Conn.Config should have comment or be unexported (golint)
    • zcrypto/x509/names.go
    • Line 14: warning: exported method Certificate.SignatureAlgorithmName should have comment or be unexported (golint)
    • Line 23: warning: exported method Certificate.PublicKeyAlgorithmName should have comment or be unexported (golint)
    • zcrypto/tls/tls_names.go
    • Line 512: warning: exported method CipherSuite.Bytes should have comment or be unexported (golint)
    • Line 559: warning: exported method TLSVersion.Bytes should have comment or be unexported (golint)
    • Line 590: warning: exported method SignatureScheme.Bytes should have comment or be unexported (golint)

gocyclo78%

Gocyclo calculates cyclomatic complexities of functions in Go source code. The cyclomatic complexity of a function is calculated according to the following rules: 1 is the base complexity of a function +1 for each 'if', 'for', 'case', '&&' or '||' Go Report Card warns on functions with cyclomatic complexity > 15.

    • zcrypto/ct/x509/x509.go
    • Line 850: warning: cyclomatic complexity 70 of function parseCertificate() is high (> 15) (gocyclo)
    • Line 1293: warning: cyclomatic complexity 47 of function buildExtensions() is high (> 15) (gocyclo)
    • Line 1498: warning: cyclomatic complexity 20 of function CreateCertificate() is high (> 15) (gocyclo)
    • Line 635: warning: cyclomatic complexity 18 of function (*Certificate).CheckSignature() is high (> 15) (gocyclo)
    • Line 746: warning: cyclomatic complexity 17 of function parsePublicKey() is high (> 15) (gocyclo)
    • zcrypto/x509/extensions_test.go
    • Line 195: warning: cyclomatic complexity 28 of function TestNameConstraintJSON() is high (> 15) (gocyclo)
    • Line 33: warning: cyclomatic complexity 20 of function TestGeneralNamesJSON() is high (> 15) (gocyclo)
    • zcrypto/tls/handshake_client.go
    • Line 225: warning: cyclomatic complexity 79 of function (*Conn).clientHandshake() is high (> 15) (gocyclo)
    • Line 562: warning: cyclomatic complexity 68 of function (*clientHandshakeState).doFullHandshake() is high (> 15) (gocyclo)
    • Line 127: warning: cyclomatic complexity 21 of function (*ClientFingerprintConfiguration).marshal() is high (> 15) (gocyclo)
    • zcrypto/x509/verify.go
    • Line 358: warning: cyclomatic complexity 17 of function (*Certificate).buildChains() is high (> 15) (gocyclo)
    • Line 281: warning: cyclomatic complexity 16 of function (*Certificate).Verify() is high (> 15) (gocyclo)
    • zcrypto/tls/handshake_server.go
    • Line 330: warning: cyclomatic complexity 46 of function (*serverHandshakeState).doFullHandshake() is high (> 15) (gocyclo)
    • Line 111: warning: cyclomatic complexity 31 of function (*serverHandshakeState).readClientHello() is high (> 15) (gocyclo)
    • Line 39: warning: cyclomatic complexity 16 of function (*Conn).serverHandshake() is high (> 15) (gocyclo)
    • zcrypto/tls/conn.go
    • Line 566: warning: cyclomatic complexity 45 of function (*Conn).readRecord() is high (> 15) (gocyclo)
    • Line 862: warning: cyclomatic complexity 23 of function (*Conn).readHandshake() is high (> 15) (gocyclo)
    • Line 279: warning: cyclomatic complexity 19 of function (*halfConn).decrypt() is high (> 15) (gocyclo)
    • Line 976: warning: cyclomatic complexity 18 of function (*Conn).Read() is high (> 15) (gocyclo)
    • Line 778: warning: cyclomatic complexity 16 of function (*Conn).writeRecord() is high (> 15) (gocyclo)
    • zcrypto/x509/x509.go
    • Line 1458: warning: cyclomatic complexity 119 of function (*CertParser).parseCertificate() is high (> 15) (gocyclo)
    • Line 2386: warning: cyclomatic complexity 62 of function buildExtensions() is high (> 15) (gocyclo)
    • Line 996: warning: cyclomatic complexity 28 of function CheckSignatureFromKey() is high (> 15) (gocyclo)
    • Line 3010: warning: cyclomatic complexity 25 of function CreateCertificateRequest() is high (> 15) (gocyclo)
    • Line 1220: warning: cyclomatic complexity 21 of function parsePublicKey() is high (> 15) (gocyclo)
    • Line 1373: warning: cyclomatic complexity 21 of function parseGeneralNames() is high (> 15) (gocyclo)
    • Line 415: warning: cyclomatic complexity 17 of function GetSignatureAlgorithmFromAI() is high (> 15) (gocyclo)
    • Line 2610: warning: cyclomatic complexity 16 of function signingParamsForPublicKey() is high (> 15) (gocyclo)
    • zcrypto/x509/x509_test.go
    • Line 261: warning: cyclomatic complexity 29 of function TestCreateSelfSignedCertificate() is high (> 15) (gocyclo)
    • Line 1020: warning: cyclomatic complexity 17 of function TestParseGeneralNamesOtherName() is high (> 15) (gocyclo)
    • zcrypto/x509/extensions.go
    • Line 238: warning: cyclomatic complexity 18 of function (*NameConstraints).UnmarshalJSON() is high (> 15) (gocyclo)
    • Line 675: warning: cyclomatic complexity 18 of function (*Certificate).jsonifyExtensions() is high (> 15) (gocyclo)
    • zcrypto/tls/handshake_messages.go
    • Line 361: warning: cyclomatic complexity 63 of function (*clientHelloMsg).unmarshal() is high (> 15) (gocyclo)
    • Line 70: warning: cyclomatic complexity 43 of function (*clientHelloMsg).marshal() is high (> 15) (gocyclo)
    • Line 821: warning: cyclomatic complexity 43 of function (*serverHelloMsg).unmarshal() is high (> 15) (gocyclo)
    • Line 633: warning: cyclomatic complexity 33 of function (*serverHelloMsg).marshal() is high (> 15) (gocyclo)
    • Line 39: warning: cyclomatic complexity 24 of function (*clientHelloMsg).equal() is high (> 15) (gocyclo)
    • Line 1424: warning: cyclomatic complexity 17 of function (*certificateRequestMsg).unmarshal() is high (> 15) (gocyclo)
    • zcrypto/ct/asn1/marshal.go
    • Line 468: warning: cyclomatic complexity 28 of function marshalField() is high (> 15) (gocyclo)
    • Line 378: warning: cyclomatic complexity 24 of function marshalBody() is high (> 15) (gocyclo)
    • Line 298: warning: cyclomatic complexity 18 of function marshalUTCTime() is high (> 15) (gocyclo)
    • zcrypto/x509/extended_key_usage.go
    • Line 278: warning: cyclomatic complexity 65 of function (*auxExtendedKeyUsage).populateFromASN1() is high (> 15) (gocyclo)
    • Line 412: warning: cyclomatic complexity 65 of function (*auxExtendedKeyUsage).populateFromExtKeyUsage() is high (> 15) (gocyclo)

license100%

Checks whether your project has a LICENSE file.

No problems detected. Good job!


ineffassign100%

IneffAssign detects ineffectual assignments in Go code.

No problems detected. Good job!


misspell97%

Misspell Finds commonly misspelled English words

    • zcrypto/x509/json.go
    • Line 152: warning: "PREFERED" is a misspelling of "PREFERRED" (misspell)
    • Line 491: warning: "implimented" is a misspelling of "implemented" (misspell)
    • Line 500: warning: "implimented" is a misspelling of "implemented" (misspell)