@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/bootstrap"
|
||||
|
||||

|
||||
|
||||
provides generic interfaces for initial bootstrap into network and network
|
||||
### reseeding
|
||||
|
||||
@@ -21,3 +23,9 @@ type Bootstrap interface {
|
||||
```
|
||||
|
||||
interface defining a way to bootstrap into the i2p network
|
||||
|
||||
|
||||
|
||||
bootstrap
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/bootstrap
|
13
lib/bootstrap/bootstrap.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="0pt" height="0pt"
|
||||
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 0)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 584 B |
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/base32"
|
||||
|
||||

|
||||
|
||||
Package base32 implmenets utilities for encoding and decoding text using I2P's
|
||||
### alphabet
|
||||
|
||||
@@ -31,3 +33,9 @@ DecodeString decodes base64 string to []byte I2PEncoding
|
||||
func EncodeToString(data []byte) string
|
||||
```
|
||||
EncodeToString encodes []byte to a base32 string using I2PEncoding
|
||||
|
||||
|
||||
|
||||
base32
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/base32
|
13
lib/common/base32/base32.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="0pt" height="0pt"
|
||||
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 0)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 584 B |
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/base64"
|
||||
|
||||

|
||||
|
||||
Package base64 implmenets utilities for encoding and decoding text using I2P's
|
||||
### alphabet
|
||||
|
||||
@@ -31,3 +33,9 @@ DecodeString decodes base64 string to []byte I2PEncoding
|
||||
func EncodeToString(data []byte) string
|
||||
```
|
||||
I2PEncoding is the standard base64 encoding used through I2P.
|
||||
|
||||
|
||||
|
||||
base64
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/base64
|
13
lib/common/base64/base64.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="0pt" height="0pt"
|
||||
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 0)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 584 B |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -23,6 +26,12 @@ const CERT_MIN_SIZE = 3
|
||||
CERT_MIN_SIZE is the minimum size of a valid Certificate in []byte 1 byte for
|
||||
type 2 bytes for payload length
|
||||
|
||||
#### func GetSignatureTypeFromCertificate
|
||||
|
||||
```go
|
||||
func GetSignatureTypeFromCertificate(cert Certificate) (int, error)
|
||||
```
|
||||
|
||||
#### type Certificate
|
||||
|
||||
```go
|
||||
@@ -37,10 +46,22 @@ https://geti2p.net/spec/common-structures#certificate
|
||||
#### func NewCertificate
|
||||
|
||||
```go
|
||||
func NewCertificate(data []byte) (certificate Certificate, err error)
|
||||
func NewCertificate() *Certificate
|
||||
```
|
||||
NewCertificate creates a new Certficiate from []byte returns err if the
|
||||
certificate is too short or if the payload doesn't match specified length.
|
||||
NewCertificate creates a new Certificate with default NULL type
|
||||
|
||||
#### func NewCertificateDeux
|
||||
|
||||
```go
|
||||
func NewCertificateDeux(certType int, payload []byte) (*Certificate, error)
|
||||
```
|
||||
|
||||
#### func NewCertificateWithType
|
||||
|
||||
```go
|
||||
func NewCertificateWithType(certType uint8, payload []byte) (*Certificate, error)
|
||||
```
|
||||
NewCertificateWithType creates a new Certificate with specified type and payload
|
||||
|
||||
#### func ReadCertificate
|
||||
|
||||
@@ -96,3 +117,9 @@ func (c *Certificate) Type() (cert_type int)
|
||||
```
|
||||
Type returns the Certificate type specified in the first byte of the
|
||||
Certificate,
|
||||
|
||||
|
||||
|
||||
certificate
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/certificate
|
@@ -4,13 +4,13 @@ package certificate
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
// log "github.com/sirupsen/logrus"
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
)
|
||||
@@ -158,7 +158,7 @@ func readCertificate(data []byte) (certificate Certificate, err error) {
|
||||
"certificate_bytes_length": len(data),
|
||||
"reason": "too short (len < CERT_MIN_SIZE)" + fmt.Sprintf("%d", certificate.kind.Int()),
|
||||
}).Error("invalid certificate, empty")
|
||||
err = fmt.Errorf("error parsing certificate: certificate is empty")
|
||||
err = oops.Errorf("error parsing certificate: certificate is empty")
|
||||
return
|
||||
case 1, 2:
|
||||
certificate.kind = Integer(data[0 : len(data)-1])
|
||||
@@ -168,7 +168,7 @@ func readCertificate(data []byte) (certificate Certificate, err error) {
|
||||
"certificate_bytes_length": len(data),
|
||||
"reason": "too short (len < CERT_MIN_SIZE)" + fmt.Sprintf("%d", certificate.kind.Int()),
|
||||
}).Error("invalid certificate, too short")
|
||||
err = fmt.Errorf("error parsing certificate: certificate is too short")
|
||||
err = oops.Errorf("error parsing certificate: certificate is too short")
|
||||
return
|
||||
default:
|
||||
certificate.kind = Integer(data[0:1])
|
||||
@@ -176,7 +176,7 @@ func readCertificate(data []byte) (certificate Certificate, err error) {
|
||||
payloadLength := len(data) - CERT_MIN_SIZE
|
||||
certificate.payload = data[CERT_MIN_SIZE:]
|
||||
if certificate.len.Int() > len(data)-CERT_MIN_SIZE {
|
||||
err = fmt.Errorf("certificate parsing warning: certificate data is shorter than specified by length")
|
||||
err = oops.Errorf("certificate parsing warning: certificate data is shorter than specified by length")
|
||||
log.WithFields(logrus.Fields{
|
||||
"at": "(Certificate) NewCertificate",
|
||||
"certificate_bytes_length": certificate.len.Int(),
|
||||
@@ -222,12 +222,12 @@ func NewCertificate() *Certificate {
|
||||
|
||||
func NewCertificateDeux(certType int, payload []byte) (*Certificate, error) {
|
||||
if certType < 0 || certType > 255 {
|
||||
return nil, fmt.Errorf("invalid certificate type: %d", certType)
|
||||
return nil, oops.Errorf("invalid certificate type: %d", certType)
|
||||
}
|
||||
certTypeByte := byte(certType)
|
||||
|
||||
if len(payload) > 65535 {
|
||||
return nil, fmt.Errorf("payload too long: %d bytes", len(payload))
|
||||
return nil, oops.Errorf("payload too long: %d bytes", len(payload))
|
||||
}
|
||||
|
||||
_len, err := NewIntegerFromInt(len(payload), 2)
|
||||
@@ -255,12 +255,12 @@ func NewCertificateWithType(certType uint8, payload []byte) (*Certificate, error
|
||||
case CERT_NULL, CERT_HASHCASH, CERT_HIDDEN, CERT_SIGNED, CERT_MULTIPLE, CERT_KEY:
|
||||
// Valid type
|
||||
default:
|
||||
return nil, fmt.Errorf("invalid certificate type: %d", certType)
|
||||
return nil, oops.Errorf("invalid certificate type: %d", certType)
|
||||
}
|
||||
|
||||
// For NULL certificates, payload should be empty
|
||||
if certType == CERT_NULL && len(payload) > 0 {
|
||||
return nil, errors.New("NULL certificates must have empty payload")
|
||||
return nil, oops.Errorf("NULL certificates must have empty payload")
|
||||
}
|
||||
length, _ := NewIntegerFromInt(len(payload), 2)
|
||||
|
||||
@@ -280,10 +280,10 @@ func NewCertificateWithType(certType uint8, payload []byte) (*Certificate, error
|
||||
|
||||
func GetSignatureTypeFromCertificate(cert Certificate) (int, error) {
|
||||
if cert.Type() != CERT_KEY {
|
||||
return 0, fmt.Errorf("unexpected certificate type: %d", cert.Type())
|
||||
return 0, oops.Errorf("unexpected certificate type: %d", cert.Type())
|
||||
}
|
||||
if len(cert.payload) < 4 {
|
||||
return 0, fmt.Errorf("certificate payload too short to contain signature type")
|
||||
return 0, oops.Errorf("certificate payload too short to contain signature type")
|
||||
}
|
||||
sigType := int(binary.BigEndian.Uint16(cert.payload[2:4])) // Changed offset to read signing key type
|
||||
return sigType, nil
|
||||
|
617
lib/common/certificate/certificate.svg
Normal file
@@ -0,0 +1,617 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="1146pt" height="928pt"
|
||||
viewBox="0.00 0.00 1146.34 928.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 928)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-928 1146.344,-928 1146.344,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-920 1138.344,-920 1138.344,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="573.172" y="-899.8" font-family="Arial" font-size="18.00" fill="#000000">certificate</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer</title>
|
||||
<g id="a_clust5"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/data.Integer">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1038.4239,-407C1038.4239,-407 1086.3103,-407 1086.3103,-407 1092.3103,-407 1098.3103,-413 1098.3103,-419 1098.3103,-419 1098.3103,-534 1098.3103,-534 1098.3103,-540 1092.3103,-546 1086.3103,-546 1086.3103,-546 1038.4239,-546 1038.4239,-546 1032.4239,-546 1026.4239,-540 1026.4239,-534 1026.4239,-534 1026.4239,-419 1026.4239,-419 1026.4239,-413 1032.4239,-407 1038.4239,-407"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-415.5" font-family="Arial" font-size="15.00" fill="#222222">(Integer)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1035.7065,-262C1035.7065,-262 1090.0277,-262 1090.0277,-262 1096.0277,-262 1102.0277,-268 1102.0277,-274 1102.0277,-274 1102.0277,-328 1102.0277,-328 1102.0277,-334 1096.0277,-340 1090.0277,-340 1090.0277,-340 1035.7065,-340 1035.7065,-340 1029.7065,-340 1023.7065,-334 1023.7065,-328 1023.7065,-328 1023.7065,-274 1023.7065,-274 1023.7065,-268 1029.7065,-262 1035.7065,-262"/>
|
||||
<text text-anchor="middle" x="1062.8671" y="-270.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M1023.2577,-619C1023.2577,-619 1101.4765,-619 1101.4765,-619 1107.4765,-619 1113.4765,-625 1113.4765,-631 1113.4765,-631 1113.4765,-807 1113.4765,-807 1113.4765,-813 1107.4765,-819 1101.4765,-819 1101.4765,-819 1023.2577,-819 1023.2577,-819 1017.2577,-819 1011.2577,-813 1011.2577,-807 1011.2577,-807 1011.2577,-631 1011.2577,-631 1011.2577,-625 1017.2577,-619 1023.2577,-619"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-627.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/certificate.Certificate">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M322.261,-285C322.261,-285 866.0844,-285 866.0844,-285 872.0844,-285 878.0844,-291 878.0844,-297 878.0844,-297 878.0844,-534 878.0844,-534 878.0844,-540 872.0844,-546 866.0844,-546 866.0844,-546 322.261,-546 322.261,-546 316.261,-546 310.261,-540 310.261,-534 310.261,-534 310.261,-297 310.261,-297 310.261,-291 316.261,-285 322.261,-285"/>
|
||||
<text text-anchor="middle" x="594.1727" y="-293.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate | defined in certificate.go:150 at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:160: calling [(*github.com/go-i2p/logger.Logger).Error] at certificate.go:170: calling [(*github.com/go-i2p/logger.Logger).Error] at certificate.go:188: calling [(*github.com/go-i2p/logger.Logger).Error] at certificate.go:161: calling [github.com/samber/oops.Errorf] at certificate.go:171: calling [github.com/samber/oops.Errorf] at certificate.go:179: calling [github.com/samber/oops.Errorf] at certificate.go:159: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:169: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:178: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:182: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:192: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:156: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:166: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:180: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:191: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M879.924,-615C879.924,-615 796.587,-615 796.587,-615 790.587,-615 784.587,-609 784.587,-603 784.587,-603 784.587,-591 784.587,-591 784.587,-585 790.587,-579 796.587,-579 796.587,-579 879.924,-579 879.924,-579 885.924,-579 891.924,-585 891.924,-591 891.924,-591 891.924,-603 891.924,-603 891.924,-609 885.924,-615 879.924,-615"/>
|
||||
<text text-anchor="middle" x="838.2555" y="-592.8" font-family="Verdana" font-size="14.00" fill="#000000">readCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1079.5624,-129C1079.5624,-129 1045.1718,-129 1045.1718,-129 1039.1718,-129 1033.1718,-123 1033.1718,-117 1033.1718,-117 1033.1718,-105 1033.1718,-105 1033.1718,-99 1039.1718,-93 1045.1718,-93 1045.1718,-93 1079.5624,-93 1079.5624,-93 1085.5624,-93 1091.5624,-99 1091.5624,-105 1091.5624,-105 1091.5624,-117 1091.5624,-117 1091.5624,-123 1085.5624,-129 1079.5624,-129"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-115.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-98.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->github.com/samber/oops.Errorf -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge17"><a xlink:title="at certificate.go:161: calling [github.com/samber/oops.Errorf] at certificate.go:171: calling [github.com/samber/oops.Errorf] at certificate.go:179: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M887.6922,-578.8268C900.2566,-572.1105 912.6559,-563.2952 921.3902,-552 962.8333,-498.4057 971.7912,-319.8683 994.3902,-256 1009.3883,-213.6131 1032.5644,-166.915 1047.601,-138.2675"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1050.7756,-139.7516 1052.3648,-129.2766 1044.5902,-136.4742 1050.7756,-139.7516"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node17" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node17"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1093.5862,-750C1093.5862,-750 1031.148,-750 1031.148,-750 1025.148,-750 1019.148,-744 1019.148,-738 1019.148,-738 1019.148,-726 1019.148,-726 1019.148,-720 1025.148,-714 1031.148,-714 1031.148,-714 1093.5862,-714 1093.5862,-714 1099.5862,-714 1105.5862,-720 1105.5862,-726 1105.5862,-726 1105.5862,-738 1105.5862,-738 1105.5862,-744 1099.5862,-750 1093.5862,-750"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-736.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-719.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge39"><a xlink:title="at certificate.go:156: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:166: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:180: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:191: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M862.2851,-615.121C892.2409,-637.2428 945.472,-675.0325 994.3902,-702 999.262,-704.6857 1004.4214,-707.3179 1009.6333,-709.8383"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1008.4809,-713.1637 1019.0207,-714.242 1011.4538,-706.8263 1008.4809,-713.1637"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node19" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node19"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-689C1080.1334,-689 1044.6008,-689 1044.6008,-689 1038.6008,-689 1032.6008,-683 1032.6008,-677 1032.6008,-677 1032.6008,-665 1032.6008,-665 1032.6008,-659 1038.6008,-653 1044.6008,-653 1044.6008,-653 1080.1334,-653 1080.1334,-653 1086.1334,-653 1092.1334,-659 1092.1334,-665 1092.1334,-665 1092.1334,-677 1092.1334,-677 1092.1334,-683 1086.1334,-689 1080.1334,-689"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-675.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-658.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge16"><a xlink:title="at certificate.go:160: calling [(*github.com/go-i2p/logger.Logger).Error] at certificate.go:170: calling [(*github.com/go-i2p/logger.Logger).Error] at certificate.go:188: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M891.9358,-614.7248C932.1804,-628.0133 986.3626,-645.9039 1022.7345,-657.9136"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1021.9014,-661.3243 1032.4946,-661.1363 1024.0963,-654.6773 1021.9014,-661.3243"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node20" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node20"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1081.1891,-332C1081.1891,-332 1043.5451,-332 1043.5451,-332 1037.5451,-332 1031.5451,-326 1031.5451,-320 1031.5451,-320 1031.5451,-308 1031.5451,-308 1031.5451,-302 1037.5451,-296 1043.5451,-296 1043.5451,-296 1081.1891,-296 1081.1891,-296 1087.1891,-296 1093.1891,-302 1093.1891,-308 1093.1891,-308 1093.1891,-320 1093.1891,-320 1093.1891,-326 1087.1891,-332 1081.1891,-332"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-318.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-301.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge2"><a xlink:title="at certificate.go:194: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M883.6249,-578.925C896.9934,-571.9937 910.8476,-563.037 921.3902,-552 972.8783,-498.0971 954.9975,-464.2831 994.3902,-401 1007.8831,-379.3241 1025.7385,-356.651 1039.7636,-339.887"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1042.5136,-342.0555 1046.305,-332.1623 1037.1716,-337.5318 1042.5136,-342.0555"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="node21" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_node21"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int | defined in integer.go:32">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1077.3671,-538C1077.3671,-538 1047.3671,-538 1047.3671,-538 1041.3671,-538 1035.3671,-532 1035.3671,-526 1035.3671,-526 1035.3671,-514 1035.3671,-514 1035.3671,-508 1041.3671,-502 1047.3671,-502 1047.3671,-502 1077.3671,-502 1077.3671,-502 1083.3671,-502 1089.3671,-508 1089.3671,-514 1089.3671,-514 1089.3671,-526 1089.3671,-526 1089.3671,-532 1083.3671,-538 1077.3671,-538"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-524.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-507.4" font-family="Verdana" font-size="14.00" fill="#000000">Int</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge20"><a xlink:title="at certificate.go:159: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:169: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:178: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:182: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:192: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M890.7997,-578.9469C932.19,-564.7261 988.8409,-545.2621 1025.521,-532.6595"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1026.9878,-535.8565 1035.3079,-529.297 1024.7132,-529.2363 1026.9878,-535.8565"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate | defined in certificate.go:201 at certificate.go:202: calling [github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate] at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:207: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes] at certificate.go:204: calling [(*github.com/go-i2p/logger.Logger).Warn] at certificate.go:208: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M167.867,-845C167.867,-845 80.178,-845 80.178,-845 74.178,-845 68.178,-839 68.178,-833 68.178,-833 68.178,-821 68.178,-821 68.178,-815 74.178,-809 80.178,-809 80.178,-809 167.867,-809 167.867,-809 173.867,-809 179.867,-815 179.867,-821 179.867,-821 179.867,-833 179.867,-833 179.867,-839 173.867,-845 167.867,-845"/>
|
||||
<text text-anchor="middle" x="124.0225" y="-822.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate</title>
|
||||
<g id="a_edge8"><a xlink:title="at certificate.go:202: calling [github.com/go-i2p/go-i2p/lib/common/certificate.readCertificate]">
|
||||
<path fill="none" stroke="#000000" d="M180.1672,-827C229.1368,-827 302.0893,-827 365.6397,-827 365.6397,-827 365.6397,-827 527.1776,-827 662.8932,-827 778.1694,-683.7089 820.7207,-623.3279"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="823.6406,-625.2592 826.4648,-615.0477 817.889,-621.2692 823.6406,-625.2592"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes | defined in certificate.go:87 at certificate.go:90: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:88: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:89: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M400.8974,-477C400.8974,-477 330.382,-477 330.382,-477 324.382,-477 318.382,-471 318.382,-465 318.382,-465 318.382,-453 318.382,-453 318.382,-447 324.382,-441 330.382,-441 330.382,-441 400.8974,-441 400.8974,-441 406.8974,-441 412.8974,-447 412.8974,-453 412.8974,-453 412.8974,-465 412.8974,-465 412.8974,-471 406.8974,-477 400.8974,-477"/>
|
||||
<text text-anchor="middle" x="365.6397" y="-454.8" font-family="Verdana" font-size="14.00" fill="#000000">ExcessBytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes</title>
|
||||
<g id="a_edge18"><a xlink:title="at certificate.go:207: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes]">
|
||||
<path fill="none" stroke="#000000" d="M129.437,-808.9044C146.6115,-754.2052 204.7309,-588.3227 305.045,-490 307.6901,-487.4074 310.5958,-484.985 313.6587,-482.7299"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="315.668,-485.597 322.0625,-477.1494 311.7957,-479.7656 315.668,-485.597"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge22"><a xlink:title="at certificate.go:208: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M179.9695,-836.824C228.8138,-844.544 301.6938,-854 365.6397,-854 365.6397,-854 365.6397,-854 838.2555,-854 918.5747,-854 924.2112,-802.065 994.3902,-763 999.5451,-760.1306 1005.014,-757.3022 1010.5228,-754.5908"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1012.2784,-757.6307 1019.7827,-750.1517 1009.2523,-751.3185 1012.2784,-757.6307"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="node18" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_node18"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warn | defined in log.go:30">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1080.1334,-811C1080.1334,-811 1044.6008,-811 1044.6008,-811 1038.6008,-811 1032.6008,-805 1032.6008,-799 1032.6008,-799 1032.6008,-787 1032.6008,-787 1032.6008,-781 1038.6008,-775 1044.6008,-775 1044.6008,-775 1080.1334,-775 1080.1334,-775 1086.1334,-775 1092.1334,-781 1092.1334,-787 1092.1334,-787 1092.1334,-799 1092.1334,-799 1092.1334,-805 1086.1334,-811 1080.1334,-811"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-797.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-780.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge21"><a xlink:title="at certificate.go:204: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M174.6643,-845.1314C223.0522,-860.819 298.3724,-881 365.6397,-881 365.6397,-881 365.6397,-881 838.2555,-881 892.3836,-881 907.9658,-880.678 958.3902,-861 985.466,-850.4337 1012.8462,-832.1507 1032.7088,-817.2021"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1034.9416,-819.9004 1040.7382,-811.0319 1030.6763,-814.3499 1034.9416,-819.9004"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge9"><a xlink:title="at certificate.go:210: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M126.618,-808.9925C142.1927,-704.3357 227.2637,-179 365.6397,-179 365.6397,-179 365.6397,-179 838.2555,-179 876.2584,-179 889.4097,-178.4702 921.3902,-199 965.6091,-227.3863 951.2954,-261.9346 994.3902,-292 1002.5446,-297.689 1012.2569,-301.9722 1021.752,-305.1723"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1020.9084,-308.5739 1031.4939,-308.1286 1022.9412,-301.8755 1020.9084,-308.5739"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.init -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.init</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.init | defined in .:0 at certificate.go:18: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M139.0225,-59C139.0225,-59 109.0225,-59 109.0225,-59 103.0225,-59 97.0225,-53 97.0225,-47 97.0225,-47 97.0225,-35 97.0225,-35 97.0225,-29 103.0225,-23 109.0225,-23 109.0225,-23 139.0225,-23 139.0225,-23 145.0225,-23 151.0225,-29 151.0225,-35 151.0225,-35 151.0225,-47 151.0225,-47 151.0225,-53 145.0225,-59 139.0225,-59"/>
|
||||
<text text-anchor="middle" x="124.0225" y="-36.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M414.3292,-59C414.3292,-59 316.9502,-59 316.9502,-59 310.9502,-59 304.9502,-53 304.9502,-47 304.9502,-47 304.9502,-35 304.9502,-35 304.9502,-29 310.9502,-23 316.9502,-23 316.9502,-23 414.3292,-23 414.3292,-23 420.3292,-23 426.3292,-29 426.3292,-35 426.3292,-35 426.3292,-47 426.3292,-47 426.3292,-53 420.3292,-59 414.3292,-59"/>
|
||||
<text text-anchor="middle" x="365.6397" y="-45.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="365.6397" y="-28.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge36"><a xlink:title="at certificate.go:18: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M151.2694,-41C185.8355,-41 246.7324,-41 294.8092,-41"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="294.8596,-44.5001 304.8596,-41 294.8595,-37.5001 294.8596,-44.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate | defined in certificate.go:281 at certificate.go:282: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at certificate.go:283: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at certificate.go:283: calling [github.com/samber/oops.Errorf] at certificate.go:286: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M220.0675,-223C220.0675,-223 27.9775,-223 27.9775,-223 21.9775,-223 15.9775,-217 15.9775,-211 15.9775,-211 15.9775,-199 15.9775,-199 15.9775,-193 21.9775,-187 27.9775,-187 27.9775,-187 220.0675,-187 220.0675,-187 226.0675,-187 232.0675,-193 232.0675,-199 232.0675,-199 232.0675,-211 232.0675,-211 232.0675,-217 226.0675,-223 220.0675,-223"/>
|
||||
<text text-anchor="middle" x="124.0225" y="-200.8" font-family="Verdana" font-size="14.00" fill="#000000">GetSignatureTypeFromCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->github.com/samber/oops.Errorf -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge4"><a xlink:title="at certificate.go:283: calling [github.com/samber/oops.Errorf] at certificate.go:286: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M145.3922,-186.9364C185.6792,-154.7915 276.818,-91 365.6397,-91 365.6397,-91 365.6397,-91 718.6208,-91 829.0428,-91 959.081,-101.4127 1022.9377,-107.2115"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1022.6938,-110.7038 1032.9723,-108.1345 1023.335,-103.7332 1022.6938,-110.7038"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="node15" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_node15"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type | defined in certificate.go:116 at certificate.go:117: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:118: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M380.6397,-416C380.6397,-416 350.6397,-416 350.6397,-416 344.6397,-416 338.6397,-410 338.6397,-404 338.6397,-404 338.6397,-392 338.6397,-392 338.6397,-386 344.6397,-380 350.6397,-380 350.6397,-380 380.6397,-380 380.6397,-380 386.6397,-380 392.6397,-386 392.6397,-392 392.6397,-392 392.6397,-404 392.6397,-404 392.6397,-410 386.6397,-416 380.6397,-416"/>
|
||||
<text text-anchor="middle" x="365.6397" y="-393.8" font-family="Verdana" font-size="14.00" fill="#000000">Type</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.GetSignatureTypeFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_edge3"><a xlink:title="at certificate.go:282: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at certificate.go:283: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type]">
|
||||
<path fill="none" stroke="#000000" d="M140.8989,-223.1706C171.4062,-255.2997 238.7388,-322.9884 305.045,-368 312.5955,-373.1256 321.1482,-377.9048 329.3982,-382.0752"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="327.9911,-385.2828 338.5145,-386.5112 331.054,-378.9885 327.9911,-385.2828"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux | defined in certificate.go:223 at certificate.go:243: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:225: calling [github.com/samber/oops.Errorf] at certificate.go:230: calling [github.com/samber/oops.Errorf] at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:233: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M896.0832,-153C896.0832,-153 780.4278,-153 780.4278,-153 774.4278,-153 768.4278,-147 768.4278,-141 768.4278,-141 768.4278,-129 768.4278,-129 768.4278,-123 774.4278,-117 780.4278,-117 780.4278,-117 896.0832,-117 896.0832,-117 902.0832,-117 908.0832,-123 908.0832,-129 908.0832,-129 908.0832,-141 908.0832,-141 908.0832,-147 902.0832,-153 896.0832,-153"/>
|
||||
<text text-anchor="middle" x="838.2555" y="-130.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateDeux</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/samber/oops.Errorf -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge23"><a xlink:title="at certificate.go:225: calling [github.com/samber/oops.Errorf] at certificate.go:230: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M908.244,-127.505C945.9757,-123.4643 991.1517,-118.6264 1022.8055,-115.2366"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1023.4211,-118.6908 1032.9915,-114.1458 1022.6757,-111.7306 1023.4211,-118.6908"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt -->
|
||||
<g id="node8" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt</title>
|
||||
<g id="a_node8"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt | defined in integer.go:68">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1118.3209,-53C1118.3209,-53 1006.4133,-53 1006.4133,-53 1000.4133,-53 994.4133,-47 994.4133,-41 994.4133,-41 994.4133,-29 994.4133,-29 994.4133,-23 1000.4133,-17 1006.4133,-17 1006.4133,-17 1118.3209,-17 1118.3209,-17 1124.3209,-17 1130.3209,-23 1130.3209,-29 1130.3209,-29 1130.3209,-41 1130.3209,-41 1130.3209,-47 1124.3209,-53 1118.3209,-53"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-39.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-22.4" font-family="Verdana" font-size="14.00" fill="#000000">NewIntegerFromInt</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt</title>
|
||||
<g id="a_edge37"><a xlink:title="at certificate.go:233: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt]">
|
||||
<path fill="none" stroke="#8b4513" d="M878.8404,-116.8908C916.3257,-100.1646 972.1246,-75.2668 1012.3495,-57.3182"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1014.0001,-60.4143 1021.7061,-53.1432 1011.1477,-54.0218 1014.0001,-60.4143"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge12"><a xlink:title="at certificate.go:243: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M851.522,-153.0586C870.1671,-179.3685 903.8061,-230.4117 921.3902,-279 953.8513,-368.6964 935.6768,-626.8209 994.3902,-702 998.6579,-707.4646 1004.1302,-711.9569 1010.1131,-715.6445"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1008.6953,-718.8555 1019.1632,-720.4908 1011.9999,-712.6846 1008.6953,-718.8555"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateDeux->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge34"><a xlink:title="at certificate.go:246: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M908.395,-144.374C926.6456,-149.8377 944.937,-158.4481 958.3902,-172 997.6189,-211.5165 955.4437,-252.2053 994.3902,-292 1001.7432,-299.5132 1011.6778,-304.4629 1021.6788,-307.7231"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1021.0388,-311.1769 1031.6088,-310.4525 1022.8941,-304.4273 1021.0388,-311.1769"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType -->
|
||||
<g id="node9" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType</title>
|
||||
<g id="a_node9"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType | defined in certificate.go:252 at certificate.go:258: calling [github.com/samber/oops.Errorf] at certificate.go:263: calling [github.com/samber/oops.Errorf] at certificate.go:265: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M909.5251,-57C909.5251,-57 766.9859,-57 766.9859,-57 760.9859,-57 754.9859,-51 754.9859,-45 754.9859,-45 754.9859,-33 754.9859,-33 754.9859,-27 760.9859,-21 766.9859,-21 766.9859,-21 909.5251,-21 909.5251,-21 915.5251,-21 921.5251,-27 921.5251,-33 921.5251,-33 921.5251,-45 921.5251,-45 921.5251,-51 915.5251,-57 909.5251,-57"/>
|
||||
<text text-anchor="middle" x="838.2555" y="-34.8" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateWithType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/samber/oops.Errorf -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge28"><a xlink:title="at certificate.go:258: calling [github.com/samber/oops.Errorf] at certificate.go:263: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M894.519,-57.0757C934.8151,-70.0216 988.0345,-87.1193 1023.6417,-98.5588"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1022.6011,-101.9006 1033.1924,-101.6271 1024.7422,-95.236 1022.6011,-101.9006"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt</title>
|
||||
<g id="a_edge40"><a xlink:title="at certificate.go:265: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt]">
|
||||
<path fill="none" stroke="#8b4513" d="M921.7064,-37.5105C942.1472,-37.1457 963.949,-36.7566 984.1349,-36.3963"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="984.2775,-39.8944 994.2134,-36.2164 984.1525,-32.8955 984.2775,-39.8944"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length | defined in certificate.go:125 at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:126: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:127: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M857.9142,-538C857.9142,-538 818.5968,-538 818.5968,-538 812.5968,-538 806.5968,-532 806.5968,-526 806.5968,-526 806.5968,-514 806.5968,-514 806.5968,-508 812.5968,-502 818.5968,-502 818.5968,-502 857.9142,-502 857.9142,-502 863.9142,-502 869.9142,-508 869.9142,-514 869.9142,-514 869.9142,-526 869.9142,-526 869.9142,-532 863.9142,-538 857.9142,-538"/>
|
||||
<text text-anchor="middle" x="838.2555" y="-515.8" font-family="Verdana" font-size="14.00" fill="#000000">Length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge38"><a xlink:title="at certificate.go:127: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M870.0778,-521.9339C886.97,-524.4397 907.1252,-529.9669 921.3902,-542 981.1357,-592.3975 938.7785,-647.0748 994.3902,-702 998.9677,-706.521 1004.3418,-710.4191 1010.0282,-713.7654"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1008.6741,-717.0082 1019.1517,-718.5799 1011.9411,-710.8173 1008.6741,-717.0082"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge24"><a xlink:title="at certificate.go:129: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M863.6821,-501.7945C880.5068,-489.4202 902.8082,-472.3815 921.3902,-456 964.9263,-417.6195 1011.6811,-368.8553 1038.9109,-339.6073"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1041.4949,-341.9681 1045.7268,-332.2552 1036.3615,-337.2091 1041.4949,-341.9681"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge35"><a xlink:title="at certificate.go:126: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M870.3652,-520C911.289,-520 981.8968,-520 1025.1348,-520"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1025.2399,-523.5001 1035.2399,-520 1025.2398,-516.5001 1025.2399,-523.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge6"><a xlink:title="at certificate.go:90: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M413.037,-477.0926C418.1184,-480.6981 422.7107,-484.966 426.2344,-490 463.4737,-543.2008 413.5692,-737.0025 462.2344,-780 503.5475,-816.5017 904.5976,-792.0624 958.3902,-780 975.6557,-776.1284 978.3402,-770.4489 994.3902,-763 1000.477,-760.1751 1006.8798,-757.2259 1013.2223,-754.3181"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1014.7903,-757.4497 1022.4278,-750.1066 1011.8781,-751.0842 1014.7903,-757.4497"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge19"><a xlink:title="at certificate.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:95: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M407.6685,-440.8914C414.1432,-437.349 420.556,-433.3622 426.2344,-429 480.1656,-387.5692 459.1696,-314 527.1776,-314 527.1776,-314 527.1776,-314 838.2555,-314 902.192,-314 976.3886,-314 1021.3294,-314"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1021.5535,-317.5001 1031.5535,-314 1021.5535,-310.5001 1021.5535,-317.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).ExcessBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge30"><a xlink:title="at certificate.go:88: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at certificate.go:89: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M413.0536,-442.2321C444.9043,-432.4424 488.049,-422 527.1776,-422 527.1776,-422 527.1776,-422 718.6208,-422 779.7179,-422 950.1975,-479.98 1025.6438,-506.7463"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1024.618,-510.0963 1035.2127,-510.1547 1026.9669,-503.5021 1024.618,-510.0963"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100 at certificate.go:104: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:101: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:102: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:103: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M543.0641,-538C543.0641,-538 511.2911,-538 511.2911,-538 505.2911,-538 499.2911,-532 499.2911,-526 499.2911,-526 499.2911,-514 499.2911,-514 499.2911,-508 505.2911,-502 511.2911,-502 511.2911,-502 543.0641,-502 543.0641,-502 549.0641,-502 555.0641,-508 555.0641,-514 555.0641,-514 555.0641,-526 555.0641,-526 555.0641,-532 549.0641,-538 543.0641,-538"/>
|
||||
<text text-anchor="middle" x="527.1776" y="-515.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data | defined in certificate.go:134 at certificate.go:138: calling [(*github.com/go-i2p/logger.Logger).Warn] at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug] at certificate.go:135: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length] at certificate.go:142: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M670.1208,-538C670.1208,-538 640.1208,-538 640.1208,-538 634.1208,-538 628.1208,-532 628.1208,-526 628.1208,-526 628.1208,-514 628.1208,-514 628.1208,-508 634.1208,-502 640.1208,-502 640.1208,-502 670.1208,-502 670.1208,-502 676.1208,-502 682.1208,-508 682.1208,-514 682.1208,-514 682.1208,-526 682.1208,-526 682.1208,-532 676.1208,-538 670.1208,-538"/>
|
||||
<text text-anchor="middle" x="655.1208" y="-515.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_edge32"><a xlink:title="at certificate.go:103: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="none" stroke="#000000" d="M555.2553,-520C573.6714,-520 597.9555,-520 617.9655,-520"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="617.9862,-523.5001 627.9861,-520 617.9861,-516.5001 617.9862,-523.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge1"><a xlink:title="at certificate.go:104: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M529.9125,-538.0109C538.4723,-586.9966 569.4835,-719 655.1208,-719 655.1208,-719 655.1208,-719 838.2555,-719 896.6494,-719 963.4583,-723.453 1008.8298,-727.1466"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1008.7727,-730.6539 1019.0281,-727.9935 1009.3521,-723.6779 1008.7727,-730.6539"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge27"><a xlink:title="at certificate.go:106: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M535.3242,-501.8239C552.2462,-467.1555 594.7211,-395 655.1208,-395 655.1208,-395 655.1208,-395 718.6208,-395 830.9451,-395 958.5435,-353.5187 1022.0321,-329.926"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1023.5331,-333.1008 1031.659,-326.3022 1021.067,-326.5495 1023.5331,-333.1008"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes -->
|
||||
<g id="node22" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes</title>
|
||||
<g id="a_node22"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes | defined in integer.go:27">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M1078.2536,-477C1078.2536,-477 1046.4806,-477 1046.4806,-477 1040.4806,-477 1034.4806,-471 1034.4806,-465 1034.4806,-465 1034.4806,-453 1034.4806,-453 1034.4806,-447 1040.4806,-441 1046.4806,-441 1046.4806,-441 1078.2536,-441 1078.2536,-441 1084.2536,-441 1090.2536,-447 1090.2536,-453 1090.2536,-453 1090.2536,-465 1090.2536,-465 1090.2536,-471 1084.2536,-477 1078.2536,-477"/>
|
||||
<text text-anchor="middle" x="1062.3671" y="-463.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="1062.3671" y="-446.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes</title>
|
||||
<g id="a_edge25"><a xlink:title="at certificate.go:101: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:102: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M555.1926,-504.3634C580.5012,-491.7165 619.1824,-476 655.1208,-476 655.1208,-476 655.1208,-476 838.2555,-476 903.8206,-476 979.867,-468.6762 1024.3892,-463.6427"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1024.9341,-467.1032 1034.4676,-462.4812 1024.1326,-460.1492 1024.9341,-467.1032"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length</title>
|
||||
<g id="a_edge26"><a xlink:title="at certificate.go:135: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length]">
|
||||
<path fill="none" stroke="#000000" d="M682.143,-520C712.169,-520 761.0347,-520 796.0998,-520"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="796.503,-523.5001 806.5029,-520 796.5029,-516.5001 796.503,-523.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge31"><a xlink:title="at certificate.go:142: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M662.5733,-538.0526C676.177,-568.6482 708.0373,-630.4325 755.1208,-662 765.7096,-669.0994 923.8065,-702.9794 1008.9624,-720.8715"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1008.4652,-724.3433 1018.9709,-722.9713 1009.9026,-717.4924 1008.4652,-724.3433"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge14"><a xlink:title="at certificate.go:138: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M660.6886,-538.1788C672.3115,-572.9981 702.5344,-649.1699 755.1208,-689 837.4468,-751.3554 959.4954,-777.7431 1022.106,-787.6955"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1021.9424,-791.211 1032.3563,-789.2615 1022.9997,-784.2913 1021.9424,-791.211"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge15"><a xlink:title="at certificate.go:144: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M682.1656,-509.4896C730.9543,-490.2072 836.5157,-447.009 921.3902,-402 958.6511,-382.2405 999.3255,-356.3539 1027.366,-337.7802"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1029.6243,-340.4813 1036.0057,-332.0238 1025.743,-334.6558 1029.6243,-340.4813"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length | defined in certificate.go:110 at certificate.go:111: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M383.1355,-538C383.1355,-538 348.1439,-538 348.1439,-538 342.1439,-538 336.1439,-532 336.1439,-526 336.1439,-526 336.1439,-514 336.1439,-514 336.1439,-508 342.1439,-502 348.1439,-502 348.1439,-502 383.1355,-502 383.1355,-502 389.1355,-502 395.1355,-508 395.1355,-514 395.1355,-514 395.1355,-526 395.1355,-526 395.1355,-532 389.1355,-538 383.1355,-538"/>
|
||||
<text text-anchor="middle" x="365.6397" y="-515.8" font-family="Verdana" font-size="14.00" fill="#000000">length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).length->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_edge7"><a xlink:title="at certificate.go:111: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes]">
|
||||
<path fill="none" stroke="#000000" d="M395.2682,-520C421.6326,-520 460.3466,-520 489.0205,-520"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="489.0889,-523.5001 499.0889,-520 489.0888,-516.5001 489.0889,-523.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge33"><a xlink:title="at certificate.go:118: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M392.8854,-405.4307C405.0472,-410.1699 418.3791,-417.6229 426.2344,-429 508.5551,-548.228 369.8577,-641.3821 462.2344,-753 481.4902,-776.2666 496.9762,-773 527.1776,-773 527.1776,-773 527.1776,-773 838.2555,-773 897.4598,-773 964.0466,-758.9838 1009.1435,-747.3416"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1010.2151,-750.6788 1018.9943,-744.7479 1008.4327,-743.9095 1010.2151,-750.6788"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge11"><a xlink:title="at certificate.go:120: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M392.7503,-388.5653C404.0291,-383.6871 416.6888,-376.869 426.2344,-368 449.2966,-346.5723 437.5241,-326.5042 462.2344,-307 485.9407,-288.2882 496.9762,-287 527.1776,-287 527.1776,-287 527.1776,-287 838.2555,-287 902.7902,-287 977.0323,-298.1719 1021.7903,-306.143"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1021.2301,-309.5984 1031.6944,-307.9407 1022.4802,-302.711 1021.2301,-309.5984"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge10"><a xlink:title="at certificate.go:117: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M392.7931,-389.8024C424.6635,-380.9199 479.2568,-368 527.1776,-368 527.1776,-368 527.1776,-368 838.2555,-368 926.3206,-368 921.2143,-441.0025 994.3902,-490 1003.9919,-496.4291 1015.1971,-502.0322 1025.7081,-506.6001"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1024.5221,-509.8973 1035.0999,-510.4981 1027.2055,-503.432 1024.5221,-509.8973"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes -->
|
||||
<g id="node16" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes</title>
|
||||
<g id="a_node16"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes | defined in certificate.go:76 at certificate.go:80: calling [(*github.com/go-i2p/logger.Logger).WithFields] at certificate.go:77: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:78: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M394.1852,-355C394.1852,-355 337.0942,-355 337.0942,-355 331.0942,-355 325.0942,-349 325.0942,-343 325.0942,-343 325.0942,-331 325.0942,-331 325.0942,-325 331.0942,-319 337.0942,-319 337.0942,-319 394.1852,-319 394.1852,-319 400.1852,-319 406.1852,-325 406.1852,-331 406.1852,-331 406.1852,-343 406.1852,-343 406.1852,-349 400.1852,-355 394.1852,-355"/>
|
||||
<text text-anchor="middle" x="365.6397" y="-332.8" font-family="Verdana" font-size="14.00" fill="#000000">RawBytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge5"><a xlink:title="at certificate.go:80: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M406.2658,-351.7653C413.7563,-356.0336 420.8884,-361.3814 426.2344,-368 535.4971,-503.2716 353.2904,-746 527.1776,-746 527.1776,-746 527.1776,-746 838.2555,-746 896.665,-746 963.4713,-741.2044 1008.8379,-737.2267"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1009.3865,-740.6917 1019.035,-736.3147 1008.7629,-733.7195 1009.3865,-740.6917"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge29"><a xlink:title="at certificate.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M406.2343,-326.7314C413.3846,-323.7232 420.3965,-319.8824 426.2344,-315 450.677,-294.5581 440.8621,-276.6333 462.2344,-253 486.1323,-226.5738 491.5482,-206 527.1776,-206 527.1776,-206 527.1776,-206 838.2555,-206 895.5894,-206 911.0429,-220.6671 958.3902,-253 977.8704,-266.3028 974.5202,-279.2867 994.3902,-292 1002.6878,-297.309 1012.3789,-301.4413 1021.8004,-304.616"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1020.8641,-307.9898 1031.4513,-307.5869 1022.9237,-301.2996 1020.8641,-307.9898"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes</title>
|
||||
<g id="a_edge13"><a xlink:title="at certificate.go:77: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes] at certificate.go:78: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Bytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M406.3953,-323.1598C413.0929,-320.6131 419.9087,-317.8521 426.2344,-315 472.8101,-294.0003 476.0867,-260 527.1776,-260 527.1776,-260 527.1776,-260 838.2555,-260 940.5999,-260 1017.9747,-377.4734 1048.3334,-431.9054"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="1045.4271,-433.8864 1053.2885,-440.9891 1051.5723,-430.5342 1045.4271,-433.8864"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 61 KiB |
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
|
||||

|
||||
|
||||
Package data implements common data structures used in higher level structures.
|
||||
|
||||
## Usage
|
||||
@@ -22,6 +24,16 @@ const STRING_MAX_SIZE = 255
|
||||
STRING_MAX_SIZE is the maximum number of bytes that can be stored in an I2P
|
||||
string
|
||||
|
||||
```go
|
||||
var (
|
||||
ErrZeroLength = oops.Errorf("error parsing string: zero length")
|
||||
ErrDataTooShort = oops.Errorf("string parsing warning: string data is shorter than specified by length")
|
||||
ErrDataTooLong = oops.Errorf("string parsing warning: string contains data beyond length")
|
||||
ErrLengthMismatch = oops.Errorf("error reading I2P string, length does not match data")
|
||||
ErrMappingLengthMismatch = oops.Errorf("warning parsing mapping: mapping length exceeds provided data")
|
||||
)
|
||||
```
|
||||
|
||||
#### func PrintErrors
|
||||
|
||||
```go
|
||||
@@ -207,7 +219,7 @@ Bytes returns the raw []byte content of an Integer.
|
||||
```go
|
||||
func (i Integer) Int() int
|
||||
```
|
||||
Int returns the Date as a Go integer
|
||||
Int returns the Integer as a Go integer
|
||||
|
||||
#### type Mapping
|
||||
|
||||
@@ -295,3 +307,9 @@ occurred during parsing.
|
||||
```go
|
||||
func (m MappingValues) Get(key I2PString) I2PString
|
||||
```
|
||||
|
||||
|
||||
|
||||
data
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/data
|
1306
lib/common/data/data.svg
Normal file
After Width: | Height: | Size: 139 KiB |
@@ -2,10 +2,10 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@ func ReadDate(data []byte) (date Date, remainder []byte, err error) {
|
||||
log.WithFields(logrus.Fields{
|
||||
"data": data,
|
||||
}).Error("ReadDate: data is too short")
|
||||
err = errors.New("ReadDate: data is too short")
|
||||
err = oops.Errorf("ReadDate: data is too short")
|
||||
return
|
||||
}
|
||||
copy(date[:], data[:8])
|
||||
|
@@ -1,23 +1,24 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/samber/oops"
|
||||
)
|
||||
|
||||
var (
|
||||
ErrZeroLength = errors.New("error parsing string: zero length")
|
||||
ErrDataTooShort = errors.New("string parsing warning: string data is shorter than specified by length")
|
||||
ErrDataTooLong = errors.New("string parsing warning: string contains data beyond length")
|
||||
ErrLengthMismatch = errors.New("error reading I2P string, length does not match data")
|
||||
ErrMappingLengthMismatch = errors.New("warning parsing mapping: mapping length exceeds provided data")
|
||||
ErrZeroLength = fmt.Errorf("error parsing string: zero length")
|
||||
ErrDataTooShort = fmt.Errorf("string parsing warning: string data is shorter than specified by length")
|
||||
ErrDataTooLong = fmt.Errorf("string parsing warning: string contains data beyond length")
|
||||
ErrLengthMismatch = fmt.Errorf("error reading I2P string, length does not match data")
|
||||
ErrMappingLengthMismatch = fmt.Errorf("warning parsing mapping: mapping length exceeds provided data")
|
||||
)
|
||||
|
||||
// WrapErrors compiles a slice of errors and returns them wrapped together as a single error.
|
||||
func WrapErrors(errs []error) error {
|
||||
var err error
|
||||
for i, e := range errs {
|
||||
err = fmt.Errorf("%v\n\t%d: %v", err, i, e)
|
||||
err = oops.Errorf("%v\n\t%d: %v", err, i, e)
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
@@ -1,8 +1,7 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -164,7 +163,7 @@ func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error)
|
||||
"at": "ReadMapping",
|
||||
"reason": "zero length",
|
||||
}).Warn("mapping format violation")
|
||||
e := errors.New("zero length")
|
||||
e := oops.Errorf("zero length")
|
||||
err = append(err, e)
|
||||
return
|
||||
}
|
||||
@@ -184,7 +183,7 @@ func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error)
|
||||
"expected_size": size.Int(),
|
||||
"actual_size": len(remainder),
|
||||
}).Warn("mapping format violation: mapping length exceeds provided data")
|
||||
e := errors.New("warning parsing mapping: mapping length exceeds provided data")
|
||||
e := oops.Errorf("warning parsing mapping: mapping length exceeds provided data")
|
||||
err = append(err, e)
|
||||
|
||||
// Use whatever data is available (recovery)
|
||||
@@ -209,7 +208,7 @@ func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error)
|
||||
"at": "ReadMapping",
|
||||
"reason": "error parsing mapping values",
|
||||
}).Warn("mapping format violation")
|
||||
e := errors.New("error parsing mapping values")
|
||||
e := oops.Errorf("error parsing mapping values")
|
||||
err = append(err, e)
|
||||
}
|
||||
if len(remainder) > 0 { // Handle extra bytes beyond mapping length
|
||||
@@ -217,7 +216,7 @@ func ReadMapping(bytes []byte) (mapping Mapping, remainder []byte, err []error)
|
||||
"expected_size": size.Int(),
|
||||
"actual_size": len(remainder),
|
||||
}).Error("mapping format violation: data exists beyond length of mapping")
|
||||
e := errors.New("warning parsing mapping: data exists beyond length of mapping")
|
||||
e := oops.Errorf("warning parsing mapping: data exists beyond length of mapping")
|
||||
err = append(err, e)
|
||||
|
||||
// Slice the exact mapping bytes
|
||||
|
@@ -2,9 +2,9 @@ package data
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"testing"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
@@ -154,7 +154,7 @@ func TestFullGoMapToMappingProducesCorrectMapping(t *testing.T) {
|
||||
func TestStopValueReadTrueWhenCorrectErr(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
status := stopValueRead(errors.New("error parsing string: zero length"))
|
||||
status := stopValueRead(oops.Errorf("error parsing string: zero length"))
|
||||
|
||||
assert.Equal(true, status, "stopValueRead() did not return true when String error found")
|
||||
}
|
||||
@@ -162,7 +162,7 @@ func TestStopValueReadTrueWhenCorrectErr(t *testing.T) {
|
||||
func TestStopValueReadFalseWhenWrongErr(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
status := stopValueRead(errors.New("something else"))
|
||||
status := stopValueRead(oops.Errorf("something else"))
|
||||
|
||||
assert.Equal(false, status, "stopValueRead() did not return false when non String error found")
|
||||
}
|
||||
|
@@ -1,9 +1,9 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"sort"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -90,7 +90,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"at": "(Mapping) Values",
|
||||
"reason": "data shorter than expected",
|
||||
}).Error("mapping contained no data")
|
||||
errs = []error{errors.New("mapping contained no data")}
|
||||
errs = []error{oops.Errorf("mapping contained no data")}
|
||||
return
|
||||
}
|
||||
map_values := make(MappingValues, 0)
|
||||
@@ -103,7 +103,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"mapping_length_field": int_map_length,
|
||||
"reason": "data longer than expected",
|
||||
}).Warn("mapping format warning")
|
||||
errs = append(errs, errors.New("warning parsing mapping: data exists beyond length of mapping"))
|
||||
errs = append(errs, oops.Errorf("warning parsing mapping: data exists beyond length of mapping"))
|
||||
} else if int_map_length > mapping_len {
|
||||
log.WithFields(logrus.Fields{
|
||||
"at": "(Mapping) Values",
|
||||
@@ -111,7 +111,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"mapping_length_field": int_map_length,
|
||||
"reason": "data shorter than expected",
|
||||
}).Warn("mapping format warning")
|
||||
errs = append(errs, errors.New("warning parsing mapping: mapping length exceeds provided data"))
|
||||
errs = append(errs, oops.Errorf("warning parsing mapping: mapping length exceeds provided data"))
|
||||
}
|
||||
|
||||
encounteredKeysMap := map[string]bool{}
|
||||
@@ -158,7 +158,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"key": string(key_str),
|
||||
}).Error("mapping format violation")
|
||||
log.Printf("DUPE: %s", key_str)
|
||||
errs = append(errs, errors.New("mapping format violation, duplicate key in mapping"))
|
||||
errs = append(errs, oops.Errorf("mapping format violation, duplicate key in mapping"))
|
||||
// Based on other implementations this does not seem to happen often?
|
||||
// Java throws an exception in this case, the base object is a Hashmap so the value is overwritten and an exception is thrown.
|
||||
// i2pd as far as I can tell just overwrites the original value
|
||||
@@ -171,7 +171,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"reason": "expected =",
|
||||
"value:": string(remainder),
|
||||
}).Warn("mapping format violation")
|
||||
errs = append(errs, errors.New("mapping format violation, expected ="))
|
||||
errs = append(errs, oops.Errorf("mapping format violation, expected ="))
|
||||
log.Printf("ERRVAL: %s", remainder)
|
||||
break
|
||||
} else {
|
||||
@@ -197,7 +197,7 @@ func ReadMappingValues(remainder []byte, map_length Integer) (values *MappingVal
|
||||
"reason": "expected ;",
|
||||
"value:": string(remainder),
|
||||
}).Warn("mapping format violation")
|
||||
errs = append(errs, errors.New("mapping format violation, expected ;"))
|
||||
errs = append(errs, oops.Errorf("mapping format violation, expected ;"))
|
||||
break
|
||||
} else {
|
||||
remainder = remainder[1:]
|
||||
|
@@ -1,8 +1,7 @@
|
||||
package data
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -124,7 +123,7 @@ func ToI2PString(data string) (str I2PString, err error) {
|
||||
"max_len": STRING_MAX_SIZE,
|
||||
"reason": "too much data",
|
||||
}).Error("cannot create I2P string")
|
||||
err = errors.New("cannot store that much data in I2P string")
|
||||
err = oops.Errorf("cannot store that much data in I2P string")
|
||||
return
|
||||
}
|
||||
i2p_string := []byte{byte(data_len)}
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/destination"
|
||||
|
||||

|
||||
|
||||
Package destination implements the I2P Destination common data structure
|
||||
|
||||
## Usage
|
||||
@@ -40,3 +42,9 @@ Base32Address returns the I2P base32 address for this Destination.
|
||||
func (destination Destination) Base64() string
|
||||
```
|
||||
Base64 returns the I2P base64 address for this Destination.
|
||||
|
||||
|
||||
|
||||
destination
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/destination
|
@@ -4,7 +4,7 @@ package destination
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
@@ -31,7 +31,7 @@ Identical to KeysAndCert.
|
||||
//
|
||||
// https://geti2p.net/spec/common-structures#destination
|
||||
type Destination struct {
|
||||
KeysAndCert
|
||||
*KeysAndCert
|
||||
}
|
||||
|
||||
// Base32Address returns the I2P base32 address for this Destination.
|
||||
|
300
lib/common/destination/destination.svg
Normal file
@@ -0,0 +1,300 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="357pt" height="609pt"
|
||||
viewBox="0.00 0.00 356.94 609.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 609)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-609 356.9356,-609 356.9356,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-601 348.9356,-601 348.9356,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="178.4678" y="-580.8" font-family="Arial" font-size="18.00" fill="#000000">destination</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/destination.Destination</title>
|
||||
<g id="a_clust6"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/destination.Destination">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-295C28,-295 131.0814,-295 131.0814,-295 137.0814,-295 143.0814,-301 143.0814,-307 143.0814,-307 143.0814,-422 143.0814,-422 143.0814,-428 137.0814,-434 131.0814,-434 131.0814,-434 28,-434 28,-434 22,-434 16,-428 16,-422 16,-422 16,-307 16,-307 16,-301 22,-295 28,-295"/>
|
||||
<text text-anchor="middle" x="79.5407" y="-303.5" font-family="Arial" font-size="15.00" fill="#222222">(Destination)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust5"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M249.4047,-121C249.4047,-121 303.7259,-121 303.7259,-121 309.7259,-121 315.7259,-127 315.7259,-133 315.7259,-133 315.7259,-187 315.7259,-187 315.7259,-193 309.7259,-199 303.7259,-199 303.7259,-199 249.4047,-199 249.4047,-199 243.4047,-199 237.4047,-193 237.4047,-187 237.4047,-187 237.4047,-133 237.4047,-133 237.4047,-127 243.4047,-121 249.4047,-121"/>
|
||||
<text text-anchor="middle" x="276.5653" y="-129.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M236.9559,-260C236.9559,-260 315.1747,-260 315.1747,-260 321.1747,-260 327.1747,-266 327.1747,-272 327.1747,-272 327.1747,-326 327.1747,-326 327.1747,-332 321.1747,-338 315.1747,-338 315.1747,-338 236.9559,-338 236.9559,-338 230.9559,-338 224.9559,-332 224.9559,-326 224.9559,-326 224.9559,-272 224.9559,-272 224.9559,-266 230.9559,-260 236.9559,-260"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-268.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M227.6382,-432C227.6382,-432 324.4924,-432 324.4924,-432 330.4924,-432 336.4924,-438 336.4924,-444 336.4924,-444 336.4924,-498 336.4924,-498 336.4924,-504 330.4924,-510 324.4924,-510 324.4924,-510 227.6382,-510 227.6382,-510 221.6382,-510 215.6382,-504 215.6382,-498 215.6382,-498 215.6382,-444 215.6382,-444 215.6382,-438 221.6382,-432 227.6382,-432"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-440.5" font-family="Arial" font-size="15.00" fill="#222222">(*KeysAndCert)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/certificate.Certificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M239.087,-346C239.087,-346 314.0436,-346 314.0436,-346 320.0436,-346 326.0436,-352 326.0436,-358 326.0436,-358 326.0436,-412 326.0436,-412 326.0436,-418 320.0436,-424 314.0436,-424 314.0436,-424 239.087,-424 239.087,-424 233.087,-424 227.087,-418 227.087,-412 227.087,-412 227.087,-358 227.087,-358 227.087,-352 233.087,-346 239.087,-346"/>
|
||||
<text text-anchor="middle" x="276.5653" y="-354.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination | defined in destination.go:72 at destination.go:77: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert] at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:73: calling [(*github.com/go-i2p/logger.Logger).WithFields] at destination.go:82: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.3497,-191C126.3497,-191 32.7317,-191 32.7317,-191 26.7317,-191 20.7317,-185 20.7317,-179 20.7317,-179 20.7317,-167 20.7317,-167 20.7317,-161 26.7317,-155 32.7317,-155 32.7317,-155 126.3497,-155 126.3497,-155 132.3497,-155 138.3497,-161 138.3497,-167 138.3497,-167 138.3497,-179 138.3497,-179 138.3497,-185 132.3497,-191 126.3497,-191"/>
|
||||
<text text-anchor="middle" x="79.5407" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadDestination</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:142">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M328.8062,-113C328.8062,-113 223.3244,-113 223.3244,-113 217.3244,-113 211.3244,-107 211.3244,-101 211.3244,-101 211.3244,-89 211.3244,-89 211.3244,-83 217.3244,-77 223.3244,-77 223.3244,-77 328.8062,-77 328.8062,-77 334.8062,-77 340.8062,-83 340.8062,-89 340.8062,-89 340.8062,-101 340.8062,-101 340.8062,-107 334.8062,-113 328.8062,-113"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_edge1"><a xlink:title="at destination.go:77: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
|
||||
<path fill="none" stroke="#8b4513" d="M119.8466,-154.9251C145.7433,-143.5438 180.215,-128.8228 211.195,-117 211.5179,-116.8768 211.8418,-116.7535 212.1667,-116.6302"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="213.6372,-119.8181 221.8003,-113.0642 211.2071,-113.2534 213.6372,-119.8181"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M307.2844,-330C307.2844,-330 244.8462,-330 244.8462,-330 238.8462,-330 232.8462,-324 232.8462,-318 232.8462,-318 232.8462,-306 232.8462,-306 232.8462,-300 238.8462,-294 244.8462,-294 244.8462,-294 307.2844,-294 307.2844,-294 313.2844,-294 319.2844,-300 319.2844,-306 319.2844,-306 319.2844,-318 319.2844,-318 319.2844,-324 313.2844,-330 307.2844,-330"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-316.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-299.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge13"><a xlink:title="at destination.go:73: calling [(*github.com/go-i2p/logger.Logger).WithFields] at destination.go:82: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M95.6552,-191.3454C118.8737,-216.761 164.144,-262.6371 211.195,-290 215.0581,-292.2466 219.1849,-294.3077 223.4146,-296.1894"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="222.196,-299.4724 232.7765,-300.0243 224.8495,-292.9948 222.196,-299.4724"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M294.8873,-191C294.8873,-191 257.2433,-191 257.2433,-191 251.2433,-191 245.2433,-185 245.2433,-179 245.2433,-179 245.2433,-167 245.2433,-167 245.2433,-161 251.2433,-155 257.2433,-155 257.2433,-155 294.8873,-155 294.8873,-155 300.8873,-155 306.8873,-161 306.8873,-167 306.8873,-167 306.8873,-179 306.8873,-179 306.8873,-185 300.8873,-191 294.8873,-191"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge4"><a xlink:title="at destination.go:75: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:84: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M138.2384,-173C169.429,-173 207.0043,-173 235.0381,-173"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="235.282,-176.5001 245.282,-173 235.2819,-169.5001 235.282,-176.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.init -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.init</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/destination.init | defined in .:0 at destination.go:17: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M94.5407,-52C94.5407,-52 64.5407,-52 64.5407,-52 58.5407,-52 52.5407,-46 52.5407,-40 52.5407,-40 52.5407,-28 52.5407,-28 52.5407,-22 58.5407,-16 64.5407,-16 64.5407,-16 94.5407,-16 94.5407,-16 100.5407,-16 106.5407,-22 106.5407,-28 106.5407,-28 106.5407,-40 106.5407,-40 106.5407,-46 100.5407,-52 94.5407,-52"/>
|
||||
<text text-anchor="middle" x="79.5407" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M324.7548,-52C324.7548,-52 227.3758,-52 227.3758,-52 221.3758,-52 215.3758,-46 215.3758,-40 215.3758,-40 215.3758,-28 215.3758,-28 215.3758,-22 221.3758,-16 227.3758,-16 227.3758,-16 324.7548,-16 324.7548,-16 330.7548,-16 336.7548,-22 336.7548,-28 336.7548,-28 336.7548,-40 336.7548,-40 336.7548,-46 330.7548,-52 324.7548,-52"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge14"><a xlink:title="at destination.go:17: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M106.8666,-34C132.1954,-34 170.9888,-34 205.043,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="205.4392,-37.5001 215.4392,-34 205.4392,-30.5001 205.4392,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString | defined in base32.go:16">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-563C321.8244,-563 230.3062,-563 230.3062,-563 224.3062,-563 218.3062,-557 218.3062,-551 218.3062,-551 218.3062,-539 218.3062,-539 218.3062,-533 224.3062,-527 230.3062,-527 230.3062,-527 321.8244,-527 321.8244,-527 327.8244,-527 333.8244,-533 333.8244,-539 333.8244,-539 333.8244,-551 333.8244,-551 333.8244,-557 327.8244,-563 321.8244,-563"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-549.2" font-family="Verdana" font-size="14.00" fill="#000000">base32</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-532.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString | defined in base64.go:16">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M321.8244,-252C321.8244,-252 230.3062,-252 230.3062,-252 224.3062,-252 218.3062,-246 218.3062,-240 218.3062,-240 218.3062,-228 218.3062,-228 218.3062,-222 224.3062,-216 230.3062,-216 230.3062,-216 321.8244,-216 321.8244,-216 327.8244,-216 333.8244,-222 333.8244,-228 333.8244,-228 333.8244,-240 333.8244,-240 333.8244,-246 327.8244,-252 321.8244,-252"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">base64</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M304.0219,-416C304.0219,-416 248.1087,-416 248.1087,-416 242.1087,-416 236.1087,-410 236.1087,-404 236.1087,-404 236.1087,-392 236.1087,-392 236.1087,-386 242.1087,-380 248.1087,-380 248.1087,-380 304.0219,-380 304.0219,-380 310.0219,-380 316.0219,-386 316.0219,-392 316.0219,-392 316.0219,-404 316.0219,-404 316.0219,-410 310.0219,-416 304.0219,-416"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-402.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-385.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate | defined in keys_and_cert.go:136">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M316.4196,-502C316.4196,-502 235.711,-502 235.711,-502 229.711,-502 223.711,-496 223.711,-490 223.711,-490 223.711,-478 223.711,-478 223.711,-472 229.711,-466 235.711,-466 235.711,-466 316.4196,-466 316.4196,-466 322.4196,-466 328.4196,-472 328.4196,-478 328.4196,-478 328.4196,-490 328.4196,-490 328.4196,-496 322.4196,-502 316.4196,-502"/>
|
||||
<text text-anchor="middle" x="276.0653" y="-488.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="276.0653" y="-471.4" font-family="Verdana" font-size="14.00" fill="#000000">Certificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address -->
|
||||
<g id="node11" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address</title>
|
||||
<g id="a_node11"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address | defined in destination.go:38 at destination.go:42: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes] at destination.go:41: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate] at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:44: calling [github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString] at destination.go:47: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M123.1221,-426C123.1221,-426 35.9593,-426 35.9593,-426 29.9593,-426 23.9593,-420 23.9593,-414 23.9593,-414 23.9593,-402 23.9593,-402 23.9593,-396 29.9593,-390 35.9593,-390 35.9593,-390 123.1221,-390 123.1221,-390 129.1221,-390 135.1221,-396 135.1221,-402 135.1221,-402 135.1221,-414 135.1221,-414 135.1221,-420 129.1221,-426 123.1221,-426"/>
|
||||
<text text-anchor="middle" x="79.5407" y="-403.8" font-family="Verdana" font-size="14.00" fill="#000000">Base32Address</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString</title>
|
||||
<g id="a_edge9"><a xlink:title="at destination.go:44: calling [github.com/go-i2p/go-i2p/lib/common/base32.EncodeToString]">
|
||||
<path fill="none" stroke="#8b4513" d="M98.3658,-426.2155C122.8623,-449.2395 167.6924,-489.1061 211.195,-516 214.7364,-518.1894 218.4716,-520.3055 222.2878,-522.3296"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="220.7827,-525.4905 231.2865,-526.8769 223.9399,-519.2429 220.7827,-525.4905"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_edge2"><a xlink:title="at destination.go:42: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M135.3003,-423.7554C148.355,-425.819 162.2348,-426.7045 175.195,-425 192.0147,-422.7879 210.016,-418.5853 226.0877,-414.143"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="227.1646,-417.4754 235.8175,-411.3617 225.2406,-410.745 227.1646,-417.4754"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_edge5"><a xlink:title="at destination.go:41: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M126.1143,-426.0109C154.2801,-436.9032 190.3668,-450.8587 220.0806,-462.3496"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="218.8966,-465.6443 229.4859,-465.9868 221.4214,-459.1155 218.8966,-465.6443"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge10"><a xlink:title="at destination.go:47: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M135.4607,-410.5532C149.2676,-408.9965 163.4512,-405.3584 175.195,-398 200.9047,-381.8908 188.214,-359.8083 211.195,-340 215.0451,-336.6814 219.3484,-333.7036 223.8574,-331.0431"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="225.5446,-334.1099 232.7168,-326.3118 222.247,-327.9353 225.5446,-334.1099"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge8"><a xlink:title="at destination.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:49: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M128.4239,-389.9118C133.8188,-386.5287 138.8725,-382.5818 143.0814,-378 201.7913,-314.0883 148.9351,-255.4587 211.195,-195 217.9616,-188.4291 226.762,-183.8181 235.6865,-180.5832"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="236.8188,-183.8965 245.3289,-177.5856 234.7406,-177.2121 236.8188,-183.8965"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 -->
|
||||
<g id="node12" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64</title>
|
||||
<g id="a_node12"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 | defined in destination.go:55 at destination.go:59: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes] at destination.go:58: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate] at destination.go:60: calling [github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString] at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:62: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M100.2514,-365C100.2514,-365 58.83,-365 58.83,-365 52.83,-365 46.83,-359 46.83,-353 46.83,-353 46.83,-341 46.83,-341 46.83,-335 52.83,-329 58.83,-329 58.83,-329 100.2514,-329 100.2514,-329 106.2514,-329 112.2514,-335 112.2514,-341 112.2514,-341 112.2514,-353 112.2514,-353 112.2514,-359 106.2514,-365 100.2514,-365"/>
|
||||
<text text-anchor="middle" x="79.5407" y="-342.8" font-family="Verdana" font-size="14.00" fill="#000000">Base64</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString</title>
|
||||
<g id="a_edge7"><a xlink:title="at destination.go:60: calling [github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.1939,-338.8592C122.5317,-335.4699 133.7005,-330.9153 143.0814,-325 176.9686,-303.632 175.1512,-282.1226 209.631,-257.6621"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="211.6947,-260.4935 218.1081,-252.0603 207.8355,-254.6534 211.6947,-260.4935"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_edge3"><a xlink:title="at destination.go:59: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.2576,-348.1387C130.9214,-349.3528 154.6235,-351.8541 175.195,-357 193.2842,-361.5249 212.4093,-368.65 229.0864,-375.6996"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="228.0292,-379.056 238.5963,-379.8214 230.8129,-372.6333 228.0292,-379.056"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_edge6"><a xlink:title="at destination.go:58: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.2798,-361.284C122.4063,-366.1451 133.4308,-371.9033 143.0814,-378 163.9636,-391.1922 214.3577,-432.4214 246.7655,-459.4025"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="244.6676,-462.2104 254.5883,-465.9293 249.1521,-456.8354 244.6676,-462.2104"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge12"><a xlink:title="at destination.go:62: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.3907,-341.0766C130.5996,-337.7992 153.6485,-333.6603 174.195,-330 190.0047,-327.1835 207.1979,-324.1387 222.8796,-321.3685"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.6975,-324.7783 232.9366,-319.5929 222.4804,-317.8849 223.6975,-324.7783"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge11"><a xlink:title="at destination.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug] at destination.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.3191,-341.1468C123.1386,-337.8792 134.5697,-332.8178 143.0814,-325 168.1559,-301.9697 158.3099,-285.1129 174.195,-255 188.8126,-227.2898 186.6888,-214.5186 211.195,-195 218.2916,-189.3477 226.9195,-185.1105 235.5357,-181.9469"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="236.7484,-185.2331 245.1766,-178.8131 234.5844,-178.5759 236.7484,-185.2331"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 28 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/certificate"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/certificate
|
111
lib/common/fuzz/certificate/exportable.svg
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="272pt" height="306pt"
|
||||
viewBox="0.00 0.00 271.84 306.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 306)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-306 271.8444,-306 271.8444,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-298 263.8444,-298 263.8444,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="135.9222" y="-277.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/certificate.Certificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M162.9439,-60C162.9439,-60 237.9005,-60 237.9005,-60 243.9005,-60 249.9005,-66 249.9005,-72 249.9005,-72 249.9005,-248 249.9005,-248 249.9005,-254 243.9005,-260 237.9005,-260 237.9005,-260 162.9439,-260 162.9439,-260 156.9439,-260 150.9439,-254 150.9439,-248 150.9439,-248 150.9439,-72 150.9439,-72 150.9439,-66 156.9439,-60 162.9439,-60"/>
|
||||
<text text-anchor="middle" x="200.4222" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz | defined in fuzz.go:5 at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate] at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at fuzz.go:8: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length] at fuzz.go:9: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-160C58,-160 28,-160 28,-160 22,-160 16,-154 16,-148 16,-148 16,-136 16,-136 16,-130 22,-124 28,-124 28,-124 58,-124 58,-124 64,-124 70,-130 70,-136 70,-136 70,-148 70,-148 70,-154 64,-160 58,-160"/>
|
||||
<text text-anchor="middle" x="43" y="-137.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate | defined in certificate.go:201">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M243.7667,-52C243.7667,-52 156.0777,-52 156.0777,-52 150.0777,-52 144.0777,-46 144.0777,-40 144.0777,-40 144.0777,-28 144.0777,-28 144.0777,-22 150.0777,-16 156.0777,-16 156.0777,-16 243.7667,-16 243.7667,-16 249.7667,-16 255.7667,-22 255.7667,-28 255.7667,-28 255.7667,-40 255.7667,-40 255.7667,-46 249.7667,-52 243.7667,-52"/>
|
||||
<text text-anchor="middle" x="199.9222" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="199.9222" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M60.5563,-123.8395C78.2431,-106.2965 107.1045,-79.6361 142.3601,-57.393"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="144.2536,-60.3376 150.9601,-52.1355 140.6025,-54.3652 144.2536,-60.3376"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="node3" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_node3"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data | defined in certificate.go:134">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M227.8788,-130C227.8788,-130 171.9656,-130 171.9656,-130 165.9656,-130 159.9656,-124 159.9656,-118 159.9656,-118 159.9656,-106 159.9656,-106 159.9656,-100 165.9656,-94 171.9656,-94 171.9656,-94 227.8788,-94 227.8788,-94 233.8788,-94 239.8788,-100 239.8788,-106 239.8788,-106 239.8788,-118 239.8788,-118 239.8788,-124 233.8788,-130 227.8788,-130"/>
|
||||
<text text-anchor="middle" x="199.9222" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="199.9222" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3338,-136.7744C92.2913,-132.5766 123.7111,-126.5699 150.1132,-121.5224"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="150.7913,-124.9562 159.9562,-119.6406 149.4768,-118.0807 150.7913,-124.9562"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length -->
|
||||
<g id="node4" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length</title>
|
||||
<g id="a_node4"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length | defined in certificate.go:125">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M227.8788,-191C227.8788,-191 171.9656,-191 171.9656,-191 165.9656,-191 159.9656,-185 159.9656,-179 159.9656,-179 159.9656,-167 159.9656,-167 159.9656,-161 165.9656,-155 171.9656,-155 171.9656,-155 227.8788,-155 227.8788,-155 233.8788,-155 239.8788,-161 239.8788,-167 239.8788,-167 239.8788,-179 239.8788,-179 239.8788,-185 233.8788,-191 227.8788,-191"/>
|
||||
<text text-anchor="middle" x="199.9222" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="199.9222" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length</title>
|
||||
<g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Length]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3338,-147.3998C92.2913,-151.7375 123.7111,-157.9445 150.1132,-163.1602"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="149.4674,-166.6002 159.9562,-165.1047 150.8241,-159.7329 149.4674,-166.6002"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="node5" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_node5"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type | defined in certificate.go:116">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M227.8788,-252C227.8788,-252 171.9656,-252 171.9656,-252 165.9656,-252 159.9656,-246 159.9656,-240 159.9656,-240 159.9656,-228 159.9656,-228 159.9656,-222 165.9656,-216 171.9656,-216 171.9656,-216 227.8788,-216 227.8788,-216 233.8788,-216 239.8788,-222 239.8788,-228 239.8788,-228 239.8788,-240 239.8788,-240 239.8788,-246 233.8788,-252 227.8788,-252"/>
|
||||
<text text-anchor="middle" x="199.9222" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="199.9222" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">Type</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/certificate.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_edge4"><a xlink:title="at fuzz.go:9: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.1769,-159.2759C90.3621,-171.9616 118.6668,-189.4457 144,-204 148.084,-206.3463 152.3634,-208.7456 156.6592,-211.1147"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="154.9879,-214.1898 165.4424,-215.9086 158.3415,-208.0455 154.9879,-214.1898"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.6 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/destination"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/destination
|
92
lib/common/fuzz/destination/exportable.svg
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="281pt" height="245pt"
|
||||
viewBox="0.00 0.00 281.19 245.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 245)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-245 281.195,-245 281.195,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-237 273.195,-237 273.195,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="140.5975" y="-216.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/destination.Destination</title>
|
||||
<g id="a_clust2"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/destination.Destination">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M150.1136,-60C150.1136,-60 253.195,-60 253.195,-60 259.195,-60 265.195,-66 265.195,-72 265.195,-72 265.195,-187 265.195,-187 265.195,-193 259.195,-199 253.195,-199 253.195,-199 150.1136,-199 150.1136,-199 144.1136,-199 138.1136,-193 138.1136,-187 138.1136,-187 138.1136,-72 138.1136,-72 138.1136,-66 144.1136,-60 150.1136,-60"/>
|
||||
<text text-anchor="middle" x="201.6543" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(Destination)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz | defined in fuzz.go:5 at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination] at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address] at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/>
|
||||
<text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination | defined in destination.go:72">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M248.4633,-52C248.4633,-52 154.8453,-52 154.8453,-52 148.8453,-52 142.8453,-46 142.8453,-40 142.8453,-40 142.8453,-28 142.8453,-28 142.8453,-22 148.8453,-16 154.8453,-16 154.8453,-16 248.4633,-16 248.4633,-16 254.4633,-16 260.4633,-22 260.4633,-28 260.4633,-28 260.4633,-40 260.4633,-40 260.4633,-46 254.4633,-52 248.4633,-52"/>
|
||||
<text text-anchor="middle" x="201.6543" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">destination</text>
|
||||
<text text-anchor="middle" x="201.6543" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadDestination</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/destination.ReadDestination]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.1001,-94.0845C88.7169,-82.2726 114.281,-67.0087 138.1136,-56 138.2063,-55.9572 138.2992,-55.9144 138.3921,-55.8716"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="139.5119,-59.2012 147.2891,-52.0063 136.7226,-52.7809 139.5119,-59.2012"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address -->
|
||||
<g id="node3" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address</title>
|
||||
<g id="a_node3"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address | defined in destination.go:38">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M245.2357,-130C245.2357,-130 158.0729,-130 158.0729,-130 152.0729,-130 146.0729,-124 146.0729,-118 146.0729,-118 146.0729,-106 146.0729,-106 146.0729,-100 152.0729,-94 158.0729,-94 158.0729,-94 245.2357,-94 245.2357,-94 251.2357,-94 257.2357,-100 257.2357,-106 257.2357,-106 257.2357,-118 257.2357,-118 257.2357,-124 251.2357,-130 245.2357,-130"/>
|
||||
<text text-anchor="middle" x="201.6543" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">destination</text>
|
||||
<text text-anchor="middle" x="201.6543" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Base32Address</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base32Address]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.2736,-112C88.3329,-112 112.8362,-112 135.7903,-112"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="135.853,-115.5001 145.853,-112 135.8529,-108.5001 135.853,-115.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 -->
|
||||
<g id="node4" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64</title>
|
||||
<g id="a_node4"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 | defined in destination.go:55">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M232.5916,-191C232.5916,-191 170.717,-191 170.717,-191 164.717,-191 158.717,-185 158.717,-179 158.717,-179 158.717,-167 158.717,-167 158.717,-161 164.717,-155 170.717,-155 170.717,-155 232.5916,-155 232.5916,-155 238.5916,-155 244.5916,-161 244.5916,-167 244.5916,-167 244.5916,-179 244.5916,-179 244.5916,-185 238.5916,-191 232.5916,-191"/>
|
||||
<text text-anchor="middle" x="201.6543" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">destination</text>
|
||||
<text text-anchor="middle" x="201.6543" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Base64</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/destination.Fuzz->(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64</title>
|
||||
<g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/destination.Destination).Base64]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.2736,-122.4863C91.973,-130.8293 122.976,-142.7495 149.4161,-152.9153"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="148.3351,-156.2494 158.9251,-156.5713 150.8473,-149.7157 148.3351,-156.2494"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert
|
111
lib/common/fuzz/keys_and_cert/exportable.svg
Normal file
@@ -0,0 +1,111 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="295pt" height="306pt"
|
||||
viewBox="0.00 0.00 295.20 306.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 306)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-306 295.202,-306 295.202,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-298 287.202,-298 287.202,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="147.601" y="-277.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M148.5386,-60C148.5386,-60 267.202,-60 267.202,-60 273.202,-60 279.202,-66 279.202,-72 279.202,-72 279.202,-248 279.202,-248 279.202,-254 273.202,-260 267.202,-260 267.202,-260 148.5386,-260 148.5386,-260 142.5386,-260 136.5386,-254 136.5386,-248 136.5386,-248 136.5386,-72 136.5386,-72 136.5386,-66 142.5386,-60 148.5386,-60"/>
|
||||
<text text-anchor="middle" x="207.8703" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*KeysAndCert)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz | defined in fuzz.go:5 at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert] at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate] at fuzz.go:8: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey] at fuzz.go:9: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-160C58,-160 28,-160 28,-160 22,-160 16,-154 16,-148 16,-148 16,-136 16,-136 16,-130 22,-124 28,-124 28,-124 58,-124 58,-124 64,-124 70,-130 70,-136 70,-136 70,-148 70,-148 70,-154 64,-160 58,-160"/>
|
||||
<text text-anchor="middle" x="43" y="-137.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:142">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M260.6112,-52C260.6112,-52 155.1294,-52 155.1294,-52 149.1294,-52 143.1294,-46 143.1294,-40 143.1294,-40 143.1294,-28 143.1294,-28 143.1294,-22 149.1294,-16 155.1294,-16 155.1294,-16 260.6112,-16 260.6112,-16 266.6112,-16 272.6112,-22 272.6112,-28 272.6112,-28 272.6112,-40 272.6112,-40 272.6112,-46 266.6112,-52 260.6112,-52"/>
|
||||
<text text-anchor="middle" x="207.8703" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="207.8703" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
|
||||
<path fill="none" stroke="#8b4513" d="M58.0901,-123.9966C73.9008,-106.1275 100.4054,-78.8225 134.9201,-57.4503"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="137.0442,-60.2603 143.866,-52.1539 133.4779,-54.2368 137.0442,-60.2603"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="node3" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_node3"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate | defined in keys_and_cert.go:136">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M248.2246,-130C248.2246,-130 167.516,-130 167.516,-130 161.516,-130 155.516,-124 155.516,-118 155.516,-118 155.516,-106 155.516,-106 155.516,-100 161.516,-94 167.516,-94 167.516,-94 248.2246,-94 248.2246,-94 254.2246,-94 260.2246,-100 260.2246,-106 260.2246,-106 260.2246,-118 260.2246,-118 260.2246,-124 254.2246,-130 248.2246,-130"/>
|
||||
<text text-anchor="middle" x="207.8703" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="207.8703" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Certificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.225,-137.0461C90.5721,-133.3437 119.2244,-128.1301 145.123,-123.4176"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="146.0533,-126.8058 155.2652,-121.5721 144.8001,-119.9189 146.0533,-126.8058"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey -->
|
||||
<g id="node4" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey</title>
|
||||
<g id="a_node4"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey | defined in keys_and_cert.go:126">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M248.2246,-191C248.2246,-191 167.516,-191 167.516,-191 161.516,-191 155.516,-185 155.516,-179 155.516,-179 155.516,-167 155.516,-167 155.516,-161 161.516,-155 167.516,-155 167.516,-155 248.2246,-155 248.2246,-155 254.2246,-155 260.2246,-161 260.2246,-167 260.2246,-167 260.2246,-179 260.2246,-179 260.2246,-185 254.2246,-191 248.2246,-191"/>
|
||||
<text text-anchor="middle" x="207.8703" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="207.8703" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey</title>
|
||||
<g id="a_edge3"><a xlink:title="at fuzz.go:8: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).PublicKey]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.225,-147.119C90.5721,-150.9448 119.2244,-156.3322 145.123,-161.2018"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="144.7906,-164.7006 155.2652,-163.1088 146.0842,-157.8212 144.7906,-164.7006"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey -->
|
||||
<g id="node5" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey</title>
|
||||
<g id="a_node5"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey | defined in keys_and_cert.go:131">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M259.0341,-252C259.0341,-252 156.7065,-252 156.7065,-252 150.7065,-252 144.7065,-246 144.7065,-240 144.7065,-240 144.7065,-228 144.7065,-228 144.7065,-222 150.7065,-216 156.7065,-216 156.7065,-216 259.0341,-216 259.0341,-216 265.0341,-216 271.0341,-222 271.0341,-228 271.0341,-228 271.0341,-240 271.0341,-240 271.0341,-246 265.0341,-252 259.0341,-252"/>
|
||||
<text text-anchor="middle" x="207.8703" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="207.8703" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/keys_and_cert.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey</title>
|
||||
<g id="a_edge4"><a xlink:title="at fuzz.go:9: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).SigningPublicKey]">
|
||||
<path fill="none" stroke="#8b4513" d="M67.6184,-160.1635C86.0385,-173.2904 112.1509,-190.9378 136.5386,-204 141.4238,-206.6165 146.5867,-209.1688 151.811,-211.6095"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="150.6805,-214.9395 161.2342,-215.8722 153.5656,-208.5617 150.6805,-214.9395"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.9 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_address"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/router_address
|
130
lib/common/fuzz/router_address/exportable.svg
Normal file
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="298pt" height="367pt"
|
||||
viewBox="0.00 0.00 297.74 367.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 367)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-367 297.7392,-367 297.7392,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-359 289.7392,-359 289.7392,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="148.8696" y="-338.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress</title>
|
||||
<g id="a_clust2"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M162.7686,-60C162.7686,-60 263.9706,-60 263.9706,-60 269.9706,-60 275.9706,-66 275.9706,-72 275.9706,-72 275.9706,-309 275.9706,-309 275.9706,-315 269.9706,-321 263.9706,-321 263.9706,-321 162.7686,-321 162.7686,-321 156.7686,-321 150.7686,-315 150.7686,-309 150.7686,-309 150.7686,-72 150.7686,-72 150.7686,-66 156.7686,-60 162.7686,-60"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(RouterAddress)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz | defined in fuzz.go:5 at fuzz.go:10: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle] at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress] at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost] at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration] at fuzz.go:9: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-191C58,-191 28,-191 28,-191 22,-191 16,-185 16,-179 16,-179 16,-167 16,-167 16,-161 22,-155 28,-155 28,-155 58,-155 58,-155 64,-155 70,-161 70,-167 70,-167 70,-179 70,-179 70,-185 64,-191 58,-191"/>
|
||||
<text text-anchor="middle" x="43" y="-168.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress | defined in router_address.go:317">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M269.609,-52C269.609,-52 157.1302,-52 157.1302,-52 151.1302,-52 145.1302,-46 145.1302,-40 145.1302,-40 145.1302,-28 145.1302,-28 145.1302,-22 151.1302,-16 157.1302,-16 157.1302,-16 269.609,-16 269.609,-16 275.609,-16 281.609,-22 281.609,-28 281.609,-28 281.609,-40 281.609,-40 281.609,-46 275.609,-52 269.609,-52"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">router_address</text>
|
||||
<text text-anchor="middle" x="213.3696" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterAddress</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/router_address.ReadRouterAddress]">
|
||||
<path fill="none" stroke="#8b4513" d="M54.2,-154.8153C69.8891,-130.7191 100.687,-88.1071 143.143,-57.8152"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="145.2054,-60.6453 151.4961,-52.1202 141.2621,-54.8616 145.2054,-60.6453"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost -->
|
||||
<g id="node3" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost</title>
|
||||
<g id="a_node3"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost | defined in router_address.go:163">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M254.7758,-130C254.7758,-130 171.9634,-130 171.9634,-130 165.9634,-130 159.9634,-124 159.9634,-118 159.9634,-118 159.9634,-106 159.9634,-106 159.9634,-100 165.9634,-94 171.9634,-94 171.9634,-94 254.7758,-94 254.7758,-94 260.7758,-94 266.7758,-100 266.7758,-106 266.7758,-106 266.7758,-118 266.7758,-118 266.7758,-124 260.7758,-130 254.7758,-130"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">router_address</text>
|
||||
<text text-anchor="middle" x="213.3696" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Cost</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost</title>
|
||||
<g id="a_edge3"><a xlink:title="at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Cost]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3728,-163.1993C92.7676,-155.181 125.2557,-143.5488 153.6076,-133.3975"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="154.8086,-136.6851 163.0435,-130.019 152.4489,-130.0948 154.8086,-136.6851"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration -->
|
||||
<g id="node4" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration</title>
|
||||
<g id="a_node4"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration | defined in router_address.go:168">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M254.7758,-191C254.7758,-191 171.9634,-191 171.9634,-191 165.9634,-191 159.9634,-185 159.9634,-179 159.9634,-179 159.9634,-167 159.9634,-167 159.9634,-161 165.9634,-155 171.9634,-155 171.9634,-155 254.7758,-155 254.7758,-155 260.7758,-155 266.7758,-161 266.7758,-167 266.7758,-167 266.7758,-179 266.7758,-179 266.7758,-185 260.7758,-191 254.7758,-191"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">router_address</text>
|
||||
<text text-anchor="middle" x="213.3696" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Expiration</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration</title>
|
||||
<g id="a_edge4"><a xlink:title="at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Expiration]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3728,-173C91.7248,-173 122.2521,-173 149.6217,-173"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="149.9311,-176.5001 159.931,-173 149.931,-169.5001 149.9311,-176.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options -->
|
||||
<g id="node5" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options</title>
|
||||
<g id="a_node5"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options | defined in router_address.go:305">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M254.7758,-252C254.7758,-252 171.9634,-252 171.9634,-252 165.9634,-252 159.9634,-246 159.9634,-240 159.9634,-240 159.9634,-228 159.9634,-228 159.9634,-222 165.9634,-216 171.9634,-216 171.9634,-216 254.7758,-216 254.7758,-216 260.7758,-216 266.7758,-222 266.7758,-228 266.7758,-228 266.7758,-240 266.7758,-240 266.7758,-246 260.7758,-252 254.7758,-252"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">router_address</text>
|
||||
<text text-anchor="middle" x="213.3696" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">Options</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options</title>
|
||||
<g id="a_edge5"><a xlink:title="at fuzz.go:9: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).Options]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3728,-182.8007C92.7676,-190.819 125.2557,-202.4512 153.6076,-212.6025"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="152.4489,-215.9052 163.0435,-215.981 154.8086,-209.3149 152.4489,-215.9052"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle -->
|
||||
<g id="node6" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle</title>
|
||||
<g id="a_node6"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle | defined in router_address.go:173">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M255.0718,-313C255.0718,-313 171.6674,-313 171.6674,-313 165.6674,-313 159.6674,-307 159.6674,-301 159.6674,-301 159.6674,-289 159.6674,-289 159.6674,-283 165.6674,-277 171.6674,-277 171.6674,-277 255.0718,-277 255.0718,-277 261.0718,-277 267.0718,-283 267.0718,-289 267.0718,-289 267.0718,-301 267.0718,-301 267.0718,-307 261.0718,-313 255.0718,-313"/>
|
||||
<text text-anchor="middle" x="213.3696" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">router_address</text>
|
||||
<text text-anchor="middle" x="213.3696" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">TransportStyle</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_address.Fuzz->(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:10: calling [(github.com/go-i2p/go-i2p/lib/common/router_address.RouterAddress).TransportStyle]">
|
||||
<path fill="none" stroke="#8b4513" d="M59.628,-191.1509C78.7338,-211.2098 111.7512,-243.5148 145,-265 149.0077,-267.5898 153.2766,-270.0551 157.6487,-272.3782"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="156.211,-275.5729 166.7171,-276.9412 159.3574,-269.3198 156.211,-275.5729"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity
|
73
lib/common/fuzz/router_identity/exportable.svg
Normal file
@@ -0,0 +1,73 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="293pt" height="184pt"
|
||||
viewBox="0.00 0.00 293.42 184.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 184)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-184 293.4152,-184 293.4152,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-176 285.4152,-176 285.4152,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="146.7076" y="-155.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M161.7805,-60C161.7805,-60 258.6347,-60 258.6347,-60 264.6347,-60 270.6347,-66 270.6347,-72 270.6347,-72 270.6347,-126 270.6347,-126 270.6347,-132 264.6347,-138 258.6347,-138 258.6347,-138 161.7805,-138 161.7805,-138 155.7805,-138 149.7805,-132 149.7805,-126 149.7805,-126 149.7805,-72 149.7805,-72 149.7805,-66 155.7805,-60 161.7805,-60"/>
|
||||
<text text-anchor="middle" x="210.2076" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*KeysAndCert)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz | defined in fuzz.go:5 at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity] at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-65C58,-65 28,-65 28,-65 22,-65 16,-59 16,-53 16,-53 16,-41 16,-41 16,-35 22,-29 28,-29 28,-29 58,-29 58,-29 64,-29 70,-35 70,-41 70,-41 70,-53 70,-53 70,-59 64,-65 58,-65"/>
|
||||
<text text-anchor="middle" x="43" y="-42.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity | defined in router_identity.go:37">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M265.6234,-52C265.6234,-52 154.7918,-52 154.7918,-52 148.7918,-52 142.7918,-46 142.7918,-40 142.7918,-40 142.7918,-28 142.7918,-28 142.7918,-22 148.7918,-16 154.7918,-16 154.7918,-16 265.6234,-16 265.6234,-16 271.6234,-16 277.6234,-22 277.6234,-28 277.6234,-28 277.6234,-40 277.6234,-40 277.6234,-46 271.6234,-52 265.6234,-52"/>
|
||||
<text text-anchor="middle" x="210.2076" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">router_identity</text>
|
||||
<text text-anchor="middle" x="210.2076" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterIdentity</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.2369,-44.8824C87.33,-43.5534 110.3072,-41.767 132.6983,-40.0262"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="133.223,-43.496 142.9216,-39.2313 132.6803,-36.5171 133.223,-43.496"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="node3" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_node3"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate | defined in keys_and_cert.go:136">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M250.5619,-130C250.5619,-130 169.8533,-130 169.8533,-130 163.8533,-130 157.8533,-124 157.8533,-118 157.8533,-118 157.8533,-106 157.8533,-106 157.8533,-100 163.8533,-94 169.8533,-94 169.8533,-94 250.5619,-94 250.5619,-94 256.5619,-94 262.5619,-100 262.5619,-106 262.5619,-106 262.5619,-118 262.5619,-118 262.5619,-124 256.5619,-130 250.5619,-130"/>
|
||||
<text text-anchor="middle" x="210.2076" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="210.2076" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Certificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/router_identity.Fuzz->(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:7: calling [(*github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Certificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.3186,-59.5347C90.2689,-68.4946 118.0733,-80.5827 143,-90 144.6187,-90.6115 146.2628,-91.2224 147.9247,-91.8308"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="146.9887,-95.2129 157.5834,-95.2765 149.3408,-88.6199 146.9887,-95.2129"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.1 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/fuzz/string"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/fuzz/string
|
92
lib/common/fuzz/string/exportable.svg
Normal file
@@ -0,0 +1,92 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="257pt" height="245pt"
|
||||
viewBox="0.00 0.00 257.22 245.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 245)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-245 257.2202,-245 257.2202,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-237 249.2202,-237 249.2202,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="128.6101" y="-216.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/data.I2PString</title>
|
||||
<g id="a_clust2"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/data.I2PString">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M162.7812,-60C162.7812,-60 226.439,-60 226.439,-60 232.439,-60 238.439,-66 238.439,-72 238.439,-72 238.439,-187 238.439,-187 238.439,-193 232.439,-199 226.439,-199 226.439,-199 162.7812,-199 162.7812,-199 156.7812,-199 150.7812,-193 150.7812,-187 150.7812,-187 150.7812,-72 150.7812,-72 150.7812,-66 156.7812,-60 162.7812,-60"/>
|
||||
<text text-anchor="middle" x="194.6101" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(I2PString)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz | defined in fuzz.go:5 at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data] at fuzz.go:10: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data] at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length] at fuzz.go:11: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length] at fuzz.go:9: calling [github.com/go-i2p/go-i2p/lib/common/data.ToI2PString]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-130C58,-130 28,-130 28,-130 22,-130 16,-124 16,-118 16,-118 16,-106 16,-106 16,-100 22,-94 28,-94 28,-94 58,-94 58,-94 64,-94 70,-100 70,-106 70,-106 70,-118 70,-118 70,-124 64,-130 58,-130"/>
|
||||
<text text-anchor="middle" x="43" y="-107.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/data.ToI2PString -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/data.ToI2PString</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/data.ToI2PString | defined in string.go:114">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M229.3306,-52C229.3306,-52 159.8896,-52 159.8896,-52 153.8896,-52 147.8896,-46 147.8896,-40 147.8896,-40 147.8896,-28 147.8896,-28 147.8896,-22 153.8896,-16 159.8896,-16 159.8896,-16 229.3306,-16 229.3306,-16 235.3306,-16 241.3306,-22 241.3306,-28 241.3306,-28 241.3306,-40 241.3306,-40 241.3306,-46 235.3306,-52 229.3306,-52"/>
|
||||
<text text-anchor="middle" x="194.6101" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="194.6101" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ToI2PString</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->github.com/go-i2p/go-i2p/lib/common/data.ToI2PString</title>
|
||||
<g id="a_edge3"><a xlink:title="at fuzz.go:9: calling [github.com/go-i2p/go-i2p/lib/common/data.ToI2PString]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.0043,-97.129C89.2049,-86.6594 115.8894,-72.3156 146.6535,-56.7465"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="148.5211,-59.7249 155.8799,-52.1027 145.374,-53.4722 148.5211,-59.7249"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data -->
|
||||
<g id="node3" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data</title>
|
||||
<g id="a_node3"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data | defined in string.go:73">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M209.6101,-130C209.6101,-130 179.6101,-130 179.6101,-130 173.6101,-130 167.6101,-124 167.6101,-118 167.6101,-118 167.6101,-106 167.6101,-106 167.6101,-100 173.6101,-94 179.6101,-94 179.6101,-94 209.6101,-94 209.6101,-94 215.6101,-94 221.6101,-100 221.6101,-106 221.6101,-106 221.6101,-118 221.6101,-118 221.6101,-124 215.6101,-130 209.6101,-130"/>
|
||||
<text text-anchor="middle" x="194.6101" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="194.6101" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:7: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data] at fuzz.go:10: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Data]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.1048,-112C94.3917,-112 130.2444,-112 157.2471,-112"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="157.4848,-115.5001 167.4848,-112 157.4847,-108.5001 157.4848,-115.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length -->
|
||||
<g id="node4" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length</title>
|
||||
<g id="a_node4"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length | defined in string.go:31">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M214.2688,-191C214.2688,-191 174.9514,-191 174.9514,-191 168.9514,-191 162.9514,-185 162.9514,-179 162.9514,-179 162.9514,-167 162.9514,-167 162.9514,-161 168.9514,-155 174.9514,-155 174.9514,-155 214.2688,-155 214.2688,-155 220.2688,-155 226.2688,-161 226.2688,-167 226.2688,-167 226.2688,-179 226.2688,-179 226.2688,-185 220.2688,-191 214.2688,-191"/>
|
||||
<text text-anchor="middle" x="194.6101" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="194.6101" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/fuzz/string.Fuzz->(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length</title>
|
||||
<g id="a_edge2"><a xlink:title="at fuzz.go:8: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length] at fuzz.go:11: calling [(github.com/go-i2p/go-i2p/lib/common/data.I2PString).Length]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.1048,-122.9056C93.2412,-132.2144 126.8736,-145.7464 153.3522,-156.4"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="152.1674,-159.6959 162.7511,-160.1816 154.7804,-153.2018 152.1674,-159.6959"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 7.8 KiB |
@@ -2,32 +2,34 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
|
||||

|
||||
|
||||
Package key_certificate implements the I2P Destination common data structure
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const (
|
||||
KEYCERT_SIGN_DSA_SHA1 = iota
|
||||
KEYCERT_SIGN_P256
|
||||
KEYCERT_SIGN_P384
|
||||
KEYCERT_SIGN_P521
|
||||
KEYCERT_SIGN_RSA2048
|
||||
KEYCERT_SIGN_RSA3072
|
||||
KEYCERT_SIGN_RSA4096
|
||||
KEYCERT_SIGN_ED25519
|
||||
KEYCERT_SIGN_ED25519PH
|
||||
KEYCERT_SIGN_DSA_SHA1 = 0
|
||||
KEYCERT_SIGN_P256 = 1
|
||||
KEYCERT_SIGN_P384 = 2
|
||||
KEYCERT_SIGN_P521 = 3
|
||||
KEYCERT_SIGN_RSA2048 = 4
|
||||
KEYCERT_SIGN_RSA3072 = 5
|
||||
KEYCERT_SIGN_RSA4096 = 6
|
||||
KEYCERT_SIGN_ED25519 = 7
|
||||
KEYCERT_SIGN_ED25519PH = 8
|
||||
)
|
||||
```
|
||||
Key Certificate Signing Key Types
|
||||
|
||||
```go
|
||||
const (
|
||||
KEYCERT_CRYPTO_ELG = iota
|
||||
KEYCERT_CRYPTO_P256
|
||||
KEYCERT_CRYPTO_P384
|
||||
KEYCERT_CRYPTO_P521
|
||||
KEYCERT_CRYPTO_X25519
|
||||
KEYCERT_CRYPTO_ELG = 0
|
||||
KEYCERT_CRYPTO_P256 = 1
|
||||
KEYCERT_CRYPTO_P384 = 2
|
||||
KEYCERT_CRYPTO_P521 = 3
|
||||
KEYCERT_CRYPTO_X25519 = 4
|
||||
)
|
||||
```
|
||||
Key Certificate Public Key Types
|
||||
@@ -45,7 +47,7 @@ const (
|
||||
KEYCERT_SIGN_ED25519PH_SIZE = 32
|
||||
)
|
||||
```
|
||||
SigningPublicKey sizes for Signing Key Types
|
||||
signingPublicKey sizes for Signing Key Types
|
||||
|
||||
```go
|
||||
const (
|
||||
@@ -56,7 +58,7 @@ const (
|
||||
KEYCERT_CRYPTO_X25519_SIZE = 32
|
||||
)
|
||||
```
|
||||
PublicKey sizes for Public Key Types
|
||||
publicKey sizes for Public Key Types
|
||||
|
||||
```go
|
||||
const (
|
||||
@@ -66,17 +68,42 @@ const (
|
||||
```
|
||||
Sizes of structures in KeyCertificates
|
||||
|
||||
```go
|
||||
const (
|
||||
CRYPTO_KEY_TYPE_ELGAMAL = 0 // ElGamal
|
||||
|
||||
// Signature Types
|
||||
SIGNATURE_TYPE_DSA_SHA1 = 0 // DSA-SHA1
|
||||
SIGNATURE_TYPE_ED25519_SHA512 = 7 // Ed25519
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
const (
|
||||
KEYCERT_MIN_SIZE = 7
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
var CryptoPublicKeySizes = map[uint16]int{
|
||||
CRYPTO_KEY_TYPE_ELGAMAL: 256,
|
||||
}
|
||||
```
|
||||
|
||||
```go
|
||||
var SignaturePublicKeySizes = map[uint16]int{
|
||||
SIGNATURE_TYPE_DSA_SHA1: 128,
|
||||
SIGNATURE_TYPE_ED25519_SHA512: 32,
|
||||
}
|
||||
```
|
||||
|
||||
#### type KeyCertificate
|
||||
|
||||
```go
|
||||
type KeyCertificate struct {
|
||||
Certificate
|
||||
SpkType Integer
|
||||
CpkType Integer
|
||||
}
|
||||
```
|
||||
|
||||
@@ -85,9 +112,8 @@ type KeyCertificate []byte
|
||||
#### func KeyCertificateFromCertificate
|
||||
|
||||
```go
|
||||
func KeyCertificateFromCertificate(certificate Certificate) *KeyCertificate
|
||||
func KeyCertificateFromCertificate(cert Certificate) (*KeyCertificate, error)
|
||||
```
|
||||
KeyCertificateFromCertificate returns a *KeyCertificate from a *Certificate.
|
||||
|
||||
#### func NewKeyCertificate
|
||||
|
||||
@@ -101,54 +127,72 @@ returned. Returns a list of errors that occurred during parsing.
|
||||
#### func (KeyCertificate) ConstructPublicKey
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) ConstructPublicKey(data []byte) (public_key crypto.PublicKey, err error)
|
||||
func (keyCertificate KeyCertificate) ConstructPublicKey(data []byte) (public_key crypto.RecievingPublicKey, err error)
|
||||
```
|
||||
ConstructPublicKey returns a PublicKey constructed using any excess data that
|
||||
ConstructPublicKey returns a publicKey constructed using any excess data that
|
||||
may be stored in the KeyCertififcate. Returns enr errors encountered while
|
||||
parsing.
|
||||
|
||||
#### func (KeyCertificate) ConstructSigningPublicKey
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) ConstructSigningPublicKey(data []byte) (signing_public_key crypto.SigningPublicKey, err error)
|
||||
func (keyCertificate KeyCertificate) ConstructSigningPublicKey(data []byte) (signing_public_key crypto.SigningPublicKey, err error)
|
||||
```
|
||||
ConstructSigningPublicKey returns a SingingPublicKey constructed using any
|
||||
excess data that may be stored in the KeyCertificate. Returns any errors
|
||||
encountered while parsing.
|
||||
|
||||
#### func (*KeyCertificate) CryptoPublicKeySize
|
||||
|
||||
```go
|
||||
func (keyCertificate *KeyCertificate) CryptoPublicKeySize() (int, error)
|
||||
```
|
||||
|
||||
#### func (KeyCertificate) CryptoSize
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) CryptoSize() (size int)
|
||||
func (keyCertificate KeyCertificate) CryptoSize() (size int)
|
||||
```
|
||||
CryptoSize return the size of a Public Key corresponding to the Key
|
||||
Certificate's PublicKey type.
|
||||
Certificate's publicKey type.
|
||||
|
||||
#### func (KeyCertificate) Data
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) Data() ([]byte, error)
|
||||
func (keyCertificate KeyCertificate) Data() ([]byte, error)
|
||||
```
|
||||
Data returns the raw []byte contained in the Certificate.
|
||||
|
||||
#### func (KeyCertificate) PublicKeyType
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) PublicKeyType() (pubkey_type int)
|
||||
func (keyCertificate KeyCertificate) PublicKeyType() (pubkey_type int)
|
||||
```
|
||||
PublicKeyType returns the PublicKey type as a Go integer.
|
||||
PublicKeyType returns the publicKey type as a Go integer.
|
||||
|
||||
#### func (KeyCertificate) SignatureSize
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) SignatureSize() (size int)
|
||||
func (keyCertificate KeyCertificate) SignatureSize() (size int)
|
||||
```
|
||||
SignatureSize return the size of a Signature corresponding to the Key
|
||||
Certificate's SigningPublicKey type.
|
||||
Certificate's signingPublicKey type.
|
||||
|
||||
#### func (*KeyCertificate) SigningPublicKeySize
|
||||
|
||||
```go
|
||||
func (keyCertificate *KeyCertificate) SigningPublicKeySize() int
|
||||
```
|
||||
|
||||
#### func (KeyCertificate) SigningPublicKeyType
|
||||
|
||||
```go
|
||||
func (key_certificate KeyCertificate) SigningPublicKeyType() (signing_pubkey_type int)
|
||||
func (keyCertificate KeyCertificate) SigningPublicKeyType() (signing_pubkey_type int)
|
||||
```
|
||||
SigningPublicKeyType returns the SigningPublicKey type as a Go integer.
|
||||
SigningPublicKeyType returns the signingPublicKey type as a Go integer.
|
||||
|
||||
|
||||
|
||||
key_certificate
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/key_certificate
|
@@ -31,8 +31,9 @@ import (
|
||||
"fmt"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
"github.com/samber/oops"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
@@ -132,7 +133,7 @@ func (keyCertificate KeyCertificate) PublicKeyType() (pubkey_type int) {
|
||||
|
||||
// ConstructPublicKey returns a publicKey constructed using any excess data that may be stored in the KeyCertififcate.
|
||||
// Returns enr errors encountered while parsing.
|
||||
func (keyCertificate KeyCertificate) ConstructPublicKey(data []byte) (public_key crypto.PublicKey, err error) {
|
||||
func (keyCertificate KeyCertificate) ConstructPublicKey(data []byte) (public_key crypto.RecievingPublicKey, err error) {
|
||||
log.WithFields(logrus.Fields{
|
||||
"input_length": len(data),
|
||||
}).Debug("Constructing publicKey from keyCertificate")
|
||||
@@ -148,7 +149,7 @@ func (keyCertificate KeyCertificate) ConstructPublicKey(data []byte) (public_key
|
||||
"required_len": KEYCERT_PUBKEY_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error constructing public key")
|
||||
err = fmt.Errorf("error constructing public key: not enough data")
|
||||
err = oops.Errorf("error constructing public key: not enough data")
|
||||
return
|
||||
}
|
||||
switch key_type {
|
||||
@@ -191,7 +192,7 @@ var SignaturePublicKeySizes = map[uint16]int{
|
||||
func (keyCertificate *KeyCertificate) CryptoPublicKeySize() (int, error) {
|
||||
size, exists := CryptoPublicKeySizes[uint16(keyCertificate.CpkType.Int())]
|
||||
if !exists {
|
||||
return 0, fmt.Errorf("unknown crypto key type: %d", keyCertificate.CpkType.Int())
|
||||
return 0, oops.Errorf("unknown crypto key type: %d", keyCertificate.CpkType.Int())
|
||||
}
|
||||
return size, nil
|
||||
}
|
||||
@@ -240,7 +241,7 @@ func (keyCertificate KeyCertificate) ConstructSigningPublicKey(data []byte) (sig
|
||||
"required_len": KEYCERT_SPK_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error constructing signing public key")
|
||||
err = fmt.Errorf("error constructing signing public key: not enough data")
|
||||
err = oops.Errorf("error constructing signing public key: not enough data")
|
||||
return
|
||||
}
|
||||
switch signing_key_type {
|
||||
@@ -297,7 +298,7 @@ func (keyCertificate KeyCertificate) ConstructSigningPublicKey(data []byte) (sig
|
||||
log.WithFields(logrus.Fields{
|
||||
"signing_key_type": signing_key_type,
|
||||
}).Warn("Unknown signing key type")
|
||||
return nil, fmt.Errorf("unknown signing key type")
|
||||
return nil, oops.Errorf("unknown signing key type")
|
||||
}
|
||||
|
||||
return
|
||||
@@ -365,11 +366,11 @@ func NewKeyCertificate(bytes []byte) (key_certificate *KeyCertificate, remainder
|
||||
}
|
||||
|
||||
if certificate.Type() != CERT_KEY {
|
||||
return nil, remainder, fmt.Errorf("invalid certificate type: %d", certificate.Type())
|
||||
return nil, remainder, oops.Errorf("invalid certificate type: %d", certificate.Type())
|
||||
}
|
||||
|
||||
if len(certificate.Data()) < 4 {
|
||||
return nil, remainder, fmt.Errorf("key certificate data too short")
|
||||
return nil, remainder, oops.Errorf("key certificate data too short")
|
||||
}
|
||||
log.Println("Certificate Data in NewKeyCertificate: ", certificate.Data()[0:2], certificate.Data()[2:4])
|
||||
|
||||
@@ -393,7 +394,7 @@ func NewKeyCertificate(bytes []byte) (key_certificate *KeyCertificate, remainder
|
||||
|
||||
func KeyCertificateFromCertificate(cert Certificate) (*KeyCertificate, error) {
|
||||
if cert.Type() != CERT_KEY {
|
||||
return nil, fmt.Errorf("expected Key Certificate type, got %d", cert.Type())
|
||||
return nil, oops.Errorf("expected Key Certificate type, got %d", cert.Type())
|
||||
}
|
||||
|
||||
data := cert.Data()
|
||||
@@ -401,7 +402,7 @@ func KeyCertificateFromCertificate(cert Certificate) (*KeyCertificate, error) {
|
||||
fmt.Printf("Certificate Data Bytes in KeyCertificateFromCertificate: %v\n", data)
|
||||
|
||||
if len(data) < 4 {
|
||||
return nil, fmt.Errorf("certificate payload too short in KeyCertificateFromCertificate")
|
||||
return nil, oops.Errorf("certificate payload too short in KeyCertificateFromCertificate")
|
||||
}
|
||||
|
||||
cpkTypeBytes := data[0:2]
|
||||
|
764
lib/common/key_certificate/key_certificate.svg
Normal file
@@ -0,0 +1,764 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="869pt" height="1198pt"
|
||||
viewBox="0.00 0.00 868.95 1198.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1198)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1198 868.947,-1198 868.947,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-1190 860.947,-1190 860.947,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="434.4735" y="-1169.8" font-family="Arial" font-size="18.00" fill="#000000">key_certificate</text>
|
||||
</g>
|
||||
<g id="clust7" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate</title>
|
||||
<g id="a_clust7"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-616C28,-616 643.9118,-616 643.9118,-616 649.9118,-616 655.9118,-622 655.9118,-628 655.9118,-628 655.9118,-804 655.9118,-804 655.9118,-810 649.9118,-816 643.9118,-816 643.9118,-816 28,-816 28,-816 22,-816 16,-810 16,-804 16,-804 16,-628 16,-628 16,-622 22,-616 28,-616"/>
|
||||
<text text-anchor="middle" x="335.9559" y="-624.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer</title>
|
||||
<g id="a_clust6"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/data.Integer">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M773.0248,-279C773.0248,-279 821.0248,-279 821.0248,-279 827.0248,-279 833.0248,-285 833.0248,-291 833.0248,-291 833.0248,-345 833.0248,-345 833.0248,-351 827.0248,-357 821.0248,-357 821.0248,-357 773.0248,-357 773.0248,-357 767.0248,-357 761.0248,-351 761.0248,-345 761.0248,-345 761.0248,-291 761.0248,-291 761.0248,-285 767.0248,-279 773.0248,-279"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-287.5" font-family="Arial" font-size="15.00" fill="#222222">(Integer)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust5"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M769.9673,-511C769.9673,-511 824.0823,-511 824.0823,-511 830.0823,-511 836.0823,-517 836.0823,-523 836.0823,-523 836.0823,-638 836.0823,-638 836.0823,-644 830.0823,-650 824.0823,-650 824.0823,-650 769.9673,-650 769.9673,-650 763.9673,-650 757.9673,-644 757.9673,-638 757.9673,-638 757.9673,-523 757.9673,-523 757.9673,-517 763.9673,-511 769.9673,-511"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-519.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M757.9154,-835C757.9154,-835 836.1342,-835 836.1342,-835 842.1342,-835 848.1342,-841 848.1342,-847 848.1342,-847 848.1342,-1084 848.1342,-1084 848.1342,-1090 842.1342,-1096 836.1342,-1096 836.1342,-1096 757.9154,-1096 757.9154,-1096 751.9154,-1096 745.9154,-1090 745.9154,-1084 745.9154,-1084 745.9154,-847 745.9154,-847 745.9154,-841 751.9154,-835 757.9154,-835"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-843.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M498.8136,-204C498.8136,-204 641.5794,-204 641.5794,-204 647.5794,-204 653.5794,-210 653.5794,-216 653.5794,-216 653.5794,-331 653.5794,-331 653.5794,-337 647.5794,-343 641.5794,-343 641.5794,-343 498.8136,-343 498.8136,-343 492.8136,-343 486.8136,-337 486.8136,-331 486.8136,-331 486.8136,-216 486.8136,-216 486.8136,-210 492.8136,-204 498.8136,-204"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-212.5" font-family="Arial" font-size="15.00" fill="#222222">(*KeyCertificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/certificate.Certificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M760.2527,-16C760.2527,-16 834.7969,-16 834.7969,-16 840.7969,-16 846.7969,-22 846.7969,-28 846.7969,-28 846.7969,-204 846.7969,-204 846.7969,-210 840.7969,-216 834.7969,-216 834.7969,-216 760.2527,-216 760.2527,-216 754.2527,-216 748.2527,-210 748.2527,-204 748.2527,-204 748.2527,-28 748.2527,-28 748.2527,-22 754.2527,-16 760.2527,-16"/>
|
||||
<text text-anchor="middle" x="797.5248" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M814.2201,-269C814.2201,-269 779.8295,-269 779.8295,-269 773.8295,-269 767.8295,-263 767.8295,-257 767.8295,-257 767.8295,-245 767.8295,-245 767.8295,-239 773.8295,-233 779.8295,-233 779.8295,-233 814.2201,-233 814.2201,-233 820.2201,-233 826.2201,-239 826.2201,-245 826.2201,-245 826.2201,-257 826.2201,-257 826.2201,-263 820.2201,-269 814.2201,-269"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate | defined in key_certificate.go:356 at key_certificate.go:368: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:369: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:369: calling [github.com/samber/oops.Errorf] at key_certificate.go:373: calling [github.com/samber/oops.Errorf] at key_certificate.go:362: calling [github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate] at key_certificate.go:384: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:384: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:387: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:388: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:364: calling [(*github.com/go-i2p/logger.Logger).Error] at key_certificate.go:372: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:375: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:375: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:377: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:378: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:375: calling [(*github.com/sirupsen/logrus.Logger).Println] at key_certificate.go:384: calling [(*github.com/sirupsen/logrus.Logger).Println] at key_certificate.go:377: calling [github.com/go-i2p/go-i2p/lib/common/data.ReadInteger] at key_certificate.go:378: calling [github.com/go-i2p/go-i2p/lib/common/data.ReadInteger] at key_certificate.go:357: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:386: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:359: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:390: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:364: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M624.5242,-440C624.5242,-440 515.8688,-440 515.8688,-440 509.8688,-440 503.8688,-434 503.8688,-428 503.8688,-428 503.8688,-416 503.8688,-416 503.8688,-410 509.8688,-404 515.8688,-404 515.8688,-404 624.5242,-404 624.5242,-404 630.5242,-404 636.5242,-410 636.5242,-416 636.5242,-416 636.5242,-428 636.5242,-428 636.5242,-434 630.5242,-440 624.5242,-440"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-417.8" font-family="Verdana" font-size="14.00" fill="#000000">NewKeyCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/samber/oops.Errorf -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge18"><a xlink:title="at key_certificate.go:369: calling [github.com/samber/oops.Errorf] at key_certificate.go:373: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M596.8742,-403.9091C617.0949,-389.7754 645.2117,-369.2031 668.1026,-349 703.2178,-318.008 702.1893,-299.0641 741.1026,-273 746.3929,-269.4565 752.3392,-266.3522 758.328,-263.6791"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="759.7675,-266.8716 767.6857,-259.8322 757.1059,-260.3973 759.7675,-266.8716"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate | defined in certificate.go:201">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M840.8693,-411C840.8693,-411 753.1803,-411 753.1803,-411 747.1803,-411 741.1803,-405 741.1803,-399 741.1803,-399 741.1803,-387 741.1803,-387 741.1803,-381 747.1803,-375 753.1803,-375 753.1803,-375 840.8693,-375 840.8693,-375 846.8693,-375 852.8693,-381 852.8693,-387 852.8693,-387 852.8693,-399 852.8693,-399 852.8693,-405 846.8693,-411 840.8693,-411"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-397.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-380.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate</title>
|
||||
<g id="a_edge20"><a xlink:title="at key_certificate.go:362: calling [github.com/go-i2p/go-i2p/lib/common/certificate.ReadCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M636.7198,-413.495C666.3047,-409.7126 701.0564,-405.2696 730.6267,-401.489"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="731.3777,-404.9216 740.853,-400.1816 730.4899,-397.9781 731.3777,-404.9216"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/data.ReadInteger -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/data.ReadInteger</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/data.ReadInteger | defined in integer.go:51">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M831.4325,-472C831.4325,-472 762.6171,-472 762.6171,-472 756.6171,-472 750.6171,-466 750.6171,-460 750.6171,-460 750.6171,-448 750.6171,-448 750.6171,-442 756.6171,-436 762.6171,-436 762.6171,-436 831.4325,-436 831.4325,-436 837.4325,-436 843.4325,-442 843.4325,-448 843.4325,-448 843.4325,-460 843.4325,-460 843.4325,-466 837.4325,-472 831.4325,-472"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-458.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-441.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadInteger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->github.com/go-i2p/go-i2p/lib/common/data.ReadInteger</title>
|
||||
<g id="a_edge42"><a xlink:title="at key_certificate.go:377: calling [github.com/go-i2p/go-i2p/lib/common/data.ReadInteger] at key_certificate.go:378: calling [github.com/go-i2p/go-i2p/lib/common/data.ReadInteger]">
|
||||
<path fill="none" stroke="#8b4513" d="M636.7198,-431.3848C669.748,-436.0443 709.2155,-441.6122 740.7245,-446.0574"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="740.2658,-449.5273 750.6567,-447.4586 741.2437,-442.5959 740.2658,-449.5273"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type | defined in certificate.go:116">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M824.9814,-147C824.9814,-147 769.0682,-147 769.0682,-147 763.0682,-147 757.0682,-141 757.0682,-135 757.0682,-135 757.0682,-123 757.0682,-123 757.0682,-117 763.0682,-111 769.0682,-111 769.0682,-111 824.9814,-111 824.9814,-111 830.9814,-111 836.9814,-117 836.9814,-123 836.9814,-123 836.9814,-135 836.9814,-135 836.9814,-141 830.9814,-147 824.9814,-147"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">Type</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_edge17"><a xlink:title="at key_certificate.go:368: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:369: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type]">
|
||||
<path fill="none" stroke="#8b4513" d="M603.5382,-403.7704C624.5147,-390.8516 650.7951,-371.7977 668.1026,-349 722.5518,-277.2789 681.9563,-227.8996 741.1026,-160 743.3959,-157.3673 745.9699,-154.9135 748.7209,-152.6345"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="750.8606,-155.4057 756.8567,-146.6709 746.7222,-149.76 750.8606,-155.4057"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data | defined in certificate.go:134">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M824.9814,-208C824.9814,-208 769.0682,-208 769.0682,-208 763.0682,-208 757.0682,-202 757.0682,-196 757.0682,-196 757.0682,-184 757.0682,-184 757.0682,-178 763.0682,-172 769.0682,-172 769.0682,-172 824.9814,-172 824.9814,-172 830.9814,-172 836.9814,-178 836.9814,-184 836.9814,-184 836.9814,-196 836.9814,-196 836.9814,-202 830.9814,-208 824.9814,-208"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_edge27"><a xlink:title="at key_certificate.go:372: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:375: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:375: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:377: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data] at key_certificate.go:378: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="none" stroke="#8b4513" d="M601.2704,-403.9136C622.0733,-390.6712 649.0339,-371.192 668.1026,-349 713.0667,-296.671 689.5991,-257.9074 741.1026,-212 743.2565,-210.0801 745.5977,-208.3183 748.0606,-206.7028"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="749.8257,-209.7255 756.8078,-201.7567 746.3802,-203.6322 749.8257,-209.7255"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M828.2439,-966C828.2439,-966 765.8057,-966 765.8057,-966 759.8057,-966 753.8057,-960 753.8057,-954 753.8057,-954 753.8057,-942 753.8057,-942 753.8057,-936 759.8057,-930 765.8057,-930 765.8057,-930 828.2439,-930 828.2439,-930 834.2439,-930 840.2439,-936 840.2439,-942 840.2439,-942 840.2439,-954 840.2439,-954 840.2439,-960 834.2439,-966 828.2439,-966"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-952.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-935.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge47"><a xlink:title="at key_certificate.go:357: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:386: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M581.3431,-440.0377C601.1893,-472.8081 642.9244,-544.7714 668.1026,-610 691.4331,-670.4419 690.0503,-687.9844 705.1026,-751 722.7428,-824.8496 695.4332,-857.3432 741.1026,-918 742.5025,-919.8594 744.0522,-921.6161 745.7174,-923.2746"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="743.741,-926.185 753.652,-929.9296 748.2394,-920.8217 743.741,-926.185"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M814.7911,-1027C814.7911,-1027 779.2585,-1027 779.2585,-1027 773.2585,-1027 767.2585,-1021 767.2585,-1015 767.2585,-1015 767.2585,-1003 767.2585,-1003 767.2585,-997 773.2585,-991 779.2585,-991 779.2585,-991 814.7911,-991 814.7911,-991 820.7911,-991 826.7911,-997 826.7911,-1003 826.7911,-1003 826.7911,-1015 826.7911,-1015 826.7911,-1021 820.7911,-1027 814.7911,-1027"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-1013.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-996.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge26"><a xlink:title="at key_certificate.go:364: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M581.9063,-440.1476C602.451,-472.8028 644.9967,-544.2038 668.1026,-610 723.495,-767.735 641.686,-844.5939 741.1026,-979 745.5619,-985.0288 751.603,-989.9724 758.0695,-993.9818"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="756.5889,-997.1611 767.0427,-998.8842 759.9451,-991.0181 756.5889,-997.1611"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node16" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node16"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M825.5563,-905C825.5563,-905 768.4933,-905 768.4933,-905 762.4933,-905 756.4933,-899 756.4933,-893 756.4933,-893 756.4933,-881 756.4933,-881 756.4933,-875 762.4933,-869 768.4933,-869 768.4933,-869 825.5563,-869 825.5563,-869 831.5563,-869 837.5563,-875 837.5563,-881 837.5563,-881 837.5563,-893 837.5563,-893 837.5563,-899 831.5563,-905 825.5563,-905"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-891.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-874.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge49"><a xlink:title="at key_certificate.go:364: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M579.9178,-440.0117C597.8251,-473.3324 637.033,-546.9525 668.1026,-610 712.7258,-700.5509 762.2521,-809.5549 784.7302,-859.5321"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="781.5658,-861.0294 788.8557,-868.7176 787.9513,-858.1614 781.5658,-861.0294"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node17" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node17"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M815.8468,-642C815.8468,-642 778.2028,-642 778.2028,-642 772.2028,-642 766.2028,-636 766.2028,-630 766.2028,-630 766.2028,-618 766.2028,-618 766.2028,-612 772.2028,-606 778.2028,-606 778.2028,-606 815.8468,-606 815.8468,-606 821.8468,-606 827.8468,-612 827.8468,-618 827.8468,-618 827.8468,-630 827.8468,-630 827.8468,-636 821.8468,-642 815.8468,-642"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-628.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-611.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge48"><a xlink:title="at key_certificate.go:359: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:390: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M584.9677,-440.0797C612.8973,-473.4782 676.4662,-545.8263 741.1026,-594 746.1462,-597.759 751.7216,-601.3335 757.3408,-604.6188"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="755.6991,-607.7107 766.1369,-609.5284 759.1108,-601.5984 755.6991,-607.7107"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Println -->
|
||||
<g id="node18" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Println</title>
|
||||
<g id="a_node18"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Println | defined in logger.go:315">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M816.1399,-581C816.1399,-581 777.9097,-581 777.9097,-581 771.9097,-581 765.9097,-575 765.9097,-569 765.9097,-569 765.9097,-557 765.9097,-557 765.9097,-551 771.9097,-545 777.9097,-545 777.9097,-545 816.1399,-545 816.1399,-545 822.1399,-545 828.1399,-551 828.1399,-557 828.1399,-557 828.1399,-569 828.1399,-569 828.1399,-575 822.1399,-581 816.1399,-581"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-567.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-550.4" font-family="Verdana" font-size="14.00" fill="#000000">Println</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Println -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(*github.com/sirupsen/logrus.Logger).Println</title>
|
||||
<g id="a_edge28"><a xlink:title="at key_certificate.go:375: calling [(*github.com/sirupsen/logrus.Logger).Println] at key_certificate.go:384: calling [(*github.com/sirupsen/logrus.Logger).Println]">
|
||||
<path fill="none" stroke="#8b4513" d="M613.0003,-440.1284C640.9539,-453.2026 677.2897,-472.6265 705.1026,-496 724.7105,-512.4782 720.4893,-525.7984 741.1026,-541 745.8362,-544.4909 751.1969,-547.5111 756.679,-550.0988"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="755.3592,-553.3409 765.9302,-554.0519 758.1098,-546.904 755.3592,-553.3409"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="node19" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_node19"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int | defined in integer.go:32">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M812.0248,-349C812.0248,-349 782.0248,-349 782.0248,-349 776.0248,-349 770.0248,-343 770.0248,-337 770.0248,-337 770.0248,-325 770.0248,-325 770.0248,-319 776.0248,-313 782.0248,-313 782.0248,-313 812.0248,-313 812.0248,-313 818.0248,-313 824.0248,-319 824.0248,-325 824.0248,-325 824.0248,-337 824.0248,-337 824.0248,-343 818.0248,-349 812.0248,-349"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-335.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-318.4" font-family="Verdana" font-size="14.00" fill="#000000">Int</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge21"><a xlink:title="at key_certificate.go:384: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:384: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:387: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:388: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M614.774,-403.8763C649.2358,-389.8959 698.151,-370.1187 741.1026,-353 747.4188,-350.4826 754.1434,-347.8212 760.6591,-345.2522"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="761.9606,-348.5013 769.9839,-341.5819 759.3968,-341.9877 761.9606,-348.5013"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.init -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.init</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.init | defined in .:0 at key_certificate.go:44: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M129.5505,-52C129.5505,-52 99.5505,-52 99.5505,-52 93.5505,-52 87.5505,-46 87.5505,-40 87.5505,-40 87.5505,-28 87.5505,-28 87.5505,-22 93.5505,-16 99.5505,-16 99.5505,-16 129.5505,-16 129.5505,-16 135.5505,-16 141.5505,-22 141.5505,-28 141.5505,-28 141.5505,-40 141.5505,-40 141.5505,-46 135.5505,-52 129.5505,-52"/>
|
||||
<text text-anchor="middle" x="114.5505" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M387.3852,-52C387.3852,-52 290.0062,-52 290.0062,-52 284.0062,-52 278.0062,-46 278.0062,-40 278.0062,-40 278.0062,-28 278.0062,-28 278.0062,-22 284.0062,-16 290.0062,-16 290.0062,-16 387.3852,-16 387.3852,-16 393.3852,-16 399.3852,-22 399.3852,-28 399.3852,-28 399.3852,-40 399.3852,-40 399.3852,-46 393.3852,-52 387.3852,-52"/>
|
||||
<text text-anchor="middle" x="338.6957" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="338.6957" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge2"><a xlink:title="at key_certificate.go:44: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M141.5876,-34C172.6327,-34 224.7965,-34 267.6649,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="267.7801,-37.5001 277.7801,-34 267.7801,-30.5001 267.7801,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate | defined in key_certificate.go:395 at key_certificate.go:417: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:418: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:396: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:397: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:397: calling [github.com/samber/oops.Errorf] at key_certificate.go:405: calling [github.com/samber/oops.Errorf] at key_certificate.go:400: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M656.0088,-94C656.0088,-94 484.3842,-94 484.3842,-94 478.3842,-94 472.3842,-88 472.3842,-82 472.3842,-82 472.3842,-70 472.3842,-70 472.3842,-64 478.3842,-58 484.3842,-58 484.3842,-58 656.0088,-58 656.0088,-58 662.0088,-58 668.0088,-64 668.0088,-70 668.0088,-70 668.0088,-82 668.0088,-82 668.0088,-88 662.0088,-94 656.0088,-94"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-71.8" font-family="Verdana" font-size="14.00" fill="#000000">KeyCertificateFromCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->github.com/samber/oops.Errorf -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge34"><a xlink:title="at key_certificate.go:397: calling [github.com/samber/oops.Errorf] at key_certificate.go:405: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M667.4137,-94.0023C681.2903,-99.8803 694.4451,-107.6723 705.1026,-118 740.2286,-152.0391 709.1149,-184.9962 741.1026,-222 745.9705,-227.6313 752.203,-232.3181 758.7302,-236.1646"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.2348,-239.3328 767.7133,-240.8988 760.4984,-233.1401 757.2348,-239.3328"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type</title>
|
||||
<g id="a_edge22"><a xlink:title="at key_certificate.go:396: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type] at key_certificate.go:397: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Type]">
|
||||
<path fill="none" stroke="#8b4513" d="M636.8741,-57.9784C659.2304,-55.0617 683.8606,-55.376 705.1026,-64 725.7789,-72.3943 723.0955,-85.8197 741.1026,-99 744.2629,-101.3132 747.6237,-103.5624 751.0685,-105.7208"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="749.3552,-108.774 759.7378,-110.8837 752.9369,-102.7598 749.3552,-108.774"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data -->
|
||||
<g id="edge50" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data</title>
|
||||
<g id="a_edge50"><a xlink:title="at key_certificate.go:400: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Data]">
|
||||
<path fill="none" stroke="#8b4513" d="M668.2729,-75.4271C681.4078,-78.5464 694.1161,-83.4785 705.1026,-91 733.6444,-110.54 716.7851,-135.4012 741.1026,-160 743.4263,-162.3506 745.9733,-164.5622 748.6595,-166.6352"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="746.8354,-169.6291 757.051,-172.4385 750.817,-163.8718 746.8354,-169.6291"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge12"><a xlink:title="at key_certificate.go:417: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:418: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M585.6811,-94.1768C605.4669,-117.6504 640.4609,-160.0092 668.1026,-198 702.8417,-245.7453 695.2619,-271.7837 741.1026,-309 746.8382,-313.6565 753.6796,-317.4203 760.5761,-320.4288"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="759.3279,-323.6987 769.916,-324.0763 761.8743,-317.1783 759.3279,-323.6987"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes | defined in certificate.go:76">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M825.5703,-86C825.5703,-86 768.4793,-86 768.4793,-86 762.4793,-86 756.4793,-80 756.4793,-74 756.4793,-74 756.4793,-62 756.4793,-62 756.4793,-56 762.4793,-50 768.4793,-50 768.4793,-50 825.5703,-50 825.5703,-50 831.5703,-50 837.5703,-56 837.5703,-62 837.5703,-62 837.5703,-74 837.5703,-74 837.5703,-80 831.5703,-86 825.5703,-86"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">RawBytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize | defined in key_certificate.go:200 at key_certificate.go:202: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:204: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:207: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M633.4625,-335C633.4625,-335 506.9305,-335 506.9305,-335 500.9305,-335 494.9305,-329 494.9305,-323 494.9305,-323 494.9305,-311 494.9305,-311 494.9305,-305 500.9305,-299 506.9305,-299 506.9305,-299 633.4625,-299 633.4625,-299 639.4625,-299 645.4625,-305 645.4625,-311 645.4625,-311 645.4625,-323 645.4625,-323 645.4625,-329 639.4625,-335 633.4625,-335"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-312.8" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeySize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge35"><a xlink:title="at key_certificate.go:204: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:207: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M645.8645,-325.397C654.0179,-328.7052 661.6716,-333.1247 668.1026,-339 755.1358,-418.513 668.3555,-501.2372 741.1026,-594 745.4422,-599.5336 751.0942,-604.1728 757.1344,-608.0195"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="755.7236,-611.2419 766.1542,-613.1004 759.1592,-605.1429 755.7236,-611.2419"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge23"><a xlink:title="at key_certificate.go:202: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M645.5417,-316.5867C664.9665,-316.8997 685.8285,-317.6037 705.1026,-319 723.1812,-320.3097 743.1442,-322.7896 759.8344,-325.1566"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="759.3568,-328.6239 769.7574,-326.6043 760.3674,-321.6972 759.3568,-328.6239"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize | defined in key_certificate.go:192 at key_certificate.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:195: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:195: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M631.2863,-274C631.2863,-274 509.1067,-274 509.1067,-274 503.1067,-274 497.1067,-268 497.1067,-262 497.1067,-262 497.1067,-250 497.1067,-250 497.1067,-244 503.1067,-238 509.1067,-238 509.1067,-238 631.2863,-238 631.2863,-238 637.2863,-238 643.2863,-244 643.2863,-250 643.2863,-250 643.2863,-262 643.2863,-262 643.2863,-268 637.2863,-274 631.2863,-274"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-251.8" font-family="Verdana" font-size="14.00" fill="#000000">CryptoPublicKeySize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->github.com/samber/oops.Errorf -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge46"><a xlink:title="at key_certificate.go:195: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M643.517,-254.3457C663.1929,-253.9049 684.4582,-253.4315 704.1026,-253 721.5707,-252.6163 740.8861,-252.1994 757.361,-251.846"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.8064,-255.3374 767.7291,-251.6239 757.6564,-248.339 757.8064,-255.3374"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoPublicKeySize->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge24"><a xlink:title="at key_certificate.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:195: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M627.9893,-274.0642C641.1902,-278.2555 655.1461,-282.7384 668.1026,-287 699.2407,-297.2418 734.4523,-309.2911 760.1991,-318.1886"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="759.3255,-321.5899 769.9203,-321.5536 761.6153,-314.975 759.3255,-321.5899"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="node15" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_node15"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warn | defined in log.go:30">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M814.7911,-1088C814.7911,-1088 779.2585,-1088 779.2585,-1088 773.2585,-1088 767.2585,-1082 767.2585,-1076 767.2585,-1076 767.2585,-1064 767.2585,-1064 767.2585,-1058 773.2585,-1052 779.2585,-1052 779.2585,-1052 814.7911,-1052 814.7911,-1052 820.7911,-1052 826.7911,-1058 826.7911,-1064 826.7911,-1064 826.7911,-1076 826.7911,-1076 826.7911,-1082 820.7911,-1088 814.7911,-1088"/>
|
||||
<text text-anchor="middle" x="797.0248" y="-1074.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="797.0248" y="-1057.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="node20" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_node20"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:117 at key_certificate.go:118: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:122: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:121: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:119: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M636.1277,-747C636.1277,-747 504.2653,-747 504.2653,-747 498.2653,-747 492.2653,-741 492.2653,-735 492.2653,-735 492.2653,-723 492.2653,-723 492.2653,-717 498.2653,-711 504.2653,-711 504.2653,-711 636.1277,-711 636.1277,-711 642.1277,-711 648.1277,-717 648.1277,-723 648.1277,-723 648.1277,-735 648.1277,-735 648.1277,-741 642.1277,-747 636.1277,-747"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-724.8" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge36"><a xlink:title="at key_certificate.go:119: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M635.1572,-747.0429C660.136,-756.9365 686.9783,-771.6613 705.1026,-793 742.5292,-837.0644 704.7763,-873.0242 741.1026,-918 742.7078,-919.9874 744.481,-921.8609 746.3786,-923.6248"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="744.2256,-926.3846 754.2222,-929.8944 748.5962,-920.9167 744.2256,-926.3846"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge14"><a xlink:title="at key_certificate.go:121: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M644.8739,-710.9421C653.0147,-707.5817 660.9359,-703.632 668.1026,-699 688.4688,-685.8368 684.0953,-671.7025 704.1026,-658 719.8601,-647.2081 739.4571,-639.3771 756.5865,-633.9707"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.7558,-637.2744 766.3393,-631.0636 755.7561,-630.5661 757.7558,-637.2744"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge13"><a xlink:title="at key_certificate.go:118: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:122: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M648.07,-713.9279C655.5391,-710.0271 662.4293,-705.1342 668.1026,-699 719.4262,-643.507 689.4674,-606.9535 705.1026,-533 721.9781,-453.1801 688.7512,-415.5726 741.1026,-353 746.0734,-347.0587 752.8651,-342.7131 760.0032,-339.5374"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="761.6587,-342.6561 769.8133,-335.892 759.2204,-336.0945 761.6587,-342.6561"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="node21" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_node21"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:126 at key_certificate.go:128: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:130: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:127: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:131: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M614.0634,-686C614.0634,-686 526.3296,-686 526.3296,-686 520.3296,-686 514.3296,-680 514.3296,-674 514.3296,-674 514.3296,-662 514.3296,-662 514.3296,-656 520.3296,-650 526.3296,-650 526.3296,-650 614.0634,-650 614.0634,-650 620.0634,-650 626.0634,-656 626.0634,-662 626.0634,-662 626.0634,-674 626.0634,-674 626.0634,-680 620.0634,-686 614.0634,-686"/>
|
||||
<text text-anchor="middle" x="570.1965" y="-663.8" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge15"><a xlink:title="at key_certificate.go:128: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M626.1211,-676.7869C641.1497,-681.3767 656.4473,-688.3638 668.1026,-699 743.8881,-768.159 677.1256,-837.7918 741.1026,-918 742.6956,-919.9972 744.4589,-921.8787 746.3484,-923.6491"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="744.1829,-926.3989 754.1697,-929.9365 748.5687,-920.9432 744.1829,-926.3989"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge25"><a xlink:title="at key_certificate.go:130: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M626.0014,-649.968C649.8245,-642.9544 678.084,-635.5303 704.1026,-631 720.9685,-628.0634 739.7683,-626.3584 756.0215,-625.3687"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="756.4911,-628.8486 766.2884,-624.8159 756.1146,-621.8587 756.4911,-628.8486"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge37"><a xlink:title="at key_certificate.go:127: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int] at key_certificate.go:131: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M626.3136,-665.5853C641.4337,-662.4116 656.7317,-656.5409 668.1026,-646 709.344,-607.7689 691.1057,-579.4661 705.1026,-525 724.5416,-449.3569 690.7196,-412.6766 741.1026,-353 746.0999,-347.0809 752.9027,-342.7447 760.0433,-339.571"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="761.6984,-342.6898 769.8519,-335.9245 759.2591,-336.1286 761.6984,-342.6898"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="node22" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_node22"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize | defined in key_certificate.go:336 at key_certificate.go:344: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType] at key_certificate.go:349: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:346: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M370.1859,-747C370.1859,-747 307.2055,-747 307.2055,-747 301.2055,-747 295.2055,-741 295.2055,-735 295.2055,-735 295.2055,-723 295.2055,-723 295.2055,-717 301.2055,-711 307.2055,-711 307.2055,-711 370.1859,-711 370.1859,-711 376.1859,-711 382.1859,-717 382.1859,-723 382.1859,-723 382.1859,-735 382.1859,-735 382.1859,-741 376.1859,-747 370.1859,-747"/>
|
||||
<text text-anchor="middle" x="338.6957" y="-724.8" font-family="Verdana" font-size="14.00" fill="#000000">CryptoSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge38"><a xlink:title="at key_certificate.go:346: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M380.2059,-747.179C397.1496,-754.3392 417.0217,-762.4086 435.2904,-769 537.1692,-805.7584 576.109,-783.8366 668.1026,-841 708.1568,-865.8891 703.6251,-889.3777 741.1026,-918 744.0796,-920.2736 747.2523,-922.4725 750.5162,-924.5764"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="748.933,-927.7098 759.297,-929.9096 752.5669,-921.7269 748.933,-927.7098"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge19"><a xlink:title="at key_certificate.go:349: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M382.3547,-745.9975C447.4686,-768.5657 572.5878,-801.0664 668.1026,-760 719.7372,-737.7998 760.3936,-683.6278 781.3742,-650.7454"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="784.4544,-652.42 786.7629,-642.0797 778.51,-648.7235 784.4544,-652.42"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_edge16"><a xlink:title="at key_certificate.go:344: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
|
||||
<path fill="none" stroke="#000000" d="M382.2392,-717.5264C416.6513,-708.4588 465.2401,-695.6558 504.3944,-685.3387"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="505.3531,-688.7056 514.1312,-682.7731 503.5695,-681.9367 505.3531,-688.7056"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey -->
|
||||
<g id="node23" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title>
|
||||
<g id="a_node23"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey | defined in key_certificate.go:136 at key_certificate.go:152: calling [github.com/samber/oops.Errorf] at key_certificate.go:137: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:146: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:167: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:145: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize] at key_certificate.go:169: calling [(*github.com/go-i2p/logger.Logger).Warn] at key_certificate.go:139: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:160: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:165: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:140: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType] at key_certificate.go:151: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M171.0885,-747C171.0885,-747 58.0125,-747 58.0125,-747 52.0125,-747 46.0125,-741 46.0125,-735 46.0125,-735 46.0125,-723 46.0125,-723 46.0125,-717 52.0125,-711 58.0125,-711 58.0125,-711 171.0885,-711 171.0885,-711 177.0885,-711 183.0885,-717 183.0885,-723 183.0885,-723 183.0885,-735 183.0885,-735 183.0885,-741 177.0885,-747 171.0885,-747"/>
|
||||
<text text-anchor="middle" x="114.5505" y="-724.8" font-family="Verdana" font-size="14.00" fill="#000000">ConstructPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->github.com/samber/oops.Errorf -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge1"><a xlink:title="at key_certificate.go:152: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M183.4532,-714.7794C191.5582,-710.759 199.0724,-705.6054 205.101,-699 381.6728,-505.5329 76.7661,-125 338.6957,-125 338.6957,-125 338.6957,-125 570.1965,-125 630.8101,-125 656.4962,-108.7863 705.1026,-145 735.3968,-167.5704 714.9437,-194.7443 741.1026,-222 746.2048,-227.3162 752.4949,-231.8428 758.9942,-235.6272"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.4181,-238.753 767.8946,-240.3322 760.6895,-232.5644 757.4181,-238.753"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge6"><a xlink:title="at key_certificate.go:137: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:146: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:167: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M183.2373,-743.5944C191.4789,-747.7621 199.0879,-753.1179 205.101,-760 259.3545,-822.0933 182.9957,-883.4954 241.101,-942 272.3021,-973.4155 294.4188,-962 338.6957,-962 338.6957,-962 338.6957,-962 435.7904,-962 555.5251,-962 586.1221,-982.4179 705.1026,-969 717.8097,-967.567 731.321,-965.0531 743.9625,-962.2515"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="744.9277,-965.6207 753.8823,-959.9581 743.3509,-958.8006 744.9277,-965.6207"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge41"><a xlink:title="at key_certificate.go:151: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M183.2823,-743.5552C191.5171,-747.7288 199.1122,-753.0968 205.101,-760 261.1363,-824.5913 191.3196,-879.4744 241.101,-949 252.1089,-964.3739 260.0127,-964.4913 278.101,-970 450.222,-1022.4188 668.5942,-1016.8824 757.0879,-1011.839"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.452,-1015.3235 767.2242,-1011.2303 757.0323,-1008.3361 757.452,-1015.3235"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge29"><a xlink:title="at key_certificate.go:169: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M183.3243,-743.5189C191.5527,-747.698 199.1349,-753.0771 205.101,-760 275.1143,-841.2414 181.4402,-943.538 278.101,-990 442.4792,-1069.0119 666.8896,-1073.3858 757.0883,-1071.5264"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.2475,-1075.0236 767.159,-1071.2804 757.0765,-1068.0257 757.2475,-1075.0236"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge39"><a xlink:title="at key_certificate.go:139: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:160: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:165: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M179.7005,-710.861C188.4758,-707.4337 197.1754,-703.4889 205.101,-699 273.2704,-660.3902 260.3517,-584 338.6957,-584 338.6957,-584 338.6957,-584 570.1965,-584 636.1837,-584 711.3507,-600.6208 756.4438,-612.4345"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="755.5775,-615.8258 766.1419,-615.0232 757.3829,-609.0626 755.5775,-615.8258"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_edge40"><a xlink:title="at key_certificate.go:140: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
|
||||
<path fill="none" stroke="#000000" d="M173.8034,-710.9401C204.6185,-702.2754 243.072,-692.5869 278.101,-687 355.0715,-674.7236 444.6608,-670.3373 504.1193,-668.7935"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="504.2147,-672.2923 514.1277,-668.5531 504.0465,-665.2943 504.2147,-672.2923"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_edge7"><a xlink:title="at key_certificate.go:145: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
|
||||
<path fill="none" stroke="#000000" d="M183.3247,-729C216.0448,-729 254.5833,-729 285.0924,-729"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="285.1111,-732.5001 295.1111,-729 285.1111,-725.5001 285.1111,-732.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data -->
|
||||
<g id="node24" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data</title>
|
||||
<g id="a_node24"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data | defined in key_certificate.go:108 at key_certificate.go:110: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:109: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes] at key_certificate.go:113: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M129.5505,-686C129.5505,-686 99.5505,-686 99.5505,-686 93.5505,-686 87.5505,-680 87.5505,-674 87.5505,-674 87.5505,-662 87.5505,-662 87.5505,-656 93.5505,-650 99.5505,-650 99.5505,-650 129.5505,-650 129.5505,-650 135.5505,-650 141.5505,-656 141.5505,-662 141.5505,-662 141.5505,-674 141.5505,-674 141.5505,-680 135.5505,-686 129.5505,-686"/>
|
||||
<text text-anchor="middle" x="114.5505" y="-663.8" font-family="Verdana" font-size="14.00" fill="#000000">Data</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes</title>
|
||||
<g id="a_edge30"><a xlink:title="at key_certificate.go:109: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes] at key_certificate.go:113: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).RawBytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M141.9287,-669.3268C162.6011,-668.7047 189.9181,-664.0934 205.101,-646 285.6875,-549.9656 152.4213,-171.6155 241.101,-83 253.5589,-70.5512 382.4012,-77.9928 399.2904,-73 434.9752,-62.4508 436.5018,-42.1915 472.2904,-32 571.4708,-3.7565 601.0031,-24.2227 704.1026,-22 726.6307,-21.5143 749.3452,-32.5024 766.6773,-43.8595"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="765.0063,-46.9595 775.2207,-49.7733 768.9904,-41.2039 765.0063,-46.9595"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge8"><a xlink:title="at key_certificate.go:110: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M141.7476,-671.3138C161.5079,-675.0183 187.726,-682.7917 205.101,-699 293.2352,-781.2161 218.1672,-935 338.6957,-935 338.6957,-935 338.6957,-935 435.7904,-935 545.0244,-935 672.7184,-941.0101 743.2682,-944.8573"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="743.4934,-948.375 753.6712,-945.4316 743.8793,-941.3857 743.4934,-948.375"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).Data->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge9"><a xlink:title="at key_certificate.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M141.9295,-672.2203C161.2735,-676.3484 186.8938,-684.255 205.101,-699 283.0789,-762.1498 238.354,-881 338.6957,-881 338.6957,-881 338.6957,-881 435.7904,-881 567.0107,-881 624.2079,-863.3191 705.1026,-760 733.5146,-723.7121 762.7128,-678.9988 780.3657,-650.9862"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="783.5501,-652.4956 785.8919,-642.1628 777.6176,-648.78 783.5501,-652.4956"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey -->
|
||||
<g id="node25" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title>
|
||||
<g id="a_node25"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey | defined in key_certificate.go:228 at key_certificate.go:243: calling [(*github.com/go-i2p/logger.Logger).Error] at key_certificate.go:244: calling [github.com/samber/oops.Errorf] at key_certificate.go:301: calling [github.com/samber/oops.Errorf] at key_certificate.go:300: calling [(*github.com/go-i2p/logger.Logger).Warn] at key_certificate.go:232: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType] at key_certificate.go:237: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize] at key_certificate.go:229: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:238: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:298: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:231: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:252: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:257: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:262: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:291: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:296: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M193.1515,-808C193.1515,-808 35.9495,-808 35.9495,-808 29.9495,-808 23.9495,-802 23.9495,-796 23.9495,-796 23.9495,-784 23.9495,-784 23.9495,-778 29.9495,-772 35.9495,-772 35.9495,-772 193.1515,-772 193.1515,-772 199.1515,-772 205.1515,-778 205.1515,-784 205.1515,-784 205.1515,-796 205.1515,-796 205.1515,-802 199.1515,-808 193.1515,-808"/>
|
||||
<text text-anchor="middle" x="114.5505" y="-785.8" font-family="Verdana" font-size="14.00" fill="#000000">ConstructSigningPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->github.com/samber/oops.Errorf -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge4"><a xlink:title="at key_certificate.go:244: calling [github.com/samber/oops.Errorf] at key_certificate.go:301: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M187.6597,-771.8102C193.9477,-768.5056 199.8877,-764.6045 205.101,-760 308.7479,-668.4577 355.3858,-271.8646 472.2904,-198 545.8628,-151.5143 582.7247,-181.1353 668.1026,-198 699.8907,-204.2791 733.6942,-218.4884 758.7091,-230.6148"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.329,-233.837 767.8435,-235.1395 760.4362,-227.5644 757.329,-233.837"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge43"><a xlink:title="at key_certificate.go:229: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:238: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:298: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M116.0225,-808.043C121.4043,-860.6999 145.0776,-1014.3968 241.101,-1077 274.1986,-1098.5783 665.3623,-1010.046 705.1026,-996 715.3602,-992.3745 736.4205,-981.4738 755.7972,-970.9753"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="757.7253,-973.9104 764.827,-966.048 754.3723,-967.7656 757.7253,-973.9104"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge3"><a xlink:title="at key_certificate.go:243: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M115.8282,-808.0832C120.6995,-861.6104 143.1637,-1019.5315 241.101,-1084 407.0141,-1193.2144 661.4299,-1080.7977 758.0127,-1030.5784"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="759.9097,-1033.5352 767.1271,-1025.7789 756.6481,-1027.3414 759.9097,-1033.5352"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge5"><a xlink:title="at key_certificate.go:300: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M116.8316,-808.3983C127.0704,-881.9631 175.6599,-1151 338.6957,-1151 338.6957,-1151 338.6957,-1151 570.1965,-1151 630.8101,-1151 648.5152,-1152.7226 705.1026,-1131 727.691,-1122.3289 750.3702,-1107.3614 767.55,-1094.4232"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="769.7414,-1097.1531 775.5175,-1088.2712 765.4633,-1091.6125 769.7414,-1097.1531"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge44"><a xlink:title="at key_certificate.go:231: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:252: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:257: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:262: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:291: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:296: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M119.1898,-808.1063C131.0901,-850.28 167.1025,-954.6126 241.101,-996 303.3494,-1030.8156 331.0158,-989.6295 399.2904,-969 524.3611,-931.2093 571.1409,-937.5743 668.1026,-850 731.0327,-793.1625 770.9949,-698.1555 787.8344,-651.522"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="791.1418,-652.6671 791.1677,-642.0723 784.5405,-650.3385 791.1418,-652.6671"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_edge10"><a xlink:title="at key_certificate.go:232: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
|
||||
<path fill="none" stroke="#000000" d="M179.1608,-771.9389C188.1072,-768.4844 196.9981,-764.5112 205.101,-760 242.0423,-739.4332 238.3554,-713.4202 278.101,-699 314.4298,-685.8195 410.1854,-698.7747 482.2324,-711.5308"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="481.7713,-715.0039 492.2325,-713.3266 483.0087,-708.1141 481.7713,-715.0039"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="node26" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_node26"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize | defined in key_certificate.go:308 at key_certificate.go:323: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:328: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:320: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType] at key_certificate.go:331: calling [(*github.com/sirupsen/logrus.Logger).Debug] at key_certificate.go:325: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M377.452,-808C377.452,-808 299.9394,-808 299.9394,-808 293.9394,-808 287.9394,-802 287.9394,-796 287.9394,-796 287.9394,-784 287.9394,-784 287.9394,-778 293.9394,-772 299.9394,-772 299.9394,-772 377.452,-772 377.452,-772 383.452,-772 389.452,-778 389.452,-784 389.452,-784 389.452,-796 389.452,-796 389.452,-802 383.452,-808 377.452,-808"/>
|
||||
<text text-anchor="middle" x="338.6957" y="-785.8" font-family="Verdana" font-size="14.00" fill="#000000">SignatureSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_edge33"><a xlink:title="at key_certificate.go:237: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
|
||||
<path fill="none" stroke="#000000" d="M205.3958,-790C229.5957,-790 255.1662,-790 277.3684,-790"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="277.6448,-793.5001 287.6448,-790 277.6447,-786.5001 277.6448,-793.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge11"><a xlink:title="at key_certificate.go:323: calling [(*github.com/go-i2p/logger.Logger).WithFields] at key_certificate.go:328: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M375.8587,-808.2143C393.6287,-816.5905 415.3328,-826.3426 435.2904,-834 542.9578,-875.3102 672.6115,-913.453 743.777,-933.4278"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="743.2698,-936.9201 753.8429,-936.2413 745.1542,-930.1785 743.2698,-936.9201"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge45"><a xlink:title="at key_certificate.go:325: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M362.379,-808.0007C388.7396,-827.803 432.8315,-860.236 472.2904,-886 572.4968,-951.428 599.1366,-965.5171 704.1026,-1023 721.629,-1032.598 741.3434,-1042.6696 758.0891,-1051.0166"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="756.5402,-1054.1552 767.0541,-1055.4624 759.6502,-1047.8839 756.5402,-1054.1552"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge32"><a xlink:title="at key_certificate.go:331: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M389.6092,-800.6705C404.284,-803.2803 420.3629,-805.6964 435.2904,-807 539.28,-816.0809 572.5848,-818.1029 668.1026,-776 724.1995,-751.2732 764.3986,-687.971 783.8368,-651.3294"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="787.0763,-652.6838 788.5471,-642.1916 780.8543,-649.4765 787.0763,-652.6838"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_edge31"><a xlink:title="at key_certificate.go:320: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
|
||||
<path fill="none" stroke="#000000" d="M389.4995,-776.6133C419.4211,-768.729 457.9034,-758.589 491.6603,-749.6941"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="492.7279,-753.0324 501.506,-747.0998 490.9442,-746.2634 492.7279,-753.0324"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 82 KiB |
@@ -14,7 +14,7 @@ func TestSigningPublicKeyTypeReturnsCorrectInteger(t *testing.T) {
|
||||
assert.Nil(err)
|
||||
|
||||
pk_type := key_cert.SigningPublicKeyType()
|
||||
assert.Equal(KEYCERT_SIGN_ED25519, pk_type, "SigningPublicKeyType() did not return correct type")
|
||||
assert.Equal(KEYCERT_SIGN_P521, pk_type, "SigningPublicKeyType() did not return correct type")
|
||||
}
|
||||
|
||||
func TestSigningPublicKeyTypeWithInvalidData(t *testing.T) {
|
||||
@@ -44,7 +44,7 @@ func TestPublicKeyTypeWithInvalidData(t *testing.T) {
|
||||
// Test with invalid short data
|
||||
key_cert, _, err := NewKeyCertificate([]byte{0x05, 0x00, 0x02})
|
||||
assert.NotNil(err)
|
||||
assert.Contains(err.Error(), "key certificate data too short", "Expected error for invalid data")
|
||||
assert.Contains(err.Error(), "certificate parsing warning: certificate data is shorter than specified by length", "Expected error for invalid data")
|
||||
assert.Nil(key_cert)
|
||||
}
|
||||
|
||||
@@ -61,6 +61,7 @@ func TestConstructPublicKeyWithInsufficientData(t *testing.T) {
|
||||
assert.NotNil(err)
|
||||
assert.Equal("error constructing public key: not enough data", err.Error())
|
||||
}
|
||||
|
||||
func TestConstructPublicKeyReturnsCorrectDataWithElg(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
|
116
lib/common/keys_and_cert/README.md
Normal file
@@ -0,0 +1,116 @@
|
||||
# keys_and_cert
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
|
||||

|
||||
|
||||
Package keys_and_cert implements the I2P KeysAndCert common data structure
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const (
|
||||
KEYS_AND_CERT_PUBKEY_SIZE = 256
|
||||
KEYS_AND_CERT_SPK_SIZE = 128
|
||||
KEYS_AND_CERT_MIN_SIZE = 387
|
||||
KEYS_AND_CERT_DATA_SIZE = 384
|
||||
)
|
||||
```
|
||||
Sizes of various KeysAndCert structures and requirements
|
||||
|
||||
#### type KeysAndCert
|
||||
|
||||
```go
|
||||
type KeysAndCert struct {
|
||||
KeyCertificate *KeyCertificate
|
||||
ReceivingPublic crypto.RecievingPublicKey
|
||||
Padding []byte
|
||||
SigningPublic crypto.SigningPublicKey
|
||||
}
|
||||
```
|
||||
|
||||
KeysAndCert is the represenation of an I2P KeysAndCert.
|
||||
|
||||
https://geti2p.net/spec/common-structures#keysandcert
|
||||
|
||||
#### func NewKeysAndCert
|
||||
|
||||
```go
|
||||
func NewKeysAndCert(
|
||||
keyCertificate *KeyCertificate,
|
||||
publicKey crypto.RecievingPublicKey,
|
||||
padding []byte,
|
||||
signingPublicKey crypto.SigningPublicKey,
|
||||
) (*KeysAndCert, error)
|
||||
```
|
||||
NewKeysAndCert creates a new KeysAndCert instance with the provided parameters.
|
||||
It validates the sizes of the provided keys and padding before assembling the
|
||||
struct.
|
||||
|
||||
#### func ReadKeysAndCert
|
||||
|
||||
```go
|
||||
func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte, err error)
|
||||
```
|
||||
ReadKeysAndCert creates a new *KeysAndCert from []byte using ReadKeysAndCert.
|
||||
Returns a pointer to KeysAndCert unlike ReadKeysAndCert.
|
||||
|
||||
#### func ReadKeysAndCertElgAndEd25519
|
||||
|
||||
```go
|
||||
func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remainder []byte, err error)
|
||||
```
|
||||
|
||||
#### func (KeysAndCert) Bytes
|
||||
|
||||
```go
|
||||
func (keys_and_cert KeysAndCert) Bytes() []byte
|
||||
```
|
||||
Bytes returns the entire keyCertificate in []byte form, trims payload to
|
||||
specified length.
|
||||
|
||||
#### func (*KeysAndCert) Certificate
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) Certificate() (cert Certificate)
|
||||
```
|
||||
Certfificate returns the certificate.
|
||||
|
||||
#### func (*KeysAndCert) PublicKey
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) PublicKey() (key crypto.RecievingPublicKey)
|
||||
```
|
||||
publicKey returns the public key as a crypto.publicKey.
|
||||
|
||||
#### func (*KeysAndCert) SigningPublicKey
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) SigningPublicKey() (signing_public_key crypto.SigningPublicKey)
|
||||
```
|
||||
signingPublicKey returns the signing public key.
|
||||
|
||||
#### type PrivateKeysAndCert
|
||||
|
||||
```go
|
||||
type PrivateKeysAndCert struct {
|
||||
KeysAndCert
|
||||
PK_KEY crypto.PrivateKey
|
||||
SPK_KEY crypto.PrivateKey
|
||||
}
|
||||
```
|
||||
|
||||
PrivateKeysAndCert contains a KeysAndCert along with the corresponding private
|
||||
keys for the Public Key and the Signing Public Key
|
||||
|
||||
#### func NewPrivateKeysAndCert
|
||||
|
||||
```go
|
||||
func NewPrivateKeysAndCert() (*PrivateKeysAndCert, error)
|
||||
```
|
||||
|
||||
|
||||
|
||||
keys_and_cert
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/keys_and_cert
|
@@ -1,66 +0,0 @@
|
||||
# keys_and_cert
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
|
||||
Package keys_and_cert implements the I2P KeysAndCert common data structure
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const (
|
||||
KEYS_AND_CERT_PUBKEY_SIZE = 256
|
||||
KEYS_AND_CERT_SPK_SIZE = 128
|
||||
KEYS_AND_CERT_MIN_SIZE = 387
|
||||
KEYS_AND_CERT_DATA_SIZE = 384
|
||||
)
|
||||
```
|
||||
Sizes of various KeysAndCert structures and requirements
|
||||
|
||||
#### type KeysAndCert
|
||||
|
||||
```go
|
||||
type KeysAndCert struct {
|
||||
KeyCertificate *KeyCertificate
|
||||
}
|
||||
```
|
||||
|
||||
KeysAndCert is the represenation of an I2P KeysAndCert.
|
||||
|
||||
https://geti2p.net/spec/common-structures#keysandcert
|
||||
|
||||
#### func ReadKeysAndCert
|
||||
|
||||
```go
|
||||
func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte, err error)
|
||||
```
|
||||
ReadKeysAndCert creates a new *KeysAndCert from []byte using ReadKeysAndCert.
|
||||
Returns a pointer to KeysAndCert unlike ReadKeysAndCert.
|
||||
|
||||
#### func (KeysAndCert) Bytes
|
||||
|
||||
```go
|
||||
func (keys_and_cert KeysAndCert) Bytes() []byte
|
||||
```
|
||||
Bytes returns the entire KeyCertificate in []byte form, trims payload to
|
||||
specified length.
|
||||
|
||||
#### func (*KeysAndCert) Certificate
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) Certificate() (cert Certificate)
|
||||
```
|
||||
Certfificate returns the certificate.
|
||||
|
||||
#### func (*KeysAndCert) PublicKey
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) PublicKey() (key crypto.PublicKey)
|
||||
```
|
||||
PublicKey returns the public key as a crypto.PublicKey.
|
||||
|
||||
#### func (*KeysAndCert) SigningPublicKey
|
||||
|
||||
```go
|
||||
func (keys_and_cert *KeysAndCert) SigningPublicKey() (signing_public_key crypto.SigningPublicKey)
|
||||
```
|
||||
SigningPublicKey returns the signing public key.
|
@@ -2,10 +2,8 @@
|
||||
package keys_and_cert
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
. "github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
@@ -79,38 +77,59 @@ total length: 387+ bytes
|
||||
//
|
||||
// https://geti2p.net/spec/common-structures#keysandcert
|
||||
type KeysAndCert struct {
|
||||
KeyCertificate *KeyCertificate
|
||||
publicKey crypto.PublicKey
|
||||
Padding []byte
|
||||
signingPublicKey crypto.SigningPublicKey
|
||||
KeyCertificate *KeyCertificate
|
||||
ReceivingPublic crypto.RecievingPublicKey
|
||||
Padding []byte
|
||||
SigningPublic crypto.SigningPublicKey
|
||||
}
|
||||
|
||||
// Bytes returns the entire keyCertificate in []byte form, trims payload to specified length.
|
||||
func (keys_and_cert KeysAndCert) Bytes() []byte {
|
||||
bytes := keys_and_cert.publicKey.Bytes()
|
||||
bytes = append(bytes, keys_and_cert.Padding...)
|
||||
bytes = append(bytes, keys_and_cert.signingPublicKey.Bytes()...)
|
||||
bytes = append(bytes, keys_and_cert.KeyCertificate.Bytes()...)
|
||||
bytes := []byte{}
|
||||
rpublen := 0
|
||||
if keys_and_cert.ReceivingPublic != nil {
|
||||
bytes = append(bytes, keys_and_cert.ReceivingPublic.Bytes()...)
|
||||
rpublen = len(keys_and_cert.ReceivingPublic.Bytes())
|
||||
}
|
||||
// bytes = append(bytes, keys_and_cert.ReceivingPublic.Bytes()...)
|
||||
padlen := 0
|
||||
if keys_and_cert.Padding != nil {
|
||||
bytes = append(bytes, keys_and_cert.Padding...)
|
||||
padlen = len(keys_and_cert.Padding)
|
||||
}
|
||||
// bytes = append(bytes, keys_and_cert.Padding...)
|
||||
spublen := 0
|
||||
if keys_and_cert.SigningPublic != nil {
|
||||
bytes = append(bytes, keys_and_cert.SigningPublic.Bytes()...)
|
||||
spublen = len(keys_and_cert.SigningPublic.Bytes())
|
||||
}
|
||||
// bytes = append(bytes, keys_and_cert.SigningPublic.Bytes()...)
|
||||
certlen := 0
|
||||
if keys_and_cert.KeyCertificate != nil {
|
||||
bytes = append(bytes, keys_and_cert.KeyCertificate.Bytes()...)
|
||||
certlen = len(keys_and_cert.KeyCertificate.Bytes())
|
||||
}
|
||||
// bytes = append(bytes, keys_and_cert.KeyCertificate.Bytes()...)
|
||||
log.WithFields(logrus.Fields{
|
||||
"bytes": bytes,
|
||||
"padding": keys_and_cert.Padding,
|
||||
"bytes_length": len(bytes),
|
||||
"pk_bytes_length": len(keys_and_cert.publicKey.Bytes()),
|
||||
"padding_bytes_length": len(keys_and_cert.Padding),
|
||||
"spk_bytes_length": len(keys_and_cert.signingPublicKey.Bytes()),
|
||||
"cert_bytes_length": len(keys_and_cert.KeyCertificate.Bytes()),
|
||||
"pk_bytes_length": rpublen,
|
||||
"padding_bytes_length": padlen,
|
||||
"spk_bytes_length": spublen,
|
||||
"cert_bytes_length": certlen,
|
||||
}).Debug("Retrieved bytes from KeysAndCert")
|
||||
return bytes
|
||||
}
|
||||
|
||||
// publicKey returns the public key as a crypto.publicKey.
|
||||
func (keys_and_cert *KeysAndCert) PublicKey() (key crypto.PublicKey) {
|
||||
return keys_and_cert.publicKey
|
||||
func (keys_and_cert *KeysAndCert) PublicKey() (key crypto.RecievingPublicKey) {
|
||||
return keys_and_cert.ReceivingPublic
|
||||
}
|
||||
|
||||
// signingPublicKey returns the signing public key.
|
||||
func (keys_and_cert *KeysAndCert) SigningPublicKey() (signing_public_key crypto.SigningPublicKey) {
|
||||
return keys_and_cert.signingPublicKey
|
||||
return keys_and_cert.SigningPublic
|
||||
}
|
||||
|
||||
// Certfificate returns the certificate.
|
||||
@@ -120,10 +139,13 @@ func (keys_and_cert *KeysAndCert) Certificate() (cert Certificate) {
|
||||
|
||||
// ReadKeysAndCert creates a new *KeysAndCert from []byte using ReadKeysAndCert.
|
||||
// Returns a pointer to KeysAndCert unlike ReadKeysAndCert.
|
||||
func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte, err error) {
|
||||
func ReadKeysAndCert(data []byte) (*KeysAndCert, []byte, error) {
|
||||
log.WithFields(logrus.Fields{
|
||||
"input_length": len(data),
|
||||
}).Debug("Reading KeysAndCert from data")
|
||||
var err error
|
||||
var remainder []byte
|
||||
var keys_and_cert KeysAndCert
|
||||
|
||||
data_len := len(data)
|
||||
if data_len < KEYS_AND_CERT_MIN_SIZE {
|
||||
@@ -133,14 +155,14 @@ func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte,
|
||||
"required_len": KEYS_AND_CERT_MIN_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing keys and cert")
|
||||
err = errors.New("error parsing KeysAndCert: data is smaller than minimum valid size")
|
||||
return
|
||||
err = oops.Errorf("error parsing KeysAndCert: data is smaller than minimum valid size")
|
||||
return &keys_and_cert, remainder, err
|
||||
}
|
||||
|
||||
keys_and_cert.KeyCertificate, remainder, err = NewKeyCertificate(data[KEYS_AND_CERT_DATA_SIZE:])
|
||||
if err != nil {
|
||||
log.WithError(err).Error("Failed to create keyCertificate")
|
||||
return
|
||||
return &keys_and_cert, remainder, err
|
||||
}
|
||||
|
||||
// Get the actual key sizes from the certificate
|
||||
@@ -148,10 +170,10 @@ func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte,
|
||||
sigKeySize := keys_and_cert.KeyCertificate.SignatureSize()
|
||||
|
||||
// Construct public key
|
||||
keys_and_cert.publicKey, err = keys_and_cert.KeyCertificate.ConstructPublicKey(data[:pubKeySize])
|
||||
keys_and_cert.ReceivingPublic, err = keys_and_cert.KeyCertificate.ConstructPublicKey(data[:pubKeySize])
|
||||
if err != nil {
|
||||
log.WithError(err).Error("Failed to construct publicKey")
|
||||
return
|
||||
return &keys_and_cert, remainder, err
|
||||
}
|
||||
|
||||
// Calculate padding size and extract padding
|
||||
@@ -162,12 +184,12 @@ func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte,
|
||||
}
|
||||
|
||||
// Construct signing public key
|
||||
keys_and_cert.signingPublicKey, err = keys_and_cert.KeyCertificate.ConstructSigningPublicKey(
|
||||
keys_and_cert.SigningPublic, err = keys_and_cert.KeyCertificate.ConstructSigningPublicKey(
|
||||
data[KEYS_AND_CERT_DATA_SIZE-sigKeySize : KEYS_AND_CERT_DATA_SIZE],
|
||||
)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("Failed to construct signingPublicKey")
|
||||
return
|
||||
return &keys_and_cert, remainder, err
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{
|
||||
@@ -177,7 +199,7 @@ func ReadKeysAndCert(data []byte) (keys_and_cert KeysAndCert, remainder []byte,
|
||||
"remainder_length": len(remainder),
|
||||
}).Debug("Successfully read KeysAndCert")
|
||||
|
||||
return
|
||||
return &keys_and_cert, remainder, err
|
||||
}
|
||||
|
||||
func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remainder []byte, err error) {
|
||||
@@ -196,7 +218,7 @@ func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remain
|
||||
|
||||
dataLen := len(data)
|
||||
if dataLen < minDataLength {
|
||||
err = fmt.Errorf("error parsing KeysAndCert: data is smaller than minimum valid size, got %d bytes", dataLen)
|
||||
err = oops.Errorf("error parsing KeysAndCert: data is smaller than minimum valid size, got %d bytes", dataLen)
|
||||
log.WithError(err).Error("Data is smaller than minimum valid size")
|
||||
return
|
||||
}
|
||||
@@ -207,13 +229,13 @@ func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remain
|
||||
// Extract public key
|
||||
publicKeyData := data[:pubKeySize]
|
||||
if len(publicKeyData) != pubKeySize {
|
||||
err = errors.New("invalid ElGamal public key length")
|
||||
err = oops.Errorf("invalid ElGamal public key length")
|
||||
log.WithError(err).Error("Invalid ElGamal public key length")
|
||||
return
|
||||
}
|
||||
var elgPublicKey crypto.ElgPublicKey
|
||||
copy(elgPublicKey[:], publicKeyData)
|
||||
keysAndCert.publicKey = elgPublicKey
|
||||
keysAndCert.ReceivingPublic = elgPublicKey
|
||||
|
||||
// Extract padding
|
||||
paddingStart := pubKeySize
|
||||
@@ -223,12 +245,12 @@ func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remain
|
||||
// Extract signing public key
|
||||
signingPubKeyData := data[paddingEnd : paddingEnd+sigKeySize]
|
||||
if len(signingPubKeyData) != sigKeySize {
|
||||
err = errors.New("invalid Ed25519 public key length")
|
||||
err = oops.Errorf("invalid Ed25519 public key length")
|
||||
log.WithError(err).Error("Invalid Ed25519 public key length")
|
||||
return
|
||||
}
|
||||
edPublicKey := crypto.Ed25519PublicKey(signingPubKeyData)
|
||||
keysAndCert.signingPublicKey = edPublicKey
|
||||
keysAndCert.SigningPublic = edPublicKey
|
||||
|
||||
// Extract the certificate
|
||||
certData := data[totalKeySize:]
|
||||
@@ -248,18 +270,18 @@ func ReadKeysAndCertElgAndEd25519(data []byte) (keysAndCert *KeysAndCert, remain
|
||||
return
|
||||
}
|
||||
|
||||
func constructPublicKey(data []byte, cryptoType uint16) (crypto.PublicKey, error) {
|
||||
func constructPublicKey(data []byte, cryptoType uint16) (crypto.RecievingPublicKey, error) {
|
||||
switch cryptoType {
|
||||
case CRYPTO_KEY_TYPE_ELGAMAL:
|
||||
if len(data) != 256 {
|
||||
return nil, errors.New("invalid ElGamal public key length")
|
||||
return nil, oops.Errorf("invalid ElGamal public key length")
|
||||
}
|
||||
var elgPublicKey crypto.ElgPublicKey
|
||||
copy(elgPublicKey[:], data)
|
||||
return elgPublicKey, nil
|
||||
// Handle other crypto types...
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported crypto key type: %d", cryptoType)
|
||||
return nil, oops.Errorf("unsupported crypto key type: %d", cryptoType)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,12 +289,12 @@ func constructSigningPublicKey(data []byte, sigType uint16) (crypto.SigningPubli
|
||||
switch sigType {
|
||||
case SIGNATURE_TYPE_ED25519_SHA512:
|
||||
if len(data) != 32 {
|
||||
return nil, errors.New("invalid Ed25519 public key length")
|
||||
return nil, oops.Errorf("invalid Ed25519 public key length")
|
||||
}
|
||||
return crypto.Ed25519PublicKey(data), nil
|
||||
// Handle other signature types...
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported signature key type: %d", sigType)
|
||||
return nil, oops.Errorf("unsupported signature key type: %d", sigType)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -280,7 +302,7 @@ func constructSigningPublicKey(data []byte, sigType uint16) (crypto.SigningPubli
|
||||
// It validates the sizes of the provided keys and padding before assembling the struct.
|
||||
func NewKeysAndCert(
|
||||
keyCertificate *KeyCertificate,
|
||||
publicKey crypto.PublicKey,
|
||||
publicKey crypto.RecievingPublicKey,
|
||||
padding []byte,
|
||||
signingPublicKey crypto.SigningPublicKey,
|
||||
) (*KeysAndCert, error) {
|
||||
@@ -288,7 +310,7 @@ func NewKeysAndCert(
|
||||
|
||||
if keyCertificate == nil {
|
||||
log.Error("KeyCertificate is nil")
|
||||
return nil, errors.New("KeyCertificate cannot be nil")
|
||||
return nil, oops.Errorf("KeyCertificate cannot be nil")
|
||||
}
|
||||
|
||||
// Get actual key sizes from certificate
|
||||
@@ -296,21 +318,25 @@ func NewKeysAndCert(
|
||||
sigKeySize := keyCertificate.SignatureSize()
|
||||
|
||||
// Validate public key size
|
||||
if publicKey.Len() != pubKeySize {
|
||||
log.WithFields(logrus.Fields{
|
||||
"expected_size": pubKeySize,
|
||||
"actual_size": publicKey.Len(),
|
||||
}).Error("Invalid publicKey size")
|
||||
return nil, fmt.Errorf("publicKey has invalid size: expected %d, got %d", pubKeySize, publicKey.Len())
|
||||
if publicKey != nil {
|
||||
if publicKey.Len() != pubKeySize {
|
||||
log.WithFields(logrus.Fields{
|
||||
"expected_size": pubKeySize,
|
||||
"actual_size": publicKey.Len(),
|
||||
}).Error("Invalid publicKey size")
|
||||
return nil, oops.Errorf("publicKey has invalid size: expected %d, got %d", pubKeySize, publicKey.Len())
|
||||
}
|
||||
}
|
||||
|
||||
// Validate signing key size
|
||||
if signingPublicKey.Len() != sigKeySize {
|
||||
log.WithFields(logrus.Fields{
|
||||
"expected_size": sigKeySize,
|
||||
"actual_size": signingPublicKey.Len(),
|
||||
}).Error("Invalid signingPublicKey size")
|
||||
return nil, fmt.Errorf("signingPublicKey has invalid size: expected %d, got %d", sigKeySize, signingPublicKey.Len())
|
||||
if signingPublicKey != nil {
|
||||
// Validate signing key size
|
||||
if signingPublicKey.Len() != sigKeySize {
|
||||
log.WithFields(logrus.Fields{
|
||||
"expected_size": sigKeySize,
|
||||
"actual_size": signingPublicKey.Len(),
|
||||
}).Error("Invalid signingPublicKey size")
|
||||
return nil, oops.Errorf("signingPublicKey has invalid size: expected %d, got %d", sigKeySize, signingPublicKey.Len())
|
||||
}
|
||||
}
|
||||
|
||||
// Calculate expected padding size
|
||||
@@ -320,21 +346,21 @@ func NewKeysAndCert(
|
||||
"expected_size": expectedPaddingSize,
|
||||
"actual_size": len(padding),
|
||||
}).Error("Invalid padding size")
|
||||
return nil, fmt.Errorf("invalid padding size")
|
||||
return nil, oops.Errorf("invalid padding size")
|
||||
}
|
||||
|
||||
keysAndCert := &KeysAndCert{
|
||||
KeyCertificate: keyCertificate,
|
||||
publicKey: publicKey,
|
||||
Padding: padding,
|
||||
signingPublicKey: signingPublicKey,
|
||||
KeyCertificate: keyCertificate,
|
||||
ReceivingPublic: publicKey,
|
||||
Padding: padding,
|
||||
SigningPublic: signingPublicKey,
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{
|
||||
/*log.WithFields(logrus.Fields{
|
||||
"public_key_length": publicKey.Len(),
|
||||
"signing_public_key_length": signingPublicKey.Len(),
|
||||
"padding_length": len(padding),
|
||||
}).Debug("Successfully created KeysAndCert")
|
||||
}).Debug("Successfully created KeysAndCert")*/
|
||||
|
||||
return keysAndCert, nil
|
||||
}
|
||||
|
531
lib/common/keys_and_cert/keys_and_cert.svg
Normal file
@@ -0,0 +1,531 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="518pt" height="983pt"
|
||||
viewBox="0.00 0.00 517.94 983.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 983)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-983 517.944,-983 517.944,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-975 509.944,-975 509.944,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="258.972" y="-954.8" font-family="Arial" font-size="18.00" fill="#000000">keys_and_cert</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert</title>
|
||||
<g id="a_clust6"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M82.9783,-421C82.9783,-421 172.8647,-421 172.8647,-421 178.8647,-421 184.8647,-427 184.8647,-433 184.8647,-433 184.8647,-487 184.8647,-487 184.8647,-493 178.8647,-499 172.8647,-499 172.8647,-499 82.9783,-499 82.9783,-499 76.9783,-499 70.9783,-493 70.9783,-487 70.9783,-487 70.9783,-433 70.9783,-433 70.9783,-427 76.9783,-421 82.9783,-421"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-429.5" font-family="Arial" font-size="15.00" fill="#222222">(KeysAndCert)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate</title>
|
||||
<g id="a_clust5"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M316.843,-554C316.843,-554 489.944,-554 489.944,-554 495.944,-554 501.944,-560 501.944,-566 501.944,-566 501.944,-925 501.944,-925 501.944,-931 495.944,-937 489.944,-937 489.944,-937 316.843,-937 316.843,-937 310.843,-937 304.843,-931 304.843,-925 304.843,-925 304.843,-566 304.843,-566 304.843,-560 310.843,-554 316.843,-554"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-562.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M376.7329,-329C376.7329,-329 431.0541,-329 431.0541,-329 437.0541,-329 443.0541,-335 443.0541,-341 443.0541,-341 443.0541,-395 443.0541,-395 443.0541,-401 437.0541,-407 431.0541,-407 431.0541,-407 376.7329,-407 376.7329,-407 370.7329,-407 364.7329,-401 364.7329,-395 364.7329,-395 364.7329,-341 364.7329,-341 364.7329,-335 370.7329,-329 376.7329,-329"/>
|
||||
<text text-anchor="middle" x="403.8935" y="-337.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M364.2841,-121C364.2841,-121 442.5029,-121 442.5029,-121 448.5029,-121 454.5029,-127 454.5029,-133 454.5029,-133 454.5029,-309 454.5029,-309 454.5029,-315 448.5029,-321 442.5029,-321 442.5029,-321 364.2841,-321 364.2841,-321 358.2841,-321 352.2841,-315 352.2841,-309 352.2841,-309 352.2841,-133 352.2841,-133 352.2841,-127 358.2841,-121 364.2841,-121"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-129.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/certificate.Certificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M366.4152,-415C366.4152,-415 441.3718,-415 441.3718,-415 447.3718,-415 453.3718,-421 453.3718,-427 453.3718,-427 453.3718,-481 453.3718,-481 453.3718,-487 447.3718,-493 441.3718,-493 441.3718,-493 366.4152,-493 366.4152,-493 360.4152,-493 354.4152,-487 354.4152,-481 354.4152,-481 354.4152,-427 354.4152,-427 354.4152,-421 360.4152,-415 366.4152,-415"/>
|
||||
<text text-anchor="middle" x="403.8935" y="-423.5" font-family="Arial" font-size="15.00" fill="#222222">(*Certificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:142 at keys_and_cert.go:194: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType] at keys_and_cert.go:161: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:172: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:188: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:184: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey] at keys_and_cert.go:155: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType] at keys_and_cert.go:145: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:197: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:159: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate] at keys_and_cert.go:167: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize] at keys_and_cert.go:143: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:149: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:192: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:154: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:161: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:172: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:188: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:166: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize] at keys_and_cert.go:170: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M180.6624,-693C180.6624,-693 75.1806,-693 75.1806,-693 69.1806,-693 63.1806,-687 63.1806,-681 63.1806,-681 63.1806,-669 63.1806,-669 63.1806,-663 69.1806,-657 75.1806,-657 75.1806,-657 180.6624,-657 180.6624,-657 186.6624,-657 192.6624,-663 192.6624,-669 192.6624,-669 192.6624,-681 192.6624,-681 192.6624,-687 186.6624,-693 180.6624,-693"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-670.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M420.5888,-113C420.5888,-113 386.1982,-113 386.1982,-113 380.1982,-113 374.1982,-107 374.1982,-101 374.1982,-101 374.1982,-89 374.1982,-89 374.1982,-83 380.1982,-77 386.1982,-77 386.1982,-77 420.5888,-77 420.5888,-77 426.5888,-77 432.5888,-83 432.5888,-89 432.5888,-89 432.5888,-101 432.5888,-101 432.5888,-107 426.5888,-113 420.5888,-113"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/samber/oops.Errorf -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge8"><a xlink:title="at keys_and_cert.go:155: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M143.8627,-656.5842C168.659,-626.8653 216.0827,-565.521 239.843,-505 271.7913,-423.623 244.7054,-180.4538 304.843,-117 319.9046,-101.1079 343.7276,-95.4861 364.1779,-93.896"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.379,-97.3905 374.1957,-93.4052 364.0364,-90.3989 364.379,-97.3905"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate | defined in key_certificate.go:356">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M457.7212,-546C457.7212,-546 349.0658,-546 349.0658,-546 343.0658,-546 337.0658,-540 337.0658,-534 337.0658,-534 337.0658,-522 337.0658,-522 337.0658,-516 343.0658,-510 349.0658,-510 349.0658,-510 457.7212,-510 457.7212,-510 463.7212,-510 469.7212,-516 469.7212,-522 469.7212,-522 469.7212,-534 469.7212,-534 469.7212,-540 463.7212,-546 457.7212,-546"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-532.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-515.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeyCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate</title>
|
||||
<g id="a_edge15"><a xlink:title="at keys_and_cert.go:159: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M192.97,-674.8638C221.8889,-671.5212 254.395,-662.7751 276.843,-642 308.2115,-612.9693 273.4972,-579.0553 304.843,-550 311.3352,-543.9822 319.1006,-539.4824 327.3843,-536.136"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="328.6168,-539.4132 336.9169,-532.8284 326.3221,-532.7999 328.6168,-539.4132"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M434.6126,-252C434.6126,-252 372.1744,-252 372.1744,-252 366.1744,-252 360.1744,-246 360.1744,-240 360.1744,-240 360.1744,-228 360.1744,-228 360.1744,-222 366.1744,-216 372.1744,-216 372.1744,-216 434.6126,-216 434.6126,-216 440.6126,-216 446.6126,-222 446.6126,-228 446.6126,-228 446.6126,-240 446.6126,-240 446.6126,-246 440.6126,-252 434.6126,-252"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge19"><a xlink:title="at keys_and_cert.go:143: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:149: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:192: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M166.7371,-656.9252C201.9987,-638.2568 252.1576,-605.5781 276.843,-561 308.9578,-503.0055 262.9195,-315.3531 304.843,-264 316.0468,-250.2762 333.3358,-242.6814 350.3232,-238.5271"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="351.1673,-241.9265 360.242,-236.4584 349.7381,-235.0739 351.1673,-241.9265"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M421.1598,-191C421.1598,-191 385.6272,-191 385.6272,-191 379.6272,-191 373.6272,-185 373.6272,-179 373.6272,-179 373.6272,-167 373.6272,-167 373.6272,-161 379.6272,-155 385.6272,-155 385.6272,-155 421.1598,-155 421.1598,-155 427.1598,-155 433.1598,-161 433.1598,-167 433.1598,-167 433.1598,-179 433.1598,-179 433.1598,-185 427.1598,-191 421.1598,-191"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge20"><a xlink:title="at keys_and_cert.go:154: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:161: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:172: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:188: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M157.5401,-656.8334C192.8637,-633.3427 250.4401,-588.8608 276.843,-534 308.8552,-467.4842 258.4356,-260.4063 304.843,-203 318.886,-185.6287 342.6844,-178.0668 363.3765,-174.8776"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.0468,-178.3211 373.5362,-173.6093 363.1797,-171.375 364.0468,-178.3211"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.925,-313C431.925,-313 374.862,-313 374.862,-313 368.862,-313 362.862,-307 362.862,-301 362.862,-301 362.862,-289 362.862,-289 362.862,-283 368.862,-277 374.862,-277 374.862,-277 431.925,-277 431.925,-277 437.925,-277 443.925,-283 443.925,-289 443.925,-289 443.925,-301 443.925,-301 443.925,-307 437.925,-313 431.925,-313"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge4"><a xlink:title="at keys_and_cert.go:161: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:172: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:188: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M183.7946,-656.9047C216.4688,-643.2906 255.3921,-621.1975 276.843,-588 341.1192,-488.5262 228.5804,-413.6117 304.843,-323 316.6193,-309.0079 334.8337,-301.7386 352.4149,-298.0489"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="353.3895,-301.4318 362.6397,-296.2663 352.1872,-294.5359 353.3895,-301.4318"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M422.2155,-399C422.2155,-399 384.5715,-399 384.5715,-399 378.5715,-399 372.5715,-393 372.5715,-387 372.5715,-387 372.5715,-375 372.5715,-375 372.5715,-369 378.5715,-363 384.5715,-363 384.5715,-363 422.2155,-363 422.2155,-363 428.2155,-363 434.2155,-369 434.2155,-375 434.2155,-375 434.2155,-387 434.2155,-387 434.2155,-393 428.2155,-399 422.2155,-399"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-385.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-368.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge14"><a xlink:title="at keys_and_cert.go:145: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:197: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M192.7169,-664.3298C222.8565,-655.9798 256.4681,-641.1747 276.843,-615 333.5988,-542.0887 244.2982,-478.7969 304.843,-409 319.1007,-392.5635 342.2361,-385.4419 362.5088,-382.486"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="362.9564,-385.9576 372.4822,-381.3197 362.1433,-379.005 362.9564,-385.9576"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="node15" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_node15"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize | defined in key_certificate.go:336">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M445.0648,-685C445.0648,-685 361.7222,-685 361.7222,-685 355.7222,-685 349.7222,-679 349.7222,-673 349.7222,-673 349.7222,-661 349.7222,-661 349.7222,-655 355.7222,-649 361.7222,-649 361.7222,-649 445.0648,-649 445.0648,-649 451.0648,-649 457.0648,-655 457.0648,-661 457.0648,-661 457.0648,-673 457.0648,-673 457.0648,-679 451.0648,-685 445.0648,-685"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-671.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-654.4" font-family="Verdana" font-size="14.00" fill="#000000">CryptoSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_edge21"><a xlink:title="at keys_and_cert.go:166: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M192.6966,-691.3183C218.7969,-696.016 249.2118,-699.1254 276.843,-696 297.5359,-693.6594 319.7758,-689.231 339.7508,-684.5266"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="340.7669,-687.8818 349.6628,-682.1273 339.12,-681.0783 340.7669,-687.8818"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="node16" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_node16"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize | defined in key_certificate.go:308">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M445.0648,-624C445.0648,-624 361.7222,-624 361.7222,-624 355.7222,-624 349.7222,-618 349.7222,-612 349.7222,-612 349.7222,-600 349.7222,-600 349.7222,-594 355.7222,-588 361.7222,-588 361.7222,-588 445.0648,-588 445.0648,-588 451.0648,-588 457.0648,-594 457.0648,-600 457.0648,-600 457.0648,-612 457.0648,-612 457.0648,-618 451.0648,-624 445.0648,-624"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-610.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-593.4" font-family="Verdana" font-size="14.00" fill="#000000">SignatureSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_edge16"><a xlink:title="at keys_and_cert.go:167: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M192.9302,-683.3546C220.0593,-684.1156 251.1657,-681.2808 276.843,-669 293.8915,-660.8461 289.0186,-647.3307 304.843,-637 315.4495,-630.0758 327.7038,-624.6127 339.8897,-620.3316"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="341.2013,-623.585 349.6151,-617.1462 339.0224,-616.9327 341.2013,-623.585"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey -->
|
||||
<g id="node17" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title>
|
||||
<g id="a_node17"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey | defined in key_certificate.go:136">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M459.9315,-868C459.9315,-868 346.8555,-868 346.8555,-868 340.8555,-868 334.8555,-862 334.8555,-856 334.8555,-856 334.8555,-844 334.8555,-844 334.8555,-838 340.8555,-832 346.8555,-832 346.8555,-832 459.9315,-832 459.9315,-832 465.9315,-832 471.9315,-838 471.9315,-844 471.9315,-844 471.9315,-856 471.9315,-856 471.9315,-862 465.9315,-868 459.9315,-868"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-854.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-837.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey</title>
|
||||
<g id="a_edge29"><a xlink:title="at keys_and_cert.go:170: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructPublicKey]">
|
||||
<path fill="none" stroke="#8b4513" d="M145.2786,-693.2912C175.1374,-723.7533 239.3534,-784.9819 304.843,-820 311.2403,-823.4207 318.0845,-826.5106 325.0734,-829.2886"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="324.0727,-832.6513 334.665,-832.8853 326.5305,-826.097 324.0727,-832.6513"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey -->
|
||||
<g id="node18" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title>
|
||||
<g id="a_node18"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey | defined in key_certificate.go:228">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M481.9945,-929C481.9945,-929 324.7925,-929 324.7925,-929 318.7925,-929 312.7925,-923 312.7925,-917 312.7925,-917 312.7925,-905 312.7925,-905 312.7925,-899 318.7925,-893 324.7925,-893 324.7925,-893 481.9945,-893 481.9945,-893 487.9945,-893 493.9945,-899 493.9945,-905 493.9945,-905 493.9945,-917 493.9945,-917 493.9945,-923 487.9945,-929 481.9945,-929"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-915.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-898.4" font-family="Verdana" font-size="14.00" fill="#000000">ConstructSigningPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey</title>
|
||||
<g id="a_edge5"><a xlink:title="at keys_and_cert.go:184: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).ConstructSigningPublicKey]">
|
||||
<path fill="none" stroke="#8b4513" d="M138.4625,-693.1607C162.6348,-733.2019 226.0876,-829.588 304.843,-881 309.1779,-883.8298 313.7924,-886.4033 318.5678,-888.7421"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="317.3636,-892.0384 327.9186,-892.9564 320.2399,-885.6566 317.3636,-892.0384"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="node19" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_node19"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:126">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.2604,-746C447.2604,-746 359.5266,-746 359.5266,-746 353.5266,-746 347.5266,-740 347.5266,-734 347.5266,-734 347.5266,-722 347.5266,-722 347.5266,-716 353.5266,-710 359.5266,-710 359.5266,-710 447.2604,-710 447.2604,-710 453.2604,-710 459.2604,-716 459.2604,-722 459.2604,-722 459.2604,-734 459.2604,-734 459.2604,-740 453.2604,-746 447.2604,-746"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-732.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-715.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_edge9"><a xlink:title="at keys_and_cert.go:193: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
|
||||
<path fill="none" stroke="#8b4513" d="M192.8557,-687.4931C236.389,-695.8688 293.5386,-706.8642 337.309,-715.2855"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="336.8,-718.7517 347.2812,-717.2042 338.1226,-711.8778 336.8,-718.7517"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="node20" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_node20"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:117">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M469.3247,-807C469.3247,-807 337.4623,-807 337.4623,-807 331.4623,-807 325.4623,-801 325.4623,-795 325.4623,-795 325.4623,-783 325.4623,-783 325.4623,-777 331.4623,-771 337.4623,-771 337.4623,-771 469.3247,-771 469.3247,-771 475.3247,-771 481.3247,-777 481.3247,-783 481.3247,-783 481.3247,-795 481.3247,-795 481.3247,-801 475.3247,-807 469.3247,-807"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-793.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-776.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_edge1"><a xlink:title="at keys_and_cert.go:194: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
|
||||
<path fill="none" stroke="#8b4513" d="M162.1682,-693.1217C197.3304,-711.2817 253.9512,-739.2968 304.843,-759 312.8408,-762.0964 321.3002,-765.0854 329.7677,-767.8986"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="328.715,-771.2366 339.3071,-770.9965 330.8771,-764.5789 328.715,-771.2366"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey | defined in keys_and_cert.go:285 at keys_and_cert.go:294: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:289: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M204.9005,-174C204.9005,-174 50.9425,-174 50.9425,-174 44.9425,-174 38.9425,-168 38.9425,-162 38.9425,-162 38.9425,-150 38.9425,-150 38.9425,-144 44.9425,-138 50.9425,-138 50.9425,-138 204.9005,-138 204.9005,-138 210.9005,-138 216.9005,-144 216.9005,-150 216.9005,-150 216.9005,-162 216.9005,-162 216.9005,-168 210.9005,-174 204.9005,-174"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">constructSigningPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey->github.com/samber/oops.Errorf -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructSigningPublicKey->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge30"><a xlink:title="at keys_and_cert.go:294: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:289: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M193.0243,-137.9766C208.3786,-133.7234 224.6885,-129.2035 239.843,-125 255.8446,-120.5615 259.6133,-118.5143 275.843,-115 305.2057,-108.642 338.7862,-103.4592 364.1189,-99.9639"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.6464,-103.4246 374.0875,-98.6167 363.7088,-96.4876 364.6464,-103.4246"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey | defined in keys_and_cert.go:270 at keys_and_cert.go:281: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:274: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M183.3373,-113C183.3373,-113 72.5057,-113 72.5057,-113 66.5057,-113 60.5057,-107 60.5057,-101 60.5057,-101 60.5057,-89 60.5057,-89 60.5057,-83 66.5057,-77 72.5057,-77 72.5057,-77 183.3373,-77 183.3373,-77 189.3373,-77 195.3373,-83 195.3373,-89 195.3373,-89 195.3373,-101 195.3373,-101 195.3373,-107 189.3373,-113 183.3373,-113"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">constructPublicKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey->github.com/samber/oops.Errorf -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.constructPublicKey->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge25"><a xlink:title="at keys_and_cert.go:281: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:274: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M195.3627,-89.6985C220.8813,-88.2528 250.1937,-87.2635 276.843,-88 306.0974,-88.8085 339.1122,-90.6663 364.084,-92.2649"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.0523,-95.7702 374.2594,-92.9303 364.5091,-88.7851 364.0523,-95.7702"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init | defined in .:0 at keys_and_cert.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M142.9215,-52C142.9215,-52 112.9215,-52 112.9215,-52 106.9215,-52 100.9215,-46 100.9215,-40 100.9215,-40 100.9215,-28 100.9215,-28 100.9215,-22 106.9215,-16 112.9215,-16 112.9215,-16 142.9215,-16 142.9215,-16 148.9215,-16 154.9215,-22 154.9215,-28 154.9215,-28 154.9215,-40 154.9215,-40 154.9215,-46 148.9215,-52 142.9215,-52"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M452.083,-52C452.083,-52 354.704,-52 354.704,-52 348.704,-52 342.704,-46 342.704,-40 342.704,-40 342.704,-28 342.704,-28 342.704,-22 348.704,-16 354.704,-16 354.704,-16 452.083,-16 452.083,-16 458.083,-16 464.083,-22 464.083,-28 464.083,-28 464.083,-40 464.083,-40 464.083,-46 458.083,-52 452.083,-52"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge22"><a xlink:title="at keys_and_cert.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M155.0887,-34C195.9363,-34 274.546,-34 332.4167,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="332.6037,-37.5001 342.6036,-34 332.6036,-30.5001 332.6037,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 -->
|
||||
<g id="node8" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519</title>
|
||||
<g id="a_node8"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519 | defined in keys_and_cert.go:202 at keys_and_cert.go:203: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:260: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:205: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:265: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:218: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:229: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:245: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:219: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:230: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:246: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:256: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:219: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:230: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:246: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:256: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:254: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M227.7646,-235C227.7646,-235 28.0784,-235 28.0784,-235 22.0784,-235 16.0784,-229 16.0784,-223 16.0784,-223 16.0784,-211 16.0784,-211 16.0784,-205 22.0784,-199 28.0784,-199 28.0784,-199 227.7646,-199 227.7646,-199 233.7646,-199 239.7646,-205 239.7646,-211 239.7646,-211 239.7646,-223 239.7646,-223 239.7646,-229 233.7646,-235 227.7646,-235"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-212.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCertElgAndEd25519</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/samber/oops.Errorf -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge10"><a xlink:title="at keys_and_cert.go:218: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:229: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:245: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M212.5176,-198.9808C222.0613,-195.3874 231.3831,-191.1025 239.843,-186 275.9199,-164.2407 268.2275,-137.8402 304.843,-117 322.8401,-106.7567 345.2113,-101.2823 364.0882,-98.3568"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.7318,-101.8015 374.1658,-96.9797 363.784,-94.8659 364.7318,-101.8015"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate</title>
|
||||
<g id="a_edge18"><a xlink:title="at keys_and_cert.go:254: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.NewKeyCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M152.985,-235.2962C177.7252,-254.4015 215.3117,-286.3687 239.843,-321 263.6588,-354.6212 262.657,-367.3175 276.843,-406 291.7054,-446.5268 274.2247,-468.5726 304.843,-499 311.3462,-505.4626 319.2114,-510.4991 327.6295,-514.4217"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="326.3633,-517.6853 336.9427,-518.2557 329.028,-511.2124 326.3633,-517.6853"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge2"><a xlink:title="at keys_and_cert.go:203: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:260: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M197.2721,-198.9469C222.3516,-194.6033 250.8809,-192.1862 276.843,-196 284.4717,-197.1206 318.9934,-207.5456 350.0558,-217.1927"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="349.3926,-220.6519 359.981,-220.2847 351.4747,-213.9687 349.3926,-220.6519"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge12"><a xlink:title="at keys_and_cert.go:219: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:230: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:246: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:256: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M222.8962,-198.9676C240.4749,-195.8282 258.6953,-192.7061 275.843,-190 304.9989,-185.3989 338.0353,-181.0188 363.1803,-177.8572"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="363.9484,-181.2887 373.4393,-176.5798 363.0834,-174.3424 363.9484,-181.2887"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge11"><a xlink:title="at keys_and_cert.go:219: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:230: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:246: calling [(*github.com/go-i2p/logger.Logger).WithError] at keys_and_cert.go:256: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M240.0357,-210.2228C252.9491,-212.6803 265.5262,-216.73 276.843,-223 296.1446,-233.694 287.12,-250.8543 304.843,-264 318.8008,-274.353 336.3101,-281.3098 352.6832,-285.9582"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="352.1297,-289.4308 362.6891,-288.564 353.8939,-282.6567 352.1297,-289.4308"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCertElgAndEd25519->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge6"><a xlink:title="at keys_and_cert.go:205: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:265: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M240.0563,-228.7418C253.4889,-233.7787 266.1921,-240.6576 276.843,-250 304.2186,-274.0125 281.1301,-299.3644 304.843,-327 320.2372,-344.9408 343.1376,-357.996 362.9895,-366.7711"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="361.8684,-370.0962 372.4438,-370.7377 364.5766,-363.6413 361.8684,-370.0962"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert -->
|
||||
<g id="node9" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
|
||||
<g id="a_node9"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:300 at keys_and_cert.go:315: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize] at keys_and_cert.go:310: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:324: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:335: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:346: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:314: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize] at keys_and_cert.go:306: calling [(*github.com/sirupsen/logrus.Logger).Debug] at keys_and_cert.go:309: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:323: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:334: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:345: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:320: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:331: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:342: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M179.8247,-369C179.8247,-369 76.0183,-369 76.0183,-369 70.0183,-369 64.0183,-363 64.0183,-357 64.0183,-357 64.0183,-345 64.0183,-345 64.0183,-339 70.0183,-333 76.0183,-333 76.0183,-333 179.8247,-333 179.8247,-333 185.8247,-333 191.8247,-339 191.8247,-345 191.8247,-345 191.8247,-357 191.8247,-357 191.8247,-363 185.8247,-369 179.8247,-369"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-346.8" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->github.com/samber/oops.Errorf -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge7"><a xlink:title="at keys_and_cert.go:310: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:324: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:335: calling [github.com/samber/oops.Errorf] at keys_and_cert.go:346: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M152.1441,-332.7848C176.5748,-313.5026 214.2421,-281.1803 239.843,-247 259.2056,-221.1485 279.3945,-136.8893 304.843,-117 321.5858,-103.9146 344.5681,-98.2886 364.1275,-95.9917"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.6506,-99.4584 374.2856,-95.052 364.0057,-92.4881 364.6506,-99.4584"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge28"><a xlink:title="at keys_and_cert.go:320: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:331: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:342: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M191.7116,-348.8837C220.192,-345.1015 252.6964,-336.5574 276.843,-318 298.2784,-301.5262 284.0613,-281.2911 304.843,-264 317.7082,-253.2957 334.3362,-246.4085 350.257,-241.9781"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="351.1905,-245.3525 360.0386,-239.5249 349.4876,-238.5627 351.1905,-245.3525"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge27"><a xlink:title="at keys_and_cert.go:309: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:323: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:334: calling [(*github.com/go-i2p/logger.Logger).Error] at keys_and_cert.go:345: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M191.9642,-338.4004C221.3678,-329.6201 254.5678,-315.0105 276.843,-291 304.7572,-260.9111 275.6395,-231.8392 304.843,-203 320.3392,-187.6971 343.392,-180.1646 363.306,-176.4727"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="364.0507,-179.8983 373.377,-174.8713 362.9514,-172.9852 364.0507,-179.8983"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge26"><a xlink:title="at keys_and_cert.go:306: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M191.8127,-357.958C244.4538,-363.6908 317.5263,-371.6487 362.5692,-376.5541"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="362.2418,-380.039 372.562,-377.6423 362.9997,-373.0802 362.2418,-380.039"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_edge13"><a xlink:title="at keys_and_cert.go:314: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M177.0131,-369.0656C199.059,-379.4364 223.6889,-394.5297 239.843,-415 303.5319,-495.7057 232.5349,-563.9164 304.843,-637 314.3655,-646.6246 326.8741,-653.1804 339.77,-657.6406"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="339.0779,-661.0887 349.664,-660.6591 341.1205,-654.3933 339.0779,-661.0887"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_edge3"><a xlink:title="at keys_and_cert.go:315: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M191.6882,-362.1355C221.9523,-370.7126 255.9784,-385.7562 276.843,-412 325.0422,-472.6256 251.6954,-527.6622 304.843,-584 314.0457,-593.7551 326.5488,-599.6446 339.5579,-603.1076"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="339.04,-606.5773 349.5584,-605.3067 340.5435,-599.7406 339.04,-606.5773"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes | defined in certificate.go:100">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M431.3501,-485C431.3501,-485 375.4369,-485 375.4369,-485 369.4369,-485 363.4369,-479 363.4369,-473 363.4369,-473 363.4369,-461 363.4369,-461 363.4369,-455 369.4369,-449 375.4369,-449 375.4369,-449 431.3501,-449 431.3501,-449 437.3501,-449 443.3501,-455 443.3501,-461 443.3501,-461 443.3501,-473 443.3501,-473 443.3501,-479 437.3501,-485 431.3501,-485"/>
|
||||
<text text-anchor="middle" x="403.3935" y="-471.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="403.3935" y="-454.4" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes -->
|
||||
<g id="node21" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes</title>
|
||||
<g id="a_node21"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes | defined in keys_and_cert.go:87 at keys_and_cert.go:113: calling [(*github.com/go-i2p/logger.Logger).WithFields] at keys_and_cert.go:109: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes] at keys_and_cert.go:110: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes] at keys_and_cert.go:121: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M143.808,-491C143.808,-491 112.035,-491 112.035,-491 106.035,-491 100.035,-485 100.035,-479 100.035,-479 100.035,-467 100.035,-467 100.035,-461 106.035,-455 112.035,-455 112.035,-455 143.808,-455 143.808,-455 149.808,-455 155.808,-461 155.808,-467 155.808,-467 155.808,-479 155.808,-479 155.808,-485 149.808,-491 143.808,-491"/>
|
||||
<text text-anchor="middle" x="127.9215" y="-468.8" font-family="Verdana" font-size="14.00" fill="#000000">Bytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes</title>
|
||||
<g id="a_edge23"><a xlink:title="at keys_and_cert.go:109: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes] at keys_and_cert.go:110: calling [(*github.com/go-i2p/go-i2p/lib/common/certificate.Certificate).Bytes]">
|
||||
<path fill="none" stroke="#8b4513" d="M155.9212,-475.9548C185.8556,-478.7304 234.709,-482.1584 276.843,-480 302.1093,-478.7057 330.1021,-475.9668 353.3226,-473.3353"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="353.7632,-476.8078 363.2935,-472.1792 352.9568,-469.8544 353.7632,-476.8078"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge17"><a xlink:title="at keys_and_cert.go:113: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M155.98,-475.87C190.0003,-477.6345 246.5359,-474.7391 276.843,-441 330.0662,-381.7497 252.5607,-324.0821 304.843,-264 316.3746,-250.7481 333.5651,-243.2488 350.3744,-239.0387"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="351.1457,-242.4529 360.1818,-236.9213 349.6684,-235.6106 351.1457,-242.4529"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/keys_and_cert.KeysAndCert).Bytes->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge24"><a xlink:title="at keys_and_cert.go:121: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M155.8096,-475.9198C187.6346,-477.8339 240.0275,-476.5344 276.843,-453 296.3729,-440.5154 286.2571,-422.8509 304.843,-409 321.526,-396.5672 343.5395,-389.6503 362.5288,-385.8042"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="363.2084,-389.2382 372.4256,-384.014 361.9623,-382.35 363.2084,-389.2382"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 56 KiB |
@@ -2,6 +2,7 @@ package keys_and_cert
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/ed25519"
|
||||
"crypto/rand"
|
||||
"testing"
|
||||
|
||||
@@ -32,8 +33,15 @@ func TestCertificateWithMissingData(t *testing.T) {
|
||||
// createValidKeyCertificate creates a valid KeyCertificate for testing.
|
||||
func createValidKeyAndCert(t *testing.T) *KeysAndCert {
|
||||
// Generate signing key pair (Ed25519)
|
||||
var ed25519_privkey crypto.Ed25519PrivateKey
|
||||
_, err := (&ed25519_privkey).Generate()
|
||||
//var ed25519_privkey crypto.Ed25519PrivateKey
|
||||
_, priv, err := ed25519.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate Ed25519 private %s", err)
|
||||
}
|
||||
// Copy the full private key (includes public key)
|
||||
ed25519_privkey := make(crypto.Ed25519PrivateKey, ed25519.PrivateKeySize)
|
||||
copy(ed25519_privkey, priv)
|
||||
//_, err = (ed25519_privkey).Generate()
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate Ed25519 private key: %v\n", err)
|
||||
}
|
||||
@@ -103,7 +111,7 @@ func createValidKeyAndCert(t *testing.T) *KeysAndCert {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
t.Logf("pubkey bytes after NewKeysAndCert: %v\n", keysAndCert.signingPublicKey.Bytes())
|
||||
t.Logf("pubkey bytes after NewKeysAndCert: %v\n", keysAndCert.SigningPublic.Bytes())
|
||||
|
||||
return keysAndCert
|
||||
}
|
||||
@@ -122,9 +130,9 @@ func TestCertificateWithValidDataElgAndEd25519(t *testing.T) {
|
||||
|
||||
// Compare individual fields
|
||||
assert.Equal(keysAndCert.KeyCertificate.Bytes(), parsedKeysAndCert.KeyCertificate.Bytes(), "KeyCertificates should match")
|
||||
assert.Equal(keysAndCert.publicKey.Bytes(), parsedKeysAndCert.publicKey.Bytes(), "PublicKeys should match")
|
||||
assert.Equal(keysAndCert.ReceivingPublic.Bytes(), parsedKeysAndCert.ReceivingPublic.Bytes(), "PublicKeys should match")
|
||||
assert.Equal(keysAndCert.Padding, parsedKeysAndCert.Padding, "Padding should match")
|
||||
assert.Equal(keysAndCert.signingPublicKey.Bytes(), parsedKeysAndCert.signingPublicKey.Bytes(), "SigningPublicKeys should match")
|
||||
assert.Equal(keysAndCert.SigningPublic.Bytes(), parsedKeysAndCert.SigningPublic.Bytes(), "SigningPublicKeys should match")
|
||||
}
|
||||
|
||||
func TestCertificateWithValidDataManual(t *testing.T) {
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/lease"
|
||||
|
||||

|
||||
|
||||
Package lease implements the I2P lease common data structure
|
||||
|
||||
## Usage
|
||||
@@ -21,17 +23,21 @@ Sizes in bytes of various components of a Lease
|
||||
type Lease [LEASE_SIZE]byte
|
||||
```
|
||||
|
||||
Lease is the represenation of an I2P Lease.
|
||||
|
||||
https://geti2p.net/spec/common-structures#lease
|
||||
|
||||
#### func NewLease
|
||||
|
||||
```go
|
||||
func NewLease(data []byte) (lease *Lease, remainder []byte, err error)
|
||||
func NewLease(tunnelGateway Hash, tunnelID uint32, expirationTime time.Time) (*Lease, error)
|
||||
```
|
||||
NewLease creates a new *NewLease from []byte using ReadLease. Returns a pointer
|
||||
to KeysAndCert unlike ReadLease.
|
||||
NewLease creates a new Lease with the provided parameters.
|
||||
|
||||
#### func NewLeaseFromBytes
|
||||
|
||||
```go
|
||||
func NewLeaseFromBytes(data []byte) (lease *Lease, remainder []byte, err error)
|
||||
```
|
||||
NewLeaseFromBytes creates a new *Lease from []byte using ReadLease. Returns a
|
||||
pointer to Lease unlike ReadLease.
|
||||
|
||||
#### func ReadLease
|
||||
|
||||
@@ -61,3 +67,9 @@ TunnelGateway returns the tunnel gateway as a Hash.
|
||||
func (lease Lease) TunnelID() uint32
|
||||
```
|
||||
TunnelID returns the tunnel id as a uint23.
|
||||
|
||||
|
||||
|
||||
lease
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/lease
|
@@ -3,11 +3,11 @@ package lease
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -87,7 +87,7 @@ func ReadLease(data []byte) (lease Lease, remainder []byte, err error) {
|
||||
log.WithField("input_length", len(data)).Debug("Reading Lease from bytes")
|
||||
|
||||
if len(data) < LEASE_SIZE {
|
||||
err = errors.New("error parsing lease: not enough data")
|
||||
err = oops.Errorf("error parsing lease: not enough data")
|
||||
log.WithFields(logrus.Fields{
|
||||
"data_length": len(data),
|
||||
"required_length": LEASE_SIZE,
|
||||
|
391
lib/common/lease/lease.svg
Normal file
@@ -0,0 +1,391 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="675pt" height="695pt"
|
||||
viewBox="0.00 0.00 674.70 695.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 695)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-695 674.6972,-695 674.6972,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-687 667.6972,-687 667.6972,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="337.8486" y="-666.8" font-family="Arial" font-size="18.00" fill="#000000">lease</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/lease.Lease</title>
|
||||
<g id="a_clust6"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/lease.Lease">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M436.3753,-510C436.3753,-510 506.8003,-510 506.8003,-510 512.8003,-510 518.8003,-516 518.8003,-522 518.8003,-522 518.8003,-637 518.8003,-637 518.8003,-643 512.8003,-649 506.8003,-649 506.8003,-649 436.3753,-649 436.3753,-649 430.3753,-649 424.3753,-643 424.3753,-637 424.3753,-637 424.3753,-522 424.3753,-522 424.3753,-516 430.3753,-510 436.3753,-510"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-518.5" font-family="Arial" font-size="15.00" fill="#222222">(Lease)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/data.Integer</title>
|
||||
<g id="a_clust5"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/data.Integer">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M599.6972,-510C599.6972,-510 647.6972,-510 647.6972,-510 653.6972,-510 659.6972,-516 659.6972,-522 659.6972,-522 659.6972,-576 659.6972,-576 659.6972,-582 653.6972,-588 647.6972,-588 647.6972,-588 599.6972,-588 599.6972,-588 593.6972,-588 587.6972,-582 587.6972,-576 587.6972,-576 587.6972,-522 587.6972,-522 587.6972,-516 593.6972,-510 599.6972,-510"/>
|
||||
<text text-anchor="middle" x="623.6972" y="-518.5" font-family="Arial" font-size="15.00" fill="#222222">(Integer)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/data.Date</title>
|
||||
<g id="a_clust4"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/data.Date">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M448.5878,-424C448.5878,-424 494.5878,-424 494.5878,-424 500.5878,-424 506.5878,-430 506.5878,-436 506.5878,-436 506.5878,-490 506.5878,-490 506.5878,-496 500.5878,-502 494.5878,-502 494.5878,-502 448.5878,-502 448.5878,-502 442.5878,-502 436.5878,-496 436.5878,-490 436.5878,-490 436.5878,-436 436.5878,-436 436.5878,-430 442.5878,-424 448.5878,-424"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-432.5" font-family="Arial" font-size="15.00" fill="#222222">(Date)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M444.9272,-338C444.9272,-338 499.2484,-338 499.2484,-338 505.2484,-338 511.2484,-344 511.2484,-350 511.2484,-350 511.2484,-404 511.2484,-404 511.2484,-410 505.2484,-416 499.2484,-416 499.2484,-416 444.9272,-416 444.9272,-416 438.9272,-416 432.9272,-410 432.9272,-404 432.9272,-404 432.9272,-350 432.9272,-350 432.9272,-344 438.9272,-338 444.9272,-338"/>
|
||||
<text text-anchor="middle" x="472.0878" y="-346.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M432.4784,-16C432.4784,-16 510.6972,-16 510.6972,-16 516.6972,-16 522.6972,-22 522.6972,-28 522.6972,-28 522.6972,-265 522.6972,-265 522.6972,-271 516.6972,-277 510.6972,-277 510.6972,-277 432.4784,-277 432.4784,-277 426.4784,-277 420.4784,-271 420.4784,-265 420.4784,-265 420.4784,-28 420.4784,-28 420.4784,-22 426.4784,-16 432.4784,-16"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.init -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.init</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/lease.init | defined in .:0 at lease.go:59: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M103.6445,-648C103.6445,-648 73.6445,-648 73.6445,-648 67.6445,-648 61.6445,-642 61.6445,-636 61.6445,-636 61.6445,-624 61.6445,-624 61.6445,-618 67.6445,-612 73.6445,-612 73.6445,-612 103.6445,-612 103.6445,-612 109.6445,-612 115.6445,-618 115.6445,-624 115.6445,-624 115.6445,-636 115.6445,-636 115.6445,-642 109.6445,-648 103.6445,-648"/>
|
||||
<text text-anchor="middle" x="88.6445" y="-625.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M343.5732,-648C343.5732,-648 246.1942,-648 246.1942,-648 240.1942,-648 234.1942,-642 234.1942,-636 234.1942,-636 234.1942,-624 234.1942,-624 234.1942,-618 240.1942,-612 246.1942,-612 246.1942,-612 343.5732,-612 343.5732,-612 349.5732,-612 355.5732,-618 355.5732,-624 355.5732,-624 355.5732,-636 355.5732,-636 355.5732,-642 349.5732,-648 343.5732,-648"/>
|
||||
<text text-anchor="middle" x="294.8837" y="-634.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="294.8837" y="-617.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge14"><a xlink:title="at lease.go:59: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M116.0315,-630C143.3741,-630 186.5488,-630 223.628,-630"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.9065,-633.5001 233.9064,-630 223.9064,-626.5001 223.9065,-633.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes | defined in lease.go:140 at lease.go:146: calling [(*github.com/go-i2p/logger.Logger).WithError] at lease.go:146: calling [(*github.com/go-i2p/logger.Logger).Error] at lease.go:153: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID] at lease.go:154: calling [(github.com/go-i2p/go-i2p/lib/common/data.Date).Time] at lease.go:141: calling [(*github.com/go-i2p/logger.Logger).WithField] at lease.go:154: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date] at lease.go:152: calling [(*github.com/go-i2p/logger.Logger).WithFields] at lease.go:144: calling [github.com/go-i2p/go-i2p/lib/common/lease.ReadLease] at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.4338,-370C149.4338,-370 27.8552,-370 27.8552,-370 21.8552,-370 15.8552,-364 15.8552,-358 15.8552,-358 15.8552,-346 15.8552,-346 15.8552,-340 21.8552,-334 27.8552,-334 27.8552,-334 149.4338,-334 149.4338,-334 155.4338,-334 161.4338,-340 161.4338,-346 161.4338,-346 161.4338,-358 161.4338,-358 161.4338,-364 155.4338,-370 149.4338,-370"/>
|
||||
<text text-anchor="middle" x="88.6445" y="-347.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLeaseFromBytes</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/lease.ReadLease | defined in lease.go:86 at lease.go:94: calling [(*github.com/go-i2p/logger.Logger).Error] at lease.go:102: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID] at lease.go:91: calling [(*github.com/go-i2p/logger.Logger).WithFields] at lease.go:101: calling [(*github.com/go-i2p/logger.Logger).WithFields] at lease.go:87: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:105: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:103: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date] at lease.go:90: calling [github.com/samber/oops.Errorf] at lease.go:87: calling [(*github.com/go-i2p/logger.Logger).WithField] at lease.go:103: calling [(github.com/go-i2p/go-i2p/lib/common/data.Date).Time]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M325.7915,-370C325.7915,-370 263.9759,-370 263.9759,-370 257.9759,-370 251.9759,-364 251.9759,-358 251.9759,-358 251.9759,-346 251.9759,-346 251.9759,-340 257.9759,-334 263.9759,-334 263.9759,-334 325.7915,-334 325.7915,-334 331.7915,-334 337.7915,-340 337.7915,-346 337.7915,-346 337.7915,-358 337.7915,-358 337.7915,-364 331.7915,-370 325.7915,-370"/>
|
||||
<text text-anchor="middle" x="294.8837" y="-347.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadLease</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->github.com/go-i2p/go-i2p/lib/common/lease.ReadLease -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->github.com/go-i2p/go-i2p/lib/common/lease.ReadLease</title>
|
||||
<g id="a_edge16"><a xlink:title="at lease.go:144: calling [github.com/go-i2p/go-i2p/lib/common/lease.ReadLease]">
|
||||
<path fill="none" stroke="#000000" d="M161.3567,-352C187.8418,-352 217.2658,-352 241.7376,-352"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="241.8993,-355.5001 251.8993,-352 241.8992,-348.5001 241.8993,-355.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithField | defined in log.go:54">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M499.8623,-208C499.8623,-208 443.3133,-208 443.3133,-208 437.3133,-208 431.3133,-202 431.3133,-196 431.3133,-196 431.3133,-184 431.3133,-184 431.3133,-178 437.3133,-172 443.3133,-172 443.3133,-172 499.8623,-172 499.8623,-172 505.8623,-172 511.8623,-178 511.8623,-184 511.8623,-184 511.8623,-196 511.8623,-196 511.8623,-202 505.8623,-208 499.8623,-208"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge9"><a xlink:title="at lease.go:141: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M100.1767,-333.7646C121.8709,-301.3 172.2078,-234.2444 234.289,-206 294.1148,-178.7817 371.2873,-179.2255 421.1046,-183.4546"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="421.0219,-186.962 431.3037,-184.4059 421.672,-179.9923 421.0219,-186.962"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M502.8069,-147C502.8069,-147 440.3687,-147 440.3687,-147 434.3687,-147 428.3687,-141 428.3687,-135 428.3687,-135 428.3687,-123 428.3687,-123 428.3687,-117 434.3687,-111 440.3687,-111 440.3687,-111 502.8069,-111 502.8069,-111 508.8069,-111 514.8069,-117 514.8069,-123 514.8069,-123 514.8069,-135 514.8069,-135 514.8069,-141 508.8069,-147 502.8069,-147"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge13"><a xlink:title="at lease.go:152: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M97.8504,-333.963C117.4971,-297.4537 167.2644,-214.8924 234.289,-175 290.9662,-141.2663 367.4961,-131.6152 418.1376,-129.1911"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="418.3687,-132.6848 428.2207,-128.7875 418.0887,-125.6904 418.3687,-132.6848"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M489.3541,-269C489.3541,-269 453.8215,-269 453.8215,-269 447.8215,-269 441.8215,-263 441.8215,-257 441.8215,-257 441.8215,-245 441.8215,-245 441.8215,-239 447.8215,-233 453.8215,-233 453.8215,-233 489.3541,-233 489.3541,-233 495.3541,-233 501.3541,-239 501.3541,-245 501.3541,-245 501.3541,-257 501.3541,-257 501.3541,-263 495.3541,-269 489.3541,-269"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge5"><a xlink:title="at lease.go:146: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M157.1071,-333.9432C237.1567,-312.8304 366.9508,-278.5977 431.9072,-261.4656"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="432.9814,-264.8021 441.7581,-258.8675 431.1961,-258.0335 432.9814,-264.8021"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M500.1193,-86C500.1193,-86 443.0563,-86 443.0563,-86 437.0563,-86 431.0563,-80 431.0563,-74 431.0563,-74 431.0563,-62 431.0563,-62 431.0563,-56 437.0563,-50 443.0563,-50 443.0563,-50 500.1193,-50 500.1193,-50 506.1193,-50 512.1193,-56 512.1193,-62 512.1193,-62 512.1193,-74 512.1193,-74 512.1193,-80 506.1193,-86 500.1193,-86"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge4"><a xlink:title="at lease.go:146: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M95.218,-333.6831C111.5803,-290.8021 158.3717,-183.4188 234.289,-129 289.9209,-89.1221 369.3726,-75.2752 420.7191,-70.4904"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="421.2461,-73.9584 430.9142,-69.625 420.654,-66.9835 421.2461,-73.9584"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M490.4098,-408C490.4098,-408 452.7658,-408 452.7658,-408 446.7658,-408 440.7658,-402 440.7658,-396 440.7658,-396 440.7658,-384 440.7658,-384 440.7658,-378 446.7658,-372 452.7658,-372 452.7658,-372 490.4098,-372 490.4098,-372 496.4098,-372 502.4098,-378 502.4098,-384 502.4098,-384 502.4098,-396 502.4098,-396 502.4098,-402 496.4098,-408 490.4098,-408"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-394.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-377.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge21"><a xlink:title="at lease.go:141: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:156: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M160.8141,-370.0472C184.1162,-375.1506 210.1618,-380.1005 234.289,-383 302.768,-391.2296 383.1186,-391.6912 430.5587,-391.0239"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="430.7975,-394.5205 440.7384,-390.856 430.682,-387.5215 430.7975,-394.5205"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.Date).Time -->
|
||||
<g id="node12" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.Date).Time</title>
|
||||
<g id="a_node12"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.Date).Time | defined in date.go:47">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M486.5878,-494C486.5878,-494 456.5878,-494 456.5878,-494 450.5878,-494 444.5878,-488 444.5878,-482 444.5878,-482 444.5878,-470 444.5878,-470 444.5878,-464 450.5878,-458 456.5878,-458 456.5878,-458 486.5878,-458 486.5878,-458 492.5878,-458 498.5878,-464 498.5878,-470 498.5878,-470 498.5878,-482 498.5878,-482 498.5878,-488 492.5878,-494 486.5878,-494"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-480.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-463.4" font-family="Verdana" font-size="14.00" fill="#000000">Time</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time</title>
|
||||
<g id="a_edge7"><a xlink:title="at lease.go:154: calling [(github.com/go-i2p/go-i2p/lib/common/data.Date).Time]">
|
||||
<path fill="none" stroke="#8b4513" d="M144.3277,-370.0307C223.6462,-395.7146 367.017,-442.1392 434.5303,-464.0005"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="433.7171,-467.416 444.309,-467.1669 435.8735,-460.7565 433.7171,-467.416"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID -->
|
||||
<g id="node14" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID</title>
|
||||
<g id="a_node14"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID | defined in lease.go:70 at lease.go:73: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M499.014,-580C499.014,-580 444.1616,-580 444.1616,-580 438.1616,-580 432.1616,-574 432.1616,-568 432.1616,-568 432.1616,-556 432.1616,-556 432.1616,-550 438.1616,-544 444.1616,-544 444.1616,-544 499.014,-544 499.014,-544 505.014,-544 511.014,-550 511.014,-556 511.014,-556 511.014,-568 511.014,-568 511.014,-574 505.014,-580 499.014,-580"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-557.8" font-family="Verdana" font-size="14.00" fill="#000000">TunnelID</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID</title>
|
||||
<g id="a_edge6"><a xlink:title="at lease.go:153: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID]">
|
||||
<path fill="none" stroke="#000000" d="M121.6255,-370.0862C191.1853,-408.2317 352.8181,-496.8686 429.6171,-538.9839"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="428.0993,-542.1433 438.5504,-543.8828 431.4652,-536.0056 428.0993,-542.1433"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date -->
|
||||
<g id="node15" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date</title>
|
||||
<g id="a_node15"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date | defined in lease.go:78">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M486.5878,-641C486.5878,-641 456.5878,-641 456.5878,-641 450.5878,-641 444.5878,-635 444.5878,-629 444.5878,-629 444.5878,-617 444.5878,-617 444.5878,-611 450.5878,-605 456.5878,-605 456.5878,-605 486.5878,-605 486.5878,-605 492.5878,-605 498.5878,-611 498.5878,-617 498.5878,-617 498.5878,-629 498.5878,-629 498.5878,-635 492.5878,-641 486.5878,-641"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-618.8" font-family="Verdana" font-size="14.00" fill="#000000">Date</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLeaseFromBytes->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date</title>
|
||||
<g id="a_edge12"><a xlink:title="at lease.go:154: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date]">
|
||||
<path fill="none" stroke="#000000" d="M109.2739,-370.2555C136.9708,-394.4689 188.0534,-438.0956 234.289,-472 313.8747,-530.3598 336.5256,-541.1186 420.4784,-593 425.2922,-595.9749 430.3967,-599.0562 435.4447,-602.0609"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="434.005,-605.2754 444.3953,-607.3472 437.5648,-599.2482 434.005,-605.2754"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M488.7831,-330C488.7831,-330 454.3925,-330 454.3925,-330 448.3925,-330 442.3925,-324 442.3925,-318 442.3925,-318 442.3925,-306 442.3925,-306 442.3925,-300 448.3925,-294 454.3925,-294 454.3925,-294 488.7831,-294 488.7831,-294 494.7831,-294 500.7831,-300 500.7831,-306 500.7831,-306 500.7831,-318 500.7831,-318 500.7831,-324 494.7831,-330 488.7831,-330"/>
|
||||
<text text-anchor="middle" x="471.5878" y="-316.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="471.5878" y="-299.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->github.com/samber/oops.Errorf -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge15"><a xlink:title="at lease.go:90: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M337.6588,-342.3171C366.587,-335.7687 404.4919,-327.1883 432.5907,-320.8277"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="433.4839,-324.2141 442.4644,-318.5926 431.9384,-317.3868 433.4839,-324.2141"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge17"><a xlink:title="at lease.go:87: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M309.8202,-333.5984C332.1151,-306.8286 376.2323,-256.4766 420.4784,-221 423.5779,-218.5148 426.8932,-216.0797 430.2906,-213.7353"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="432.3984,-216.5381 438.8283,-208.1174 428.5506,-210.6905 432.3984,-216.5381"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge8"><a xlink:title="at lease.go:91: calling [(*github.com/go-i2p/logger.Logger).WithFields] at lease.go:101: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M308.5198,-333.7011C321.0696,-316.6688 340.023,-290.4563 355.4784,-267 386.0932,-220.5367 381.1197,-199.3318 420.4784,-160 422.9387,-157.5414 425.6308,-155.1952 428.4518,-152.9742"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="430.5942,-155.7444 436.6582,-147.0566 426.4999,-150.0666 430.5942,-155.7444"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge1"><a xlink:title="at lease.go:94: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M321.1218,-333.8135C346.0516,-316.9436 384.9088,-291.6981 420.4784,-273 424.2782,-271.0026 428.2988,-269.0357 432.3491,-267.1489"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="434.0789,-270.2087 441.7637,-262.9152 431.2079,-263.8245 434.0789,-270.2087"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge10"><a xlink:title="at lease.go:87: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:105: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M337.6588,-361.1987C366.0412,-367.3023 403.0647,-375.2642 430.9898,-381.2695"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="430.3212,-384.7056 440.8335,-383.3863 431.7929,-377.8621 430.3212,-384.7056"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/data.Date).Time</title>
|
||||
<g id="a_edge18"><a xlink:title="at lease.go:103: calling [(github.com/go-i2p/go-i2p/lib/common/data.Date).Time]">
|
||||
<path fill="none" stroke="#8b4513" d="M320.578,-370.0307C351.4625,-391.7035 403.3925,-428.1448 437.5774,-452.1336"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="435.6664,-455.0683 445.8625,-457.9476 439.6873,-449.3384 435.6664,-455.0683"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID</title>
|
||||
<g id="a_edge3"><a xlink:title="at lease.go:102: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID]">
|
||||
<path fill="none" stroke="#000000" d="M308.7434,-370.1622C331.4192,-399.6574 378.1669,-459.5504 420.4784,-508 428.753,-517.475 438.1342,-527.5615 446.5804,-536.421"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="444.2593,-539.057 453.7108,-543.8445 449.3077,-534.2079 444.2593,-539.057"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.ReadLease->(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date</title>
|
||||
<g id="a_edge11"><a xlink:title="at lease.go:103: calling [(github.com/go-i2p/go-i2p/lib/common/lease.Lease).Date]">
|
||||
<path fill="none" stroke="#000000" d="M300.4209,-370.1055C314.376,-413.2656 354.643,-523.762 420.4784,-593 424.8984,-597.6485 430.1968,-601.8121 435.6835,-605.4513"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="433.9995,-608.5236 444.3614,-610.7327 437.6387,-602.5439 433.9995,-608.5236"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLease -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLease</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/lease.NewLease | defined in lease.go:111 at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:130: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M324.4525,-254C324.4525,-254 265.3149,-254 265.3149,-254 259.3149,-254 253.3149,-248 253.3149,-242 253.3149,-242 253.3149,-230 253.3149,-230 253.3149,-224 259.3149,-218 265.3149,-218 265.3149,-218 324.4525,-218 324.4525,-218 330.4525,-218 336.4525,-224 336.4525,-230 336.4525,-230 336.4525,-242 336.4525,-242 336.4525,-248 330.4525,-254 324.4525,-254"/>
|
||||
<text text-anchor="middle" x="294.8837" y="-231.8" font-family="Verdana" font-size="14.00" fill="#000000">NewLease</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge20"><a xlink:title="at lease.go:130: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M313.4696,-217.8123C331.9694,-200.5161 361.811,-174.724 391.4784,-158 399.9895,-153.2022 409.4419,-148.9495 418.7832,-145.2801"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="420.2944,-148.4518 428.4335,-141.669 417.8411,-141.8957 420.2944,-148.4518"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/lease.NewLease->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge19"><a xlink:title="at lease.go:112: calling [(*github.com/sirupsen/logrus.Logger).Debug] at lease.go:133: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M308.1096,-254.0083C329.2087,-281.6794 372.977,-334.9156 420.4784,-368 423.9564,-370.4224 427.7435,-372.6607 431.6316,-374.7068"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="430.262,-377.9321 440.7891,-379.1285 433.3058,-371.6285 430.262,-377.9321"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="node13" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_node13"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int | defined in integer.go:32">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M638.6972,-580C638.6972,-580 608.6972,-580 608.6972,-580 602.6972,-580 596.6972,-574 596.6972,-568 596.6972,-568 596.6972,-556 596.6972,-556 596.6972,-550 602.6972,-544 608.6972,-544 608.6972,-544 638.6972,-544 638.6972,-544 644.6972,-544 650.6972,-550 650.6972,-556 650.6972,-556 650.6972,-568 650.6972,-568 650.6972,-574 644.6972,-580 638.6972,-580"/>
|
||||
<text text-anchor="middle" x="623.6972" y="-566.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="623.6972" y="-549.4" font-family="Verdana" font-size="14.00" fill="#000000">Int</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/lease.Lease).TunnelID->(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int</title>
|
||||
<g id="a_edge2"><a xlink:title="at lease.go:73: calling [(github.com/go-i2p/go-i2p/lib/common/data.Integer).Int]">
|
||||
<path fill="none" stroke="#8b4513" d="M511.1557,-562C534.257,-562 563.2443,-562 586.0141,-562"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="586.3165,-565.5001 596.3164,-562 586.3164,-558.5001 586.3165,-565.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 34 KiB |
@@ -2,6 +2,7 @@ package lease
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
@@ -14,7 +15,7 @@ func TestTunnelGateway(t *testing.T) {
|
||||
|
||||
var lease_bytes []byte
|
||||
lease_bytes = append(lease_bytes, expectedTunnelGatewayBytes...)
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_SIZE - LEASE_TUNNEL_GW_SIZE)...)
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_SIZE-LEASE_TUNNEL_GW_SIZE)...)
|
||||
lease := Lease(lease_bytes)
|
||||
|
||||
tunnelGateway := lease.TunnelGateway()
|
||||
@@ -29,7 +30,7 @@ func TestTunnelID(t *testing.T) {
|
||||
var lease_bytes []byte
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_TUNNEL_GW_SIZE)...)
|
||||
lease_bytes = append(lease_bytes, expectedTunnelIDBytes...)
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_SIZE - LEASE_TUNNEL_ID_SIZE - LEASE_TUNNEL_GW_SIZE)...)
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_SIZE-LEASE_TUNNEL_ID_SIZE-LEASE_TUNNEL_GW_SIZE)...)
|
||||
lease := Lease(lease_bytes)
|
||||
|
||||
tunnelID := lease.TunnelID()
|
||||
@@ -42,7 +43,7 @@ func TestDate(t *testing.T) {
|
||||
expectedDateBytes := []byte{0x21, 0x37, 0x31, 0x33, 0x16, 0x93, 0x13, 0x28}
|
||||
|
||||
var lease_bytes []byte
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_TUNNEL_GW_SIZE + LEASE_TUNNEL_ID_SIZE)...)
|
||||
lease_bytes = append(lease_bytes, make([]byte, LEASE_TUNNEL_GW_SIZE+LEASE_TUNNEL_ID_SIZE)...)
|
||||
lease_bytes = append(lease_bytes, expectedDateBytes...)
|
||||
lease := Lease(lease_bytes)
|
||||
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/lease_set"
|
||||
|
||||

|
||||
|
||||
Package lease_set implements the I2P LeastSet common data structure
|
||||
|
||||
## Usage
|
||||
@@ -15,6 +17,12 @@ const (
|
||||
```
|
||||
Sizes of various structures in an I2P LeaseSet
|
||||
|
||||
#### func ReadDestinationFromLeaseSet
|
||||
|
||||
```go
|
||||
func ReadDestinationFromLeaseSet(data []byte) (destination Destination, remainder []byte, err error)
|
||||
```
|
||||
|
||||
#### type LeaseSet
|
||||
|
||||
```go
|
||||
@@ -25,6 +33,18 @@ LeaseSet is the represenation of an I2P LeaseSet.
|
||||
|
||||
https://geti2p.net/spec/common-structures#leaseset
|
||||
|
||||
#### func NewLeaseSet
|
||||
|
||||
```go
|
||||
func NewLeaseSet(
|
||||
destination Destination,
|
||||
encryptionKey crypto.RecievingPublicKey,
|
||||
signingKey crypto.SigningPublicKey,
|
||||
leases []Lease,
|
||||
signingPrivateKey crypto.SigningPrivateKey,
|
||||
) (LeaseSet, error)
|
||||
```
|
||||
|
||||
#### func (LeaseSet) Destination
|
||||
|
||||
```go
|
||||
@@ -32,6 +52,12 @@ func (lease_set LeaseSet) Destination() (destination Destination, err error)
|
||||
```
|
||||
Destination returns the Destination as []byte.
|
||||
|
||||
#### func (LeaseSet) DestinationDeux
|
||||
|
||||
```go
|
||||
func (lease_set LeaseSet) DestinationDeux() (destination Destination, err error)
|
||||
```
|
||||
|
||||
#### func (LeaseSet) LeaseCount
|
||||
|
||||
```go
|
||||
@@ -74,7 +100,7 @@ encountered during parsing.
|
||||
#### func (LeaseSet) Signature
|
||||
|
||||
```go
|
||||
func (lease_set LeaseSet) Signature() (signature Signature, err error)
|
||||
func (lease_set LeaseSet) Signature() (signature signature.Signature, err error)
|
||||
```
|
||||
Signature returns the signature as Signature. returns errors encountered during
|
||||
parsing.
|
||||
@@ -93,3 +119,9 @@ errors encountered during parsing.
|
||||
func (lease_set LeaseSet) Verify() error
|
||||
```
|
||||
Verify returns nil
|
||||
|
||||
|
||||
|
||||
lease_set
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/lease_set
|
@@ -2,12 +2,12 @@
|
||||
package lease_set
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
"github.com/samber/oops"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
@@ -175,7 +175,7 @@ func ReadDestinationFromLeaseSet(data []byte) (destination Destination, remainde
|
||||
fmt.Printf("Reading Destination from LeaseSet, input_length=%d\n", len(data))
|
||||
|
||||
if len(data) < 387 { // Minimum size of Destination (384 keys + 3 bytes for minimum certificate)
|
||||
err = errors.New("LeaseSet data too short to contain Destination")
|
||||
err = oops.Errorf("LeaseSet data too short to contain Destination")
|
||||
fmt.Printf("Error: %v\n", err)
|
||||
return
|
||||
}
|
||||
@@ -199,7 +199,7 @@ func ReadDestinationFromLeaseSet(data []byte) (destination Destination, remainde
|
||||
fmt.Printf(" destinationLength: %d\n", destinationLength)
|
||||
|
||||
if len(data) < destinationLength {
|
||||
err = errors.New("LeaseSet data too short to contain full Destination")
|
||||
err = oops.Errorf("LeaseSet data too short to contain full Destination")
|
||||
fmt.Printf("Error: %v\n", err)
|
||||
return
|
||||
}
|
||||
@@ -208,7 +208,7 @@ func ReadDestinationFromLeaseSet(data []byte) (destination Destination, remainde
|
||||
|
||||
keysAndCert, _, err := ReadKeysAndCert(destinationData)
|
||||
if err != nil {
|
||||
fmt.Printf("Failed to read KeysAndCert: %v\n", err) //32 / 0 error
|
||||
fmt.Printf("Failed to read KeysAndCert: %v\n", err) // 32 / 0 error
|
||||
return
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ func (lease_set LeaseSet) PublicKey() (public_key crypto.ElgPublicKey, err error
|
||||
"required_len": LEASE_SET_PUBKEY_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing public key")
|
||||
err = errors.New("error parsing public key: not enough data")
|
||||
err = oops.Errorf("error parsing public key: not enough data")
|
||||
copy(public_key[:], remainder)
|
||||
return
|
||||
}
|
||||
@@ -270,7 +270,7 @@ func (lease_set LeaseSet) SigningKey() (signing_public_key crypto.SigningPublicK
|
||||
"required_len": offset + LEASE_SET_SPK_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing signing public key")
|
||||
err = errors.New("error parsing signing public key: not enough data")
|
||||
err = oops.Errorf("error parsing signing public key: not enough data")
|
||||
return
|
||||
}
|
||||
if cert_len == 0 {
|
||||
@@ -328,7 +328,7 @@ func (lease_set LeaseSet) LeaseCount() (count int, err error) {
|
||||
"required_len": LEASE_SET_PUBKEY_SIZE + LEASE_SET_SPK_SIZE + 1,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing lease count")
|
||||
err = errors.New("error parsing lease count: not enough data")
|
||||
err = oops.Errorf("error parsing lease count: not enough data")
|
||||
return
|
||||
}
|
||||
c := Integer([]byte{remainder[LEASE_SET_PUBKEY_SIZE+LEASE_SET_SPK_SIZE]})
|
||||
@@ -339,7 +339,7 @@ func (lease_set LeaseSet) LeaseCount() (count int, err error) {
|
||||
"lease_count": count,
|
||||
"reason": "more than 16 leases",
|
||||
}).Warn("invalid lease set")
|
||||
err = errors.New("invalid lease set: more than 16 leases")
|
||||
err = oops.Errorf("invalid lease set: more than 16 leases")
|
||||
} else {
|
||||
log.WithField("lease_count", count).Debug("Retrieved LeaseCount from LeaseSet")
|
||||
}
|
||||
@@ -372,7 +372,7 @@ func (lease_set LeaseSet) Leases() (leases []Lease, err error) {
|
||||
"required_len": end,
|
||||
"reason": "some leases missing",
|
||||
}).Error("error parsnig lease set")
|
||||
err = errors.New("error parsing lease set: some leases missing")
|
||||
err = oops.Errorf("error parsing lease set: some leases missing")
|
||||
return
|
||||
}
|
||||
var lease Lease
|
||||
@@ -422,7 +422,7 @@ func (lease_set LeaseSet) Signature() (signature signature.Signature, err error)
|
||||
"required_len": end,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing signatre")
|
||||
err = errors.New("error parsing signature: not enough data")
|
||||
err = oops.Errorf("error parsing signature: not enough data")
|
||||
return
|
||||
}
|
||||
signature = []byte(lease_set[start:end])
|
||||
@@ -492,7 +492,7 @@ func (lease_set LeaseSet) OldestExpiration() (earliest Date, err error) {
|
||||
|
||||
func NewLeaseSet(
|
||||
destination Destination,
|
||||
encryptionKey crypto.PublicKey,
|
||||
encryptionKey crypto.RecievingPublicKey,
|
||||
signingKey crypto.SigningPublicKey,
|
||||
leases []Lease,
|
||||
signingPrivateKey crypto.SigningPrivateKey,
|
||||
@@ -500,15 +500,15 @@ func NewLeaseSet(
|
||||
log.Debug("Creating new LeaseSet")
|
||||
// Validate destination size
|
||||
if len(destination.KeysAndCert.Bytes()) < 387 {
|
||||
return nil, errors.New("invalid destination: minimum size is 387 bytes")
|
||||
return nil, oops.Errorf("invalid destination: minimum size is 387 bytes")
|
||||
}
|
||||
// Validate encryption key size
|
||||
if len(encryptionKey.Bytes()) != LEASE_SET_PUBKEY_SIZE {
|
||||
return nil, errors.New("invalid encryption key size")
|
||||
return nil, oops.Errorf("invalid encryption key size")
|
||||
}
|
||||
// Validate inputs
|
||||
if len(leases) > 16 {
|
||||
return nil, errors.New("invalid lease set: more than 16 leases")
|
||||
return nil, oops.Errorf("invalid lease set: more than 16 leases")
|
||||
}
|
||||
// Validate signing key size matches certificate
|
||||
cert := destination.Certificate()
|
||||
@@ -520,13 +520,13 @@ func NewLeaseSet(
|
||||
}
|
||||
expectedSize := keyCert.SignatureSize()
|
||||
if len(signingKey.Bytes()) != expectedSize {
|
||||
return nil, fmt.Errorf("invalid signing key size: got %d, expected %d",
|
||||
return nil, oops.Errorf("invalid signing key size: got %d, expected %d",
|
||||
len(signingKey.Bytes()), expectedSize)
|
||||
}
|
||||
} else {
|
||||
// Default DSA size
|
||||
if len(signingKey.Bytes()) != LEASE_SET_SPK_SIZE {
|
||||
return nil, errors.New("invalid signing key size")
|
||||
return nil, oops.Errorf("invalid signing key size")
|
||||
}
|
||||
}
|
||||
// Build LeaseSet data
|
||||
|
1256
lib/common/lease_set/lease_set.svg
Normal file
After Width: | Height: | Size: 136 KiB |
@@ -3,14 +3,15 @@ package lease_set
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
"fmt"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/destination"
|
||||
"github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
"github.com/go-i2p/go-i2p/lib/common/router_address"
|
||||
"github.com/go-i2p/go-i2p/lib/common/router_info"
|
||||
"github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
"testing"
|
||||
"time"
|
||||
"github.com/samber/oops"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/data"
|
||||
"github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
@@ -23,7 +24,7 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
func generateTestRouterInfo(t *testing.T) (*router_info.RouterInfo, crypto.PublicKey, crypto.SigningPublicKey, crypto.SigningPrivateKey, crypto.SigningPrivateKey, error) {
|
||||
func generateTestRouterInfo(t *testing.T) (*router_info.RouterInfo, crypto.RecievingPublicKey, crypto.SigningPublicKey, crypto.SigningPrivateKey, crypto.SigningPrivateKey, error) {
|
||||
// Generate signing key pair (Ed25519)
|
||||
var ed25519_privkey crypto.Ed25519PrivateKey
|
||||
_, err := (&ed25519_privkey).Generate()
|
||||
@@ -63,7 +64,7 @@ func generateTestRouterInfo(t *testing.T) (*router_info.RouterInfo, crypto.Publi
|
||||
copy(elg_pubkey[256-len(yBytes):], yBytes)
|
||||
|
||||
// Ensure that elg_pubkey implements crypto.PublicKey interface
|
||||
var _ crypto.PublicKey = elg_pubkey
|
||||
var _ crypto.RecievingPublicKey = elg_pubkey
|
||||
|
||||
// Create KeyCertificate specifying key types
|
||||
var payload bytes.Buffer
|
||||
@@ -135,13 +136,11 @@ func generateTestRouterInfo(t *testing.T) (*router_info.RouterInfo, crypto.Publi
|
||||
// Generate signing key pair for the LeaseSet (Ed25519)
|
||||
var leaseSetSigningPrivKey crypto.Ed25519PrivateKey
|
||||
_, err = leaseSetSigningPrivKey.Generate()
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate lease set Ed25519 private key: %v", err)
|
||||
}
|
||||
|
||||
leaseSetSigningPubKeyRaw, err := leaseSetSigningPrivKey.Public()
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to derive lease set Ed25519 public key: %v", err)
|
||||
}
|
||||
@@ -176,7 +175,8 @@ func createTestLease(t *testing.T, index int, routerInfo *router_info.RouterInfo
|
||||
|
||||
return testLease, nil
|
||||
}
|
||||
func generateTestDestination(t *testing.T) (*destination.Destination, crypto.PublicKey, crypto.SigningPublicKey, crypto.SigningPrivateKey, error) {
|
||||
|
||||
func generateTestDestination(t *testing.T) (*destination.Destination, crypto.RecievingPublicKey, crypto.SigningPublicKey, crypto.SigningPrivateKey, error) {
|
||||
// Generate client signing key pair (Ed25519)
|
||||
var ed25519_privkey crypto.Ed25519PrivateKey
|
||||
_, err := (&ed25519_privkey).Generate()
|
||||
@@ -274,7 +274,7 @@ func createTestLeaseSet(t *testing.T, routerInfo *router_info.RouterInfo, leaseC
|
||||
// Generate test Destination and client keys
|
||||
dest, encryptionKey, signingKey, signingPrivKey, err := generateTestDestination(t)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to generate test destination: %v", err)
|
||||
return nil, oops.Errorf("failed to generate test destination: %v", err)
|
||||
}
|
||||
|
||||
destBytes := dest.KeysAndCert.Bytes()
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/router_address"
|
||||
|
||||

|
||||
|
||||
Package router_address implements the I2P RouterAddress common data structure
|
||||
|
||||
## Usage
|
||||
@@ -28,6 +30,14 @@ RouterAddress is the represenation of an I2P RouterAddress.
|
||||
|
||||
https://geti2p.net/spec/common-structures#routeraddress
|
||||
|
||||
#### func NewRouterAddress
|
||||
|
||||
```go
|
||||
func NewRouterAddress(cost uint8, expiration time.Time, transportType string, options map[string]string) (*RouterAddress, error)
|
||||
```
|
||||
NewRouterAddress creates a new RouterAddress with the provided parameters.
|
||||
Returns a pointer to RouterAddress.
|
||||
|
||||
#### func ReadRouterAddress
|
||||
|
||||
```go
|
||||
@@ -44,6 +54,12 @@ func (router_address RouterAddress) Bytes() []byte
|
||||
```
|
||||
Bytes returns the router address as a []byte.
|
||||
|
||||
#### func (RouterAddress) CapsString
|
||||
|
||||
```go
|
||||
func (router_address RouterAddress) CapsString() I2PString
|
||||
```
|
||||
|
||||
#### func (RouterAddress) Cost
|
||||
|
||||
```go
|
||||
@@ -77,10 +93,17 @@ func (router_address RouterAddress) Host() (net.Addr, error)
|
||||
func (router_address RouterAddress) HostString() I2PString
|
||||
```
|
||||
|
||||
#### func (*RouterAddress) IPVersion
|
||||
|
||||
```go
|
||||
func (router_address *RouterAddress) IPVersion() string
|
||||
```
|
||||
IPVersion returns a string "4" for IPv4 or 6 for IPv6
|
||||
|
||||
#### func (RouterAddress) InitializationVector
|
||||
|
||||
```go
|
||||
func (router_address RouterAddress) InitializationVector() ([32]byte, error)
|
||||
func (router_address RouterAddress) InitializationVector() ([16]byte, error)
|
||||
```
|
||||
|
||||
#### func (RouterAddress) InitializationVectorString
|
||||
@@ -112,7 +135,7 @@ func (router_address RouterAddress) IntroducerTagString(num int) I2PString
|
||||
```go
|
||||
func (router_address *RouterAddress) Network() string
|
||||
```
|
||||
Network implements net.Addr. It returns the transport type
|
||||
Network implements net.Addr. It returns the transport type plus 4 or 6
|
||||
|
||||
#### func (RouterAddress) Options
|
||||
|
||||
@@ -177,3 +200,9 @@ I2PString.
|
||||
```go
|
||||
func (router_address *RouterAddress) UDP() bool
|
||||
```
|
||||
|
||||
|
||||
|
||||
router_address
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/router_address
|
@@ -3,14 +3,13 @@ package router_address
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"net"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
@@ -180,6 +179,16 @@ func (router_address RouterAddress) GetOption(key I2PString) I2PString {
|
||||
return router_address.Options().Values().Get(key)
|
||||
}
|
||||
|
||||
func (router_address RouterAddress) HasOption(key I2PString) bool {
|
||||
opt := router_address.GetOption(key)
|
||||
return opt != nil
|
||||
}
|
||||
|
||||
func (router_address RouterAddress) CheckOption(key string) bool {
|
||||
keyv, _ := ToI2PString(key)
|
||||
return router_address.HasOption(keyv)
|
||||
}
|
||||
|
||||
func (router_address RouterAddress) HostString() I2PString {
|
||||
host, _ := ToI2PString("host")
|
||||
return router_address.GetOption(host)
|
||||
@@ -251,7 +260,7 @@ func (router_address RouterAddress) Host() (net.Addr, error) {
|
||||
ip := net.ParseIP(hostBytes)
|
||||
if ip == nil {
|
||||
log.Error("Failed to parse IP address")
|
||||
return nil, fmt.Errorf("null host error")
|
||||
return nil, oops.Errorf("null host error")
|
||||
}
|
||||
// return net.ResolveIPAddr("", ip.String())
|
||||
addr, err := net.ResolveIPAddr("", ip.String())
|
||||
@@ -285,17 +294,17 @@ func (router_address RouterAddress) Port() (string, error) {
|
||||
func (router_address RouterAddress) StaticKey() ([32]byte, error) {
|
||||
sk := router_address.StaticKeyString()
|
||||
if len([]byte(sk)) != 32 {
|
||||
return [32]byte{}, fmt.Errorf("error: invalid static key")
|
||||
return [32]byte{}, oops.Errorf("error: invalid static key")
|
||||
}
|
||||
return [32]byte(sk), nil
|
||||
}
|
||||
|
||||
func (router_address RouterAddress) InitializationVector() ([32]byte, error) {
|
||||
func (router_address RouterAddress) InitializationVector() ([16]byte, error) {
|
||||
iv := router_address.InitializationVectorString()
|
||||
if len([]byte(iv)) != 32 {
|
||||
return [32]byte{}, fmt.Errorf("error: invalid static key")
|
||||
if len([]byte(iv)) != 16 {
|
||||
return [16]byte{}, oops.Errorf("error: invalid IV")
|
||||
}
|
||||
return [32]byte(iv), nil
|
||||
return [16]byte(iv), nil
|
||||
}
|
||||
|
||||
func (router_address RouterAddress) ProtocolVersion() (string, error) {
|
||||
@@ -319,7 +328,7 @@ func ReadRouterAddress(data []byte) (router_address RouterAddress, remainder []b
|
||||
log.WithField("data_length", len(data)).Debug("Reading RouterAddress from data")
|
||||
if len(data) == 0 {
|
||||
log.WithField("at", "(RouterAddress) ReadRouterAddress").Error("error parsing RouterAddress: no data")
|
||||
err = errors.New("error parsing RouterAddress: no data")
|
||||
err = oops.Errorf("error parsing RouterAddress: no data")
|
||||
return
|
||||
}
|
||||
router_address.TransportCost, remainder, err = NewInteger(data, 1)
|
||||
|
1380
lib/common/router_address/router_address.svg
Normal file
After Width: | Height: | Size: 147 KiB |
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/router_identity"
|
||||
|
||||

|
||||
|
||||
Package router_identity implements the I2P RouterIdentity common data structure
|
||||
|
||||
## Usage
|
||||
@@ -18,6 +20,12 @@ RouterIdentity is the represenation of an I2P RouterIdentity.
|
||||
|
||||
https://geti2p.net/spec/common-structures#routeridentity
|
||||
|
||||
#### func NewRouterIdentity
|
||||
|
||||
```go
|
||||
func NewRouterIdentity(publicKey crypto.RecievingPublicKey, signingPublicKey crypto.SigningPublicKey, cert certificate.Certificate, padding []byte) (*RouterIdentity, error)
|
||||
```
|
||||
|
||||
#### func ReadRouterIdentity
|
||||
|
||||
```go
|
||||
@@ -26,3 +34,15 @@ func ReadRouterIdentity(data []byte) (router_identity RouterIdentity, remainder
|
||||
ReadRouterIdentity returns RouterIdentity from a []byte. The remaining bytes
|
||||
after the specified length are also returned. Returns a list of errors that
|
||||
occurred during parsing.
|
||||
|
||||
#### func (*RouterIdentity) AsDestination
|
||||
|
||||
```go
|
||||
func (router_identity *RouterIdentity) AsDestination() destination.Destination
|
||||
```
|
||||
|
||||
|
||||
|
||||
router_identity
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/router_identity
|
@@ -7,7 +7,7 @@ import (
|
||||
"github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
. "github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
"github.com/go-i2p/go-i2p/lib/crypto"
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -28,13 +28,13 @@ Identical to KeysAndCert.
|
||||
//
|
||||
// https://geti2p.net/spec/common-structures#routeridentity
|
||||
type RouterIdentity struct {
|
||||
KeysAndCert
|
||||
*KeysAndCert
|
||||
}
|
||||
|
||||
// ReadRouterIdentity returns RouterIdentity from a []byte.
|
||||
// The remaining bytes after the specified length are also returned.
|
||||
// Returns a list of errors that occurred during parsing.
|
||||
func ReadRouterIdentity(data []byte) (router_identity RouterIdentity, remainder []byte, err error) {
|
||||
func ReadRouterIdentity(data []byte) (router_identity *RouterIdentity, remainder []byte, err error) {
|
||||
log.WithFields(logrus.Fields{
|
||||
"input_length": len(data),
|
||||
}).Debug("Reading RouterIdentity from data")
|
||||
@@ -43,7 +43,7 @@ func ReadRouterIdentity(data []byte) (router_identity RouterIdentity, remainder
|
||||
log.WithError(err).Error("Failed to read KeysAndCert for RouterIdentity")
|
||||
return
|
||||
}
|
||||
router_identity = RouterIdentity{
|
||||
router_identity = &RouterIdentity{
|
||||
keys_and_cert,
|
||||
}
|
||||
log.WithFields(logrus.Fields{
|
||||
@@ -52,7 +52,7 @@ func ReadRouterIdentity(data []byte) (router_identity RouterIdentity, remainder
|
||||
return
|
||||
}
|
||||
|
||||
func NewRouterIdentity(publicKey crypto.PublicKey, signingPublicKey crypto.SigningPublicKey, cert certificate.Certificate, padding []byte) (*RouterIdentity, error) {
|
||||
func NewRouterIdentity(publicKey crypto.RecievingPublicKey, signingPublicKey crypto.SigningPublicKey, cert certificate.Certificate, padding []byte) (*RouterIdentity, error) {
|
||||
log.Debug("Creating new RouterIdentity")
|
||||
|
||||
// Step 1: Create keyCertificate from the provided certificate.
|
||||
@@ -72,7 +72,7 @@ func NewRouterIdentity(publicKey crypto.PublicKey, signingPublicKey crypto.Signi
|
||||
|
||||
// Step 3: Initialize RouterIdentity with KeysAndCert.
|
||||
routerIdentity := RouterIdentity{
|
||||
KeysAndCert: *keysAndCert,
|
||||
KeysAndCert: keysAndCert,
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{
|
||||
|
295
lib/common/router_identity/router_identity.svg
Normal file
@@ -0,0 +1,295 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="435pt" height="714pt"
|
||||
viewBox="0.00 0.00 435.23 714.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 714)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-714 435.2274,-714 435.2274,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-706 427.2274,-706 427.2274,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="217.6137" y="-685.8" font-family="Arial" font-size="18.00" fill="#000000">router_identity</text>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate</title>
|
||||
<g id="a_clust4"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M247.606,-529C247.606,-529 395.0366,-529 395.0366,-529 401.0366,-529 407.0366,-535 407.0366,-541 407.0366,-541 407.0366,-656 407.0366,-656 407.0366,-662 401.0366,-668 395.0366,-668 395.0366,-668 247.606,-668 247.606,-668 241.606,-668 235.606,-662 235.606,-656 235.606,-656 235.606,-541 235.606,-541 235.606,-535 241.606,-529 247.606,-529"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-537.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M294.6607,-182C294.6607,-182 348.9819,-182 348.9819,-182 354.9819,-182 360.9819,-188 360.9819,-194 360.9819,-194 360.9819,-248 360.9819,-248 360.9819,-254 354.9819,-260 348.9819,-260 348.9819,-260 294.6607,-260 294.6607,-260 288.6607,-260 282.6607,-254 282.6607,-248 282.6607,-248 282.6607,-194 282.6607,-194 282.6607,-188 288.6607,-182 294.6607,-182"/>
|
||||
<text text-anchor="middle" x="321.8213" y="-190.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M282.2119,-268C282.2119,-268 360.4307,-268 360.4307,-268 366.4307,-268 372.4307,-274 372.4307,-280 372.4307,-280 372.4307,-456 372.4307,-456 372.4307,-462 366.4307,-468 360.4307,-468 360.4307,-468 282.2119,-468 282.2119,-468 276.2119,-468 270.2119,-462 270.2119,-456 270.2119,-456 270.2119,-280 270.2119,-280 270.2119,-274 276.2119,-268 282.2119,-268"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-276.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity | defined in router_identity.go:55 at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:62: calling [(*github.com/go-i2p/logger.Logger).Error] at router_identity.go:69: calling [(*github.com/go-i2p/logger.Logger).Error] at router_identity.go:80: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType] at router_identity.go:62: calling [(*github.com/go-i2p/logger.Logger).WithError] at router_identity.go:69: calling [(*github.com/go-i2p/logger.Logger).WithError] at router_identity.go:60: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate] at router_identity.go:78: calling [(*github.com/go-i2p/logger.Logger).WithFields] at router_identity.go:67: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert] at router_identity.go:79: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M137.2848,-454C137.2848,-454 29.1304,-454 29.1304,-454 23.1304,-454 17.1304,-448 17.1304,-442 17.1304,-442 17.1304,-430 17.1304,-430 17.1304,-424 23.1304,-418 29.1304,-418 29.1304,-418 137.2848,-418 137.2848,-418 143.2848,-418 149.2848,-424 149.2848,-430 149.2848,-430 149.2848,-442 149.2848,-442 149.2848,-448 143.2848,-454 137.2848,-454"/>
|
||||
<text text-anchor="middle" x="83.2076" y="-431.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterIdentity</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate | defined in key_certificate.go:395">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M407.1336,-174C407.1336,-174 235.509,-174 235.509,-174 229.509,-174 223.509,-168 223.509,-162 223.509,-162 223.509,-150 223.509,-150 223.509,-144 229.509,-138 235.509,-138 235.509,-138 407.1336,-138 407.1336,-138 413.1336,-138 419.1336,-144 419.1336,-150 419.1336,-150 419.1336,-162 419.1336,-162 419.1336,-168 413.1336,-174 407.1336,-174"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">KeyCertificateFromCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
|
||||
<g id="a_edge7"><a xlink:title="at router_identity.go:60: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M91.9127,-417.9931C116.9545,-366.4708 189.176,-219.8907 221.6772,-181.4615"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="224.4105,-183.6793 229.0315,-174.1453 219.4736,-178.7167 224.4105,-183.6793"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert | defined in keys_and_cert.go:300">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M373.2245,-521C373.2245,-521 269.4181,-521 269.4181,-521 263.4181,-521 257.4181,-515 257.4181,-509 257.4181,-509 257.4181,-497 257.4181,-497 257.4181,-491 263.4181,-485 269.4181,-485 269.4181,-485 373.2245,-485 373.2245,-485 379.2245,-485 385.2245,-491 385.2245,-497 385.2245,-497 385.2245,-509 385.2245,-509 385.2245,-515 379.2245,-521 373.2245,-521"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-507.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-490.4" font-family="Verdana" font-size="14.00" fill="#000000">NewKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert</title>
|
||||
<g id="a_edge11"><a xlink:title="at router_identity.go:67: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.NewKeysAndCert]">
|
||||
<path fill="none" stroke="#8b4513" d="M147.3309,-454.0429C178.2892,-462.7539 215.5946,-473.2508 247.7093,-482.2872"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="246.9223,-485.7016 257.4965,-485.0411 248.8184,-478.9633 246.9223,-485.7016"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M349.8528,-338C349.8528,-338 292.7898,-338 292.7898,-338 286.7898,-338 280.7898,-332 280.7898,-326 280.7898,-326 280.7898,-314 280.7898,-314 280.7898,-308 286.7898,-302 292.7898,-302 292.7898,-302 349.8528,-302 349.8528,-302 355.8528,-302 361.8528,-308 361.8528,-314 361.8528,-314 361.8528,-326 361.8528,-326 361.8528,-332 355.8528,-338 349.8528,-338"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-324.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-307.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge5"><a xlink:title="at router_identity.go:62: calling [(*github.com/go-i2p/logger.Logger).WithError] at router_identity.go:69: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M116.4852,-417.7857C137.1588,-406.2385 164.1369,-390.7472 187.4152,-376 203.8706,-365.5752 205.933,-359.5923 223.4152,-351 238.2475,-343.7101 255.1749,-337.635 270.7356,-332.8508"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="272.1325,-336.0875 280.7281,-329.8934 270.146,-329.3753 272.1325,-336.0875"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M339.0876,-399C339.0876,-399 303.555,-399 303.555,-399 297.555,-399 291.555,-393 291.555,-387 291.555,-387 291.555,-375 291.555,-375 291.555,-369 297.555,-363 303.555,-363 303.555,-363 339.0876,-363 339.0876,-363 345.0876,-363 351.0876,-369 351.0876,-375 351.0876,-375 351.0876,-387 351.0876,-387 351.0876,-393 345.0876,-399 339.0876,-399"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-385.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-368.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge2"><a xlink:title="at router_identity.go:62: calling [(*github.com/go-i2p/logger.Logger).Error] at router_identity.go:69: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M149.5355,-420.6794C191.8686,-410.9012 245.3477,-398.5485 281.2958,-390.2452"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="282.4456,-393.5718 291.4014,-387.911 280.8702,-386.7514 282.4456,-393.5718"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M352.5404,-460C352.5404,-460 290.1022,-460 290.1022,-460 284.1022,-460 278.1022,-454 278.1022,-448 278.1022,-448 278.1022,-436 278.1022,-436 278.1022,-430 284.1022,-424 290.1022,-424 290.1022,-424 352.5404,-424 352.5404,-424 358.5404,-424 364.5404,-430 364.5404,-436 364.5404,-436 364.5404,-448 364.5404,-448 364.5404,-454 358.5404,-460 352.5404,-460"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-446.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-429.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge8"><a xlink:title="at router_identity.go:78: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M149.5355,-437.6713C186.8588,-438.6118 232.846,-439.7706 267.8442,-440.6525"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="267.7832,-444.152 277.8683,-440.9051 267.9596,-437.1542 267.7832,-444.152"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M340.1433,-252C340.1433,-252 302.4993,-252 302.4993,-252 296.4993,-252 290.4993,-246 290.4993,-240 290.4993,-240 290.4993,-228 290.4993,-228 290.4993,-222 296.4993,-216 302.4993,-216 302.4993,-216 340.1433,-216 340.1433,-216 346.1433,-216 352.1433,-222 352.1433,-228 352.1433,-228 352.1433,-240 352.1433,-240 352.1433,-246 346.1433,-252 340.1433,-252"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge1"><a xlink:title="at router_identity.go:56: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:82: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M111.7057,-417.9393C134.7308,-402.1267 166.6206,-377.297 187.4152,-349 212.1952,-315.2796 192.1907,-289.8594 223.4152,-262 239.0699,-248.0324 261.2498,-240.9976 280.5411,-237.4695"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="281.2727,-240.8976 290.6079,-235.8872 280.1857,-233.9825 281.2727,-240.8976"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="node12" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_node12"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType | defined in key_certificate.go:126">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M365.1882,-660C365.1882,-660 277.4544,-660 277.4544,-660 271.4544,-660 265.4544,-654 265.4544,-648 265.4544,-648 265.4544,-636 265.4544,-636 265.4544,-630 271.4544,-624 277.4544,-624 277.4544,-624 365.1882,-624 365.1882,-624 371.1882,-624 377.1882,-630 377.1882,-636 377.1882,-636 377.1882,-648 377.1882,-648 377.1882,-654 371.1882,-660 365.1882,-660"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-646.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-629.4" font-family="Verdana" font-size="14.00" fill="#000000">PublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType</title>
|
||||
<g id="a_edge12"><a xlink:title="at router_identity.go:79: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).PublicKeyType]">
|
||||
<path fill="none" stroke="#8b4513" d="M92.7203,-454.1885C112.3033,-489.86 160.6058,-569.2395 223.4152,-612 233.1738,-618.6437 244.4576,-623.8592 255.8186,-627.9406"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="254.7548,-631.2752 265.3483,-631.1086 256.9631,-624.6326 254.7548,-631.2752"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="node13" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_node13"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType | defined in key_certificate.go:117">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M387.2525,-599C387.2525,-599 255.3901,-599 255.3901,-599 249.3901,-599 243.3901,-593 243.3901,-587 243.3901,-587 243.3901,-575 243.3901,-575 243.3901,-569 249.3901,-563 255.3901,-563 255.3901,-563 387.2525,-563 387.2525,-563 393.2525,-563 399.2525,-569 399.2525,-575 399.2525,-575 399.2525,-587 399.2525,-587 399.2525,-593 393.2525,-599 387.2525,-599"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-585.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-568.4" font-family="Verdana" font-size="14.00" fill="#000000">SigningPublicKeyType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType</title>
|
||||
<g id="a_edge3"><a xlink:title="at router_identity.go:80: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SigningPublicKeyType]">
|
||||
<path fill="none" stroke="#8b4513" d="M98.4136,-454.1929C122.1823,-481.3843 170.8877,-532.2799 223.4152,-559 226.7561,-560.6995 230.227,-562.2687 233.7825,-563.7175"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="232.7674,-567.0741 243.3602,-567.2784 235.2067,-560.5129 232.7674,-567.0741"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity | defined in router_identity.go:37 at router_identity.go:43: calling [(*github.com/go-i2p/logger.Logger).Error] at router_identity.go:38: calling [(*github.com/go-i2p/logger.Logger).WithFields] at router_identity.go:49: calling [(*github.com/go-i2p/logger.Logger).WithFields] at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:41: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert] at router_identity.go:43: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M138.6234,-279C138.6234,-279 27.7918,-279 27.7918,-279 21.7918,-279 15.7918,-273 15.7918,-267 15.7918,-267 15.7918,-255 15.7918,-255 15.7918,-249 21.7918,-243 27.7918,-243 27.7918,-243 138.6234,-243 138.6234,-243 144.6234,-243 150.6234,-249 150.6234,-255 150.6234,-255 150.6234,-267 150.6234,-267 150.6234,-273 144.6234,-279 138.6234,-279"/>
|
||||
<text text-anchor="middle" x="83.2076" y="-256.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterIdentity</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert | defined in keys_and_cert.go:142">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M374.0622,-113C374.0622,-113 268.5804,-113 268.5804,-113 262.5804,-113 256.5804,-107 256.5804,-101 256.5804,-101 256.5804,-89 256.5804,-89 256.5804,-83 262.5804,-77 268.5804,-77 268.5804,-77 374.0622,-77 374.0622,-77 380.0622,-77 386.0622,-83 386.0622,-89 386.0622,-89 386.0622,-101 386.0622,-101 386.0622,-107 380.0622,-113 374.0622,-113"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">keys_and_cert</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadKeysAndCert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert</title>
|
||||
<g id="a_edge13"><a xlink:title="at router_identity.go:41: calling [github.com/go-i2p/go-i2p/lib/common/keys_and_cert.ReadKeysAndCert]">
|
||||
<path fill="none" stroke="#8b4513" d="M97.1813,-242.9816C120.3918,-214.2268 169.6868,-157.9557 223.4152,-126 230.8191,-121.5964 238.9158,-117.7508 247.18,-114.4094"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="248.4486,-117.6716 256.5537,-110.8483 245.9626,-111.1279 248.4486,-117.6716"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge14"><a xlink:title="at router_identity.go:43: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M150.6747,-272.9895C162.9436,-275.4418 175.5953,-278.1511 187.4152,-281 215.2616,-287.7117 245.966,-296.5483 270.9409,-304.1128"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="269.9775,-307.4781 280.5637,-307.05 272.0211,-300.783 269.9775,-307.4781"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge4"><a xlink:title="at router_identity.go:43: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M135.3161,-279.0682C152.8203,-286.5087 171.8377,-296.1889 187.4152,-308 207.2762,-323.059 202.6429,-337.2252 223.4152,-351 240.6666,-362.44 262.4792,-369.6796 281.1349,-374.1732"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="280.6039,-377.6405 291.1254,-376.3963 282.1244,-370.8077 280.6039,-377.6405"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge9"><a xlink:title="at router_identity.go:38: calling [(*github.com/go-i2p/logger.Logger).WithFields] at router_identity.go:49: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M95.2196,-279.2363C117.0066,-310.9004 166.1264,-376.0918 223.4152,-412 236.8839,-420.4421 252.8878,-426.6467 268.0129,-431.147"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="267.2179,-434.5586 277.7899,-433.8646 269.0926,-427.8143 267.2179,-434.5586"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.ReadRouterIdentity->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge10"><a xlink:title="at router_identity.go:40: calling [(*github.com/sirupsen/logrus.Logger).Debug] at router_identity.go:51: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M150.4867,-253.3711C192.2932,-248.6306 244.6786,-242.6906 280.343,-238.6466"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="280.8476,-242.1119 290.3895,-237.5074 280.0588,-235.1565 280.8476,-242.1119"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.init -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.init</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_identity.init | defined in .:0 at router_identity.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M98.2076,-52C98.2076,-52 68.2076,-52 68.2076,-52 62.2076,-52 56.2076,-46 56.2076,-40 56.2076,-40 56.2076,-28 56.2076,-28 56.2076,-22 62.2076,-16 68.2076,-16 68.2076,-16 98.2076,-16 98.2076,-16 104.2076,-16 110.2076,-22 110.2076,-28 110.2076,-28 110.2076,-40 110.2076,-40 110.2076,-46 104.2076,-52 98.2076,-52"/>
|
||||
<text text-anchor="middle" x="83.2076" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M370.0108,-52C370.0108,-52 272.6318,-52 272.6318,-52 266.6318,-52 260.6318,-46 260.6318,-40 260.6318,-40 260.6318,-28 260.6318,-28 260.6318,-22 266.6318,-16 272.6318,-16 272.6318,-16 370.0108,-16 370.0108,-16 376.0108,-16 382.0108,-22 382.0108,-28 382.0108,-28 382.0108,-40 382.0108,-40 382.0108,-46 376.0108,-52 370.0108,-52"/>
|
||||
<text text-anchor="middle" x="321.3213" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="321.3213" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge6"><a xlink:title="at router_identity.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M110.5223,-34C144.4368,-34 203.5523,-34 250.5669,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="250.7058,-37.5001 260.7058,-34 250.7058,-30.5001 250.7058,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 28 KiB |
@@ -8,18 +8,20 @@ import (
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/samber/oops"
|
||||
)
|
||||
|
||||
func consolidateNetDb(sourcePath string, destPath string) error {
|
||||
// Create destination directory if it doesn't exist
|
||||
if err := os.MkdirAll(destPath, 0o755); err != nil {
|
||||
return fmt.Errorf("failed to create destination directory: %v", err)
|
||||
return oops.Errorf("failed to create destination directory: %v", err)
|
||||
}
|
||||
|
||||
// Walk through all subdirectories
|
||||
return filepath.Walk(sourcePath, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("error accessing path %q: %v", path, err)
|
||||
return oops.Errorf("error accessing path %q: %v", path, err)
|
||||
}
|
||||
|
||||
// Skip if it's a directory
|
||||
@@ -37,7 +39,7 @@ func consolidateNetDb(sourcePath string, destPath string) error {
|
||||
|
||||
// Copy the file
|
||||
if err := copyFile(srcFile, dstFile); err != nil {
|
||||
return fmt.Errorf("failed to copy %s: %v", info.Name(), err)
|
||||
return oops.Errorf("failed to copy %s: %v", info.Name(), err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +71,7 @@ func consolidateAllNetDbs(tempDir string) error {
|
||||
|
||||
// Create the temp directory
|
||||
if err := os.MkdirAll(tempDir, 0o755); err != nil {
|
||||
return fmt.Errorf("failed to create temp directory: %v", err)
|
||||
return oops.Errorf("failed to create temp directory: %v", err)
|
||||
}
|
||||
|
||||
// Try to consolidate I2P netDb
|
||||
@@ -91,7 +93,7 @@ func consolidateAllNetDbs(tempDir string) error {
|
||||
|
||||
func cleanupTempDir(path string) error {
|
||||
if err := os.RemoveAll(path); err != nil {
|
||||
return fmt.Errorf("failed to cleanup temporary directory %s: %v", path, err)
|
||||
return oops.Errorf("failed to cleanup temporary directory %s: %v", path, err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
@@ -110,7 +112,7 @@ func createTempNetDbDir() (string, error) {
|
||||
// Create the directory with appropriate permissions
|
||||
err := os.MkdirAll(tempDir, 0o755)
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("failed to create temporary directory: %v", err)
|
||||
return "", oops.Errorf("failed to create temporary directory: %v", err)
|
||||
}
|
||||
|
||||
return tempDir, nil
|
||||
@@ -148,10 +150,10 @@ func Test10K(t *testing.T) {
|
||||
t.Fatalf("Failed to read temp directory: %v", err)
|
||||
}
|
||||
|
||||
for _, file := range files {
|
||||
for d, file := range files {
|
||||
if !file.IsDir() && strings.HasPrefix(file.Name(), "routerInfo-") {
|
||||
// Read the router info file
|
||||
log.Println("RI LOAD: ", file.Name())
|
||||
log.Println("RI LOAD: ", d, file.Name())
|
||||
data, err := os.ReadFile(filepath.Join(tempDir, file.Name()))
|
||||
if err != nil {
|
||||
t.Logf("Failed to read file %s: %v", file.Name(), err)
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/router_info"
|
||||
|
||||

|
||||
|
||||
Package router_info implements the I2P RouterInfo common data structure
|
||||
|
||||
## Usage
|
||||
@@ -28,6 +30,25 @@ RouterInfo is the represenation of an I2P RouterInfo.
|
||||
|
||||
https://geti2p.net/spec/common-structures#routerinfo
|
||||
|
||||
#### func NewRouterInfo
|
||||
|
||||
```go
|
||||
func NewRouterInfo(
|
||||
routerIdentity *RouterIdentity,
|
||||
publishedTime time.Time,
|
||||
addresses []*RouterAddress,
|
||||
options map[string]string,
|
||||
signingPrivateKey crypto.SigningPrivateKey,
|
||||
sigType int,
|
||||
) (*RouterInfo, error)
|
||||
```
|
||||
|
||||
#### func OwnedRouterInfo
|
||||
|
||||
```go
|
||||
func OwnedRouterInfo(keyCertificate key_certificate.KeyCertificate) *RouterInfo
|
||||
```
|
||||
|
||||
#### func ReadRouterInfo
|
||||
|
||||
```go
|
||||
@@ -37,6 +58,12 @@ ReadRouterInfo returns RouterInfo from a []byte. The remaining bytes after the
|
||||
specified length are also returned. Returns a list of errors that occurred
|
||||
during parsing.
|
||||
|
||||
#### func (*RouterInfo) AddAddress
|
||||
|
||||
```go
|
||||
func (router_info *RouterInfo) AddAddress(address *RouterAddress)
|
||||
```
|
||||
|
||||
#### func (RouterInfo) Bytes
|
||||
|
||||
```go
|
||||
@@ -57,6 +84,13 @@ func (router_info *RouterInfo) IdentHash() Hash
|
||||
```
|
||||
IndentHash returns the identity hash (sha256 sum) for this RouterInfo.
|
||||
|
||||
#### func (RouterInfo) Network
|
||||
|
||||
```go
|
||||
func (router_info RouterInfo) Network() string
|
||||
```
|
||||
Network implements net.Addr
|
||||
|
||||
#### func (RouterInfo) Options
|
||||
|
||||
```go
|
||||
@@ -137,3 +171,9 @@ func (router_info RouterInfo) String() string
|
||||
```go
|
||||
func (router_info *RouterInfo) UnCongested() bool
|
||||
```
|
||||
|
||||
|
||||
|
||||
router_info
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/router_info
|
9
lib/common/router_info/new.go
Normal file
@@ -0,0 +1,9 @@
|
||||
package router_info
|
||||
|
||||
import "github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
|
||||
func OwnedRouterInfo(keyCertificate key_certificate.KeyCertificate) *RouterInfo {
|
||||
return &RouterInfo{
|
||||
// ...
|
||||
}
|
||||
}
|
@@ -3,17 +3,16 @@ package router_info
|
||||
|
||||
import (
|
||||
"encoding/binary"
|
||||
"errors"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
"github.com/samber/oops"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/crypto"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
. "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
@@ -115,7 +114,7 @@ signature :: Signature
|
||||
//
|
||||
// https://geti2p.net/spec/common-structures#routerinfo
|
||||
type RouterInfo struct {
|
||||
router_identity RouterIdentity
|
||||
router_identity *RouterIdentity
|
||||
published *Date
|
||||
size *Integer
|
||||
addresses []*RouterAddress
|
||||
@@ -170,7 +169,7 @@ func (router_info RouterInfo) String() string {
|
||||
|
||||
// RouterIdentity returns the router identity as *RouterIdentity.
|
||||
func (router_info *RouterInfo) RouterIdentity() *RouterIdentity {
|
||||
return &router_info.router_identity
|
||||
return router_info.router_identity
|
||||
}
|
||||
|
||||
// IndentHash returns the identity hash (sha256 sum) for this RouterInfo.
|
||||
@@ -224,6 +223,10 @@ func (router_info RouterInfo) Network() string {
|
||||
return "i2p"
|
||||
}
|
||||
|
||||
func (router_info *RouterInfo) AddAddress(address *RouterAddress) {
|
||||
router_info.addresses = append(router_info.addresses, address)
|
||||
}
|
||||
|
||||
// ReadRouterInfo returns RouterInfo from a []byte.
|
||||
// The remaining bytes after the specified length are also returned.
|
||||
// Returns a list of errors that occurred during parsing.
|
||||
@@ -302,7 +305,7 @@ func ReadRouterInfo(bytes []byte) (info RouterInfo, remainder []byte, err error)
|
||||
sigType, err := certificate.GetSignatureTypeFromCertificate(cert)
|
||||
if err != nil {
|
||||
log.WithError(err).Error("Failed to get signature type from certificate")
|
||||
return RouterInfo{}, remainder, fmt.Errorf("certificate signature type error: %v", err)
|
||||
return RouterInfo{}, remainder, oops.Errorf("certificate signature type error: %v", err)
|
||||
}
|
||||
|
||||
// Enhanced signature type validation
|
||||
@@ -311,7 +314,7 @@ func ReadRouterInfo(bytes []byte) (info RouterInfo, remainder []byte, err error)
|
||||
"sigType": sigType,
|
||||
"cert": cert,
|
||||
}).Error("Invalid signature type detected")
|
||||
return RouterInfo{}, remainder, fmt.Errorf("invalid signature type: %d", sigType)
|
||||
return RouterInfo{}, remainder, oops.Errorf("invalid signature type: %d", sigType)
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{
|
||||
@@ -325,7 +328,7 @@ func ReadRouterInfo(bytes []byte) (info RouterInfo, remainder []byte, err error)
|
||||
//"required_len": MAPPING_SIZE,
|
||||
"reason": "not enough data",
|
||||
}).Error("error parsing router info")
|
||||
err = errors.New("error parsing router info: not enough data to read signature")
|
||||
err = oops.Errorf("error parsing router info: not enough data to read signature")
|
||||
}
|
||||
|
||||
log.WithFields(logrus.Fields{
|
||||
@@ -407,7 +410,7 @@ func NewRouterInfo(
|
||||
|
||||
// 5. Assemble RouterInfo without signature
|
||||
routerInfo := &RouterInfo{
|
||||
router_identity: *routerIdentity,
|
||||
router_identity: routerIdentity,
|
||||
published: &publishedDate,
|
||||
size: sizeInt,
|
||||
addresses: addresses,
|
||||
|
1370
lib/common/router_info/router_info.svg
Normal file
After Width: | Height: | Size: 148 KiB |
@@ -22,11 +22,12 @@ import (
|
||||
func TestCreateRouterInfo(t *testing.T) {
|
||||
// Generate signing key pair (Ed25519)
|
||||
var ed25519_privkey crypto.Ed25519PrivateKey
|
||||
_, err := (&ed25519_privkey).Generate()
|
||||
ed25519_signingprivkey, err := ed25519_privkey.Generate()
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to generate Ed25519 private key: %v\n", err)
|
||||
}
|
||||
ed25519_pubkey_raw, err := ed25519_privkey.Public()
|
||||
|
||||
ed25519_pubkey_raw, err := ed25519_signingprivkey.Public()
|
||||
if err != nil {
|
||||
t.Fatalf("Failed to derive Ed25519 public key: %v\n", err)
|
||||
}
|
||||
@@ -59,7 +60,7 @@ func TestCreateRouterInfo(t *testing.T) {
|
||||
copy(elg_pubkey[256-len(yBytes):], yBytes)
|
||||
|
||||
// Ensure that elg_pubkey implements crypto.PublicKey interface
|
||||
var _ crypto.PublicKey = elg_pubkey
|
||||
var _ crypto.RecievingPublicKey = elg_pubkey
|
||||
|
||||
// Create KeyCertificate specifying key types
|
||||
var payload bytes.Buffer
|
||||
|
@@ -3,10 +3,11 @@ package router_info
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
"github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
"github.com/go-i2p/go-i2p/lib/common/data"
|
||||
"github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
@@ -59,7 +60,7 @@ func generateTestRouterInfo(t *testing.T, publishedTime time.Time) (*RouterInfo,
|
||||
copy(elg_pubkey[256-len(yBytes):], yBytes)
|
||||
|
||||
// Ensure that elg_pubkey implements crypto.PublicKey interface
|
||||
var _ crypto.PublicKey = elg_pubkey
|
||||
var _ crypto.RecievingPublicKey = elg_pubkey
|
||||
|
||||
// Create KeyCertificate specifying key types
|
||||
var payload bytes.Buffer
|
||||
|
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/session_key"
|
||||
|
||||

|
||||
|
||||
Package session_key implements the I2P SessionKey common data structure
|
||||
|
||||
## Usage
|
||||
@@ -32,3 +34,9 @@ func ReadSessionKey(bytes []byte) (info SessionKey, remainder []byte, err error)
|
||||
ReadSessionKey returns SessionKey from a []byte. The remaining bytes after the
|
||||
specified length are also returned. Returns a list of errors that occurred
|
||||
during parsing.
|
||||
|
||||
|
||||
|
||||
session_key
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/session_key
|
167
lib/common/session_key/session_key.svg
Normal file
@@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="472pt" height="428pt"
|
||||
viewBox="0.00 0.00 472.39 428.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 428)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-428 472.3858,-428 472.3858,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-420 464.3858,-420 464.3858,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="236.1929" y="-399.8" font-family="Arial" font-size="18.00" fill="#000000">session_key</text>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Entry</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/sirupsen/logrus.Entry">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M238.2974,-243C238.2974,-243 291.6186,-243 291.6186,-243 297.6186,-243 303.6186,-249 303.6186,-255 303.6186,-255 303.6186,-370 303.6186,-370 303.6186,-376 297.6186,-382 291.6186,-382 291.6186,-382 238.2974,-382 238.2974,-382 232.2974,-382 226.2974,-376 226.2974,-370 226.2974,-370 226.2974,-255 226.2974,-255 226.2974,-249 232.2974,-243 238.2974,-243"/>
|
||||
<text text-anchor="middle" x="264.958" y="-251.5" font-family="Arial" font-size="15.00" fill="#222222">(*Entry)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey | defined in session_key.go:25 at session_key.go:27: calling [github.com/sirupsen/logrus.Warn]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M312.3221,-52C312.3221,-52 217.5939,-52 217.5939,-52 211.5939,-52 205.5939,-46 205.5939,-40 205.5939,-40 205.5939,-28 205.5939,-28 205.5939,-22 211.5939,-16 217.5939,-16 217.5939,-16 312.3221,-16 312.3221,-16 318.3221,-16 324.3221,-22 324.3221,-28 324.3221,-28 324.3221,-40 324.3221,-40 324.3221,-46 318.3221,-52 312.3221,-52"/>
|
||||
<text text-anchor="middle" x="264.958" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSessionKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/sirupsen/logrus.Warn -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/sirupsen/logrus.Warn</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/sirupsen/logrus.Warn | defined in exported.go:113">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M444.3837,-52C444.3837,-52 409.3921,-52 409.3921,-52 403.3921,-52 397.3921,-46 397.3921,-40 397.3921,-40 397.3921,-28 397.3921,-28 397.3921,-22 403.3921,-16 409.3921,-16 409.3921,-16 444.3837,-16 444.3837,-16 450.3837,-16 456.3837,-22 456.3837,-28 456.3837,-28 456.3837,-40 456.3837,-40 456.3837,-46 450.3837,-52 444.3837,-52"/>
|
||||
<text text-anchor="middle" x="426.8879" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="426.8879" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey->github.com/sirupsen/logrus.Warn -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey->github.com/sirupsen/logrus.Warn</title>
|
||||
<g id="a_edge7"><a xlink:title="at session_key.go:27: calling [github.com/sirupsen/logrus.Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M324.3352,-34C345.2029,-34 368.1346,-34 387.0117,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="387.0431,-37.5001 397.043,-34 387.043,-30.5001 387.0431,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey | defined in session_key.go:33 at session_key.go:34: calling [github.com/sirupsen/logrus.WithField] at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug] at session_key.go:35: calling [github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey] at session_key.go:37: calling [github.com/sirupsen/logrus.WithError] at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error] at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M120.29,-204C120.29,-204 28.236,-204 28.236,-204 22.236,-204 16.236,-198 16.236,-192 16.236,-192 16.236,-180 16.236,-180 16.236,-174 22.236,-168 28.236,-168 28.236,-168 120.29,-168 120.29,-168 126.29,-168 132.29,-174 132.29,-180 132.29,-180 132.29,-192 132.29,-192 132.29,-198 126.29,-204 120.29,-204"/>
|
||||
<text text-anchor="middle" x="74.263" y="-181.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey</title>
|
||||
<g id="a_edge3"><a xlink:title="at session_key.go:35: calling [github.com/go-i2p/go-i2p/lib/common/session_key.ReadSessionKey]">
|
||||
<path fill="none" stroke="#000000" d="M90.8252,-167.9829C114.5635,-142.8336 160.3942,-96.7292 205.526,-65 209.4263,-62.258 213.6003,-59.5997 217.8606,-57.0685"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="219.7007,-60.0485 226.6664,-52.0653 216.2427,-53.9622 219.7007,-60.0485"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/sirupsen/logrus.WithField -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/sirupsen/logrus.WithField</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/sirupsen/logrus.WithField | defined in exported.go:69">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M293.2325,-113C293.2325,-113 236.6835,-113 236.6835,-113 230.6835,-113 224.6835,-107 224.6835,-101 224.6835,-101 224.6835,-89 224.6835,-89 224.6835,-83 230.6835,-77 236.6835,-77 236.6835,-77 293.2325,-77 293.2325,-77 299.2325,-77 305.2325,-83 305.2325,-89 305.2325,-89 305.2325,-101 305.2325,-101 305.2325,-107 299.2325,-113 293.2325,-113"/>
|
||||
<text text-anchor="middle" x="264.958" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.958" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithField -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithField</title>
|
||||
<g id="a_edge1"><a xlink:title="at session_key.go:34: calling [github.com/sirupsen/logrus.WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M112.3947,-167.8035C142.7648,-153.3108 185.4246,-132.9535 217.9151,-117.449"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="219.7002,-120.4753 227.2178,-113.0097 216.6854,-114.1577 219.7002,-120.4753"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/sirupsen/logrus.WithError -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/sirupsen/logrus.WithError</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/sirupsen/logrus.WithError | defined in exported.go:55">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M293.4895,-174C293.4895,-174 236.4265,-174 236.4265,-174 230.4265,-174 224.4265,-168 224.4265,-162 224.4265,-162 224.4265,-150 224.4265,-150 224.4265,-144 230.4265,-138 236.4265,-138 236.4265,-138 293.4895,-138 293.4895,-138 299.4895,-138 305.4895,-144 305.4895,-150 305.4895,-150 305.4895,-162 305.4895,-162 305.4895,-168 299.4895,-174 293.4895,-174"/>
|
||||
<text text-anchor="middle" x="264.958" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.958" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithError -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.WithError</title>
|
||||
<g id="a_edge4"><a xlink:title="at session_key.go:37: calling [github.com/sirupsen/logrus.WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M132.514,-176.836C158.6025,-172.7318 189.0807,-167.937 214.2186,-163.9823"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="214.9448,-167.4112 224.2794,-162.3995 213.8569,-160.4962 214.9448,-167.4112"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/sirupsen/logrus.Debug -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/sirupsen/logrus.Debug</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/sirupsen/logrus.Debug | defined in exported.go:98">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M283.78,-235C283.78,-235 246.136,-235 246.136,-235 240.136,-235 234.136,-229 234.136,-223 234.136,-223 234.136,-211 234.136,-211 234.136,-205 240.136,-199 246.136,-199 246.136,-199 283.78,-199 283.78,-199 289.78,-199 295.78,-205 295.78,-211 295.78,-211 295.78,-223 295.78,-223 295.78,-229 289.78,-235 283.78,-235"/>
|
||||
<text text-anchor="middle" x="264.958" y="-221.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.958" y="-204.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.Debug -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->github.com/sirupsen/logrus.Debug</title>
|
||||
<g id="a_edge6"><a xlink:title="at session_key.go:41: calling [github.com/sirupsen/logrus.Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M132.514,-195.4695C162.1028,-200.2795 197.3383,-206.0075 224.025,-210.3458"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.7352,-213.8446 234.1673,-211.9946 224.8585,-206.9353 223.7352,-213.8446"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Entry).Debug -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Entry).Debug</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/sirupsen/logrus.Entry).Debug | defined in entry.go:312">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M283.78,-313C283.78,-313 246.136,-313 246.136,-313 240.136,-313 234.136,-307 234.136,-301 234.136,-301 234.136,-289 234.136,-289 234.136,-283 240.136,-277 246.136,-277 246.136,-277 283.78,-277 283.78,-277 289.78,-277 295.78,-283 295.78,-289 295.78,-289 295.78,-301 295.78,-301 295.78,-307 289.78,-313 283.78,-313"/>
|
||||
<text text-anchor="middle" x="264.958" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.958" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Debug -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Debug</title>
|
||||
<g id="a_edge2"><a xlink:title="at session_key.go:34: calling [(*github.com/sirupsen/logrus.Entry).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M97.9151,-204.1135C123.4419,-223.0678 165.7928,-252.8208 205.526,-273 211.5896,-276.0795 218.19,-278.9545 224.7143,-281.5442"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.5564,-284.8483 234.1476,-285.1249 226.0405,-278.3039 223.5564,-284.8483"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Entry).Error -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Entry).Error</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/sirupsen/logrus.Entry).Error | defined in entry.go:332">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M282.4538,-374C282.4538,-374 247.4622,-374 247.4622,-374 241.4622,-374 235.4622,-368 235.4622,-362 235.4622,-362 235.4622,-350 235.4622,-350 235.4622,-344 241.4622,-338 247.4622,-338 247.4622,-338 282.4538,-338 282.4538,-338 288.4538,-338 294.4538,-344 294.4538,-350 294.4538,-350 294.4538,-362 294.4538,-362 294.4538,-368 288.4538,-374 282.4538,-374"/>
|
||||
<text text-anchor="middle" x="264.958" y="-360.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.958" y="-343.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Error -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_key.NewSessionKey->(*github.com/sirupsen/logrus.Entry).Error</title>
|
||||
<g id="a_edge5"><a xlink:title="at session_key.go:37: calling [(*github.com/sirupsen/logrus.Entry).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M87.925,-204.2759C110.108,-233.0122 156.4463,-289.2647 205.526,-326 211.902,-330.7723 219.1515,-335.1491 226.3422,-338.9974"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="224.849,-342.1646 235.349,-343.5794 228.023,-335.9256 224.849,-342.1646"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 14 KiB |
@@ -2,6 +2,8 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/session_tag"
|
||||
|
||||

|
||||
|
||||
Package session_tag implements the I2P SessionTag common data structure
|
||||
|
||||
## Usage
|
||||
@@ -32,3 +34,9 @@ func ReadSessionTag(bytes []byte) (info SessionTag, remainder []byte, err error)
|
||||
ReadSessionTag returns SessionTag from a []byte. The remaining bytes after the
|
||||
specified length are also returned. Returns a list of errors that occurred
|
||||
during parsing.
|
||||
|
||||
|
||||
|
||||
session_tag
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/session_tag
|
@@ -2,7 +2,7 @@
|
||||
package session_tag
|
||||
|
||||
import (
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
|
203
lib/common/session_tag/session_tag.svg
Normal file
@@ -0,0 +1,203 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="508pt" height="384pt"
|
||||
viewBox="0.00 0.00 508.38 384.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 384)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-384 508.3802,-384 508.3802,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-376 500.3802,-376 500.3802,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="254.1901" y="-355.8" font-family="Arial" font-size="18.00" fill="#000000">session_tag</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M237.9061,-207C237.9061,-207 292.2273,-207 292.2273,-207 298.2273,-207 304.2273,-213 304.2273,-219 304.2273,-219 304.2273,-273 304.2273,-273 304.2273,-279 298.2273,-285 292.2273,-285 292.2273,-285 237.9061,-285 237.9061,-285 231.9061,-285 225.9061,-279 225.9061,-273 225.9061,-273 225.9061,-219 225.9061,-219 225.9061,-213 231.9061,-207 237.9061,-207"/>
|
||||
<text text-anchor="middle" x="265.0667" y="-215.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M402.1614,-16C402.1614,-16 480.3802,-16 480.3802,-16 486.3802,-16 492.3802,-22 492.3802,-28 492.3802,-28 492.3802,-326 492.3802,-326 492.3802,-332 486.3802,-338 480.3802,-338 480.3802,-338 402.1614,-338 402.1614,-338 396.1614,-338 390.1614,-332 390.1614,-326 390.1614,-326 390.1614,-28 390.1614,-28 390.1614,-22 396.1614,-16 402.1614,-16"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-24.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.init -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.init</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/session_tag.init | defined in .:0 at session_tag.go:9: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M88.486,-338C88.486,-338 58.486,-338 58.486,-338 52.486,-338 46.486,-332 46.486,-326 46.486,-326 46.486,-314 46.486,-314 46.486,-308 52.486,-302 58.486,-302 58.486,-302 88.486,-302 88.486,-302 94.486,-302 100.486,-308 100.486,-314 100.486,-314 100.486,-326 100.486,-326 100.486,-332 94.486,-338 88.486,-338"/>
|
||||
<text text-anchor="middle" x="73.486" y="-315.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M313.2562,-338C313.2562,-338 215.8772,-338 215.8772,-338 209.8772,-338 203.8772,-332 203.8772,-326 203.8772,-326 203.8772,-314 203.8772,-314 203.8772,-308 209.8772,-302 215.8772,-302 215.8772,-302 313.2562,-302 313.2562,-302 319.2562,-302 325.2562,-308 325.2562,-314 325.2562,-314 325.2562,-326 325.2562,-326 325.2562,-332 319.2562,-338 313.2562,-338"/>
|
||||
<text text-anchor="middle" x="264.5667" y="-324.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="264.5667" y="-307.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge2"><a xlink:title="at session_tag.go:9: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M100.8632,-320C124.9805,-320 161.1891,-320 193.4256,-320"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="193.7322,-323.5001 203.7321,-320 193.7321,-316.5001 193.7322,-323.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag | defined in session_tag.go:30 at session_tag.go:32: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M311.3771,-89C311.3771,-89 217.7563,-89 217.7563,-89 211.7563,-89 205.7563,-83 205.7563,-77 205.7563,-77 205.7563,-65 205.7563,-65 205.7563,-59 211.7563,-53 217.7563,-53 217.7563,-53 311.3771,-53 311.3771,-53 317.3771,-53 323.3771,-59 323.3771,-65 323.3771,-65 323.3771,-77 323.3771,-77 323.3771,-83 317.3771,-89 311.3771,-89"/>
|
||||
<text text-anchor="middle" x="264.5667" y="-66.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSessionTag</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="node5" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_node5"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warn | defined in log.go:30">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M459.0371,-86C459.0371,-86 423.5045,-86 423.5045,-86 417.5045,-86 411.5045,-80 411.5045,-74 411.5045,-74 411.5045,-62 411.5045,-62 411.5045,-56 417.5045,-50 423.5045,-50 423.5045,-50 459.0371,-50 459.0371,-50 465.0371,-50 471.0371,-56 471.0371,-62 471.0371,-62 471.0371,-74 471.0371,-74 471.0371,-80 465.0371,-86 459.0371,-86"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-72.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="441.2708" y="-55.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge3"><a xlink:title="at session_tag.go:32: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M323.4066,-70.001C349.0032,-69.5665 378.3334,-69.0685 401.332,-68.6781"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="401.4781,-72.1762 411.4172,-68.5068 401.3592,-65.1772 401.4781,-72.1762"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag | defined in session_tag.go:38 at session_tag.go:46: calling [(*github.com/go-i2p/logger.Logger).WithFields] at session_tag.go:39: calling [(*github.com/go-i2p/logger.Logger).WithField] at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug] at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug] at session_tag.go:40: calling [github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag] at session_tag.go:42: calling [(*github.com/go-i2p/logger.Logger).WithError] at session_tag.go:42: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M118.958,-175C118.958,-175 28.014,-175 28.014,-175 22.014,-175 16.014,-169 16.014,-163 16.014,-163 16.014,-151 16.014,-151 16.014,-145 22.014,-139 28.014,-139 28.014,-139 118.958,-139 118.958,-139 124.958,-139 130.958,-145 130.958,-151 130.958,-151 130.958,-163 130.958,-163 130.958,-169 124.958,-175 118.958,-175"/>
|
||||
<text text-anchor="middle" x="73.486" y="-152.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSessionTag</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag</title>
|
||||
<g id="a_edge6"><a xlink:title="at session_tag.go:40: calling [github.com/go-i2p/go-i2p/lib/common/session_tag.ReadSessionTag]">
|
||||
<path fill="none" stroke="#000000" d="M107.7754,-138.8764C125.3106,-129.8351 147.0943,-118.9486 166.972,-110 179.9588,-104.1535 194.099,-98.2467 207.4821,-92.8597"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="209.074,-95.9929 217.0659,-89.0373 206.4808,-89.491 209.074,-95.9929"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="node6" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_node6"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithField | defined in log.go:54">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M469.5453,-147C469.5453,-147 412.9963,-147 412.9963,-147 406.9963,-147 400.9963,-141 400.9963,-135 400.9963,-135 400.9963,-123 400.9963,-123 400.9963,-117 406.9963,-111 412.9963,-111 412.9963,-111 469.5453,-111 469.5453,-111 475.5453,-111 481.5453,-117 481.5453,-123 481.5453,-123 481.5453,-135 481.5453,-135 481.5453,-141 475.5453,-147 469.5453,-147"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-133.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="441.2708" y="-116.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge4"><a xlink:title="at session_tag.go:39: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M131.0584,-142.9712C142.8716,-140.5766 155.2725,-138.4102 166.972,-137 244.5117,-127.6536 335.2259,-126.9969 390.4445,-127.7334"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="390.6126,-131.2363 400.6655,-127.8912 390.7207,-124.2372 390.6126,-131.2363"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M469.8023,-208C469.8023,-208 412.7393,-208 412.7393,-208 406.7393,-208 400.7393,-202 400.7393,-196 400.7393,-196 400.7393,-184 400.7393,-184 400.7393,-178 406.7393,-172 412.7393,-172 412.7393,-172 469.8023,-172 469.8023,-172 475.8023,-172 481.8023,-178 481.8023,-184 481.8023,-184 481.8023,-196 481.8023,-196 481.8023,-202 475.8023,-208 469.8023,-208"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-194.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="441.2708" y="-177.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge7"><a xlink:title="at session_tag.go:42: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M131.2039,-153.4715C189.8248,-151.0372 282.9951,-150.338 362.1614,-164 371.5718,-165.624 381.3929,-168.1409 390.7862,-170.9819"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="389.7944,-174.3392 400.3849,-174.0359 391.9168,-167.6687 389.7944,-174.3392"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M459.0371,-269C459.0371,-269 423.5045,-269 423.5045,-269 417.5045,-269 411.5045,-263 411.5045,-257 411.5045,-257 411.5045,-245 411.5045,-245 411.5045,-239 417.5045,-233 423.5045,-233 423.5045,-233 459.0371,-233 459.0371,-233 465.0371,-233 471.0371,-239 471.0371,-245 471.0371,-245 471.0371,-257 471.0371,-257 471.0371,-263 465.0371,-269 459.0371,-269"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-255.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="441.2708" y="-238.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge8"><a xlink:title="at session_tag.go:42: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M130.9975,-159.1129C203.3633,-162.5668 322.9335,-171.1449 362.1614,-191 378.4342,-199.2364 375.9262,-209.5982 390.1614,-221 394.1252,-224.1748 398.4605,-227.2407 402.8767,-230.1215"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="401.0515,-233.108 411.3925,-235.4135 404.7463,-227.1625 401.0515,-233.108"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M472.4899,-330C472.4899,-330 410.0517,-330 410.0517,-330 404.0517,-330 398.0517,-324 398.0517,-318 398.0517,-318 398.0517,-306 398.0517,-306 398.0517,-300 404.0517,-294 410.0517,-294 410.0517,-294 472.4899,-294 472.4899,-294 478.4899,-294 484.4899,-300 484.4899,-306 484.4899,-306 484.4899,-318 484.4899,-318 484.4899,-324 478.4899,-330 472.4899,-330"/>
|
||||
<text text-anchor="middle" x="441.2708" y="-316.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="441.2708" y="-299.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge1"><a xlink:title="at session_tag.go:46: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M131.2291,-166.525C202.9067,-178.5 316.8096,-198.0892 325.1614,-203 364.3561,-226.0464 355.5781,-252.4814 390.1614,-282 392.6656,-284.1375 395.3424,-286.2094 398.1094,-288.1986"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="396.3464,-291.2306 406.599,-293.9015 400.2497,-285.4199 396.3464,-291.2306"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M283.3887,-277C283.3887,-277 245.7447,-277 245.7447,-277 239.7447,-277 233.7447,-271 233.7447,-265 233.7447,-265 233.7447,-253 233.7447,-253 233.7447,-247 239.7447,-241 245.7447,-241 245.7447,-241 283.3887,-241 283.3887,-241 289.3887,-241 295.3887,-247 295.3887,-253 295.3887,-253 295.3887,-265 295.3887,-265 295.3887,-271 289.3887,-277 283.3887,-277"/>
|
||||
<text text-anchor="middle" x="264.5667" y="-263.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="264.5667" y="-246.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/session_tag.NewSessionTag->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge5"><a xlink:title="at session_tag.go:39: calling [(*github.com/sirupsen/logrus.Logger).Debug] at session_tag.go:48: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M99.5846,-175.1809C125.3107,-192.5699 166.1513,-218.7711 203.972,-237 210.3393,-240.0689 217.2529,-242.9626 224.0558,-245.5807"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.2736,-249.0231 233.8669,-249.2077 225.7009,-242.4573 223.2736,-249.0231"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
80
lib/common/signature/README.md
Normal file
@@ -0,0 +1,80 @@
|
||||
# signature
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
|
||||

|
||||
|
||||
Package signature implements the I2P Signature common data structure
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const (
|
||||
DSA_SHA1_SIZE = 40
|
||||
ECDSA_SHA256_P256_SIZE = 64
|
||||
ECDSA_SHA384_P384_SIZE = 96
|
||||
ECDSA_SHA512_P512_SIZE = 132
|
||||
RSA_SHA256_2048_SIZE = 256
|
||||
RSA_SHA384_3072_SIZE = 384
|
||||
RSA_SHA512_4096_SIZE = 512
|
||||
EdDSA_SHA512_Ed25519_SIZE = 64
|
||||
EdDSA_SHA512_Ed25519ph_SIZE = 64
|
||||
RedDSA_SHA512_Ed25519_SIZE = 64
|
||||
)
|
||||
```
|
||||
Lengths of signature keys
|
||||
|
||||
```go
|
||||
const (
|
||||
SIGNATURE_TYPE_DSA_SHA1 = 0
|
||||
SIGNATURE_TYPE_ECDSA_SHA256_P256 = 1
|
||||
SIGNATURE_TYPE_ECDSA_SHA384_P384 = 2
|
||||
SIGNATURE_TYPE_ECDSA_SHA512_P521 = 3
|
||||
SIGNATURE_TYPE_RSA_SHA256_2048 = 4
|
||||
SIGNATURE_TYPE_RSA_SHA384_3072 = 5
|
||||
SIGNATURE_TYPE_RSA_SHA512_4096 = 6
|
||||
SIGNATURE_TYPE_EDDSA_SHA512_ED25519 = 7
|
||||
SIGNATURE_TYPE_EDDSA_SHA512_ED25519PH = 8
|
||||
SIGNATURE_TYPE_REDDSA_SHA512_ED25519 = 11
|
||||
)
|
||||
```
|
||||
|
||||
#### type Signature
|
||||
|
||||
```go
|
||||
type Signature []byte
|
||||
```
|
||||
|
||||
Signature is the represenation of an I2P Signature.
|
||||
|
||||
https://geti2p.net/spec/common-structures#signature
|
||||
|
||||
#### func NewSignature
|
||||
|
||||
```go
|
||||
func NewSignature(data []byte, sigType int) (signature *Signature, remainder []byte, err error)
|
||||
```
|
||||
NewSignature creates a new *Signature from []byte using ReadSignature. Returns a
|
||||
pointer to Signature unlike ReadSignature.
|
||||
|
||||
#### func ReadSignature
|
||||
|
||||
```go
|
||||
func ReadSignature(data []byte, sigType int) (sig Signature, remainder []byte, err error)
|
||||
```
|
||||
ReadSignature returns a Signature from a []byte. The remaining bytes after the
|
||||
specified length are also returned. Returns an error if there is insufficient
|
||||
data to read the signature.
|
||||
|
||||
Since the signature type and length are inferred from context (the type of key
|
||||
used), and are not explicitly stated, this function assumes the default
|
||||
signature type (DSA_SHA1) with a length of 40 bytes.
|
||||
|
||||
If a different signature type is expected based on context, this function should
|
||||
be modified accordingly to handle the correct signature length.
|
||||
|
||||
|
||||
|
||||
signature
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/common/signature
|
@@ -1,50 +0,0 @@
|
||||
# signature
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
|
||||
Package signature implements the I2P Signature common data structure
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const (
|
||||
DSA_SHA1_SIZE = 40
|
||||
ECDSA_SHA256_P256_SIZE = 64
|
||||
ECDSA_SHA384_P384_SIZE = 96
|
||||
ECDSA_SHA512_P512_SIZE = 132
|
||||
RSA_SHA256_2048_SIZE = 256
|
||||
RSA_SHA384_3072_SIZE = 384
|
||||
RSA_SHA512_4096_SIZE = 512
|
||||
EdDSA_SHA512_Ed25519_SIZE = 64
|
||||
EdDSA_SHA512_Ed25519ph_SIZE = 64
|
||||
RedDSA_SHA512_Ed25519_SIZE = 64
|
||||
)
|
||||
```
|
||||
Lengths of signature keys
|
||||
|
||||
#### type Signature
|
||||
|
||||
```go
|
||||
type Signature []byte
|
||||
```
|
||||
|
||||
Signature is the represenation of an I2P Signature.
|
||||
|
||||
https://geti2p.net/spec/common-structures#signature
|
||||
|
||||
#### func NewSignature
|
||||
|
||||
```go
|
||||
func NewSignature(data []byte) (session_tag *Signature, remainder []byte, err error)
|
||||
```
|
||||
NewSignature creates a new *Signature from []byte using ReadSignature. Returns a
|
||||
pointer to Signature unlike ReadSignature.
|
||||
|
||||
#### func ReadSignature
|
||||
|
||||
```go
|
||||
func ReadSignature(bytes []byte) (info Signature, remainder []byte, err error)
|
||||
```
|
||||
ReadSignature returns Signature from a []byte. The remaining bytes after the
|
||||
specified length are also returned. Returns a list of errors that occurred
|
||||
during parsing.
|
@@ -2,9 +2,8 @@
|
||||
package signature
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -88,12 +87,12 @@ func ReadSignature(data []byte, sigType int) (sig Signature, remainder []byte, e
|
||||
case SIGNATURE_TYPE_REDDSA_SHA512_ED25519:
|
||||
sigLength = RedDSA_SHA512_Ed25519_SIZE
|
||||
default:
|
||||
err = fmt.Errorf("unsupported signature type: %d", sigType)
|
||||
err = oops.Errorf("unsupported signature type: %d", sigType)
|
||||
return
|
||||
}
|
||||
|
||||
if len(data) < sigLength {
|
||||
err = fmt.Errorf("insufficient data to read signature: need %d bytes, have %d", sigLength, len(data))
|
||||
err = oops.Errorf("insufficient data to read signature: need %d bytes, have %d", sigLength, len(data))
|
||||
log.WithError(err).Error("Failed to read Signature")
|
||||
return
|
||||
}
|
||||
|
221
lib/common/signature/signature.svg
Normal file
@@ -0,0 +1,221 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="497pt" height="367pt"
|
||||
viewBox="0.00 0.00 497.49 367.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 367)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-367 497.4896,-367 497.4896,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-359 489.4896,-359 489.4896,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="248.7448" y="-338.8" font-family="Arial" font-size="18.00" fill="#000000">signature</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M227.0155,-190C227.0155,-190 281.3367,-190 281.3367,-190 287.3367,-190 293.3367,-196 293.3367,-202 293.3367,-202 293.3367,-256 293.3367,-256 293.3367,-262 287.3367,-268 281.3367,-268 281.3367,-268 227.0155,-268 227.0155,-268 221.0155,-268 215.0155,-262 215.0155,-256 215.0155,-256 215.0155,-202 215.0155,-202 215.0155,-196 221.0155,-190 227.0155,-190"/>
|
||||
<text text-anchor="middle" x="254.1761" y="-198.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M391.2708,-60C391.2708,-60 469.4896,-60 469.4896,-60 475.4896,-60 481.4896,-66 481.4896,-72 481.4896,-72 481.4896,-309 481.4896,-309 481.4896,-315 475.4896,-321 469.4896,-321 469.4896,-321 391.2708,-321 391.2708,-321 385.2708,-321 379.2708,-315 379.2708,-309 379.2708,-309 379.2708,-72 379.2708,-72 379.2708,-66 385.2708,-60 391.2708,-60"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-68.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.init -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.init</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/signature.init | defined in .:0 at signature.go:10: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M83.0407,-321C83.0407,-321 53.0407,-321 53.0407,-321 47.0407,-321 41.0407,-315 41.0407,-309 41.0407,-309 41.0407,-297 41.0407,-297 41.0407,-291 47.0407,-285 53.0407,-285 53.0407,-285 83.0407,-285 83.0407,-285 89.0407,-285 95.0407,-291 95.0407,-297 95.0407,-297 95.0407,-309 95.0407,-309 95.0407,-315 89.0407,-321 83.0407,-321"/>
|
||||
<text text-anchor="middle" x="68.0407" y="-298.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M302.3656,-321C302.3656,-321 204.9866,-321 204.9866,-321 198.9866,-321 192.9866,-315 192.9866,-309 192.9866,-309 192.9866,-297 192.9866,-297 192.9866,-291 198.9866,-285 204.9866,-285 204.9866,-285 302.3656,-285 302.3656,-285 308.3656,-285 314.3656,-291 314.3656,-297 314.3656,-297 314.3656,-309 314.3656,-309 314.3656,-315 308.3656,-321 302.3656,-321"/>
|
||||
<text text-anchor="middle" x="253.6761" y="-307.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="253.6761" y="-290.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge7"><a xlink:title="at signature.go:10: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M95.4318,-303C118.3566,-303 152.1155,-303 182.5704,-303"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="182.7516,-306.5001 192.7515,-303 182.7515,-299.5001 182.7516,-306.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/signature.NewSignature | defined in signature.go:106 at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug] at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug] at signature.go:110: calling [(*github.com/go-i2p/logger.Logger).WithError] at signature.go:110: calling [(*github.com/go-i2p/logger.Logger).Error] at signature.go:114: calling [(*github.com/go-i2p/logger.Logger).WithFields] at signature.go:107: calling [(*github.com/go-i2p/logger.Logger).WithField] at signature.go:108: calling [github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M108.1221,-158C108.1221,-158 27.9593,-158 27.9593,-158 21.9593,-158 15.9593,-152 15.9593,-146 15.9593,-146 15.9593,-134 15.9593,-134 15.9593,-128 21.9593,-122 27.9593,-122 27.9593,-122 108.1221,-122 108.1221,-122 114.1221,-122 120.1221,-128 120.1221,-134 120.1221,-134 120.1221,-146 120.1221,-146 120.1221,-152 114.1221,-158 108.1221,-158"/>
|
||||
<text text-anchor="middle" x="68.0407" y="-135.8" font-family="Verdana" font-size="14.00" fill="#000000">NewSignature</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature | defined in signature.go:66 at signature.go:96: calling [(*github.com/go-i2p/logger.Logger).WithError] at signature.go:96: calling [(*github.com/go-i2p/logger.Logger).Error] at signature.go:90: calling [github.com/samber/oops.Errorf] at signature.go:95: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M295.0963,-69C295.0963,-69 212.2559,-69 212.2559,-69 206.2559,-69 200.2559,-63 200.2559,-57 200.2559,-57 200.2559,-45 200.2559,-45 200.2559,-39 206.2559,-33 212.2559,-33 212.2559,-33 295.0963,-33 295.0963,-33 301.0963,-33 307.0963,-39 307.0963,-45 307.0963,-45 307.0963,-57 307.0963,-57 307.0963,-63 301.0963,-69 295.0963,-69"/>
|
||||
<text text-anchor="middle" x="253.6761" y="-46.8" font-family="Verdana" font-size="14.00" fill="#000000">ReadSignature</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature</title>
|
||||
<g id="a_edge10"><a xlink:title="at signature.go:108: calling [github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature]">
|
||||
<path fill="none" stroke="#000000" d="M100.3187,-121.9311C116.8289,-112.9038 137.3448,-102.0133 156.0814,-93 170.2625,-86.1781 185.8305,-79.2387 200.2859,-73.0176"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="201.7762,-76.1871 209.5989,-69.0417 199.0277,-69.7492 201.7762,-76.1871"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="node6" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_node6"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithField | defined in log.go:54">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.6547,-313C458.6547,-313 402.1057,-313 402.1057,-313 396.1057,-313 390.1057,-307 390.1057,-301 390.1057,-301 390.1057,-289 390.1057,-289 390.1057,-283 396.1057,-277 402.1057,-277 402.1057,-277 458.6547,-277 458.6547,-277 464.6547,-277 470.6547,-283 470.6547,-289 470.6547,-289 470.6547,-301 470.6547,-301 470.6547,-307 464.6547,-313 458.6547,-313"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-299.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="430.3802" y="-282.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge8"><a xlink:title="at signature.go:107: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M120.3668,-148.8384C190.1516,-160.7623 305.9394,-181.0792 314.2708,-186 353.4204,-209.1229 344.6875,-235.4814 379.2708,-265 381.775,-267.1375 384.4518,-269.2094 387.2188,-271.1986"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="385.4558,-274.2306 395.7084,-276.9015 389.3591,-268.4199 385.4558,-274.2306"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M458.9117,-130C458.9117,-130 401.8487,-130 401.8487,-130 395.8487,-130 389.8487,-124 389.8487,-118 389.8487,-118 389.8487,-106 389.8487,-106 389.8487,-100 395.8487,-94 401.8487,-94 401.8487,-94 458.9117,-94 458.9117,-94 464.9117,-94 470.9117,-100 470.9117,-106 470.9117,-106 470.9117,-118 470.9117,-118 470.9117,-124 464.9117,-130 458.9117,-130"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-116.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="430.3802" y="-99.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge4"><a xlink:title="at signature.go:110: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M120.3499,-126.3642C132.0338,-123.81 144.4193,-121.4804 156.0814,-120 233.5606,-110.1646 324.2917,-109.6452 379.5304,-110.5437"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="379.6922,-114.0472 389.7553,-110.7329 379.8218,-107.0484 379.6922,-114.0472"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M448.1465,-191C448.1465,-191 412.6139,-191 412.6139,-191 406.6139,-191 400.6139,-185 400.6139,-179 400.6139,-179 400.6139,-167 400.6139,-167 400.6139,-161 406.6139,-155 412.6139,-155 412.6139,-155 448.1465,-155 448.1465,-155 454.1465,-155 460.1465,-161 460.1465,-167 460.1465,-167 460.1465,-179 460.1465,-179 460.1465,-185 454.1465,-191 448.1465,-191"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-177.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="430.3802" y="-160.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge5"><a xlink:title="at signature.go:110: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M120.1671,-136.7629C177.3282,-134.2601 271.5401,-133.2214 351.2708,-147 364.4226,-149.2728 378.3769,-153.2877 390.8445,-157.4926"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="389.886,-160.8654 400.4808,-160.8759 392.205,-154.2607 389.886,-160.8654"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M461.5993,-252C461.5993,-252 399.1611,-252 399.1611,-252 393.1611,-252 387.1611,-246 387.1611,-240 387.1611,-240 387.1611,-228 387.1611,-228 387.1611,-222 393.1611,-216 399.1611,-216 399.1611,-216 461.5993,-216 461.5993,-216 467.5993,-216 473.5993,-222 473.5993,-228 473.5993,-228 473.5993,-240 473.5993,-240 473.5993,-246 467.5993,-252 461.5993,-252"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-238.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="430.3802" y="-221.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge6"><a xlink:title="at signature.go:114: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M120.2493,-142.0043C190.7307,-145.4303 312.0216,-154.0791 351.2708,-174 367.5344,-182.2546 365.0356,-192.5982 379.2708,-204 382.0037,-206.1889 384.9131,-208.326 387.9039,-210.3864"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="386.1803,-213.4407 396.469,-215.9692 390.0027,-207.5765 386.1803,-213.4407"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M272.4981,-260C272.4981,-260 234.8541,-260 234.8541,-260 228.8541,-260 222.8541,-254 222.8541,-248 222.8541,-248 222.8541,-236 222.8541,-236 222.8541,-230 228.8541,-224 234.8541,-224 234.8541,-224 272.4981,-224 272.4981,-224 278.4981,-224 284.4981,-230 284.4981,-236 284.4981,-236 284.4981,-248 284.4981,-248 284.4981,-254 278.4981,-260 272.4981,-260"/>
|
||||
<text text-anchor="middle" x="253.6761" y="-246.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="253.6761" y="-229.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.NewSignature->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge1"><a xlink:title="at signature.go:107: calling [(*github.com/sirupsen/logrus.Logger).Debug] at signature.go:117: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M92.9329,-158.2683C117.4985,-175.7221 156.5722,-201.9699 193.0814,-220 199.419,-223.1298 206.3176,-226.0544 213.1146,-228.6844"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="212.33,-232.1261 222.9231,-232.3166 214.7609,-225.5617 212.33,-232.1261"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M447.5755,-52C447.5755,-52 413.1849,-52 413.1849,-52 407.1849,-52 401.1849,-46 401.1849,-40 401.1849,-40 401.1849,-28 401.1849,-28 401.1849,-22 407.1849,-16 413.1849,-16 413.1849,-16 447.5755,-16 447.5755,-16 453.5755,-16 459.5755,-22 459.5755,-28 459.5755,-28 459.5755,-40 459.5755,-40 459.5755,-46 453.5755,-52 447.5755,-52"/>
|
||||
<text text-anchor="middle" x="430.3802" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="430.3802" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->github.com/samber/oops.Errorf -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge9"><a xlink:title="at signature.go:90: calling [github.com/samber/oops.Errorf] at signature.go:95: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M307.0076,-43.7814C321.0603,-42.042 336.2212,-40.3099 350.2708,-39 363.518,-37.7649 378.0268,-36.7556 391.0136,-35.9755"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="391.2664,-39.4668 401.0492,-35.399 390.8649,-32.4783 391.2664,-39.4668"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge2"><a xlink:title="at signature.go:96: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M306.8913,-53.7663C321.7462,-55.9635 337.5623,-59.7036 351.2708,-66 366.1652,-72.8411 365.3628,-81.3277 379.2708,-90 379.7831,-90.3195 380.3009,-90.6364 380.8236,-90.9509"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="379.1809,-94.0419 389.6271,-95.8101 382.5636,-87.9135 379.1809,-94.0419"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/signature.ReadSignature->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge3"><a xlink:title="at signature.go:96: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M280.561,-69.2323C300.376,-82.8562 327.8411,-102.1316 351.2708,-120 364.0764,-129.766 366.0636,-133.7844 379.2708,-143 383.2286,-145.7617 387.452,-148.5185 391.7106,-151.1795"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="390.0647,-154.2749 400.4279,-156.4779 393.7004,-148.2931 390.0647,-154.2749"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 19 KiB |
@@ -6,11 +6,10 @@ import (
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
||||
func TestReadSignatureErrors(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
data := []byte{0xbe,0xef}
|
||||
data := []byte{0xbe, 0xef}
|
||||
unsupportedSigType := 1000
|
||||
_, _, err := ReadSignature(data, unsupportedSigType)
|
||||
assert.NotNil(err, "unsupported signature error should be reported")
|
||||
@@ -41,7 +40,7 @@ func TestReadSignature(t *testing.T) {
|
||||
dataLen := 1024
|
||||
data := []byte{}
|
||||
for i := 0; i < dataLen; i++ {
|
||||
data = append(data, byte(i % 10))
|
||||
data = append(data, byte(i%10))
|
||||
}
|
||||
|
||||
for i, sigType := range sigTypes {
|
||||
@@ -55,7 +54,7 @@ func TestReadSignature(t *testing.T) {
|
||||
func TestNewSignatureError(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
data := []byte{0xbe,0xef}
|
||||
data := []byte{0xbe, 0xef}
|
||||
unsupportedSigType := 1000
|
||||
_, _, err := NewSignature(data, unsupportedSigType)
|
||||
assert.NotNil(err, "NewSignature error should be reported")
|
||||
@@ -67,8 +66,8 @@ func TestNewSignature(t *testing.T) {
|
||||
data := []byte{}
|
||||
sigLength := EdDSA_SHA512_Ed25519_SIZE
|
||||
remLength := 20
|
||||
for i := 0; i < sigLength + remLength; i++ {
|
||||
data = append(data, byte(i % 10))
|
||||
for i := 0; i < sigLength+remLength; i++ {
|
||||
data = append(data, byte(i%10))
|
||||
}
|
||||
sigType := SIGNATURE_TYPE_EDDSA_SHA512_ED25519
|
||||
|
||||
|
@@ -2,9 +2,22 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/config"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
```go
|
||||
const GOI2P_BASE_DIR = ".go-i2p"
|
||||
```
|
||||
|
||||
```go
|
||||
var (
|
||||
CfgFile string
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
var DefaultBootstrapConfig = BootstrapConfig{
|
||||
LowPeerThreshold: 10,
|
||||
@@ -25,6 +38,18 @@ default settings for netdb
|
||||
var RouterConfigProperties = DefaultRouterConfig()
|
||||
```
|
||||
|
||||
#### func InitConfig
|
||||
|
||||
```go
|
||||
func InitConfig()
|
||||
```
|
||||
|
||||
#### func UpdateRouterConfig
|
||||
|
||||
```go
|
||||
func UpdateRouterConfig()
|
||||
```
|
||||
|
||||
#### type BootstrapConfig
|
||||
|
||||
```go
|
||||
@@ -83,3 +108,9 @@ router.config options
|
||||
```go
|
||||
func DefaultRouterConfig() *RouterConfig
|
||||
```
|
||||
|
||||
|
||||
|
||||
config
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/config
|
@@ -4,9 +4,9 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/go-i2p/lib/util"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/spf13/viper"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -17,48 +17,13 @@ var (
|
||||
const GOI2P_BASE_DIR = ".go-i2p"
|
||||
|
||||
func InitConfig() {
|
||||
defaultConfigDir := filepath.Join(os.Getenv("HOME"), GOI2P_BASE_DIR)
|
||||
defaultConfigFile := filepath.Join(defaultConfigDir, "config.yaml")
|
||||
|
||||
if CfgFile != "" {
|
||||
// Use config file from the flag
|
||||
viper.SetConfigFile(CfgFile)
|
||||
} else {
|
||||
// Create default config if it doesn't exist
|
||||
if _, err := os.Stat(defaultConfigFile); os.IsNotExist(err) {
|
||||
// Ensure directory exists
|
||||
if err := os.MkdirAll(defaultConfigDir, 0o755); err != nil {
|
||||
log.Fatalf("Could not create config directory: %s", err)
|
||||
}
|
||||
|
||||
// Create default configuration
|
||||
defaultConfig := struct {
|
||||
BaseDir string `yaml:"base_dir"`
|
||||
WorkingDir string `yaml:"working_dir"`
|
||||
NetDB NetDbConfig `yaml:"netdb"`
|
||||
Bootstrap BootstrapConfig `yaml:"bootstrap"`
|
||||
}{
|
||||
BaseDir: DefaultRouterConfig().BaseDir,
|
||||
WorkingDir: DefaultRouterConfig().WorkingDir,
|
||||
NetDB: *DefaultRouterConfig().NetDb,
|
||||
Bootstrap: *DefaultRouterConfig().Bootstrap,
|
||||
}
|
||||
|
||||
yamlData, err := yaml.Marshal(defaultConfig)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not marshal default config: %s", err)
|
||||
}
|
||||
|
||||
// Write default config file
|
||||
if err := os.WriteFile(defaultConfigFile, yamlData, 0o644); err != nil {
|
||||
log.Fatalf("Could not write default config file: %s", err)
|
||||
}
|
||||
|
||||
log.Debugf("Created default configuration at: %s", defaultConfigFile)
|
||||
}
|
||||
|
||||
// Set up viper to use the config file
|
||||
viper.AddConfigPath(defaultConfigDir)
|
||||
// Set up viper to use the default config path $HOME/.go-ip/
|
||||
viper.AddConfigPath(BuildI2PDirPath())
|
||||
viper.SetConfigName("config")
|
||||
viper.SetConfigType("yaml")
|
||||
}
|
||||
@@ -66,11 +31,8 @@ func InitConfig() {
|
||||
// Load defaults
|
||||
setDefaults()
|
||||
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
log.Warnf("Error reading config file: %s", err)
|
||||
} else {
|
||||
log.Debugf("Using config file: %s", viper.ConfigFileUsed())
|
||||
}
|
||||
// handle config file creating it if needed
|
||||
handleConfigFile()
|
||||
|
||||
// Update RouterConfigProperties
|
||||
UpdateRouterConfig()
|
||||
@@ -111,3 +73,41 @@ func UpdateRouterConfig() {
|
||||
ReseedServers: reseedServers,
|
||||
}
|
||||
}
|
||||
|
||||
func createDefaultConfig(defaultConfigDir string) {
|
||||
|
||||
defaultConfigFile := filepath.Join(defaultConfigDir, "config.yaml")
|
||||
// Ensure directory exists
|
||||
if err := os.MkdirAll(defaultConfigDir, 0o755); err != nil {
|
||||
log.Fatalf("Could not create config directory: %s", err)
|
||||
}
|
||||
|
||||
// Write current config file
|
||||
if err := viper.WriteConfig(); err != nil {
|
||||
log.Fatalf("Could not write default config file: %s", err)
|
||||
}
|
||||
|
||||
log.Debugf("Created default configuration at: %s", defaultConfigFile)
|
||||
|
||||
}
|
||||
|
||||
func handleConfigFile() {
|
||||
if err := viper.ReadInConfig(); err != nil {
|
||||
if _, ok := err.(viper.ConfigFileNotFoundError); ok {
|
||||
if CfgFile != "" {
|
||||
log.Fatalf("Config file %s is not found: %s", CfgFile, err)
|
||||
} else {
|
||||
createDefaultConfig(BuildI2PDirPath())
|
||||
}
|
||||
} else {
|
||||
log.Fatalf("Error reading config file: %s", err)
|
||||
}
|
||||
} else {
|
||||
log.Debugf("Using config file: %s", viper.ConfigFileUsed())
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func BuildI2PDirPath() string {
|
||||
return filepath.Join(util.UserHome(), GOI2P_BASE_DIR)
|
||||
}
|
||||
|
481
lib/config/config.svg
Normal file
@@ -0,0 +1,481 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="673pt" height="848pt"
|
||||
viewBox="0.00 0.00 672.82 848.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 848)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-848 672.8192,-848 672.8192,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-840 664.8192,-840 664.8192,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="336.4096" y="-819.8" font-family="Arial" font-size="18.00" fill="#000000">config</text>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M213.047,-663C213.047,-663 271.0288,-663 271.0288,-663 277.0288,-663 283.0288,-669 283.0288,-675 283.0288,-675 283.0288,-790 283.0288,-790 283.0288,-796 277.0288,-802 271.0288,-802 271.0288,-802 213.047,-802 213.047,-802 207.047,-802 201.047,-796 201.047,-790 201.047,-790 201.047,-675 201.047,-675 201.047,-669 207.047,-663 213.047,-663"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-671.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M430.3472,-602C430.3472,-602 484.113,-602 484.113,-602 490.113,-602 496.113,-608 496.113,-614 496.113,-614 496.113,-668 496.113,-668 496.113,-674 490.113,-680 484.113,-680 484.113,-680 430.3472,-680 430.3472,-680 424.3472,-680 418.3472,-674 418.3472,-668 418.3472,-668 418.3472,-614 418.3472,-614 418.3472,-608 424.3472,-602 430.3472,-602"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-610.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.InitConfig | defined in config.go:19 at config.go:72: calling [github.com/spf13/viper.ConfigFileUsed] at config.go:62: calling [github.com/spf13/viper.SetConfigName] at config.go:70: calling [(*github.com/go-i2p/logger.Logger).Warnf] at config.go:61: calling [github.com/spf13/viper.AddConfigPath] at config.go:63: calling [github.com/spf13/viper.SetConfigType] at config.go:41: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:42: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:43: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:44: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:76: calling [github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig] at config.go:25: calling [github.com/spf13/viper.SetConfigFile] at config.go:69: calling [github.com/spf13/viper.ReadInConfig] at config.go:31: calling [(*github.com/sirupsen/logrus.Logger).Fatalf] at config.go:49: calling [(*github.com/sirupsen/logrus.Logger).Fatalf] at config.go:54: calling [(*github.com/sirupsen/logrus.Logger).Fatalf] at config.go:67: calling [github.com/go-i2p/go-i2p/lib/config.setDefaults] at config.go:47: calling [gopkg.in/yaml.v3.Marshal] at config.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debugf] at config.go:72: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M86.4951,-445C86.4951,-445 27.8345,-445 27.8345,-445 21.8345,-445 15.8345,-439 15.8345,-433 15.8345,-433 15.8345,-421 15.8345,-421 15.8345,-415 21.8345,-409 27.8345,-409 27.8345,-409 86.4951,-409 86.4951,-409 92.4951,-409 98.4951,-415 98.4951,-421 98.4951,-421 98.4951,-433 98.4951,-433 98.4951,-439 92.4951,-445 86.4951,-445"/>
|
||||
<text text-anchor="middle" x="57.1648" y="-422.8" font-family="Verdana" font-size="14.00" fill="#000000">InitConfig</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.SetConfigFile -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/spf13/viper.SetConfigFile</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/spf13/viper.SetConfigFile | defined in viper.go:509">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M281.0929,-113C281.0929,-113 202.9829,-113 202.9829,-113 196.9829,-113 190.9829,-107 190.9829,-101 190.9829,-101 190.9829,-89 190.9829,-89 190.9829,-83 196.9829,-77 202.9829,-77 202.9829,-77 281.0929,-77 281.0929,-77 287.0929,-77 293.0929,-83 293.0929,-89 293.0929,-89 293.0929,-101 293.0929,-101 293.0929,-107 287.0929,-113 281.0929,-113"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigFile</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigFile -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigFile</title>
|
||||
<g id="a_edge17"><a xlink:title="at config.go:25: calling [github.com/spf13/viper.SetConfigFile]">
|
||||
<path fill="none" stroke="#8b4513" d="M59.6612,-408.7336C67.8983,-350.9377 95.897,-173.4308 134.3296,-132 146.5817,-118.7921 163.757,-110.299 180.7987,-104.8377"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="182.1403,-108.0935 190.779,-101.9597 180.2007,-101.3675 182.1403,-108.0935"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.setDefaults -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.setDefaults</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.setDefaults | defined in config.go:79 at config.go:81: calling [github.com/spf13/viper.SetDefault] at config.go:82: calling [github.com/spf13/viper.SetDefault] at config.go:85: calling [github.com/spf13/viper.SetDefault] at config.go:88: calling [github.com/spf13/viper.SetDefault] at config.go:89: calling [github.com/spf13/viper.SetDefault] at config.go:81: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:82: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M273.5099,-201C273.5099,-201 210.5659,-201 210.5659,-201 204.5659,-201 198.5659,-195 198.5659,-189 198.5659,-189 198.5659,-177 198.5659,-177 198.5659,-171 204.5659,-165 210.5659,-165 210.5659,-165 273.5099,-165 273.5099,-165 279.5099,-165 285.5099,-171 285.5099,-177 285.5099,-177 285.5099,-189 285.5099,-189 285.5099,-195 279.5099,-201 273.5099,-201"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-178.8" font-family="Verdana" font-size="14.00" fill="#000000">setDefaults</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.setDefaults -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.setDefaults</title>
|
||||
<g id="a_edge22"><a xlink:title="at config.go:67: calling [github.com/go-i2p/go-i2p/lib/config.setDefaults]">
|
||||
<path fill="none" stroke="#000000" d="M62.41,-408.7554C74.8624,-368.4311 109.8568,-270.808 171.3296,-214 176.6761,-209.0592 182.9367,-204.8195 189.4828,-201.2058"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="191.1647,-204.2777 198.5273,-196.6591 188.0206,-198.0235 191.1647,-204.2777"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig | defined in router.go:44">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M516.6979,-235C516.6979,-235 397.7623,-235 397.7623,-235 391.7623,-235 385.7623,-229 385.7623,-223 385.7623,-223 385.7623,-211 385.7623,-211 385.7623,-205 391.7623,-199 397.7623,-199 397.7623,-199 516.6979,-199 516.6979,-199 522.6979,-199 528.6979,-205 528.6979,-211 528.6979,-211 528.6979,-223 528.6979,-223 528.6979,-229 522.6979,-235 516.6979,-235"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-212.8" font-family="Verdana" font-size="14.00" fill="#000000">DefaultRouterConfig</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig</title>
|
||||
<g id="a_edge12"><a xlink:title="at config.go:41: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:42: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:43: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:44: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig]">
|
||||
<path fill="none" stroke="#000000" d="M58.2342,-408.7257C62.3308,-357.5636 81.7139,-212.7442 171.3296,-153 251.6114,-99.4785 297.5124,-147.955 385.7462,-187 391.5616,-189.5734 397.6655,-192.2189 403.7533,-194.8221"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="402.6903,-198.1732 413.2628,-198.8617 405.4272,-191.7304 402.6903,-198.1732"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.ReadInConfig -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/spf13/viper.ReadInConfig</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/spf13/viper.ReadInConfig | defined in viper.go:1632">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M281.8526,-262C281.8526,-262 202.2232,-262 202.2232,-262 196.2232,-262 190.2232,-256 190.2232,-250 190.2232,-250 190.2232,-238 190.2232,-238 190.2232,-232 196.2232,-226 202.2232,-226 202.2232,-226 281.8526,-226 281.8526,-226 287.8526,-226 293.8526,-232 293.8526,-238 293.8526,-238 293.8526,-250 293.8526,-250 293.8526,-256 287.8526,-262 281.8526,-262"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-248.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-231.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadInConfig</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ReadInConfig -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ReadInConfig</title>
|
||||
<g id="a_edge18"><a xlink:title="at config.go:69: calling [github.com/spf13/viper.ReadInConfig]">
|
||||
<path fill="none" stroke="#8b4513" d="M66.7557,-408.6781C83.9212,-377.4408 122.6923,-313.5246 171.3296,-275 174.9135,-272.1613 178.7976,-269.5287 182.8383,-267.0977"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="184.8229,-269.9997 191.8786,-262.0961 181.4341,-263.8746 184.8229,-269.9997"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.AddConfigPath -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/spf13/viper.AddConfigPath</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/spf13/viper.AddConfigPath | defined in viper.go:574">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M285.9202,-323C285.9202,-323 198.1556,-323 198.1556,-323 192.1556,-323 186.1556,-317 186.1556,-311 186.1556,-311 186.1556,-299 186.1556,-299 186.1556,-293 192.1556,-287 198.1556,-287 198.1556,-287 285.9202,-287 285.9202,-287 291.9202,-287 297.9202,-293 297.9202,-299 297.9202,-299 297.9202,-311 297.9202,-311 297.9202,-317 291.9202,-323 285.9202,-323"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-309.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-292.4" font-family="Verdana" font-size="14.00" fill="#000000">AddConfigPath</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.AddConfigPath -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.AddConfigPath</title>
|
||||
<g id="a_edge10"><a xlink:title="at config.go:61: calling [github.com/spf13/viper.AddConfigPath]">
|
||||
<path fill="none" stroke="#8b4513" d="M76.6135,-408.8716C98.4485,-389.1682 135.5252,-357.6121 171.3296,-336 176.255,-333.027 181.5164,-330.1794 186.8628,-327.4989"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="188.4024,-330.6422 195.8962,-323.1527 185.3675,-324.3343 188.4024,-330.6422"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.SetConfigName -->
|
||||
<g id="node8" class="node">
|
||||
<title>github.com/spf13/viper.SetConfigName</title>
|
||||
<g id="a_node8"><a xlink:title="github.com/spf13/viper.SetConfigName | defined in viper.go:2174">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M287.2401,-384C287.2401,-384 196.8357,-384 196.8357,-384 190.8357,-384 184.8357,-378 184.8357,-372 184.8357,-372 184.8357,-360 184.8357,-360 184.8357,-354 190.8357,-348 196.8357,-348 196.8357,-348 287.2401,-348 287.2401,-348 293.2401,-348 299.2401,-354 299.2401,-360 299.2401,-360 299.2401,-372 299.2401,-372 299.2401,-378 293.2401,-384 287.2401,-384"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-370.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-353.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigName</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigName -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigName</title>
|
||||
<g id="a_edge6"><a xlink:title="at config.go:62: calling [github.com/spf13/viper.SetConfigName]">
|
||||
<path fill="none" stroke="#8b4513" d="M98.6539,-413.3104C121.9783,-405.6144 151.5964,-395.8417 177.8508,-387.1789"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="178.9537,-390.5007 187.3534,-384.0435 176.7603,-383.8532 178.9537,-390.5007"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.SetConfigType -->
|
||||
<g id="node9" class="node">
|
||||
<title>github.com/spf13/viper.SetConfigType</title>
|
||||
<g id="a_node9"><a xlink:title="github.com/spf13/viper.SetConfigType | defined in viper.go:2185">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M284.5817,-445C284.5817,-445 199.4941,-445 199.4941,-445 193.4941,-445 187.4941,-439 187.4941,-433 187.4941,-433 187.4941,-421 187.4941,-421 187.4941,-415 193.4941,-409 199.4941,-409 199.4941,-409 284.5817,-409 284.5817,-409 290.5817,-409 296.5817,-415 296.5817,-421 296.5817,-421 296.5817,-433 296.5817,-433 296.5817,-439 290.5817,-445 284.5817,-445"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-431.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-414.4" font-family="Verdana" font-size="14.00" fill="#000000">SetConfigType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigType -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.SetConfigType</title>
|
||||
<g id="a_edge11"><a xlink:title="at config.go:63: calling [github.com/spf13/viper.SetConfigType]">
|
||||
<path fill="none" stroke="#8b4513" d="M98.6539,-427C121.7737,-427 151.0773,-427 177.1591,-427"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="177.3534,-430.5001 187.3534,-427 177.3534,-423.5001 177.3534,-430.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- gopkg.in/yaml.v3.Marshal -->
|
||||
<g id="node10" class="node">
|
||||
<title>gopkg.in/yaml.v3.Marshal</title>
|
||||
<g id="a_node10"><a xlink:title="gopkg.in/yaml.v3.Marshal | defined in yaml.go:218">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M264.9076,-506C264.9076,-506 219.1682,-506 219.1682,-506 213.1682,-506 207.1682,-500 207.1682,-494 207.1682,-494 207.1682,-482 207.1682,-482 207.1682,-476 213.1682,-470 219.1682,-470 219.1682,-470 264.9076,-470 264.9076,-470 270.9076,-470 276.9076,-476 276.9076,-482 276.9076,-482 276.9076,-494 276.9076,-494 276.9076,-500 270.9076,-506 264.9076,-506"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-492.2" font-family="Verdana" font-size="14.00" fill="#000000">yaml</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-475.4" font-family="Verdana" font-size="14.00" fill="#000000">Marshal</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->gopkg.in/yaml.v3.Marshal -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->gopkg.in/yaml.v3.Marshal</title>
|
||||
<g id="a_edge23"><a xlink:title="at config.go:47: calling [gopkg.in/yaml.v3.Marshal]">
|
||||
<path fill="none" stroke="#8b4513" d="M98.6539,-440.6896C127.9217,-450.3467 167.0992,-463.2735 197.1058,-473.1744"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="196.3096,-476.5972 206.9028,-476.4069 198.503,-469.9497 196.3096,-476.5972"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig -->
|
||||
<g id="node11" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig</title>
|
||||
<g id="a_node11"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig | defined in config.go:92 at config.go:110: calling [github.com/spf13/viper.GetInt] at config.go:104: calling [github.com/spf13/viper.UnmarshalKey] at config.go:105: calling [(*github.com/go-i2p/logger.Logger).Warnf] at config.go:94: calling [github.com/spf13/viper.GetString] at config.go:95: calling [github.com/spf13/viper.GetString] at config.go:99: calling [github.com/spf13/viper.GetString]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M300.9551,-567C300.9551,-567 183.1207,-567 183.1207,-567 177.1207,-567 171.1207,-561 171.1207,-555 171.1207,-555 171.1207,-543 171.1207,-543 171.1207,-537 177.1207,-531 183.1207,-531 183.1207,-531 300.9551,-531 300.9551,-531 306.9551,-531 312.9551,-537 312.9551,-543 312.9551,-543 312.9551,-555 312.9551,-555 312.9551,-561 306.9551,-567 300.9551,-567"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-544.8" font-family="Verdana" font-size="14.00" fill="#000000">UpdateRouterConfig</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig</title>
|
||||
<g id="a_edge15"><a xlink:title="at config.go:76: calling [github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig]">
|
||||
<path fill="none" stroke="#000000" d="M76.1343,-445.065C97.8401,-465.0469 135.0821,-497.2831 171.3296,-519 175.7211,-521.6311 180.3856,-524.1477 185.1426,-526.525"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="183.824,-529.7738 194.3568,-530.9185 186.8368,-523.4553 183.824,-529.7738"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.ConfigFileUsed -->
|
||||
<g id="node15" class="node">
|
||||
<title>github.com/spf13/viper.ConfigFileUsed</title>
|
||||
<g id="a_node15"><a xlink:title="github.com/spf13/viper.ConfigFileUsed | defined in viper.go:569">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M286.9707,-628C286.9707,-628 197.1051,-628 197.1051,-628 191.1051,-628 185.1051,-622 185.1051,-616 185.1051,-616 185.1051,-604 185.1051,-604 185.1051,-598 191.1051,-592 197.1051,-592 197.1051,-592 286.9707,-592 286.9707,-592 292.9707,-592 298.9707,-598 298.9707,-604 298.9707,-604 298.9707,-616 298.9707,-616 298.9707,-622 292.9707,-628 286.9707,-628"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-614.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-597.4" font-family="Verdana" font-size="14.00" fill="#000000">ConfigFileUsed</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ConfigFileUsed -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->github.com/spf13/viper.ConfigFileUsed</title>
|
||||
<g id="a_edge1"><a xlink:title="at config.go:72: calling [github.com/spf13/viper.ConfigFileUsed]">
|
||||
<path fill="none" stroke="#8b4513" d="M66.4064,-445.0067C83.3121,-476.3611 122.0575,-541.3233 171.3296,-580 174.4846,-582.4766 177.8743,-584.7853 181.4,-586.9314"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="179.9481,-590.1289 190.3879,-591.9344 183.3526,-584.0126 179.9481,-590.1289"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warnf -->
|
||||
<g id="node21" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warnf</title>
|
||||
<g id="a_node21"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warnf | defined in log.go:36">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9964,-672C474.9964,-672 439.4638,-672 439.4638,-672 433.4638,-672 427.4638,-666 427.4638,-660 427.4638,-660 427.4638,-648 427.4638,-648 427.4638,-642 433.4638,-636 439.4638,-636 439.4638,-636 474.9964,-636 474.9964,-636 480.9964,-636 486.9964,-642 486.9964,-648 486.9964,-648 486.9964,-660 486.9964,-660 486.9964,-666 480.9964,-672 474.9964,-672"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-658.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-641.4" font-family="Verdana" font-size="14.00" fill="#000000">Warnf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/go-i2p/logger.Logger).Warnf -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/go-i2p/logger.Logger).Warnf</title>
|
||||
<g id="a_edge7"><a xlink:title="at config.go:70: calling [(*github.com/go-i2p/logger.Logger).Warnf]">
|
||||
<path fill="none" stroke="#8b4513" d="M60.5914,-445.1687C69.7579,-488.0742 99.2234,-595.4829 171.3296,-641 191.553,-653.766 343.0676,-654.6831 416.953,-654.3531"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="417.2853,-657.8514 427.2659,-654.2966 417.2469,-650.8515 417.2853,-657.8514"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Fatalf -->
|
||||
<g id="node22" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Fatalf</title>
|
||||
<g id="a_node22"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Fatalf | defined in logger.go:189">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M259.5337,-794C259.5337,-794 224.5421,-794 224.5421,-794 218.5421,-794 212.5421,-788 212.5421,-782 212.5421,-782 212.5421,-770 212.5421,-770 212.5421,-764 218.5421,-758 224.5421,-758 224.5421,-758 259.5337,-758 259.5337,-758 265.5337,-758 271.5337,-764 271.5337,-770 271.5337,-770 271.5337,-782 271.5337,-782 271.5337,-788 265.5337,-794 259.5337,-794"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-780.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-763.4" font-family="Verdana" font-size="14.00" fill="#000000">Fatalf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Fatalf -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Fatalf</title>
|
||||
<g id="a_edge19"><a xlink:title="at config.go:31: calling [(*github.com/sirupsen/logrus.Logger).Fatalf] at config.go:49: calling [(*github.com/sirupsen/logrus.Logger).Fatalf] at config.go:54: calling [(*github.com/sirupsen/logrus.Logger).Fatalf]">
|
||||
<path fill="none" stroke="#8b4513" d="M58.2044,-445.1411C62.2835,-499.0873 81.7586,-660.0854 171.3296,-746 180.1126,-754.4245 191.6201,-760.6551 202.793,-765.1854"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="201.8553,-768.5698 212.4488,-768.7413 204.2744,-762.0011 201.8553,-768.5698"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debugf -->
|
||||
<g id="node23" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debugf</title>
|
||||
<g id="a_node23"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debugf | defined in logger.go:163">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M263.0197,-733C263.0197,-733 221.0561,-733 221.0561,-733 215.0561,-733 209.0561,-727 209.0561,-721 209.0561,-721 209.0561,-709 209.0561,-709 209.0561,-703 215.0561,-697 221.0561,-697 221.0561,-697 263.0197,-697 263.0197,-697 269.0197,-697 275.0197,-703 275.0197,-709 275.0197,-709 275.0197,-721 275.0197,-721 275.0197,-727 269.0197,-733 263.0197,-733"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-719.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="242.0379" y="-702.4" font-family="Verdana" font-size="14.00" fill="#000000">Debugf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Debugf -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.InitConfig->(*github.com/sirupsen/logrus.Logger).Debugf</title>
|
||||
<g id="a_edge24"><a xlink:title="at config.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debugf] at config.go:72: calling [(*github.com/sirupsen/logrus.Logger).Debugf]">
|
||||
<path fill="none" stroke="#8b4513" d="M59.7631,-445.1644C66.3637,-486.5229 86.7448,-589.6433 134.3296,-661 146.392,-679.0884 152.3268,-682.4366 171.3296,-693 179.9196,-697.7751 189.6845,-701.6601 199.1566,-704.7608"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="198.2743,-708.1507 208.8601,-707.7126 200.3116,-701.4537 198.2743,-708.1507"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig</title>
|
||||
<g id="a_edge9"><a xlink:title="at config.go:81: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig] at config.go:82: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig]">
|
||||
<path fill="none" stroke="#000000" d="M285.5853,-189.8804C311.2942,-193.9424 344.6737,-199.2163 375.1536,-204.0321"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="374.9402,-207.5417 385.3639,-205.6453 376.0327,-200.6274 374.9402,-207.5417"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.SetDefault -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/spf13/viper.SetDefault</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/spf13/viper.SetDefault | defined in viper.go:1596">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M487.0956,-296C487.0956,-296 427.3646,-296 427.3646,-296 421.3646,-296 415.3646,-290 415.3646,-284 415.3646,-284 415.3646,-272 415.3646,-272 415.3646,-266 421.3646,-260 427.3646,-260 427.3646,-260 487.0956,-260 487.0956,-260 493.0956,-260 499.0956,-266 499.0956,-272 499.0956,-272 499.0956,-284 499.0956,-284 499.0956,-290 493.0956,-296 487.0956,-296"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-282.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-265.4" font-family="Verdana" font-size="14.00" fill="#000000">SetDefault</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/spf13/viper.SetDefault -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.setDefaults->github.com/spf13/viper.SetDefault</title>
|
||||
<g id="a_edge5"><a xlink:title="at config.go:81: calling [github.com/spf13/viper.SetDefault] at config.go:82: calling [github.com/spf13/viper.SetDefault] at config.go:85: calling [github.com/spf13/viper.SetDefault] at config.go:88: calling [github.com/spf13/viper.SetDefault] at config.go:89: calling [github.com/spf13/viper.SetDefault]">
|
||||
<path fill="none" stroke="#8b4513" d="M283.6095,-201.0383C293.1974,-205.2506 303.3415,-209.7489 312.7462,-214 345.36,-228.742 353.0167,-233.5166 385.7462,-248 392.1136,-250.8177 398.8267,-253.7217 405.4859,-256.5621"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="404.5842,-259.9812 415.1572,-260.6606 407.3156,-253.5361 404.5842,-259.9812"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.GetString -->
|
||||
<g id="node12" class="node">
|
||||
<title>github.com/spf13/viper.GetString</title>
|
||||
<g id="a_node12"><a xlink:title="github.com/spf13/viper.GetString | defined in viper.go:975">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M484.6675,-472C484.6675,-472 429.7927,-472 429.7927,-472 423.7927,-472 417.7927,-466 417.7927,-460 417.7927,-460 417.7927,-448 417.7927,-448 417.7927,-442 423.7927,-436 429.7927,-436 429.7927,-436 484.6675,-436 484.6675,-436 490.6675,-436 496.6675,-442 496.6675,-448 496.6675,-448 496.6675,-460 496.6675,-460 496.6675,-466 490.6675,-472 484.6675,-472"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-458.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-441.4" font-family="Verdana" font-size="14.00" fill="#000000">GetString</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetString -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetString</title>
|
||||
<g id="a_edge20"><a xlink:title="at config.go:94: calling [github.com/spf13/viper.GetString] at config.go:95: calling [github.com/spf13/viper.GetString] at config.go:99: calling [github.com/spf13/viper.GetString]">
|
||||
<path fill="none" stroke="#8b4513" d="M285.1417,-530.9925C294.2808,-527.0961 303.8521,-522.9566 312.7462,-519 345.4473,-504.4527 353.103,-499.6768 385.7462,-485 393.114,-481.6874 400.9343,-478.2333 408.5951,-474.884"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="410.0483,-478.0687 417.8193,-470.8672 407.2535,-471.6508 410.0483,-478.0687"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.UnmarshalKey -->
|
||||
<g id="node13" class="node">
|
||||
<title>github.com/spf13/viper.UnmarshalKey</title>
|
||||
<g id="a_node13"><a xlink:title="github.com/spf13/viper.UnmarshalKey | defined in viper.go:1103">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M499.4738,-533C499.4738,-533 414.9864,-533 414.9864,-533 408.9864,-533 402.9864,-527 402.9864,-521 402.9864,-521 402.9864,-509 402.9864,-509 402.9864,-503 408.9864,-497 414.9864,-497 414.9864,-497 499.4738,-497 499.4738,-497 505.4738,-497 511.4738,-503 511.4738,-509 511.4738,-509 511.4738,-521 511.4738,-521 511.4738,-527 505.4738,-533 499.4738,-533"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-519.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-502.4" font-family="Verdana" font-size="14.00" fill="#000000">UnmarshalKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.UnmarshalKey -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.UnmarshalKey</title>
|
||||
<g id="a_edge13"><a xlink:title="at config.go:104: calling [github.com/spf13/viper.UnmarshalKey]">
|
||||
<path fill="none" stroke="#8b4513" d="M312.7979,-537.82C338.5302,-533.7544 367.4592,-529.1836 392.6306,-525.2066"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="393.4713,-528.6173 402.8026,-523.5995 392.3788,-521.703 393.4713,-528.6173"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/spf13/viper.GetInt -->
|
||||
<g id="node14" class="node">
|
||||
<title>github.com/spf13/viper.GetInt</title>
|
||||
<g id="a_node14"><a xlink:title="github.com/spf13/viper.GetInt | defined in viper.go:989">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M474.9936,-594C474.9936,-594 439.4666,-594 439.4666,-594 433.4666,-594 427.4666,-588 427.4666,-582 427.4666,-582 427.4666,-570 427.4666,-570 427.4666,-564 433.4666,-558 439.4666,-558 439.4666,-558 474.9936,-558 474.9936,-558 480.9936,-558 486.9936,-564 486.9936,-570 486.9936,-570 486.9936,-582 486.9936,-582 486.9936,-588 480.9936,-594 474.9936,-594"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-580.2" font-family="Verdana" font-size="14.00" fill="#000000">viper</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-563.4" font-family="Verdana" font-size="14.00" fill="#000000">GetInt</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetInt -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->github.com/spf13/viper.GetInt</title>
|
||||
<g id="a_edge8"><a xlink:title="at config.go:110: calling [github.com/spf13/viper.GetInt]">
|
||||
<path fill="none" stroke="#8b4513" d="M312.7979,-557.8782C347.3833,-562.2176 387.7433,-567.2815 416.9933,-570.9515"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="416.8776,-574.4644 427.2356,-572.2366 417.7491,-567.5188 416.8776,-574.4644"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->(*github.com/go-i2p/logger.Logger).Warnf -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.UpdateRouterConfig->(*github.com/go-i2p/logger.Logger).Warnf</title>
|
||||
<g id="a_edge14"><a xlink:title="at config.go:105: calling [(*github.com/go-i2p/logger.Logger).Warnf]">
|
||||
<path fill="none" stroke="#8b4513" d="M287.2284,-567.1523C295.8575,-571.0805 304.7021,-575.4362 312.7462,-580 347.3927,-599.6568 350.0307,-614.36 385.7462,-632 395.6276,-636.8804 406.8143,-640.943 417.3547,-644.1935"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="416.6188,-647.6245 427.1986,-647.0614 418.5767,-640.9039 416.6188,-647.6245"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.defaultBase -->
|
||||
<g id="node16" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.defaultBase</title>
|
||||
<g id="a_node16"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.defaultBase | defined in router.go:28 at router.go:29: calling [github.com/go-i2p/go-i2p/lib/config.home]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M490.3115,-52C490.3115,-52 424.1487,-52 424.1487,-52 418.1487,-52 412.1487,-46 412.1487,-40 412.1487,-40 412.1487,-28 412.1487,-28 412.1487,-22 418.1487,-16 424.1487,-16 424.1487,-16 490.3115,-16 490.3115,-16 496.3115,-16 502.3115,-22 502.3115,-28 502.3115,-28 502.3115,-40 502.3115,-40 502.3115,-46 496.3115,-52 490.3115,-52"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultBase</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.home -->
|
||||
<g id="node17" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.home</title>
|
||||
<g id="a_node17"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.home | defined in router.go:20">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M644.8719,-73C644.8719,-73 613.6613,-73 613.6613,-73 607.6613,-73 601.6613,-67 601.6613,-61 601.6613,-61 601.6613,-49 601.6613,-49 601.6613,-43 607.6613,-37 613.6613,-37 613.6613,-37 644.8719,-37 644.8719,-37 650.8719,-37 656.8719,-43 656.8719,-49 656.8719,-49 656.8719,-61 656.8719,-61 656.8719,-67 650.8719,-73 644.8719,-73"/>
|
||||
<text text-anchor="middle" x="629.2666" y="-50.8" font-family="Verdana" font-size="14.00" fill="#000000">home</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.defaultBase->github.com/go-i2p/go-i2p/lib/config.home -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.defaultBase->github.com/go-i2p/go-i2p/lib/config.home</title>
|
||||
<g id="a_edge2"><a xlink:title="at router.go:29: calling [github.com/go-i2p/go-i2p/lib/config.home]">
|
||||
<path fill="none" stroke="#000000" d="M502.4307,-39.5175C530.203,-42.9076 565.3654,-47.1998 591.6199,-50.4046"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="591.2158,-53.8811 601.5663,-51.6187 592.0641,-46.9327 591.2158,-53.8811"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.defaultConfig -->
|
||||
<g id="node18" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.defaultConfig</title>
|
||||
<g id="a_node18"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.defaultConfig | defined in router.go:32 at router.go:33: calling [github.com/go-i2p/go-i2p/lib/config.home]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M495.9892,-113C495.9892,-113 418.471,-113 418.471,-113 412.471,-113 406.471,-107 406.471,-101 406.471,-101 406.471,-89 406.471,-89 406.471,-83 412.471,-77 418.471,-77 418.471,-77 495.9892,-77 495.9892,-77 501.9892,-77 507.9892,-83 507.9892,-89 507.9892,-89 507.9892,-101 507.9892,-101 507.9892,-107 501.9892,-113 495.9892,-113"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">defaultConfig</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.defaultConfig->github.com/go-i2p/go-i2p/lib/config.home -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.defaultConfig->github.com/go-i2p/go-i2p/lib/config.home</title>
|
||||
<g id="a_edge25"><a xlink:title="at router.go:33: calling [github.com/go-i2p/go-i2p/lib/config.home]">
|
||||
<path fill="none" stroke="#000000" d="M508.3809,-83.107C535.0739,-76.9006 567.1591,-69.4405 591.5644,-63.7661"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="592.568,-67.1262 601.5155,-61.4524 590.9826,-60.3081 592.568,-67.1262"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.init -->
|
||||
<g id="node19" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.init</title>
|
||||
<g id="a_node19"><a xlink:title="github.com/go-i2p/go-i2p/lib/config.init | defined in .:0 at config.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger] at netdb.go:15: calling [github.com/go-i2p/go-i2p/lib/config.defaultConfig] at router.go:41: calling [github.com/go-i2p/go-i2p/lib/config.defaultConfig] at router.go:40: calling [github.com/go-i2p/go-i2p/lib/config.defaultBase] at router.go:48: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M257.0379,-52C257.0379,-52 227.0379,-52 227.0379,-52 221.0379,-52 215.0379,-46 215.0379,-40 215.0379,-40 215.0379,-28 215.0379,-28 215.0379,-22 221.0379,-16 227.0379,-16 227.0379,-16 257.0379,-16 257.0379,-16 263.0379,-16 269.0379,-22 269.0379,-28 269.0379,-28 269.0379,-40 269.0379,-40 269.0379,-46 263.0379,-52 257.0379,-52"/>
|
||||
<text text-anchor="middle" x="242.0379" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig</title>
|
||||
<g id="a_edge21"><a xlink:title="at router.go:48: calling [github.com/go-i2p/go-i2p/lib/config.DefaultRouterConfig]">
|
||||
<path fill="none" stroke="#000000" d="M269.1031,-41.4613C283.2977,-46.3943 300.2769,-54.0109 312.7462,-65 360.1517,-106.7781 338.0115,-145.5984 385.7462,-187 388.555,-189.4361 391.59,-191.6958 394.7696,-193.7888"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="393.0815,-196.8568 403.4683,-198.9463 396.6516,-190.8356 393.0815,-196.8568"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultBase -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultBase</title>
|
||||
<g id="a_edge16"><a xlink:title="at router.go:40: calling [github.com/go-i2p/go-i2p/lib/config.defaultBase]">
|
||||
<path fill="none" stroke="#000000" d="M269.2921,-34C302.4127,-34 359.1306,-34 401.6157,-34"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="401.8132,-37.5001 411.8132,-34 401.8132,-30.5001 401.8132,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultConfig -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/go-i2p/lib/config.defaultConfig</title>
|
||||
<g id="a_edge4"><a xlink:title="at netdb.go:15: calling [github.com/go-i2p/go-i2p/lib/config.defaultConfig] at router.go:41: calling [github.com/go-i2p/go-i2p/lib/config.defaultConfig]">
|
||||
<path fill="none" stroke="#000000" d="M269.2921,-41.7257C301.1216,-50.7483 354.7445,-65.9487 396.5846,-77.809"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="395.8274,-81.2322 406.4029,-80.5921 397.7365,-74.4975 395.8274,-81.2322"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node20" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node20"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M505.9196,-174C505.9196,-174 408.5406,-174 408.5406,-174 402.5406,-174 396.5406,-168 396.5406,-162 396.5406,-162 396.5406,-150 396.5406,-150 396.5406,-144 402.5406,-138 408.5406,-138 408.5406,-138 505.9196,-138 505.9196,-138 511.9196,-138 517.9196,-144 517.9196,-150 517.9196,-150 517.9196,-162 517.9196,-162 517.9196,-168 511.9196,-174 505.9196,-174"/>
|
||||
<text text-anchor="middle" x="457.2301" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="457.2301" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/config.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge3"><a xlink:title="at config.go:14: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M269.1253,-43.7794C282.6818,-49.1885 299.0729,-56.5294 312.7462,-65 348.6887,-87.2663 349.6286,-104.0189 385.7462,-126 390.09,-128.6436 394.7086,-131.1603 399.4263,-133.5301"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="398.0428,-136.748 408.5747,-137.9007 401.0603,-130.4317 398.0428,-136.748"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 42 KiB |
@@ -1,7 +1,6 @@
|
||||
package config
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
|
||||
@@ -17,20 +16,12 @@ type RouterConfig struct {
|
||||
Bootstrap *BootstrapConfig
|
||||
}
|
||||
|
||||
func home() string {
|
||||
h, err := os.UserHomeDir()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return h
|
||||
}
|
||||
|
||||
func defaultBase() string {
|
||||
return filepath.Join(home(), GOI2P_BASE_DIR, "base")
|
||||
return filepath.Join(BuildI2PDirPath(), "base")
|
||||
}
|
||||
|
||||
func defaultConfig() string {
|
||||
return filepath.Join(home(), GOI2P_BASE_DIR, "config")
|
||||
return filepath.Join(BuildI2PDirPath(), "config")
|
||||
}
|
||||
|
||||
// defaults for router
|
||||
|
@@ -2,7 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/crypto"
|
||||
|
||||
package for i2p specific cryptography
|
||||

|
||||
|
||||
package for i2p specific crpytography
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -12,89 +14,31 @@ const (
|
||||
OPAD = byte(0x5C)
|
||||
)
|
||||
```
|
||||
#### type AESSymmetricKey
|
||||
```go
|
||||
type AESSymmetricKey struct {
|
||||
Key []byte // AES key (must be 16, 24, or 32 bytes for AES-128, AES-192, AES-256)
|
||||
IV []byte // Initialization Vector (must be 16 bytes for AES)
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricKey represents a symmetric key for AES encryption/decryption
|
||||
|
||||
#### func (AESSymmetricKey) NewEncrypter
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) NewEncrypter() (Encrypter, error)
|
||||
```
|
||||
NewEncrypter creates a new AESSymmetricEncrypter
|
||||
|
||||
#### func (AESSymmetricKey) NewDecrypter
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) NewDecrypter() (Decrypter, error)
|
||||
```
|
||||
NewDecrypter creates a new AESSymmetricDecrypter
|
||||
|
||||
#### func (AESSymmetricKey) Len
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) Len() int
|
||||
```
|
||||
Len returns the length of the key
|
||||
|
||||
#### type AESSymmetricEncrypter
|
||||
|
||||
```go
|
||||
type AESSymmetricEncrypter struct {
|
||||
Key []byte
|
||||
IV []byte
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricEncrypter implements the Encrypter interface using AES
|
||||
|
||||
#### func (*AESSymmetricEncrypter) Encrypt
|
||||
|
||||
```go
|
||||
func (e *AESSymmetricEncrypter) Encrypt(data []byte) ([]byte, error)
|
||||
```
|
||||
Encrypt encrypts data using AES-CBC with PKCS#7 padding
|
||||
|
||||
#### type AESSymmetricDecrypter
|
||||
|
||||
```go
|
||||
type AESSymmetricDecrypter struct {
|
||||
Key []byte
|
||||
IV []byte
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricDecrypter implements the Decrypter interface using AES
|
||||
|
||||
#### func (*AESSymmetricDecrypter) Decrypt
|
||||
|
||||
```go
|
||||
func (d *AESSymmetricDecrypter) Decrypt(data []byte) ([]byte, error)
|
||||
```
|
||||
Decrypt decrypts data using AES-CBC with PKCS#7 padding
|
||||
```go
|
||||
var (
|
||||
ElgDecryptFail = errors.New("failed to decrypt elgamal encrypted data")
|
||||
ElgEncryptTooBig = errors.New("failed to encrypt data, too big for elgamal")
|
||||
Ed25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Ed25519")
|
||||
ErrInvalidPublicKeySize = oops.Errorf("failed to verify: invalid ed25519 public key size")
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
var (
|
||||
ErrBadSignatureSize = errors.New("bad signature size")
|
||||
ErrInvalidKeyFormat = errors.New("invalid key format")
|
||||
ErrInvalidSignature = errors.New("invalid signature")
|
||||
ElgDecryptFail = oops.Errorf("failed to decrypt elgamal encrypted data")
|
||||
ElgEncryptTooBig = oops.Errorf("failed to encrypt data, too big for elgamal")
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
var Ed25519EncryptTooBig = errors.New("failed to encrypt data, too big for Ed25519")
|
||||
var (
|
||||
ErrBadSignatureSize = oops.Errorf("bad signature size")
|
||||
ErrInvalidKeyFormat = oops.Errorf("invalid key format")
|
||||
ErrInvalidSignature = oops.Errorf("invalid signature")
|
||||
)
|
||||
```
|
||||
|
||||
```go
|
||||
var Curve25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Curve25519")
|
||||
```
|
||||
|
||||
```go
|
||||
@@ -108,6 +52,180 @@ func ElgamalGenerate(priv *elgamal.PrivateKey, rand io.Reader) (err error)
|
||||
```
|
||||
generate an elgamal key pair
|
||||
|
||||
#### type AESSymmetricDecrypter
|
||||
|
||||
```go
|
||||
type AESSymmetricDecrypter struct {
|
||||
Key []byte
|
||||
IV []byte
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricDecrypter implements the Decrypter interface using AES
|
||||
|
||||
#### func (*AESSymmetricDecrypter) Decrypt
|
||||
|
||||
```go
|
||||
func (d *AESSymmetricDecrypter) Decrypt(data []byte) ([]byte, error)
|
||||
```
|
||||
Decrypt decrypts data using AES-CBC with PKCS#7 padding
|
||||
|
||||
#### func (*AESSymmetricDecrypter) DecryptNoPadding
|
||||
|
||||
```go
|
||||
func (d *AESSymmetricDecrypter) DecryptNoPadding(data []byte) ([]byte, error)
|
||||
```
|
||||
DecryptNoPadding decrypts data using AES-CBC without padding
|
||||
|
||||
#### type AESSymmetricEncrypter
|
||||
|
||||
```go
|
||||
type AESSymmetricEncrypter struct {
|
||||
Key []byte
|
||||
IV []byte
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricEncrypter implements the Encrypter interface using AES
|
||||
|
||||
#### func (*AESSymmetricEncrypter) Encrypt
|
||||
|
||||
```go
|
||||
func (e *AESSymmetricEncrypter) Encrypt(data []byte) ([]byte, error)
|
||||
```
|
||||
Encrypt encrypts data using AES-CBC with PKCS#7 padding
|
||||
|
||||
#### func (*AESSymmetricEncrypter) EncryptNoPadding
|
||||
|
||||
```go
|
||||
func (e *AESSymmetricEncrypter) EncryptNoPadding(data []byte) ([]byte, error)
|
||||
```
|
||||
EncryptNoPadding encrypts data using AES-CBC without padding
|
||||
|
||||
#### type AESSymmetricKey
|
||||
|
||||
```go
|
||||
type AESSymmetricKey struct {
|
||||
Key []byte // AES key (must be 16, 24, or 32 bytes for AES-128, AES-192, AES-256)
|
||||
IV []byte // Initialization Vector (must be 16 bytes for AES)
|
||||
}
|
||||
```
|
||||
|
||||
AESSymmetricKey represents a symmetric key for AES encryption/decryption
|
||||
|
||||
#### func (*AESSymmetricKey) Len
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) Len() int
|
||||
```
|
||||
Len returns the length of the key
|
||||
|
||||
#### func (*AESSymmetricKey) NewDecrypter
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) NewDecrypter() (Decrypter, error)
|
||||
```
|
||||
NewDecrypter creates a new AESSymmetricDecrypter
|
||||
|
||||
#### func (*AESSymmetricKey) NewEncrypter
|
||||
|
||||
```go
|
||||
func (k *AESSymmetricKey) NewEncrypter() (Encrypter, error)
|
||||
```
|
||||
NewEncrypter creates a new AESSymmetricEncrypter
|
||||
|
||||
#### type Curve25519Encryption
|
||||
|
||||
```go
|
||||
type Curve25519Encryption struct {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### func (*Curve25519Encryption) Encrypt
|
||||
|
||||
```go
|
||||
func (curve25519 *Curve25519Encryption) Encrypt(data []byte) (enc []byte, err error)
|
||||
```
|
||||
|
||||
#### func (*Curve25519Encryption) EncryptPadding
|
||||
|
||||
```go
|
||||
func (curve25519 *Curve25519Encryption) EncryptPadding(data []byte, zeroPadding bool) (encrypted []byte, err error)
|
||||
```
|
||||
|
||||
#### type Curve25519PrivateKey
|
||||
|
||||
```go
|
||||
type Curve25519PrivateKey curve25519.PrivateKey
|
||||
```
|
||||
|
||||
|
||||
#### type Curve25519PublicKey
|
||||
|
||||
```go
|
||||
type Curve25519PublicKey []byte
|
||||
```
|
||||
|
||||
|
||||
#### func (Curve25519PublicKey) Len
|
||||
|
||||
```go
|
||||
func (k Curve25519PublicKey) Len() int
|
||||
```
|
||||
|
||||
#### func (Curve25519PublicKey) NewEncrypter
|
||||
|
||||
```go
|
||||
func (elg Curve25519PublicKey) NewEncrypter() (enc Encrypter, err error)
|
||||
```
|
||||
|
||||
#### func (Curve25519PublicKey) NewVerifier
|
||||
|
||||
```go
|
||||
func (k Curve25519PublicKey) NewVerifier() (v Verifier, err error)
|
||||
```
|
||||
|
||||
#### type Curve25519Signer
|
||||
|
||||
```go
|
||||
type Curve25519Signer struct {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### func (*Curve25519Signer) Sign
|
||||
|
||||
```go
|
||||
func (s *Curve25519Signer) Sign(data []byte) (sig []byte, err error)
|
||||
```
|
||||
|
||||
#### func (*Curve25519Signer) SignHash
|
||||
|
||||
```go
|
||||
func (s *Curve25519Signer) SignHash(h []byte) (sig []byte, err error)
|
||||
```
|
||||
|
||||
#### type Curve25519Verifier
|
||||
|
||||
```go
|
||||
type Curve25519Verifier struct {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### func (*Curve25519Verifier) Verify
|
||||
|
||||
```go
|
||||
func (v *Curve25519Verifier) Verify(data, sig []byte) (err error)
|
||||
```
|
||||
|
||||
#### func (*Curve25519Verifier) VerifyHash
|
||||
|
||||
```go
|
||||
func (v *Curve25519Verifier) VerifyHash(h, sig []byte) (err error)
|
||||
```
|
||||
|
||||
#### type DSAPrivateKey
|
||||
|
||||
```go
|
||||
@@ -147,6 +265,12 @@ type DSAPublicKey [128]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (DSAPublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (k DSAPublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (DSAPublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -251,6 +375,12 @@ type ECP256PublicKey [64]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (ECP256PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (k ECP256PublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (ECP256PublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -277,6 +407,12 @@ type ECP384PublicKey [96]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (ECP384PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (k ECP384PublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (ECP384PublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -303,6 +439,12 @@ type ECP521PublicKey [132]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (ECP521PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (k ECP521PublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (ECP521PublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -315,6 +457,26 @@ func (k ECP521PublicKey) Len() int
|
||||
func (k ECP521PublicKey) NewVerifier() (Verifier, error)
|
||||
```
|
||||
|
||||
#### type Ed25519Decrypter
|
||||
|
||||
```go
|
||||
type Ed25519Decrypter struct {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### func (*Ed25519Decrypter) Decrypt
|
||||
|
||||
```go
|
||||
func (d *Ed25519Decrypter) Decrypt(data []byte) ([]byte, error)
|
||||
```
|
||||
|
||||
#### func (*Ed25519Decrypter) DecryptPadding
|
||||
|
||||
```go
|
||||
func (d *Ed25519Decrypter) DecryptPadding(data []byte, zeroPadding bool) ([]byte, error)
|
||||
```
|
||||
|
||||
#### type Ed25519Encryption
|
||||
|
||||
```go
|
||||
@@ -342,6 +504,48 @@ type Ed25519PrivateKey ed25519.PrivateKey
|
||||
```
|
||||
|
||||
|
||||
#### func (Ed25519PrivateKey) Bytes
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) Generate
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) Generate() (SigningPrivateKey, error)
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) Len
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) Len() int
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) NewDecrypter
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) NewDecrypter() (Decrypter, error)
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) NewSigner
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) NewSigner() (Signer, error)
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) Public
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) Public() (SigningPublicKey, error)
|
||||
```
|
||||
|
||||
#### func (Ed25519PrivateKey) Zero
|
||||
|
||||
```go
|
||||
func (k Ed25519PrivateKey) Zero()
|
||||
```
|
||||
|
||||
#### type Ed25519PublicKey
|
||||
|
||||
```go
|
||||
@@ -349,6 +553,18 @@ type Ed25519PublicKey []byte
|
||||
```
|
||||
|
||||
|
||||
#### func CreateEd25519PublicKeyFromBytes
|
||||
|
||||
```go
|
||||
func CreateEd25519PublicKeyFromBytes(data []byte) (Ed25519PublicKey, error)
|
||||
```
|
||||
|
||||
#### func (Ed25519PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (k Ed25519PublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (Ed25519PublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -433,6 +649,12 @@ type ElgPublicKey [256]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (ElgPublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (elg ElgPublicKey) Bytes() []byte
|
||||
```
|
||||
|
||||
#### func (ElgPublicKey) Len
|
||||
|
||||
```go
|
||||
@@ -509,6 +731,21 @@ type PrivateEncryptionKey interface {
|
||||
```
|
||||
|
||||
|
||||
#### type PrivateKey
|
||||
|
||||
```go
|
||||
type PrivateKey interface {
|
||||
// Public returns the public key corresponding to this private key
|
||||
Public() (SigningPublicKey, error)
|
||||
// Bytes returns the raw bytes of this private key
|
||||
Bytes() []byte
|
||||
// Zero clears all sensitive data from the private key
|
||||
Zero()
|
||||
}
|
||||
```
|
||||
|
||||
PrivateKey is an interface for private keys
|
||||
|
||||
#### type PublicEncryptionKey
|
||||
|
||||
```go
|
||||
@@ -527,7 +764,7 @@ type PublicEncryptionKey interface {
|
||||
```go
|
||||
type PublicKey interface {
|
||||
Len() int
|
||||
NewEncrypter() (Encrypter, error)
|
||||
Bytes() []byte
|
||||
}
|
||||
```
|
||||
|
||||
@@ -546,6 +783,27 @@ type RSA2048PublicKey [256]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (RSA2048PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (r RSA2048PublicKey) Bytes() []byte
|
||||
```
|
||||
Bytes implements SigningPublicKey.
|
||||
|
||||
#### func (RSA2048PublicKey) Len
|
||||
|
||||
```go
|
||||
func (r RSA2048PublicKey) Len() int
|
||||
```
|
||||
Len implements SigningPublicKey.
|
||||
|
||||
#### func (RSA2048PublicKey) NewVerifier
|
||||
|
||||
```go
|
||||
func (r RSA2048PublicKey) NewVerifier() (Verifier, error)
|
||||
```
|
||||
NewVerifier implements SigningPublicKey.
|
||||
|
||||
#### type RSA3072PrivateKey
|
||||
|
||||
```go
|
||||
@@ -560,6 +818,27 @@ type RSA3072PublicKey [384]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (RSA3072PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (r RSA3072PublicKey) Bytes() []byte
|
||||
```
|
||||
Bytes implements SigningPublicKey.
|
||||
|
||||
#### func (RSA3072PublicKey) Len
|
||||
|
||||
```go
|
||||
func (r RSA3072PublicKey) Len() int
|
||||
```
|
||||
Len implements SigningPublicKey.
|
||||
|
||||
#### func (RSA3072PublicKey) NewVerifier
|
||||
|
||||
```go
|
||||
func (r RSA3072PublicKey) NewVerifier() (Verifier, error)
|
||||
```
|
||||
NewVerifier implements SigningPublicKey.
|
||||
|
||||
#### type RSA4096PrivateKey
|
||||
|
||||
```go
|
||||
@@ -574,6 +853,38 @@ type RSA4096PublicKey [512]byte
|
||||
```
|
||||
|
||||
|
||||
#### func (RSA4096PublicKey) Bytes
|
||||
|
||||
```go
|
||||
func (r RSA4096PublicKey) Bytes() []byte
|
||||
```
|
||||
Bytes implements SigningPublicKey.
|
||||
|
||||
#### func (RSA4096PublicKey) Len
|
||||
|
||||
```go
|
||||
func (r RSA4096PublicKey) Len() int
|
||||
```
|
||||
Len implements SigningPublicKey.
|
||||
|
||||
#### func (RSA4096PublicKey) NewVerifier
|
||||
|
||||
```go
|
||||
func (r RSA4096PublicKey) NewVerifier() (Verifier, error)
|
||||
```
|
||||
NewVerifier implements SigningPublicKey.
|
||||
|
||||
#### type RecievingPublicKey
|
||||
|
||||
```go
|
||||
type RecievingPublicKey interface {
|
||||
Len() int
|
||||
Bytes() []byte
|
||||
NewEncrypter() (Encrypter, error)
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### type Signer
|
||||
|
||||
```go
|
||||
@@ -618,6 +929,7 @@ type SigningPublicKey interface {
|
||||
NewVerifier() (Verifier, error)
|
||||
// get the size of this public key
|
||||
Len() int
|
||||
Bytes() []byte
|
||||
}
|
||||
```
|
||||
|
||||
@@ -686,3 +998,9 @@ type Verifier interface {
|
||||
```
|
||||
|
||||
type for verifying signatures
|
||||
|
||||
|
||||
|
||||
crypto
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/crypto
|
@@ -4,9 +4,9 @@ import (
|
||||
"bytes"
|
||||
"crypto/aes"
|
||||
"crypto/cipher"
|
||||
"fmt"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
@@ -61,7 +61,7 @@ func (d *AESSymmetricDecrypter) Decrypt(data []byte) ([]byte, error) {
|
||||
|
||||
if len(data)%aes.BlockSize != 0 {
|
||||
log.Error("Ciphertext is not a multiple of the block size")
|
||||
return nil, fmt.Errorf("ciphertext is not a multiple of the block size")
|
||||
return nil, oops.Errorf("ciphertext is not a multiple of the block size")
|
||||
}
|
||||
|
||||
plaintext := make([]byte, len(data))
|
||||
@@ -120,18 +120,18 @@ func pkcs7Unpad(data []byte) ([]byte, error) {
|
||||
length := len(data)
|
||||
if length == 0 {
|
||||
log.Error("Data is empty")
|
||||
return nil, fmt.Errorf("data is empty")
|
||||
return nil, oops.Errorf("data is empty")
|
||||
}
|
||||
padding := int(data[length-1])
|
||||
if padding == 0 || padding > aes.BlockSize {
|
||||
log.WithField("padding", padding).Error("Invalid padding")
|
||||
return nil, fmt.Errorf("invalid padding")
|
||||
return nil, oops.Errorf("invalid padding")
|
||||
}
|
||||
paddingStart := length - padding
|
||||
for i := paddingStart; i < length; i++ {
|
||||
if data[i] != byte(padding) {
|
||||
log.Error("Invalid padding")
|
||||
return nil, fmt.Errorf("invalid padding")
|
||||
return nil, oops.Errorf("invalid padding")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -143,7 +143,7 @@ func pkcs7Unpad(data []byte) ([]byte, error) {
|
||||
// EncryptNoPadding encrypts data using AES-CBC without padding
|
||||
func (e *AESSymmetricEncrypter) EncryptNoPadding(data []byte) ([]byte, error) {
|
||||
if len(data)%aes.BlockSize != 0 {
|
||||
return nil, fmt.Errorf("data length must be a multiple of block size")
|
||||
return nil, oops.Errorf("data length must be a multiple of block size")
|
||||
}
|
||||
|
||||
block, err := aes.NewCipher(e.Key)
|
||||
@@ -161,7 +161,7 @@ func (e *AESSymmetricEncrypter) EncryptNoPadding(data []byte) ([]byte, error) {
|
||||
// DecryptNoPadding decrypts data using AES-CBC without padding
|
||||
func (d *AESSymmetricDecrypter) DecryptNoPadding(data []byte) ([]byte, error) {
|
||||
if len(data)%aes.BlockSize != 0 {
|
||||
return nil, fmt.Errorf("data length must be a multiple of block size")
|
||||
return nil, oops.Errorf("data length must be a multiple of block size")
|
||||
}
|
||||
|
||||
block, err := aes.NewCipher(d.Key)
|
||||
|
13
lib/crypto/crypto.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="0pt" height="0pt"
|
||||
viewBox="0.00 0.00 0.00 0.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 0)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,0 0,0 0,0 0,0"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 584 B |
@@ -4,16 +4,16 @@ import (
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"crypto/sha512"
|
||||
"errors"
|
||||
"io"
|
||||
"math/big"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
curve25519 "go.step.sm/crypto/x25519"
|
||||
)
|
||||
|
||||
var Curve25519EncryptTooBig = errors.New("failed to encrypt data, too big for Curve25519")
|
||||
var Curve25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Curve25519")
|
||||
|
||||
type Curve25519PublicKey []byte
|
||||
|
||||
@@ -132,14 +132,14 @@ func (v *Curve25519Verifier) VerifyHash(h, sig []byte) (err error) {
|
||||
}
|
||||
if len(v.k) != curve25519.PublicKeySize {
|
||||
log.Error("Invalid Curve25519 public key size")
|
||||
err = errors.New("failed to verify: invalid curve25519 public key size")
|
||||
err = oops.Errorf("failed to verify: invalid curve25519 public key size")
|
||||
return
|
||||
}
|
||||
|
||||
ok := curve25519.Verify(v.k, h, sig)
|
||||
if !ok {
|
||||
log.Error("Invalid signature")
|
||||
err = errors.New("failed to verify: invalid signature")
|
||||
err = oops.Errorf("failed to verify: invalid signature")
|
||||
} else {
|
||||
log.Debug("Hash verified successfully")
|
||||
}
|
||||
@@ -168,7 +168,7 @@ func (s *Curve25519Signer) Sign(data []byte) (sig []byte, err error) {
|
||||
|
||||
if len(s.k) != curve25519.PrivateKeySize {
|
||||
log.Error("Invalid Curve25519 private key size")
|
||||
err = errors.New("failed to sign: invalid curve25519 private key size")
|
||||
err = oops.Errorf("failed to sign: invalid curve25519 private key size")
|
||||
return
|
||||
}
|
||||
h := sha512.Sum512(data)
|
||||
|
@@ -1,21 +1,22 @@
|
||||
package crypto
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/ed25519"
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"crypto/sha512"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"math/big"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
var (
|
||||
Ed25519EncryptTooBig = errors.New("failed to encrypt data, too big for Ed25519")
|
||||
ErrInvalidPublicKeySize = errors.New("failed to verify: invalid ed25519 public key size")
|
||||
Ed25519EncryptTooBig = oops.Errorf("failed to encrypt data, too big for Ed25519")
|
||||
ErrInvalidPublicKeySize = oops.Errorf("failed to verify: invalid ed25519 public key size")
|
||||
)
|
||||
|
||||
type Ed25519PublicKey []byte
|
||||
@@ -132,7 +133,7 @@ func (elg Ed25519PublicKey) NewEncrypter() (enc Encrypter, err error) {
|
||||
log.Debug("Creating new Ed25519 encrypter")
|
||||
k := createEd25519PublicKey(elg[:])
|
||||
if k == nil {
|
||||
return nil, errors.New("invalid public key format")
|
||||
return nil, oops.Errorf("invalid public key format")
|
||||
}
|
||||
|
||||
enc, err = createEd25519Encryption(k, rand.Reader)
|
||||
@@ -158,14 +159,14 @@ func (v *Ed25519Verifier) VerifyHash(h, sig []byte) (err error) {
|
||||
}
|
||||
if len(v.k) != ed25519.PublicKeySize {
|
||||
log.Error("Invalid Ed25519 public key size")
|
||||
err = errors.New("failed to verify: invalid ed25519 public key size")
|
||||
err = oops.Errorf("failed to verify: invalid ed25519 public key size")
|
||||
return
|
||||
}
|
||||
|
||||
ok := ed25519.Verify(v.k, h, sig)
|
||||
if !ok {
|
||||
log.Warn("Invalid Ed25519 signature")
|
||||
err = errors.New("failed to verify: invalid signature")
|
||||
err = oops.Errorf("failed to verify: invalid signature")
|
||||
} else {
|
||||
log.Debug("Ed25519 signature verified successfully")
|
||||
}
|
||||
@@ -185,14 +186,84 @@ func (v *Ed25519Verifier) Verify(data, sig []byte) (err error) {
|
||||
|
||||
type Ed25519PrivateKey ed25519.PrivateKey
|
||||
|
||||
func (k Ed25519PrivateKey) Bytes() []byte {
|
||||
return k
|
||||
}
|
||||
|
||||
func (k Ed25519PrivateKey) Zero() {
|
||||
for i := range k {
|
||||
k[i] = 0
|
||||
}
|
||||
}
|
||||
|
||||
func (k Ed25519PrivateKey) NewDecrypter() (Decrypter, error) {
|
||||
// TODO implement me
|
||||
panic("implement me")
|
||||
if len(k) != ed25519.PrivateKeySize {
|
||||
return nil, oops.Errorf("invalid ed25519 private key size")
|
||||
}
|
||||
d := &Ed25519Decrypter{
|
||||
privateKey: k,
|
||||
}
|
||||
return d, nil
|
||||
}
|
||||
|
||||
type Ed25519Decrypter struct {
|
||||
privateKey Ed25519PrivateKey
|
||||
}
|
||||
|
||||
func (d *Ed25519Decrypter) Decrypt(data []byte) ([]byte, error) {
|
||||
return d.DecryptPadding(data, true)
|
||||
}
|
||||
|
||||
func (d *Ed25519Decrypter) DecryptPadding(data []byte, zeroPadding bool) ([]byte, error) {
|
||||
if len(data) != 514 && len(data) != 512 {
|
||||
return nil, oops.Errorf("invalid ciphertext length")
|
||||
}
|
||||
|
||||
// Extract components based on padding
|
||||
var aBytes, bBytes []byte
|
||||
if zeroPadding {
|
||||
aBytes = data[1:258]
|
||||
bBytes = data[258:]
|
||||
} else {
|
||||
aBytes = data[0:256]
|
||||
bBytes = data[256:]
|
||||
}
|
||||
|
||||
// Convert to big integers
|
||||
a := new(big.Int).SetBytes(aBytes)
|
||||
b := new(big.Int).SetBytes(bBytes)
|
||||
|
||||
// Compute p = 2^255 - 19
|
||||
p := new(big.Int).Sub(new(big.Int).Lsh(big.NewInt(1), 255), big.NewInt(19))
|
||||
|
||||
// Use private key to decrypt
|
||||
m := new(big.Int).ModInverse(a, p)
|
||||
if m == nil {
|
||||
return nil, oops.Errorf("decryption failed: modular inverse does not exist")
|
||||
}
|
||||
|
||||
decrypted := new(big.Int).Mod(new(big.Int).Mul(b, m), p).Bytes()
|
||||
|
||||
// Remove padding and validate hash
|
||||
if len(decrypted) < 33 {
|
||||
return nil, oops.Errorf("decryption failed: result too short")
|
||||
}
|
||||
|
||||
hashBytes := decrypted[1:33]
|
||||
message := decrypted[33:]
|
||||
|
||||
// Verify hash
|
||||
actualHash := sha256.Sum256(message)
|
||||
if !bytes.Equal(hashBytes, actualHash[:]) {
|
||||
return nil, oops.Errorf("decryption failed: hash verification failed")
|
||||
}
|
||||
|
||||
return message, nil
|
||||
}
|
||||
|
||||
func (k Ed25519PrivateKey) NewSigner() (Signer, error) {
|
||||
if len(k) != ed25519.PrivateKeySize {
|
||||
return nil, errors.New("invalid ed25519 private key size")
|
||||
return nil, oops.Errorf("invalid ed25519 private key size")
|
||||
}
|
||||
return &Ed25519Signer{k: k}, nil
|
||||
}
|
||||
@@ -201,27 +272,39 @@ func (k Ed25519PrivateKey) Len() int {
|
||||
return len(k)
|
||||
}
|
||||
|
||||
func (k *Ed25519PrivateKey) Generate() (SigningPrivateKey, error) {
|
||||
// Generate a new Ed25519 key pair
|
||||
func (k Ed25519PrivateKey) Generate() (SigningPrivateKey, error) {
|
||||
_, priv, err := ed25519.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
return nil, oops.Errorf("failed to generate ed25519 key: %v", err)
|
||||
}
|
||||
// Assign the generated private key to the receiver
|
||||
*k = Ed25519PrivateKey(priv)
|
||||
return k, nil
|
||||
// Copy the full private key (includes public key)
|
||||
newKey := make(Ed25519PrivateKey, ed25519.PrivateKeySize)
|
||||
copy(newKey, priv)
|
||||
return newKey, nil
|
||||
}
|
||||
|
||||
func (k Ed25519PrivateKey) Public() (SigningPublicKey, error) {
|
||||
fmt.Printf("Ed25519PrivateKey.Public(): len(k) = %d\n", len(k))
|
||||
if len(k) != ed25519.PrivateKeySize {
|
||||
return nil, fmt.Errorf("invalid ed25519 private key size: expected %d, got %d", ed25519.PrivateKeySize, len(k))
|
||||
return nil, oops.Errorf("invalid ed25519 private key size: expected %d, got %d",
|
||||
ed25519.PrivateKeySize, len(k))
|
||||
}
|
||||
pubKey := k[32:]
|
||||
// Extract public key portion (last 32 bytes)
|
||||
pubKey := ed25519.PrivateKey(k).Public().(ed25519.PublicKey)
|
||||
fmt.Printf("Ed25519PrivateKey.Public(): extracted pubKey length: %d\n", len(pubKey))
|
||||
return Ed25519PublicKey(pubKey), nil
|
||||
}
|
||||
|
||||
func CreateEd25519PrivateKeyFromBytes(data []byte) (Ed25519PrivateKey, error) {
|
||||
if len(data) != ed25519.PrivateKeySize {
|
||||
return nil, oops.Errorf("invalid ed25519 private key size: expected %d, got %d",
|
||||
ed25519.PrivateKeySize, len(data))
|
||||
}
|
||||
privKey := make(Ed25519PrivateKey, ed25519.PrivateKeySize)
|
||||
copy(privKey, data)
|
||||
return privKey, nil
|
||||
}
|
||||
|
||||
type Ed25519Signer struct {
|
||||
k []byte
|
||||
}
|
||||
@@ -231,7 +314,7 @@ func (s *Ed25519Signer) Sign(data []byte) (sig []byte, err error) {
|
||||
|
||||
if len(s.k) != ed25519.PrivateKeySize {
|
||||
log.Error("Invalid Ed25519 private key size")
|
||||
err = errors.New("failed to sign: invalid ed25519 private key size")
|
||||
err = oops.Errorf("failed to sign: invalid ed25519 private key size")
|
||||
return
|
||||
}
|
||||
h := sha512.Sum512(data)
|
||||
|
@@ -4,10 +4,10 @@ import (
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"crypto/subtle"
|
||||
"errors"
|
||||
"io"
|
||||
"math/big"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"golang.org/x/crypto/openpgp/elgamal"
|
||||
@@ -38,8 +38,8 @@ var (
|
||||
)
|
||||
|
||||
var (
|
||||
ElgDecryptFail = errors.New("failed to decrypt elgamal encrypted data")
|
||||
ElgEncryptTooBig = errors.New("failed to encrypt data, too big for elgamal")
|
||||
ElgDecryptFail = oops.Errorf("failed to decrypt elgamal encrypted data")
|
||||
ElgEncryptTooBig = oops.Errorf("failed to encrypt data, too big for elgamal")
|
||||
)
|
||||
|
||||
// generate an elgamal key pair
|
||||
|
11
lib/crypto/privatekey.go
Normal file
@@ -0,0 +1,11 @@
|
||||
package crypto
|
||||
|
||||
// PrivateKey is an interface for private keys
|
||||
type PrivateKey interface {
|
||||
// Public returns the public key corresponding to this private key
|
||||
Public() (SigningPublicKey, error)
|
||||
// Bytes returns the raw bytes of this private key
|
||||
Bytes() []byte
|
||||
// Zero clears all sensitive data from the private key
|
||||
Zero()
|
||||
}
|
6
lib/crypto/public.go
Normal file
@@ -0,0 +1,6 @@
|
||||
package crypto
|
||||
|
||||
type PublicKey interface {
|
||||
Len() int
|
||||
Bytes() []byte
|
||||
}
|
@@ -1,13 +1,11 @@
|
||||
package crypto
|
||||
|
||||
import (
|
||||
"errors"
|
||||
)
|
||||
import "github.com/samber/oops"
|
||||
|
||||
var (
|
||||
ErrBadSignatureSize = errors.New("bad signature size")
|
||||
ErrInvalidKeyFormat = errors.New("invalid key format")
|
||||
ErrInvalidSignature = errors.New("invalid signature")
|
||||
ErrBadSignatureSize = oops.Errorf("bad signature size")
|
||||
ErrInvalidKeyFormat = oops.Errorf("invalid key format")
|
||||
ErrInvalidSignature = oops.Errorf("invalid signature")
|
||||
)
|
||||
|
||||
// type for verifying signatures
|
||||
@@ -28,7 +26,7 @@ type SigningPublicKey interface {
|
||||
Len() int
|
||||
Bytes() []byte
|
||||
}
|
||||
type PublicKey interface {
|
||||
type RecievingPublicKey interface {
|
||||
Len() int
|
||||
Bytes() []byte
|
||||
NewEncrypter() (Encrypter, error)
|
||||
|
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/i2np"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -23,11 +26,11 @@ const (
|
||||
```
|
||||
|
||||
```go
|
||||
var ERR_BUILD_REQUEST_RECORD_NOT_ENOUGH_DATA = errors.New("not enough i2np build request record data")
|
||||
var ERR_BUILD_REQUEST_RECORD_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np build request record data")
|
||||
```
|
||||
|
||||
```go
|
||||
var ERR_I2NP_NOT_ENOUGH_DATA = errors.New("not enough i2np header data")
|
||||
var ERR_I2NP_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np header data")
|
||||
```
|
||||
|
||||
#### func ReadI2NPNTCPData
|
||||
@@ -341,3 +344,9 @@ type VariableTunnelBuildReply struct {
|
||||
BuildResponseRecords []BuildResponseRecord
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
i2np
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/i2np
|
@@ -1,15 +1,15 @@
|
||||
package i2np
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
common "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
"github.com/go-i2p/go-i2p/lib/common/session_key"
|
||||
"github.com/go-i2p/go-i2p/lib/tunnel"
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
)
|
||||
|
||||
var log = logger.GetGoI2PLogger()
|
||||
@@ -173,7 +173,7 @@ type BuildRequestRecord struct {
|
||||
Padding [29]byte
|
||||
}
|
||||
|
||||
var ERR_BUILD_REQUEST_RECORD_NOT_ENOUGH_DATA = errors.New("not enough i2np build request record data")
|
||||
var ERR_BUILD_REQUEST_RECORD_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np build request record data")
|
||||
|
||||
func ReadBuildRequestRecord(data []byte) (BuildRequestRecord, error) {
|
||||
log.Debug("Reading BuildRequestRecord")
|
||||
|
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/i2np/fuzz/header"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -10,3 +13,9 @@
|
||||
```go
|
||||
func Fuzz(data []byte) int
|
||||
```
|
||||
|
||||
|
||||
|
||||
exportable
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/i2np/fuzz/header
|
46
lib/i2np/fuzz/header/exportable.svg
Normal file
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="318pt" height="98pt"
|
||||
viewBox="0.00 0.00 317.50 98.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 98)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-98 317.505,-98 317.505,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-90 309.505,-90 309.505,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="158.7525" y="-69.8" font-family="Arial" font-size="18.00" fill="#000000">exportable</text>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz | defined in fuzz.go:5 at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M58,-52C58,-52 28,-52 28,-52 22,-52 16,-46 16,-40 16,-40 16,-28 16,-28 16,-22 22,-16 28,-16 28,-16 58,-16 58,-16 64,-16 70,-22 70,-28 70,-28 70,-40 70,-40 70,-46 64,-52 58,-52"/>
|
||||
<text text-anchor="middle" x="43" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">Fuzz</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader | defined in header.go:97">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M289.2583,-52C289.2583,-52 155.2467,-52 155.2467,-52 149.2467,-52 143.2467,-46 143.2467,-40 143.2467,-40 143.2467,-28 143.2467,-28 143.2467,-22 149.2467,-16 155.2467,-16 155.2467,-16 289.2583,-16 289.2583,-16 295.2583,-16 301.2583,-22 301.2583,-28 301.2583,-28 301.2583,-40 301.2583,-40 301.2583,-46 295.2583,-52 289.2583,-52"/>
|
||||
<text text-anchor="middle" x="222.2525" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">i2np</text>
|
||||
<text text-anchor="middle" x="222.2525" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadI2NPNTCPHeader</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/i2np/fuzz/header.Fuzz->github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader</title>
|
||||
<g id="a_edge1"><a xlink:title="at fuzz.go:6: calling [github.com/go-i2p/go-i2p/lib/i2np.ReadI2NPNTCPHeader]">
|
||||
<path fill="none" stroke="#8b4513" d="M70.2246,-34C87.2023,-34 110.1106,-34 132.9875,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="133.1223,-37.5001 143.1222,-34 133.1222,-30.5001 133.1223,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.2 KiB |
@@ -1,9 +1,9 @@
|
||||
package i2np
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"time"
|
||||
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
datalib "github.com/go-i2p/go-i2p/lib/common/data"
|
||||
@@ -90,7 +90,7 @@ type I2NPSSUHeader struct {
|
||||
Expiration time.Time
|
||||
}
|
||||
|
||||
var ERR_I2NP_NOT_ENOUGH_DATA = errors.New("not enough i2np header data")
|
||||
var ERR_I2NP_NOT_ENOUGH_DATA = oops.Errorf("not enough i2np header data")
|
||||
|
||||
// Read an entire I2NP message and return the parsed header
|
||||
// with embedded encrypted data
|
||||
|
1104
lib/i2np/i2np.svg
Normal file
After Width: | Height: | Size: 111 KiB |
105
lib/keys/README.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# keys
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/keys"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
#### type KeyStore
|
||||
|
||||
```go
|
||||
type KeyStore interface {
|
||||
KeyID() string
|
||||
// GetKeys returns the public and private keys
|
||||
GetKeys() (publicKey crypto.PublicKey, privateKey crypto.PrivateKey, err error)
|
||||
// StoreKeys stores the keys
|
||||
StoreKeys() error
|
||||
}
|
||||
```
|
||||
|
||||
KeyStore is an interface for storing and retrieving keys
|
||||
|
||||
#### type KeyStoreImpl
|
||||
|
||||
```go
|
||||
type KeyStoreImpl struct {
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
#### func NewKeyStoreImpl
|
||||
|
||||
```go
|
||||
func NewKeyStoreImpl(dir, name string, privateKey crypto.PrivateKey) *KeyStoreImpl
|
||||
```
|
||||
|
||||
#### func (*KeyStoreImpl) GetKeys
|
||||
|
||||
```go
|
||||
func (ks *KeyStoreImpl) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error)
|
||||
```
|
||||
|
||||
#### func (*KeyStoreImpl) KeyID
|
||||
|
||||
```go
|
||||
func (ks *KeyStoreImpl) KeyID() string
|
||||
```
|
||||
|
||||
#### func (*KeyStoreImpl) StoreKeys
|
||||
|
||||
```go
|
||||
func (ks *KeyStoreImpl) StoreKeys() error
|
||||
```
|
||||
|
||||
#### type RouterInfoKeystore
|
||||
|
||||
```go
|
||||
type RouterInfoKeystore struct {
|
||||
*sntp.RouterTimestamper
|
||||
}
|
||||
```
|
||||
|
||||
RouterInfoKeystore is an implementation of KeyStore for storing and retrieving
|
||||
RouterInfo private keys and exporting RouterInfos
|
||||
|
||||
#### func NewRouterInfoKeystore
|
||||
|
||||
```go
|
||||
func NewRouterInfoKeystore(dir, name string) (*RouterInfoKeystore, error)
|
||||
```
|
||||
NewRouterInfoKeystore creates a new RouterInfoKeystore with fresh and new
|
||||
private keys it accepts a directory to store the keys in and a name for the keys
|
||||
then it generates new private keys for the routerInfo if none exist
|
||||
|
||||
#### func (*RouterInfoKeystore) ConstructRouterInfo
|
||||
|
||||
```go
|
||||
func (ks *RouterInfoKeystore) ConstructRouterInfo(addresses []*router_address.RouterAddress) (*router_info.RouterInfo, error)
|
||||
```
|
||||
|
||||
#### func (*RouterInfoKeystore) GetKeys
|
||||
|
||||
```go
|
||||
func (ks *RouterInfoKeystore) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error)
|
||||
```
|
||||
|
||||
#### func (*RouterInfoKeystore) KeyID
|
||||
|
||||
```go
|
||||
func (ks *RouterInfoKeystore) KeyID() string
|
||||
```
|
||||
|
||||
#### func (*RouterInfoKeystore) StoreKeys
|
||||
|
||||
```go
|
||||
func (ks *RouterInfoKeystore) StoreKeys() error
|
||||
```
|
||||
|
||||
|
||||
|
||||
keys
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/keys
|
375
lib/keys/keys.svg
Normal file
@@ -0,0 +1,375 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="699pt" height="783pt"
|
||||
viewBox="0.00 0.00 698.59 783.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 783)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-783 698.5894,-783 698.5894,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-775 690.5894,-775 690.5894,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="349.2947" y="-754.8" font-family="Arial" font-size="18.00" fill="#000000">keys</text>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate</title>
|
||||
<g id="a_clust5"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M535.0977,-451C535.0977,-451 634.2689,-451 634.2689,-451 640.2689,-451 646.2689,-457 646.2689,-463 646.2689,-463 646.2689,-578 646.2689,-578 646.2689,-584 640.2689,-590 634.2689,-590 634.2689,-590 535.0977,-590 535.0977,-590 529.0977,-590 523.0977,-584 523.0977,-578 523.0977,-578 523.0977,-463 523.0977,-463 523.0977,-457 529.0977,-451 535.0977,-451"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-459.5" font-family="Arial" font-size="15.00" fill="#222222">(KeyCertificate)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M515.4217,-365C515.4217,-365 654.9449,-365 654.9449,-365 660.9449,-365 666.9449,-371 666.9449,-377 666.9449,-377 666.9449,-431 666.9449,-431 666.9449,-437 660.9449,-443 654.9449,-443 654.9449,-443 515.4217,-443 515.4217,-443 509.4217,-443 503.4217,-437 503.4217,-431 503.4217,-431 503.4217,-377 503.4217,-377 503.4217,-371 509.4217,-365 515.4217,-365"/>
|
||||
<text text-anchor="middle" x="585.1833" y="-373.5" font-family="Arial" font-size="15.00" fill="#222222">(*RouterTimestamper)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M266.6495,-598C266.6495,-598 617.1721,-598 617.1721,-598 623.1721,-598 629.1721,-604 629.1721,-610 629.1721,-610 629.1721,-725 629.1721,-725 629.1721,-731 623.1721,-737 617.1721,-737 617.1721,-737 266.6495,-737 266.6495,-737 260.6495,-737 254.6495,-731 254.6495,-725 254.6495,-725 254.6495,-610 254.6495,-610 254.6495,-604 260.6495,-598 266.6495,-598"/>
|
||||
<text text-anchor="middle" x="441.9108" y="-606.5" font-family="Arial" font-size="15.00" fill="#222222">(*RouterInfoKeystore)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M60.0344,-347C60.0344,-347 359.6243,-347 359.6243,-347 365.6243,-347 371.6243,-353 371.6243,-359 371.6243,-359 371.6243,-413 371.6243,-413 371.6243,-419 365.6243,-425 359.6243,-425 359.6243,-425 60.0344,-425 60.0344,-425 54.0344,-425 48.0344,-419 48.0344,-413 48.0344,-413 48.0344,-359 48.0344,-359 48.0344,-353 54.0344,-347 60.0344,-347"/>
|
||||
<text text-anchor="middle" x="209.8294" y="-355.5" font-family="Arial" font-size="15.00" fill="#222222">(*KeyStoreImpl)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore | defined in routerinfo_keystore.go:36 at routerinfo_keystore.go:61: calling [github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper] at routerinfo_keystore.go:46: calling [github.com/go-i2p/go-i2p/lib/keys.generateNewKey] at routerinfo_keystore.go:55: calling [github.com/go-i2p/go-i2p/lib/keys.loadExistingKey]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M166.575,-113C166.575,-113 27.808,-113 27.808,-113 21.808,-113 15.808,-107 15.808,-101 15.808,-101 15.808,-89 15.808,-89 15.808,-83 21.808,-77 27.808,-77 27.808,-77 166.575,-77 166.575,-77 172.575,-77 178.575,-83 178.575,-89 178.575,-89 178.575,-101 178.575,-101 178.575,-107 172.575,-113 166.575,-113"/>
|
||||
<text text-anchor="middle" x="97.1915" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterInfoKeystore</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.generateNewKey -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.generateNewKey</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/keys.generateNewKey | defined in routerinfo_keystore.go:70">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M381.2388,-174C381.2388,-174 283.9214,-174 283.9214,-174 277.9214,-174 271.9214,-168 271.9214,-162 271.9214,-162 271.9214,-150 271.9214,-150 271.9214,-144 277.9214,-138 283.9214,-138 283.9214,-138 381.2388,-138 381.2388,-138 387.2388,-138 393.2388,-144 393.2388,-150 393.2388,-150 393.2388,-162 393.2388,-162 393.2388,-168 387.2388,-174 381.2388,-174"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-151.8" font-family="Verdana" font-size="14.00" fill="#000000">generateNewKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.generateNewKey -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.generateNewKey</title>
|
||||
<g id="a_edge14"><a xlink:title="at routerinfo_keystore.go:46: calling [github.com/go-i2p/go-i2p/lib/keys.generateNewKey]">
|
||||
<path fill="none" stroke="#000000" d="M166.8604,-113.0544C196.8229,-120.8191 231.7977,-129.8826 261.8743,-137.6769"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="261.3138,-141.1472 271.872,-140.2678 263.0698,-134.371 261.3138,-141.1472"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper | defined in router_timestamper.go:55">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M401.9748,-52C401.9748,-52 263.1854,-52 263.1854,-52 257.1854,-52 251.1854,-46 251.1854,-40 251.1854,-40 251.1854,-28 251.1854,-28 251.1854,-22 257.1854,-16 263.1854,-16 263.1854,-16 401.9748,-16 401.9748,-16 407.9748,-16 413.9748,-22 413.9748,-28 413.9748,-28 413.9748,-40 413.9748,-40 413.9748,-46 407.9748,-52 401.9748,-52"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">sntp</text>
|
||||
<text text-anchor="middle" x="332.5801" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterTimestamper</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper</title>
|
||||
<g id="a_edge12"><a xlink:title="at routerinfo_keystore.go:61: calling [github.com/go-i2p/go-i2p/lib/util/time/sntp.NewRouterTimestamper]">
|
||||
<path fill="none" stroke="#8b4513" d="M166.8604,-76.9456C194.0247,-69.9061 225.3088,-61.7989 253.3276,-54.538"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="254.2877,-57.9048 263.0899,-52.0081 252.5317,-51.1287 254.2877,-57.9048"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.loadExistingKey -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.loadExistingKey</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/keys.loadExistingKey | defined in routerinfo_keystore.go:81 at routerinfo_keystore.go:84: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M379.6755,-113C379.6755,-113 285.4847,-113 285.4847,-113 279.4847,-113 273.4847,-107 273.4847,-101 273.4847,-101 273.4847,-89 273.4847,-89 273.4847,-83 279.4847,-77 285.4847,-77 285.4847,-77 379.6755,-77 379.6755,-77 385.6755,-77 391.6755,-83 391.6755,-89 391.6755,-89 391.6755,-101 391.6755,-101 391.6755,-107 385.6755,-113 379.6755,-113"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-90.8" font-family="Verdana" font-size="14.00" fill="#000000">loadExistingKey</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.loadExistingKey -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.NewRouterInfoKeystore->github.com/go-i2p/go-i2p/lib/keys.loadExistingKey</title>
|
||||
<g id="a_edge16"><a xlink:title="at routerinfo_keystore.go:55: calling [github.com/go-i2p/go-i2p/lib/keys.loadExistingKey]">
|
||||
<path fill="none" stroke="#000000" d="M178.5285,-95C206.0973,-95 236.6175,-95 263.1708,-95"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="263.5193,-98.5001 273.5192,-95 263.5192,-91.5001 263.5193,-98.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M601.8786,-52C601.8786,-52 567.488,-52 567.488,-52 561.488,-52 555.488,-46 555.488,-40 555.488,-40 555.488,-28 555.488,-28 555.488,-22 561.488,-16 567.488,-16 567.488,-16 601.8786,-16 601.8786,-16 607.8786,-16 613.8786,-22 613.8786,-28 613.8786,-28 613.8786,-40 613.8786,-40 613.8786,-46 607.8786,-52 601.8786,-52"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/keys.loadExistingKey->github.com/samber/oops.Errorf -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/keys.loadExistingKey->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge15"><a xlink:title="at routerinfo_keystore.go:84: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M391.6871,-80.6982C439.0475,-69.2387 504.1698,-53.4814 545.3431,-43.5189"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="546.3731,-46.8708 555.2695,-41.1171 544.7268,-40.0671 546.3731,-46.8708"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt | defined in integer.go:68">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M640.6371,-113C640.6371,-113 528.7295,-113 528.7295,-113 522.7295,-113 516.7295,-107 516.7295,-101 516.7295,-101 516.7295,-89 516.7295,-89 516.7295,-83 522.7295,-77 528.7295,-77 528.7295,-77 640.6371,-77 640.6371,-77 646.6371,-77 652.6371,-83 652.6371,-89 652.6371,-89 652.6371,-101 652.6371,-101 652.6371,-107 646.6371,-113 640.6371,-113"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">data</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">NewIntegerFromInt</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType | defined in certificate.go:252">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M655.9529,-174C655.9529,-174 513.4137,-174 513.4137,-174 507.4137,-174 501.4137,-168 501.4137,-162 501.4137,-162 501.4137,-150 501.4137,-150 501.4137,-144 507.4137,-138 513.4137,-138 513.4137,-138 655.9529,-138 655.9529,-138 661.9529,-138 667.9529,-144 667.9529,-150 667.9529,-150 667.9529,-162 667.9529,-162 667.9529,-168 661.9529,-174 655.9529,-174"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">certificate</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">NewCertificateWithType</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
|
||||
<g id="node8" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
|
||||
<g id="a_node8"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate | defined in key_certificate.go:395">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M670.4956,-235C670.4956,-235 498.871,-235 498.871,-235 492.871,-235 486.871,-229 486.871,-223 486.871,-223 486.871,-211 486.871,-211 486.871,-205 492.871,-199 498.871,-199 498.871,-199 670.4956,-199 670.4956,-199 676.4956,-199 682.4956,-205 682.4956,-211 682.4956,-211 682.4956,-223 682.4956,-223 682.4956,-229 676.4956,-235 670.4956,-235"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-221.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-204.4" font-family="Verdana" font-size="14.00" fill="#000000">KeyCertificateFromCertificate</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity -->
|
||||
<g id="node9" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity</title>
|
||||
<g id="a_node9"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity | defined in router_identity.go:55">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M638.7605,-296C638.7605,-296 530.6061,-296 530.6061,-296 524.6061,-296 518.6061,-290 518.6061,-284 518.6061,-284 518.6061,-272 518.6061,-272 518.6061,-266 524.6061,-260 530.6061,-260 530.6061,-260 638.7605,-260 638.7605,-260 644.7605,-260 650.7605,-266 650.7605,-272 650.7605,-272 650.7605,-284 650.7605,-284 650.7605,-290 644.7605,-296 638.7605,-296"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-282.2" font-family="Verdana" font-size="14.00" fill="#000000">router_identity</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-265.4" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterIdentity</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo -->
|
||||
<g id="node10" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo</title>
|
||||
<g id="a_node10"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo | defined in router_info.go:370">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M628.5348,-357C628.5348,-357 540.8318,-357 540.8318,-357 534.8318,-357 528.8318,-351 528.8318,-345 528.8318,-345 528.8318,-333 528.8318,-333 528.8318,-327 534.8318,-321 540.8318,-321 540.8318,-321 628.5348,-321 628.5348,-321 634.5348,-321 640.5348,-327 640.5348,-333 640.5348,-333 640.5348,-345 640.5348,-345 640.5348,-351 634.5348,-357 628.5348,-357"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-343.2" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-326.4" font-family="Verdana" font-size="14.00" fill="#000000">NewRouterInfo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys | defined in types.go:56 at types.go:65: calling [(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M126.5063,-417C126.5063,-417 67.8767,-417 67.8767,-417 61.8767,-417 55.8767,-411 55.8767,-405 55.8767,-405 55.8767,-393 55.8767,-393 55.8767,-387 61.8767,-381 67.8767,-381 67.8767,-381 126.5063,-381 126.5063,-381 132.5063,-381 138.5063,-387 138.5063,-393 138.5063,-393 138.5063,-405 138.5063,-405 138.5063,-411 132.5063,-417 126.5063,-417"/>
|
||||
<text text-anchor="middle" x="97.1915" y="-394.8" font-family="Verdana" font-size="14.00" fill="#000000">StoreKeys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID | defined in types.go:33">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M351.6686,-417C351.6686,-417 313.4916,-417 313.4916,-417 307.4916,-417 301.4916,-411 301.4916,-405 301.4916,-405 301.4916,-393 301.4916,-393 301.4916,-387 307.4916,-381 313.4916,-381 313.4916,-381 351.6686,-381 351.6686,-381 357.6686,-381 363.6686,-387 363.6686,-393 363.6686,-393 363.6686,-405 363.6686,-405 363.6686,-411 357.6686,-417 351.6686,-417"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-394.8" font-family="Verdana" font-size="14.00" fill="#000000">KeyID</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID</title>
|
||||
<g id="a_edge11"><a xlink:title="at types.go:65: calling [(*github.com/go-i2p/go-i2p/lib/keys.KeyStoreImpl).KeyID]">
|
||||
<path fill="none" stroke="#000000" d="M138.4624,-399C181.461,-399 248.436,-399 291.4006,-399"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="291.5116,-402.5001 301.5116,-399 291.5115,-395.5001 291.5116,-402.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys | defined in routerinfo_keystore.go:99 at routerinfo_keystore.go:107: calling [(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M361.8949,-729C361.8949,-729 303.2653,-729 303.2653,-729 297.2653,-729 291.2653,-723 291.2653,-717 291.2653,-717 291.2653,-705 291.2653,-705 291.2653,-699 297.2653,-693 303.2653,-693 303.2653,-693 361.8949,-693 361.8949,-693 367.8949,-693 373.8949,-699 373.8949,-705 373.8949,-705 373.8949,-717 373.8949,-717 373.8949,-723 367.8949,-729 361.8949,-729"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-706.8" font-family="Verdana" font-size="14.00" fill="#000000">StoreKeys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID | defined in routerinfo_keystore.go:111">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M603.7718,-729C603.7718,-729 565.5948,-729 565.5948,-729 559.5948,-729 553.5948,-723 553.5948,-717 553.5948,-717 553.5948,-705 553.5948,-705 553.5948,-699 559.5948,-693 565.5948,-693 565.5948,-693 603.7718,-693 603.7718,-693 609.7718,-693 615.7718,-699 615.7718,-705 615.7718,-705 615.7718,-717 615.7718,-717 615.7718,-723 609.7718,-729 603.7718,-729"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-706.8" font-family="Verdana" font-size="14.00" fill="#000000">KeyID</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).StoreKeys->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID</title>
|
||||
<g id="a_edge6"><a xlink:title="at routerinfo_keystore.go:107: calling [(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).KeyID]">
|
||||
<path fill="none" stroke="#000000" d="M373.9275,-711C420.6798,-711 496.3667,-711 543.1822,-711"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="543.2839,-714.5001 553.2838,-711 543.2838,-707.5001 543.2839,-714.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo -->
|
||||
<g id="node15" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo</title>
|
||||
<g id="a_node15"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo | defined in routerinfo_keystore.go:125 at routerinfo_keystore.go:166: calling [github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity] at routerinfo_keystore.go:177: calling [(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime] at routerinfo_keystore.go:127: calling [(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys] at routerinfo_keystore.go:129: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:136: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:140: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:147: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:153: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:162: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:173: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:194: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:134: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt] at routerinfo_keystore.go:138: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt] at routerinfo_keystore.go:151: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate] at routerinfo_keystore.go:156: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize] at routerinfo_keystore.go:157: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize] at routerinfo_keystore.go:185: calling [github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo] at routerinfo_keystore.go:145: calling [github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M390.4414,-668C390.4414,-668 274.7188,-668 274.7188,-668 268.7188,-668 262.7188,-662 262.7188,-656 262.7188,-656 262.7188,-644 262.7188,-644 262.7188,-638 268.7188,-632 274.7188,-632 274.7188,-632 390.4414,-632 390.4414,-632 396.4414,-632 402.4414,-638 402.4414,-644 402.4414,-644 402.4414,-656 402.4414,-656 402.4414,-662 396.4414,-668 390.4414,-668"/>
|
||||
<text text-anchor="middle" x="332.5801" y="-645.8" font-family="Verdana" font-size="14.00" fill="#000000">ConstructRouterInfo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/samber/oops.Errorf -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge4"><a xlink:title="at routerinfo_keystore.go:129: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:136: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:140: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:147: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:153: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:162: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:173: calling [github.com/samber/oops.Errorf] at routerinfo_keystore.go:194: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M340.8224,-631.974C357.3427,-595.0726 394.565,-507.912 413.7772,-431 453.9757,-270.074 366.7231,-179.4557 486.7772,-65 502.6013,-49.9138 525.7299,-42.1675 545.5344,-38.1909"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="546.2873,-41.6123 555.5316,-36.4361 545.077,-34.7177 546.2873,-41.6123"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt</title>
|
||||
<g id="a_edge5"><a xlink:title="at routerinfo_keystore.go:134: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt] at routerinfo_keystore.go:138: calling [github.com/go-i2p/go-i2p/lib/common/data.NewIntegerFromInt]">
|
||||
<path fill="none" stroke="#8b4513" d="M340.5424,-631.9008C356.5529,-594.8661 392.894,-507.4752 413.7772,-431 450.4946,-296.5389 386.6461,-222.9624 486.7772,-126 492.8071,-120.1609 499.9302,-115.4211 507.5407,-111.5736"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="508.9888,-114.7601 516.6622,-107.4546 506.1079,-108.3804 508.9888,-114.7601"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType</title>
|
||||
<g id="a_edge13"><a xlink:title="at routerinfo_keystore.go:145: calling [github.com/go-i2p/go-i2p/lib/common/certificate.NewCertificateWithType]">
|
||||
<path fill="none" stroke="#8b4513" d="M339.7144,-631.9698C354.36,-594.704 388.5591,-506.371 413.7772,-431 449.6932,-323.6553 407.3775,-267.6754 486.7772,-187 489.4348,-184.2997 492.3258,-181.8341 495.3931,-179.5828"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="497.3754,-182.4692 503.8852,-174.1102 493.5835,-176.5852 497.3754,-182.4692"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate</title>
|
||||
<g id="a_edge7"><a xlink:title="at routerinfo_keystore.go:151: calling [github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificateFromCertificate]">
|
||||
<path fill="none" stroke="#8b4513" d="M339.3248,-631.7781C368.0663,-554.2094 479.2026,-255.1359 486.7772,-248 489.7579,-245.1919 492.992,-242.6381 496.4098,-240.3157"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="498.4764,-243.1572 505.2447,-235.006 494.8705,-237.1573 498.4764,-243.1572"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity</title>
|
||||
<g id="a_edge1"><a xlink:title="at routerinfo_keystore.go:166: calling [github.com/go-i2p/go-i2p/lib/common/router_identity.NewRouterIdentity]">
|
||||
<path fill="none" stroke="#8b4513" d="M338.5426,-631.9132C359.8653,-568.2129 433.877,-355.5958 486.7772,-309 493.3874,-303.1776 501.0927,-298.4479 509.2244,-294.6061"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="510.7213,-297.7728 518.5508,-290.6348 507.9789,-291.3324 510.7213,-297.7728"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo</title>
|
||||
<g id="a_edge10"><a xlink:title="at routerinfo_keystore.go:185: calling [github.com/go-i2p/go-i2p/lib/common/router_info.NewRouterInfo]">
|
||||
<path fill="none" stroke="#8b4513" d="M336.7024,-631.6348C349.2815,-580.0653 392.2195,-433.0101 486.7772,-361 496.1976,-353.8259 507.5173,-348.9105 519.0637,-345.5601"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="519.9452,-348.9474 528.7793,-343.0986 518.226,-342.1618 519.9452,-348.9474"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys -->
|
||||
<g id="node16" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys</title>
|
||||
<g id="a_node16"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys | defined in routerinfo_keystore.go:91">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M609.1609,-668C609.1609,-668 560.2057,-668 560.2057,-668 554.2057,-668 548.2057,-662 548.2057,-656 548.2057,-656 548.2057,-644 548.2057,-644 548.2057,-638 554.2057,-632 560.2057,-632 560.2057,-632 609.1609,-632 609.1609,-632 615.1609,-632 621.1609,-638 621.1609,-644 621.1609,-644 621.1609,-656 621.1609,-656 621.1609,-662 615.1609,-668 609.1609,-668"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-645.8" font-family="Verdana" font-size="14.00" fill="#000000">GetKeys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys</title>
|
||||
<g id="a_edge3"><a xlink:title="at routerinfo_keystore.go:127: calling [(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).GetKeys]">
|
||||
<path fill="none" stroke="#000000" d="M402.4701,-650C445.626,-650 499.8217,-650 537.8465,-650"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="538.1201,-653.5001 548.1201,-650 538.12,-646.5001 538.1201,-653.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime -->
|
||||
<g id="node17" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title>
|
||||
<g id="a_node17"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime | defined in router_timestamper.go:397">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M630.7075,-435C630.7075,-435 538.6591,-435 538.6591,-435 532.6591,-435 526.6591,-429 526.6591,-423 526.6591,-423 526.6591,-411 526.6591,-411 526.6591,-405 532.6591,-399 538.6591,-399 538.6591,-399 630.7075,-399 630.7075,-399 636.7075,-399 642.7075,-405 642.7075,-411 642.7075,-411 642.7075,-423 642.7075,-423 642.7075,-429 636.7075,-435 630.7075,-435"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-421.2" font-family="Verdana" font-size="14.00" fill="#000000">sntp</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-404.4" font-family="Verdana" font-size="14.00" fill="#000000">GetCurrentTime</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime</title>
|
||||
<g id="a_edge2"><a xlink:title="at routerinfo_keystore.go:177: calling [(*github.com/go-i2p/go-i2p/lib/util/time/sntp.RouterTimestamper).GetCurrentTime]">
|
||||
<path fill="none" stroke="#8b4513" d="M341.0985,-631.8057C360.8147,-591.713 413.5611,-495.3295 486.7772,-445 495.8122,-438.7893 506.2153,-433.9444 516.7935,-430.1682"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="518.1029,-433.4226 526.5231,-426.9922 515.9306,-426.7682 518.1029,-433.4226"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="node18" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_node18"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize | defined in key_certificate.go:336">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M626.3546,-521C626.3546,-521 543.012,-521 543.012,-521 537.012,-521 531.012,-515 531.012,-509 531.012,-509 531.012,-497 531.012,-497 531.012,-491 537.012,-485 543.012,-485 543.012,-485 626.3546,-485 626.3546,-485 632.3546,-485 638.3546,-491 638.3546,-497 638.3546,-497 638.3546,-509 638.3546,-509 638.3546,-515 632.3546,-521 626.3546,-521"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-507.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-490.4" font-family="Verdana" font-size="14.00" fill="#000000">CryptoSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize</title>
|
||||
<g id="a_edge8"><a xlink:title="at routerinfo_keystore.go:156: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).CryptoSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M352.0391,-631.8627C379.9286,-606.7254 433.7711,-561.3133 486.7772,-534 497.5495,-528.4492 509.5032,-523.6606 521.2517,-519.6209"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="522.6344,-522.8507 531.0416,-516.4033 520.4487,-516.2006 522.6344,-522.8507"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="node19" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_node19"><a xlink:title="(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize | defined in key_certificate.go:308">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M626.3546,-582C626.3546,-582 543.012,-582 543.012,-582 537.012,-582 531.012,-576 531.012,-570 531.012,-570 531.012,-558 531.012,-558 531.012,-552 537.012,-546 543.012,-546 543.012,-546 626.3546,-546 626.3546,-546 632.3546,-546 638.3546,-552 638.3546,-558 638.3546,-558 638.3546,-570 638.3546,-570 638.3546,-576 632.3546,-582 626.3546,-582"/>
|
||||
<text text-anchor="middle" x="584.6833" y="-568.2" font-family="Verdana" font-size="14.00" fill="#000000">key_certificate</text>
|
||||
<text text-anchor="middle" x="584.6833" y="-551.4" font-family="Verdana" font-size="14.00" fill="#000000">SignatureSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/keys.RouterInfoKeystore).ConstructRouterInfo->(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize</title>
|
||||
<g id="a_edge9"><a xlink:title="at routerinfo_keystore.go:157: calling [(github.com/go-i2p/go-i2p/lib/common/key_certificate.KeyCertificate).SignatureSize]">
|
||||
<path fill="none" stroke="#8b4513" d="M377.778,-631.8922C408.3304,-619.9262 449.7078,-604.2499 486.7772,-592 497.9243,-588.3163 509.8762,-584.6597 521.4653,-581.2639"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="522.4569,-584.6206 531.0892,-578.4779 520.5103,-577.8967 522.4569,-584.6206"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 37 KiB |
198
lib/keys/routerinfo_keystore.go
Normal file
@@ -0,0 +1,198 @@
|
||||
package keys
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/ed25519"
|
||||
"crypto/rand"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/common/certificate"
|
||||
"github.com/go-i2p/go-i2p/lib/common/data"
|
||||
"github.com/go-i2p/go-i2p/lib/common/key_certificate"
|
||||
"github.com/go-i2p/go-i2p/lib/common/keys_and_cert"
|
||||
"github.com/go-i2p/go-i2p/lib/common/router_address"
|
||||
"github.com/go-i2p/go-i2p/lib/common/router_identity"
|
||||
"github.com/go-i2p/go-i2p/lib/common/router_info"
|
||||
"github.com/go-i2p/go-i2p/lib/common/signature"
|
||||
"github.com/go-i2p/go-i2p/lib/crypto"
|
||||
"github.com/go-i2p/go-i2p/lib/util/time/sntp"
|
||||
"github.com/samber/oops"
|
||||
)
|
||||
|
||||
// RouterInfoKeystore is an implementation of KeyStore for storing and retrieving RouterInfo private keys and exporting RouterInfos
|
||||
type RouterInfoKeystore struct {
|
||||
*sntp.RouterTimestamper
|
||||
dir string
|
||||
name string
|
||||
privateKey crypto.PrivateKey
|
||||
}
|
||||
|
||||
var riks KeyStore = &RouterInfoKeystore{}
|
||||
|
||||
// NewRouterInfoKeystore creates a new RouterInfoKeystore with fresh and new private keys
|
||||
// it accepts a directory to store the keys in and a name for the keys
|
||||
// then it generates new private keys for the routerInfo if none exist
|
||||
func NewRouterInfoKeystore(dir, name string) (*RouterInfoKeystore, error) {
|
||||
if _, err := os.Stat(dir); os.IsNotExist(err) {
|
||||
err := os.MkdirAll(dir, 0o755)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
var privateKey crypto.PrivateKey
|
||||
fullPath := filepath.Join(dir, name)
|
||||
if _, err := os.Stat(fullPath); os.IsNotExist(err) {
|
||||
privateKey, err = generateNewKey()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
keyData, err := os.ReadFile(fullPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
privateKey, err = loadExistingKey(keyData)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
defaultClient := &sntp.DefaultNTPClient{}
|
||||
timestamper := sntp.NewRouterTimestamper(defaultClient)
|
||||
return &RouterInfoKeystore{
|
||||
dir: dir,
|
||||
name: name,
|
||||
privateKey: privateKey,
|
||||
RouterTimestamper: timestamper,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func generateNewKey() (crypto.Ed25519PrivateKey, error) {
|
||||
// Generate a new key pair
|
||||
_, priv, err := ed25519.GenerateKey(rand.Reader)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Convert to our type
|
||||
return crypto.Ed25519PrivateKey(priv), nil
|
||||
}
|
||||
|
||||
func loadExistingKey(keyData []byte) (crypto.Ed25519PrivateKey, error) {
|
||||
// Validate key length
|
||||
if len(keyData) != ed25519.PrivateKeySize {
|
||||
return nil, oops.Errorf("invalid key length")
|
||||
}
|
||||
|
||||
// Convert to our type
|
||||
return crypto.Ed25519PrivateKey(keyData), nil
|
||||
}
|
||||
|
||||
func (ks *RouterInfoKeystore) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error) {
|
||||
public, err := ks.privateKey.Public()
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return public, ks.privateKey, nil
|
||||
}
|
||||
|
||||
func (ks *RouterInfoKeystore) StoreKeys() error {
|
||||
if _, err := os.Stat(ks.dir); os.IsNotExist(err) {
|
||||
err := os.MkdirAll(ks.dir, 0o755)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// on the disk somewhere
|
||||
filename := filepath.Join(ks.dir, ks.KeyID()+".key")
|
||||
return os.WriteFile(filename, ks.privateKey.Bytes(), 0o644)
|
||||
}
|
||||
|
||||
func (ks *RouterInfoKeystore) KeyID() string {
|
||||
if ks.name == "" {
|
||||
public, err := ks.privateKey.Public()
|
||||
if err != nil {
|
||||
return "error"
|
||||
}
|
||||
if len(public.Bytes()) > 10 {
|
||||
return string(public.Bytes()[:10])
|
||||
}
|
||||
return string(public.Bytes())
|
||||
}
|
||||
return ks.name
|
||||
}
|
||||
|
||||
func (ks *RouterInfoKeystore) ConstructRouterInfo(addresses []*router_address.RouterAddress) (*router_info.RouterInfo, error) {
|
||||
// Get signing keys
|
||||
publicKey, privateKey, err := ks.GetKeys()
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to get keys: %w", err)
|
||||
}
|
||||
|
||||
// Create certificate with Ed25519 key type
|
||||
payload := new(bytes.Buffer)
|
||||
cryptoKeyType, err := data.NewIntegerFromInt(7, 2) // Ed25519
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create crypto key type: %w", err)
|
||||
}
|
||||
signingKeyType, err := data.NewIntegerFromInt(7, 2) // Ed25519
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create signing key type: %w", err)
|
||||
}
|
||||
payload.Write(*cryptoKeyType)
|
||||
payload.Write(*signingKeyType)
|
||||
|
||||
cert, err := certificate.NewCertificateWithType(certificate.CERT_KEY, payload.Bytes())
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create certificate: %w", err)
|
||||
}
|
||||
|
||||
// Create padding
|
||||
keyCert, err := key_certificate.KeyCertificateFromCertificate(*cert)
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create key certificate: %w", err)
|
||||
}
|
||||
|
||||
pubKeySize := keyCert.CryptoSize()
|
||||
sigKeySize := keyCert.SignatureSize()
|
||||
paddingSize := keys_and_cert.KEYS_AND_CERT_DATA_SIZE - (pubKeySize + sigKeySize)
|
||||
padding := make([]byte, paddingSize)
|
||||
_, err = rand.Read(padding)
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to generate padding: %w", err)
|
||||
}
|
||||
|
||||
// Create RouterIdentity
|
||||
routerIdentity, err := router_identity.NewRouterIdentity(
|
||||
crypto.RecievingPublicKey(nil),
|
||||
publicKey.(crypto.SigningPublicKey),
|
||||
*cert,
|
||||
padding,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create router identity: %w", err)
|
||||
}
|
||||
|
||||
// Get timestamp
|
||||
publishedTime := ks.RouterTimestamper.GetCurrentTime()
|
||||
|
||||
// Standard router options
|
||||
options := map[string]string{
|
||||
"caps": "NU", // Standard capabilities - Not floodfill, Not Reachable
|
||||
"netId": "2", // Production network
|
||||
}
|
||||
|
||||
ri, err := router_info.NewRouterInfo(
|
||||
routerIdentity,
|
||||
publishedTime,
|
||||
addresses,
|
||||
options,
|
||||
privateKey.(crypto.SigningPrivateKey),
|
||||
signature.SIGNATURE_TYPE_EDDSA_SHA512_ED25519,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, oops.Errorf("failed to create router info: %w", err)
|
||||
}
|
||||
|
||||
return ri, nil
|
||||
}
|
67
lib/keys/types.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package keys
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/crypto"
|
||||
)
|
||||
|
||||
// KeyStore is an interface for storing and retrieving keys
|
||||
type KeyStore interface {
|
||||
KeyID() string
|
||||
// GetKeys returns the public and private keys
|
||||
GetKeys() (publicKey crypto.PublicKey, privateKey crypto.PrivateKey, err error)
|
||||
// StoreKeys stores the keys
|
||||
StoreKeys() error
|
||||
}
|
||||
|
||||
type KeyStoreImpl struct {
|
||||
dir string
|
||||
name string
|
||||
privateKey crypto.PrivateKey
|
||||
}
|
||||
|
||||
func NewKeyStoreImpl(dir, name string, privateKey crypto.PrivateKey) *KeyStoreImpl {
|
||||
return &KeyStoreImpl{
|
||||
dir: dir,
|
||||
name: name,
|
||||
privateKey: privateKey,
|
||||
}
|
||||
}
|
||||
|
||||
func (ks *KeyStoreImpl) KeyID() string {
|
||||
if ks.name == "" {
|
||||
public, err := ks.privateKey.Public()
|
||||
if err != nil {
|
||||
return "error"
|
||||
}
|
||||
if len(public.Bytes()) > 10 {
|
||||
return string(public.Bytes()[:10])
|
||||
} else {
|
||||
return string(public.Bytes())
|
||||
}
|
||||
}
|
||||
return ks.name
|
||||
}
|
||||
|
||||
func (ks *KeyStoreImpl) GetKeys() (crypto.PublicKey, crypto.PrivateKey, error) {
|
||||
public, err := ks.privateKey.Public()
|
||||
if err != nil {
|
||||
return nil, nil, err
|
||||
}
|
||||
return public, ks.privateKey, nil
|
||||
}
|
||||
|
||||
func (ks *KeyStoreImpl) StoreKeys() error {
|
||||
// make sure the directory exists
|
||||
if _, err := os.Stat(ks.dir); os.IsNotExist(err) {
|
||||
err := os.MkdirAll(ks.dir, 0o755)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
// on the disk somewhere
|
||||
filename := fmt.Sprintf("private-%s.key", ks.KeyID())
|
||||
return os.WriteFile(filename, ks.privateKey.Bytes(), 0o644)
|
||||
}
|
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/netdb"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -180,3 +183,9 @@ return how many routers we know about in our network database
|
||||
func (db *StdNetDB) SkiplistFile(hash common.Hash) (fpath string)
|
||||
```
|
||||
get the skiplist file that a RouterInfo with this hash would go in
|
||||
|
||||
|
||||
|
||||
netdb
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/netdb
|
818
lib/netdb/netdb.svg
Normal file
@@ -0,0 +1,818 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="936pt" height="1275pt"
|
||||
viewBox="0.00 0.00 936.44 1275.04" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1275.0391)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1275.0391 936.4392,-1275.0391 936.4392,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-22.0391 8,-1267.0391 928.4392,-1267.0391 928.4392,-22.0391 8,-22.0391"/>
|
||||
<text text-anchor="middle" x="468.2196" y="-1246.8391" font-family="Arial" font-size="18.00" fill="#000000">netdb</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust6"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M835.8992,-66.0391C835.8992,-66.0391 890.2204,-66.0391 890.2204,-66.0391 896.2204,-66.0391 902.2204,-72.0391 902.2204,-78.0391 902.2204,-78.0391 902.2204,-193.0391 902.2204,-193.0391 902.2204,-199.0391 896.2204,-205.0391 890.2204,-205.0391 890.2204,-205.0391 835.8992,-205.0391 835.8992,-205.0391 829.8992,-205.0391 823.8992,-199.0391 823.8992,-193.0391 823.8992,-193.0391 823.8992,-78.0391 823.8992,-78.0391 823.8992,-72.0391 829.8992,-66.0391 835.8992,-66.0391"/>
|
||||
<text text-anchor="middle" x="863.0598" y="-74.5391" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust5"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M823.4504,-825.0391C823.4504,-825.0391 901.6692,-825.0391 901.6692,-825.0391 907.6692,-825.0391 913.6692,-831.0391 913.6692,-837.0391 913.6692,-837.0391 913.6692,-1135.0391 913.6692,-1135.0391 913.6692,-1141.0391 907.6692,-1147.0391 901.6692,-1147.0391 901.6692,-1147.0391 823.4504,-1147.0391 823.4504,-1147.0391 817.4504,-1147.0391 811.4504,-1141.0391 811.4504,-1135.0391 811.4504,-1135.0391 811.4504,-837.0391 811.4504,-837.0391 811.4504,-831.0391 817.4504,-825.0391 823.4504,-825.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-833.5391" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/netdb.StdNetDB">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-317.0391C28,-317.0391 885.5598,-317.0391 885.5598,-317.0391 891.5598,-317.0391 897.5598,-323.0391 897.5598,-329.0391 897.5598,-329.0391 897.5598,-593.0391 897.5598,-593.0391 897.5598,-599.0391 891.5598,-605.0391 885.5598,-605.0391 885.5598,-605.0391 28,-605.0391 28,-605.0391 22,-605.0391 16,-599.0391 16,-593.0391 16,-593.0391 16,-329.0391 16,-329.0391 16,-323.0391 22,-317.0391 28,-317.0391"/>
|
||||
<text text-anchor="middle" x="456.7799" y="-325.5391" font-family="Arial" font-size="15.00" fill="#222222">(*StdNetDB)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/netdb.Entry</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/netdb.Entry">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M642.8739,-229.0391C642.8739,-229.0391 706.2975,-229.0391 706.2975,-229.0391 712.2975,-229.0391 718.2975,-235.0391 718.2975,-241.0391 718.2975,-241.0391 718.2975,-295.0391 718.2975,-295.0391 718.2975,-301.0391 712.2975,-307.0391 706.2975,-307.0391 706.2975,-307.0391 642.8739,-307.0391 642.8739,-307.0391 636.8739,-307.0391 630.8739,-301.0391 630.8739,-295.0391 630.8739,-295.0391 630.8739,-241.0391 630.8739,-241.0391 630.8739,-235.0391 636.8739,-229.0391 642.8739,-229.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-237.5391" font-family="Arial" font-size="15.00" fill="#222222">(*Entry)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M635.0969,-808.0391C635.0969,-808.0391 714.0745,-808.0391 714.0745,-808.0391 720.0745,-808.0391 726.0745,-814.0391 726.0745,-820.0391 726.0745,-820.0391 726.0745,-874.0391 726.0745,-874.0391 726.0745,-880.0391 720.0745,-886.0391 714.0745,-886.0391 714.0745,-886.0391 635.0969,-886.0391 635.0969,-886.0391 629.0969,-886.0391 623.0969,-880.0391 623.0969,-874.0391 623.0969,-874.0391 623.0969,-820.0391 623.0969,-820.0391 623.0969,-814.0391 629.0969,-808.0391 635.0969,-808.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-816.5391" font-family="Arial" font-size="15.00" fill="#222222">(*RouterInfo)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/util.CheckFileExists -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/util.CheckFileExists</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/util.CheckFileExists | defined in checkfile.go:10">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M532.3748,-208.0391C532.3748,-208.0391 440.84,-208.0391 440.84,-208.0391 434.84,-208.0391 428.84,-202.0391 428.84,-196.0391 428.84,-196.0391 428.84,-184.0391 428.84,-184.0391 428.84,-178.0391 434.84,-172.0391 440.84,-172.0391 440.84,-172.0391 532.3748,-172.0391 532.3748,-172.0391 538.3748,-172.0391 544.3748,-178.0391 544.3748,-184.0391 544.3748,-184.0391 544.3748,-196.0391 544.3748,-196.0391 544.3748,-202.0391 538.3748,-208.0391 532.3748,-208.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-194.2391" font-family="Verdana" font-size="14.00" fill="#000000">util</text>
|
||||
<text text-anchor="middle" x="486.6074" y="-177.4391" font-family="Verdana" font-size="14.00" fill="#000000">CheckFileExists</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/util.CheckFileAge -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/util.CheckFileAge</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/go-i2p/go-i2p/lib/util.CheckFileAge | defined in checkfile.go:17">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M526.9729,-93.0391C526.9729,-93.0391 446.2419,-93.0391 446.2419,-93.0391 440.2419,-93.0391 434.2419,-87.0391 434.2419,-81.0391 434.2419,-81.0391 434.2419,-69.0391 434.2419,-69.0391 434.2419,-63.0391 440.2419,-57.0391 446.2419,-57.0391 446.2419,-57.0391 526.9729,-57.0391 526.9729,-57.0391 532.9729,-57.0391 538.9729,-63.0391 538.9729,-69.0391 538.9729,-69.0391 538.9729,-81.0391 538.9729,-81.0391 538.9729,-87.0391 532.9729,-93.0391 526.9729,-93.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-79.2391" font-family="Verdana" font-size="14.00" fill="#000000">util</text>
|
||||
<text text-anchor="middle" x="486.6074" y="-62.4391" font-family="Verdana" font-size="14.00" fill="#000000">CheckFileAge</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB | defined in std.go:32 at std.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:33: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M716.842,-658.0391C716.842,-658.0391 632.3294,-658.0391 632.3294,-658.0391 626.3294,-658.0391 620.3294,-652.0391 620.3294,-646.0391 620.3294,-646.0391 620.3294,-634.0391 620.3294,-634.0391 620.3294,-628.0391 626.3294,-622.0391 632.3294,-622.0391 632.3294,-622.0391 716.842,-622.0391 716.842,-622.0391 722.842,-622.0391 728.842,-628.0391 728.842,-634.0391 728.842,-634.0391 728.842,-646.0391 728.842,-646.0391 728.842,-652.0391 722.842,-658.0391 716.842,-658.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-635.8391" font-family="Verdana" font-size="14.00" fill="#000000">NewStdNetDB</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="node23" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_node23"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithField | defined in log.go:54">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M890.8343,-895.0391C890.8343,-895.0391 834.2853,-895.0391 834.2853,-895.0391 828.2853,-895.0391 822.2853,-889.0391 822.2853,-883.0391 822.2853,-883.0391 822.2853,-871.0391 822.2853,-871.0391 822.2853,-865.0391 828.2853,-859.0391 834.2853,-859.0391 834.2853,-859.0391 890.8343,-859.0391 890.8343,-859.0391 896.8343,-859.0391 902.8343,-865.0391 902.8343,-871.0391 902.8343,-871.0391 902.8343,-883.0391 902.8343,-883.0391 902.8343,-889.0391 896.8343,-895.0391 890.8343,-895.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-881.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-864.4391" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge35"><a xlink:title="at std.go:33: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M708.9854,-658.2763C729.831,-671.2291 754.969,-690.6341 768.6804,-715.0391 800.1493,-771.0508 761.8543,-807.1483 804.6804,-855.0391 807.1929,-857.8487 810.1029,-860.3014 813.2544,-862.4423"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.625,-865.5416 822.0535,-867.4117 815.0674,-859.4465 811.625,-865.5416"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node28" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node28"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M881.3818,-197.0391C881.3818,-197.0391 843.7378,-197.0391 843.7378,-197.0391 837.7378,-197.0391 831.7378,-191.0391 831.7378,-185.0391 831.7378,-185.0391 831.7378,-173.0391 831.7378,-173.0391 831.7378,-167.0391 837.7378,-161.0391 843.7378,-161.0391 843.7378,-161.0391 881.3818,-161.0391 881.3818,-161.0391 887.3818,-161.0391 893.3818,-167.0391 893.3818,-173.0391 893.3818,-173.0391 893.3818,-185.0391 893.3818,-185.0391 893.3818,-191.0391 887.3818,-197.0391 881.3818,-197.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-183.2391" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-166.4391" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb.NewStdNetDB->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge20"><a xlink:title="at std.go:33: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M729.1025,-633.0944C744.0044,-628.5632 758.7613,-621.1463 768.6804,-609.0391 810.9533,-557.4408 787.0989,-375.384 804.6804,-311.0391 815.0188,-273.2027 834.3966,-232.212 847.8681,-206.1154"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="850.9943,-207.6902 852.5364,-197.2081 844.7942,-204.4407 850.9943,-207.6902"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString | defined in base64.go:16">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M908.3189,-649.0391C908.3189,-649.0391 816.8007,-649.0391 816.8007,-649.0391 810.8007,-649.0391 804.8007,-643.0391 804.8007,-637.0391 804.8007,-637.0391 804.8007,-625.0391 804.8007,-625.0391 804.8007,-619.0391 810.8007,-613.0391 816.8007,-613.0391 816.8007,-613.0391 908.3189,-613.0391 908.3189,-613.0391 914.3189,-613.0391 920.3189,-619.0391 920.3189,-625.0391 920.3189,-625.0391 920.3189,-637.0391 920.3189,-637.0391 920.3189,-643.0391 914.3189,-649.0391 908.3189,-649.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-635.2391" font-family="Verdana" font-size="14.00" fill="#000000">base64</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-618.4391" font-family="Verdana" font-size="14.00" fill="#000000">EncodeToString</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo | defined in router_info.go:233">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M719.7753,-800.0391C719.7753,-800.0391 629.3961,-800.0391 629.3961,-800.0391 623.3961,-800.0391 617.3961,-794.0391 617.3961,-788.0391 617.3961,-788.0391 617.3961,-776.0391 617.3961,-776.0391 617.3961,-770.0391 623.3961,-764.0391 629.3961,-764.0391 629.3961,-764.0391 719.7753,-764.0391 719.7753,-764.0391 725.7753,-764.0391 731.7753,-770.0391 731.7753,-776.0391 731.7753,-776.0391 731.7753,-788.0391 731.7753,-788.0391 731.7753,-794.0391 725.7753,-800.0391 719.7753,-800.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-786.2391" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text>
|
||||
<text text-anchor="middle" x="674.5857" y="-769.4391" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterInfo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb.init -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb.init</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/go-i2p/lib/netdb.init | defined in .:0 at std.go:23: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M107.7672,-66.0391C107.7672,-66.0391 77.7672,-66.0391 77.7672,-66.0391 71.7672,-66.0391 65.7672,-60.0391 65.7672,-54.0391 65.7672,-54.0391 65.7672,-42.0391 65.7672,-42.0391 65.7672,-36.0391 71.7672,-30.0391 77.7672,-30.0391 77.7672,-30.0391 107.7672,-30.0391 107.7672,-30.0391 113.7672,-30.0391 119.7672,-36.0391 119.7672,-42.0391 119.7672,-42.0391 119.7672,-54.0391 119.7672,-54.0391 119.7672,-60.0391 113.7672,-66.0391 107.7672,-66.0391"/>
|
||||
<text text-anchor="middle" x="92.7672" y="-43.8391" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node7" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node7"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M343.8186,-66.0391C343.8186,-66.0391 246.4396,-66.0391 246.4396,-66.0391 240.4396,-66.0391 234.4396,-60.0391 234.4396,-54.0391 234.4396,-54.0391 234.4396,-42.0391 234.4396,-42.0391 234.4396,-36.0391 240.4396,-30.0391 246.4396,-30.0391 246.4396,-30.0391 343.8186,-30.0391 343.8186,-30.0391 349.8186,-30.0391 355.8186,-36.0391 355.8186,-42.0391 355.8186,-42.0391 355.8186,-54.0391 355.8186,-54.0391 355.8186,-60.0391 349.8186,-66.0391 343.8186,-66.0391"/>
|
||||
<text text-anchor="middle" x="295.1291" y="-52.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="295.1291" y="-35.4391" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge36"><a xlink:title="at std.go:23: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M120.0586,-48.0391C146.5701,-48.0391 187.9627,-48.0391 223.8444,-48.0391"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="224.2896,-51.5392 234.2895,-48.0391 224.2895,-44.5392 224.2896,-51.5392"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash | defined in router_info.go:176">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M706.0633,-878.0391C706.0633,-878.0391 643.1081,-878.0391 643.1081,-878.0391 637.1081,-878.0391 631.1081,-872.0391 631.1081,-866.0391 631.1081,-866.0391 631.1081,-854.0391 631.1081,-854.0391 631.1081,-848.0391 637.1081,-842.0391 643.1081,-842.0391 643.1081,-842.0391 706.0633,-842.0391 706.0633,-842.0391 712.0633,-842.0391 718.0633,-848.0391 718.0633,-854.0391 718.0633,-854.0391 718.0633,-866.0391 718.0633,-866.0391 718.0633,-872.0391 712.0633,-878.0391 706.0633,-878.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-864.2391" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text>
|
||||
<text text-anchor="middle" x="674.5857" y="-847.4391" font-family="Verdana" font-size="14.00" fill="#000000">IdentHash</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo | defined in entry.go:17">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M698.5106,-299.0391C698.5106,-299.0391 650.6608,-299.0391 650.6608,-299.0391 644.6608,-299.0391 638.6608,-293.0391 638.6608,-287.0391 638.6608,-287.0391 638.6608,-275.0391 638.6608,-275.0391 638.6608,-269.0391 644.6608,-263.0391 650.6608,-263.0391 650.6608,-263.0391 698.5106,-263.0391 698.5106,-263.0391 704.5106,-263.0391 710.5106,-269.0391 710.5106,-275.0391 710.5106,-275.0391 710.5106,-287.0391 710.5106,-287.0391 710.5106,-293.0391 704.5106,-299.0391 698.5106,-299.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-276.8391" font-family="Verdana" font-size="14.00" fill="#000000">WriteTo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create | defined in std.go:285 at std.go:288: calling [(*github.com/go-i2p/logger.Logger).WithField] at std.go:287: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path] at std.go:301: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:296: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:288: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:301: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:296: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M692.6191,-597.0391C692.6191,-597.0391 656.5523,-597.0391 656.5523,-597.0391 650.5523,-597.0391 644.5523,-591.0391 644.5523,-585.0391 644.5523,-585.0391 644.5523,-573.0391 644.5523,-573.0391 644.5523,-567.0391 650.5523,-561.0391 656.5523,-561.0391 656.5523,-561.0391 692.6191,-561.0391 692.6191,-561.0391 698.6191,-561.0391 704.6191,-567.0391 704.6191,-573.0391 704.6191,-573.0391 704.6191,-585.0391 704.6191,-585.0391 704.6191,-591.0391 698.6191,-597.0391 692.6191,-597.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-574.8391" font-family="Verdana" font-size="14.00" fill="#000000">Create</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path | defined in std.go:85">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M877.5598,-492.0391C877.5598,-492.0391 847.5598,-492.0391 847.5598,-492.0391 841.5598,-492.0391 835.5598,-486.0391 835.5598,-480.0391 835.5598,-480.0391 835.5598,-468.0391 835.5598,-468.0391 835.5598,-462.0391 841.5598,-456.0391 847.5598,-456.0391 847.5598,-456.0391 877.5598,-456.0391 877.5598,-456.0391 883.5598,-456.0391 889.5598,-462.0391 889.5598,-468.0391 889.5598,-468.0391 889.5598,-480.0391 889.5598,-480.0391 889.5598,-486.0391 883.5598,-492.0391 877.5598,-492.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-469.8391" font-family="Verdana" font-size="14.00" fill="#000000">Path</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_edge8"><a xlink:title="at std.go:287: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="none" stroke="#000000" d="M704.6741,-564.2637C713.5222,-559.6436 723.1202,-554.357 731.6804,-549.0391 765.7373,-527.8817 769.4108,-515.1063 804.6804,-496.0391 811.3118,-492.4541 818.6531,-489.1824 825.8179,-486.3213"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="827.2898,-489.5062 835.3954,-482.6835 824.8042,-482.9624 827.2898,-489.5062"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge1"><a xlink:title="at std.go:288: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M704.7256,-586.0914C714.1691,-589.4261 724.0945,-594.2237 731.6804,-601.0391 758.4436,-625.0839 756.8523,-639.0609 768.6804,-673.0391 795.7886,-750.9118 751.4711,-792.0487 804.6804,-855.0391 807.1495,-857.9621 810.0509,-860.4976 813.2167,-862.6968"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.6791,-865.8492 822.0988,-867.7681 815.15,-859.7702 811.6791,-865.8492"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node24" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node24"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M891.0913,-1017.0391C891.0913,-1017.0391 834.0283,-1017.0391 834.0283,-1017.0391 828.0283,-1017.0391 822.0283,-1011.0391 822.0283,-1005.0391 822.0283,-1005.0391 822.0283,-993.0391 822.0283,-993.0391 822.0283,-987.0391 828.0283,-981.0391 834.0283,-981.0391 834.0283,-981.0391 891.0913,-981.0391 891.0913,-981.0391 897.0913,-981.0391 903.0913,-987.0391 903.0913,-993.0391 903.0913,-993.0391 903.0913,-1005.0391 903.0913,-1005.0391 903.0913,-1011.0391 897.0913,-1017.0391 891.0913,-1017.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-1003.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-986.4391" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge52" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge52"><a xlink:title="at std.go:301: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:296: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M704.7325,-584.5354C714.6339,-587.7753 724.8418,-592.9104 731.6804,-601.0391 785.3524,-664.8363 754.6101,-902.3778 804.6804,-969.0391 807.2421,-972.4497 810.304,-975.5062 813.6633,-978.2391"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.7477,-981.1705 821.9458,-984.0427 815.7646,-975.4378 811.7477,-981.1705"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node25" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node25"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M880.3261,-956.0391C880.3261,-956.0391 844.7935,-956.0391 844.7935,-956.0391 838.7935,-956.0391 832.7935,-950.0391 832.7935,-944.0391 832.7935,-944.0391 832.7935,-932.0391 832.7935,-932.0391 832.7935,-926.0391 838.7935,-920.0391 844.7935,-920.0391 844.7935,-920.0391 880.3261,-920.0391 880.3261,-920.0391 886.3261,-920.0391 892.3261,-926.0391 892.3261,-932.0391 892.3261,-932.0391 892.3261,-944.0391 892.3261,-944.0391 892.3261,-950.0391 886.3261,-956.0391 880.3261,-956.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-942.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-925.4391" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge15"><a xlink:title="at std.go:301: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:296: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M704.8602,-584.7785C714.6536,-588.0363 724.76,-593.1205 731.6804,-601.0391 777.8258,-653.8409 761.5185,-852.7717 804.6804,-908.0391 809.6766,-914.4365 816.416,-919.604 823.5299,-923.7286"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="822.1439,-926.9514 832.6379,-928.4093 825.3435,-920.7254 822.1439,-926.9514"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge38"><a xlink:title="at std.go:288: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M704.6846,-568.657C714.4627,-563.9922 724.6045,-557.5723 731.6804,-549.0391 802.3047,-463.8699 766.1785,-414.7656 804.6804,-311.0391 818.347,-274.2204 837.0112,-232.9326 849.4083,-206.4946"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="852.7254,-207.6666 853.8293,-197.1294 846.3953,-204.6783 852.7254,-207.6666"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid | defined in std.go:125 at std.go:129: calling [(*github.com/go-i2p/logger.Logger).WithFields] at std.go:132: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M149.3024,-597.0391C149.3024,-597.0391 36.232,-597.0391 36.232,-597.0391 30.232,-597.0391 24.232,-591.0391 24.232,-585.0391 24.232,-585.0391 24.232,-573.0391 24.232,-573.0391 24.232,-567.0391 30.232,-561.0391 36.232,-561.0391 36.232,-561.0391 149.3024,-561.0391 149.3024,-561.0391 155.3024,-561.0391 161.3024,-567.0391 161.3024,-573.0391 161.3024,-573.0391 161.3024,-585.0391 161.3024,-585.0391 161.3024,-591.0391 155.3024,-597.0391 149.3024,-597.0391"/>
|
||||
<text text-anchor="middle" x="92.7672" y="-574.8391" font-family="Verdana" font-size="14.00" fill="#000000">CheckFilePathValid</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node26" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node26"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M893.7789,-1139.0391C893.7789,-1139.0391 831.3407,-1139.0391 831.3407,-1139.0391 825.3407,-1139.0391 819.3407,-1133.0391 819.3407,-1127.0391 819.3407,-1127.0391 819.3407,-1115.0391 819.3407,-1115.0391 819.3407,-1109.0391 825.3407,-1103.0391 831.3407,-1103.0391 831.3407,-1103.0391 893.7789,-1103.0391 893.7789,-1103.0391 899.7789,-1103.0391 905.7789,-1109.0391 905.7789,-1115.0391 905.7789,-1115.0391 905.7789,-1127.0391 905.7789,-1127.0391 905.7789,-1133.0391 899.7789,-1139.0391 893.7789,-1139.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-1125.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-1108.4391" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge5"><a xlink:title="at std.go:129: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M94.8196,-597.0702C104.834,-683.4774 150.0164,-1055.3455 197.5344,-1161.0391 219.1083,-1209.0256 242.516,-1228.0391 295.1291,-1228.0391 295.1291,-1228.0391 295.1291,-1228.0391 674.5857,-1228.0391 717.3398,-1228.0391 730.7264,-1227.7217 768.6804,-1208.0391 797.6341,-1193.024 824.2476,-1166.6272 841.6864,-1146.836"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="844.4898,-1148.9439 848.3541,-1139.0789 839.1813,-1144.381 844.4898,-1148.9439"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).CheckFilePathValid->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge27"><a xlink:title="at std.go:132: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M93.105,-597.253C95.1851,-686.9573 109.2947,-1080.4243 197.5344,-1154.0391 251.5207,-1199.0777 298.4376,-1194.7979 355.7238,-1154.0391 564.2495,-1005.6742 469.2129,-854.6374 544.491,-610.0391 581.1822,-490.8197 527.5741,-425.4941 617.491,-339.0391 655.0109,-302.9637 686.2676,-338.4725 731.6804,-313.0391 779.659,-286.1686 821.3594,-236.3287 844.1413,-205.5887"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="847.0023,-207.6055 850.0548,-197.4599 841.3416,-203.4875 847.0023,-207.6055"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize | defined in std.go:137 at std.go:138: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:191: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:198: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:203: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:200: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:140: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path] at std.go:191: calling [(*github.com/go-i2p/logger.Logger).WithField] at std.go:194: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:203: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:200: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M531.5065,-475.0391C531.5065,-475.0391 441.7083,-475.0391 441.7083,-475.0391 435.7083,-475.0391 429.7083,-469.0391 429.7083,-463.0391 429.7083,-463.0391 429.7083,-451.0391 429.7083,-451.0391 429.7083,-445.0391 435.7083,-439.0391 441.7083,-439.0391 441.7083,-439.0391 531.5065,-439.0391 531.5065,-439.0391 537.5065,-439.0391 543.5065,-445.0391 543.5065,-451.0391 543.5065,-451.0391 543.5065,-463.0391 543.5065,-463.0391 543.5065,-469.0391 537.5065,-475.0391 531.5065,-475.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-452.8391" font-family="Verdana" font-size="14.00" fill="#000000">RecalculateSize</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_edge25"><a xlink:title="at std.go:140: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="none" stroke="#000000" d="M543.7065,-459.621C621.5388,-463.1405 758.7996,-469.3472 824.9017,-472.3362"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="825.1094,-475.8491 835.2573,-472.8045 825.4257,-468.8563 825.1094,-475.8491"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath | defined in std.go:121 at std.go:122: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M713.6114,-448.0391C713.6114,-448.0391 635.56,-448.0391 635.56,-448.0391 629.56,-448.0391 623.56,-442.0391 623.56,-436.0391 623.56,-436.0391 623.56,-424.0391 623.56,-424.0391 623.56,-418.0391 629.56,-412.0391 635.56,-412.0391 635.56,-412.0391 713.6114,-412.0391 713.6114,-412.0391 719.6114,-412.0391 725.6114,-418.0391 725.6114,-424.0391 725.6114,-424.0391 725.6114,-436.0391 725.6114,-436.0391 725.6114,-442.0391 719.6114,-448.0391 713.6114,-448.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-425.8391" font-family="Verdana" font-size="14.00" fill="#000000">cacheFilePath</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath</title>
|
||||
<g id="a_edge32"><a xlink:title="at std.go:194: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath]">
|
||||
<path fill="none" stroke="#000000" d="M543.5172,-448.8649C565.5387,-445.7019 590.7944,-442.0743 613.221,-438.8531"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="613.9034,-442.2911 623.3042,-437.4048 612.9082,-435.3622 613.9034,-442.2911"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge28"><a xlink:title="at std.go:191: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M531.1019,-475.174C536.2133,-478.7947 540.8777,-483.0553 544.491,-488.0391 598.0413,-561.901 547.3838,-833.6593 617.491,-892.0391 671.7221,-937.1985 758.3072,-917.6736 812.7167,-898.2416"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="813.9867,-901.5037 822.1552,-894.7565 811.5619,-894.9371 813.9867,-901.5037"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge53" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge53"><a xlink:title="at std.go:203: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:200: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M529.6045,-475.0762C535.1416,-478.7521 540.3231,-483.0541 544.491,-488.0391 577.7577,-527.8273 564.4217,-549.7283 580.491,-599.0391 596.8648,-649.2844 579.1764,-675.6428 617.491,-712.0391 655.6184,-748.2575 693.6255,-706.7444 731.6804,-743.0391 808.0642,-815.8899 736.4775,-888.4779 804.6804,-969.0391 807.28,-972.1097 810.2736,-974.906 813.5016,-977.4449"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.6956,-980.4507 821.9179,-983.2357 815.6635,-974.6839 811.6956,-980.4507"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge23"><a xlink:title="at std.go:203: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:200: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M529.0811,-475.0821C534.7598,-478.7727 540.1209,-483.0774 544.491,-488.0391 604.5569,-556.2362 555.2618,-612.81 617.491,-679.0391 655.6767,-719.6792 692.9674,-690.9009 731.6804,-731.0391 790.7541,-792.2876 747.1836,-845.3079 804.6804,-908.0391 809.8854,-913.718 816.414,-918.4978 823.1945,-922.4551"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="822.0165,-925.7902 832.496,-927.349 825.2758,-919.5953 822.0165,-925.7902"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge12"><a xlink:title="at std.go:138: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:191: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:198: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M511.348,-438.8328C523.2501,-428.7389 536.6124,-415.1771 544.491,-400.0391 589.0179,-314.4851 507.6308,-249.2333 580.491,-186.0391 647.6559,-127.7846 761.3675,-148.6146 821.8629,-165.6718"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.2282,-169.1327 831.8085,-168.5782 823.1918,-162.4137 821.2282,-169.1327"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_edge42"><a xlink:title="at std.go:122: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="none" stroke="#000000" d="M725.9504,-442.0623C757.4147,-449.4273 796.9644,-458.6849 825.4013,-465.3412"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="824.8052,-468.7962 835.3397,-467.6676 826.4007,-461.9805 824.8052,-468.7962"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed -->
|
||||
<g id="node15" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed</title>
|
||||
<g id="a_node15"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed | defined in std.go:263 at std.go:264: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:266: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:265: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size] at std.go:264: calling [(*github.com/go-i2p/logger.Logger).WithField] at std.go:269: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M113.1936,-484.0391C113.1936,-484.0391 72.3408,-484.0391 72.3408,-484.0391 66.3408,-484.0391 60.3408,-478.0391 60.3408,-472.0391 60.3408,-472.0391 60.3408,-460.0391 60.3408,-460.0391 60.3408,-454.0391 66.3408,-448.0391 72.3408,-448.0391 72.3408,-448.0391 113.1936,-448.0391 113.1936,-448.0391 119.1936,-448.0391 125.1936,-454.0391 125.1936,-460.0391 125.1936,-460.0391 125.1936,-472.0391 125.1936,-472.0391 125.1936,-478.0391 119.1936,-484.0391 113.1936,-484.0391"/>
|
||||
<text text-anchor="middle" x="92.7672" y="-461.8391" font-family="Verdana" font-size="14.00" fill="#000000">Reseed</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size -->
|
||||
<g id="node16" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size</title>
|
||||
<g id="a_node16"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size | defined in std.go:90 at std.go:98: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize] at std.go:102: calling [(*github.com/sirupsen/logrus.Logger).Panic] at std.go:95: calling [github.com/go-i2p/go-i2p/lib/util.CheckFileExists] at std.go:95: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:105: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:95: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:102: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:112: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:109: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:97: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:95: calling [github.com/go-i2p/go-i2p/lib/util.CheckFileAge] at std.go:112: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:109: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M310.1291,-431.0391C310.1291,-431.0391 280.1291,-431.0391 280.1291,-431.0391 274.1291,-431.0391 268.1291,-425.0391 268.1291,-419.0391 268.1291,-419.0391 268.1291,-407.0391 268.1291,-407.0391 268.1291,-401.0391 274.1291,-395.0391 280.1291,-395.0391 280.1291,-395.0391 310.1291,-395.0391 310.1291,-395.0391 316.1291,-395.0391 322.1291,-401.0391 322.1291,-407.0391 322.1291,-407.0391 322.1291,-419.0391 322.1291,-419.0391 322.1291,-425.0391 316.1291,-431.0391 310.1291,-431.0391"/>
|
||||
<text text-anchor="middle" x="295.1291" y="-408.8391" font-family="Verdana" font-size="14.00" fill="#000000">Size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size</title>
|
||||
<g id="a_edge19"><a xlink:title="at std.go:265: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size]">
|
||||
<path fill="none" stroke="#000000" d="M125.2801,-457.5237C161.4318,-448.0554 219.7279,-432.7872 257.739,-422.8318"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="259.1,-426.0935 267.8869,-420.174 257.3264,-419.3219 259.1,-426.0935"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge43"><a xlink:title="at std.go:264: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M109.8499,-484.185C185.2923,-563.8104 490.4815,-880.4338 617.491,-928.0391 680.4172,-951.6249 703.8697,-943.8035 768.6804,-926.0391 771.6087,-925.2365 796.5199,-912.2108 819.9433,-899.7925"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.6087,-902.871 828.7988,-895.0895 818.3254,-896.6888 821.6087,-902.871"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="node27" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_node27"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warn | defined in log.go:30">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M880.3261,-1078.0391C880.3261,-1078.0391 844.7935,-1078.0391 844.7935,-1078.0391 838.7935,-1078.0391 832.7935,-1072.0391 832.7935,-1066.0391 832.7935,-1066.0391 832.7935,-1054.0391 832.7935,-1054.0391 832.7935,-1048.0391 838.7935,-1042.0391 844.7935,-1042.0391 844.7935,-1042.0391 880.3261,-1042.0391 880.3261,-1042.0391 886.3261,-1042.0391 892.3261,-1048.0391 892.3261,-1054.0391 892.3261,-1054.0391 892.3261,-1066.0391 892.3261,-1066.0391 892.3261,-1072.0391 886.3261,-1078.0391 880.3261,-1078.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-1064.2391" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-1047.4391" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge45"><a xlink:title="at std.go:269: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M110.947,-484.0699C126.1729,-500.0006 147.5929,-524.4613 161.5344,-549.0391 313.193,-816.4021 84.8425,-1201.0391 392.2238,-1201.0391 392.2238,-1201.0391 392.2238,-1201.0391 674.5857,-1201.0391 720.0274,-1201.0391 736.8799,-1193.4996 768.6804,-1161.0391 793.1627,-1136.0487 780.1503,-1115.9825 804.6804,-1091.0391 810.0655,-1085.5633 816.6251,-1080.8225 823.368,-1076.8092"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="825.4778,-1079.6454 832.5834,-1071.7866 822.1278,-1073.499 825.4778,-1079.6454"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Reseed->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge13"><a xlink:title="at std.go:264: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:266: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M125.2746,-460.821C137.6232,-457.5844 151.191,-452.3791 161.5344,-444.0391 201.378,-411.9128 350.7648,-75.7305 391.7238,-45.0391 513.1711,45.964 590.5242,-21.3083 731.6804,-77.0391 749.4754,-84.0649 754.5729,-86.1161 768.6804,-99.0391 788.8722,-117.5355 783.9586,-131.1384 804.6804,-149.0391 810.0321,-153.6622 816.2195,-157.8157 822.5157,-161.4535"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.2686,-164.7567 831.7338,-166.4088 824.583,-158.5911 821.2686,-164.7567"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileExists -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileExists</title>
|
||||
<g id="a_edge18"><a xlink:title="at std.go:95: calling [github.com/go-i2p/go-i2p/lib/util.CheckFileExists]">
|
||||
<path fill="none" stroke="#8b4513" d="M299.8165,-395.03C310.2309,-358.4075 338.6659,-274.6948 391.7238,-227.0391 399.7807,-219.8026 409.4137,-213.9108 419.4076,-209.1345"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="420.9162,-212.2945 428.6521,-205.0552 418.0902,-205.8902 420.9162,-212.2945"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileAge -->
|
||||
<g id="edge50" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->github.com/go-i2p/go-i2p/lib/util.CheckFileAge</title>
|
||||
<g id="a_edge50"><a xlink:title="at std.go:95: calling [github.com/go-i2p/go-i2p/lib/util.CheckFileAge]">
|
||||
<path fill="none" stroke="#8b4513" d="M295.7548,-394.7763C298.4864,-343.3414 313.1394,-195.5932 391.7238,-112.0391 400.701,-102.4942 412.4322,-95.3748 424.5707,-90.0765"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="425.8941,-93.3169 433.8935,-86.3699 423.3079,-86.8122 425.8941,-93.3169"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize</title>
|
||||
<g id="a_edge9"><a xlink:title="at std.go:98: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).RecalculateSize]">
|
||||
<path fill="none" stroke="#000000" d="M322.1571,-419.2499C347.4902,-425.0712 386.3892,-434.0098 419.9958,-441.7323"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="419.2452,-445.151 429.7751,-443.9795 420.813,-438.3288 419.2452,-445.151"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath</title>
|
||||
<g id="a_edge33"><a xlink:title="at std.go:95: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:105: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath] at std.go:95: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).cacheFilePath]">
|
||||
<path fill="none" stroke="#000000" d="M322.4187,-414.2617C382.9397,-416.9731 529.662,-423.5464 613.3795,-427.297"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="613.3685,-430.7999 623.5152,-427.7511 613.6819,-423.8069 613.3685,-430.7999"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge34"><a xlink:title="at std.go:102: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:112: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:109: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M305.513,-431.3184C318.4012,-454.4847 340.5327,-495.8819 355.7238,-533.0391 460.814,-790.0876 348.6451,-963.1818 580.491,-1116.0391 651.586,-1162.9124 701.1085,-1131.8623 768.6804,-1080.0391 790.4089,-1063.3748 784.0801,-1048.0795 804.6804,-1030.0391 807.6818,-1027.4106 810.9444,-1024.9214 814.3407,-1022.5826"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="816.4257,-1025.4045 822.9856,-1017.0847 812.6692,-1019.4978 816.4257,-1025.4045"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge54" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge54"><a xlink:title="at std.go:112: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:109: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M304.7244,-431.1637C352.5181,-521.1199 564.6836,-916.5722 617.491,-948.0391 681.1062,-985.946 771.3848,-967.7362 822.7438,-952.1591"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="823.989,-955.4365 832.4772,-949.0961 821.8877,-948.7593 823.989,-955.4365"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge44"><a xlink:title="at std.go:92: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:97: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M295.8838,-394.9372C298.9372,-346.7909 314.3212,-214.9083 391.7238,-151.0391 444.79,-107.2512 479.7486,-149.3161 544.491,-126.0391 561.9219,-119.7721 562.6097,-109.8733 580.491,-105.0391 661.2321,-83.2108 693.0977,-69.222 768.6804,-105.0391 791.5134,-115.8592 785.0594,-133.1194 804.6804,-149.0391 810.1131,-153.447 816.2967,-157.4753 822.5519,-161.0503"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.2223,-164.309 831.6884,-165.9552 824.5333,-158.1415 821.2223,-164.309"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Panic -->
|
||||
<g id="node29" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Panic</title>
|
||||
<g id="a_node29"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Panic | defined in logger.go:252">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M880.0556,-136.0391C880.0556,-136.0391 845.064,-136.0391 845.064,-136.0391 839.064,-136.0391 833.064,-130.0391 833.064,-124.0391 833.064,-124.0391 833.064,-112.0391 833.064,-112.0391 833.064,-106.0391 839.064,-100.0391 845.064,-100.0391 845.064,-100.0391 880.0556,-100.0391 880.0556,-100.0391 886.0556,-100.0391 892.0556,-106.0391 892.0556,-112.0391 892.0556,-112.0391 892.0556,-124.0391 892.0556,-124.0391 892.0556,-130.0391 886.0556,-136.0391 880.0556,-136.0391"/>
|
||||
<text text-anchor="middle" x="862.5598" y="-122.2391" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="862.5598" y="-105.4391" font-family="Verdana" font-size="14.00" fill="#000000">Panic</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Panic -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Size->(*github.com/sirupsen/logrus.Logger).Panic</title>
|
||||
<g id="a_edge14"><a xlink:title="at std.go:102: calling [(*github.com/sirupsen/logrus.Logger).Panic]">
|
||||
<path fill="none" stroke="#8b4513" d="M297.2767,-394.94C303.6401,-348.3961 326.2289,-222.7579 391.7238,-145.0391 403.9086,-130.5801 410.6665,-129.6486 428.7238,-124.0391 478.0426,-108.7182 494.825,-128.1939 544.491,-114.0391 579.472,-104.0695 582.1131,-85.4928 617.491,-77.0391 666.8522,-65.244 681.5131,-69.3651 731.6804,-77.0391 763.4041,-81.8918 798.002,-92.9995 823.6541,-102.4308"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="822.4307,-105.7099 833.0229,-105.9468 824.8903,-99.1562 822.4307,-105.7099"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save -->
|
||||
<g id="node17" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save</title>
|
||||
<g id="a_node17"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save | defined in std.go:250 at std.go:253: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry] at std.go:255: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:251: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:255: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M310.1291,-581.0391C310.1291,-581.0391 280.1291,-581.0391 280.1291,-581.0391 274.1291,-581.0391 268.1291,-575.0391 268.1291,-569.0391 268.1291,-569.0391 268.1291,-557.0391 268.1291,-557.0391 268.1291,-551.0391 274.1291,-545.0391 280.1291,-545.0391 280.1291,-545.0391 310.1291,-545.0391 310.1291,-545.0391 316.1291,-545.0391 322.1291,-551.0391 322.1291,-557.0391 322.1291,-557.0391 322.1291,-569.0391 322.1291,-569.0391 322.1291,-575.0391 316.1291,-581.0391 310.1291,-581.0391"/>
|
||||
<text text-anchor="middle" x="295.1291" y="-558.8391" font-family="Verdana" font-size="14.00" fill="#000000">Save</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry -->
|
||||
<g id="node18" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry</title>
|
||||
<g id="a_node18"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry | defined in std.go:224 at std.go:229: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile] at std.go:227: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:234: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:239: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:236: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:231: calling [(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo] at std.go:226: calling [(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash] at std.go:227: calling [(*github.com/go-i2p/logger.Logger).WithField] at std.go:239: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:236: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M515.9236,-536.0391C515.9236,-536.0391 457.2912,-536.0391 457.2912,-536.0391 451.2912,-536.0391 445.2912,-530.0391 445.2912,-524.0391 445.2912,-524.0391 445.2912,-512.0391 445.2912,-512.0391 445.2912,-506.0391 451.2912,-500.0391 457.2912,-500.0391 457.2912,-500.0391 515.9236,-500.0391 515.9236,-500.0391 521.9236,-500.0391 527.9236,-506.0391 527.9236,-512.0391 527.9236,-512.0391 527.9236,-524.0391 527.9236,-524.0391 527.9236,-530.0391 521.9236,-536.0391 515.9236,-536.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-513.8391" font-family="Verdana" font-size="14.00" fill="#000000">SaveEntry</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry</title>
|
||||
<g id="a_edge6"><a xlink:title="at std.go:253: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry]">
|
||||
<path fill="none" stroke="#000000" d="M322.1571,-556.6871C351.4624,-549.8 398.921,-538.6466 435.3409,-530.0874"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="436.3621,-533.4429 445.2961,-527.7478 434.7606,-526.6285 436.3621,-533.4429"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge11"><a xlink:title="at std.go:255: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M296.5714,-581.0575C303.4858,-664.1108 335.2538,-1009.8047 391.7238,-1100.0391 428.0279,-1158.05 559.0913,-1174.0391 580.991,-1174.0391 580.991,-1174.0391 580.991,-1174.0391 674.5857,-1174.0391 717.3398,-1174.0391 737.3639,-1183.1456 768.6804,-1154.0391 810.715,-1114.9709 768.5596,-1074.6319 804.6804,-1030.0391 807.2308,-1026.8904 810.189,-1024.0185 813.3924,-1021.4072"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="815.6519,-1024.0949 821.7679,-1015.4435 811.5918,-1018.3927 815.6519,-1024.0949"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge49"><a xlink:title="at std.go:255: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M296.2276,-581.0409C301.3109,-658.0038 325.1996,-958.2307 391.7238,-1019.0391 515.6999,-1132.3631 626.9744,-1136.2156 768.6804,-1046.0391 800.5521,-1025.7571 778.7036,-996.4684 804.6804,-969.0391 810.1365,-963.2779 816.9049,-958.3577 823.8684,-954.2472"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="825.5745,-957.3037 832.7091,-949.4712 822.2473,-951.1449 825.5745,-957.3037"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Save->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge24"><a xlink:title="at std.go:251: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M303.827,-544.8393C323.1919,-505.253 372.6027,-409.246 428.7238,-339.0391 473.0401,-283.5999 502.8685,-286.5283 544.491,-229.0391 577.3957,-183.591 564.146,-143.4334 617.491,-126.0391 688.2525,-102.9658 773.8122,-134.3557 822.8376,-157.7503"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.3267,-160.9074 831.8475,-162.1572 824.4023,-154.6193 821.3267,-160.9074"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash</title>
|
||||
<g id="a_edge46"><a xlink:title="at std.go:226: calling [(*github.com/go-i2p/go-i2p/lib/common/router_info.RouterInfo).IdentHash]">
|
||||
<path fill="none" stroke="#8b4513" d="M527.8971,-534.0626C534.2419,-538.1088 540.1233,-543.0534 544.491,-549.0391 622.5807,-656.056 523.3071,-744.8725 617.491,-838.0391 619.0864,-839.6172 620.8072,-841.0847 622.622,-842.4491"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="620.7587,-845.4119 631.0823,-847.7938 624.4974,-839.4939 620.7587,-845.4119"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo</title>
|
||||
<g id="a_edge37"><a xlink:title="at std.go:231: calling [(*github.com/go-i2p/go-i2p/lib/netdb.Entry).WriteTo]">
|
||||
<path fill="none" stroke="#000000" d="M527.7808,-501.3784C533.9091,-497.6395 539.7493,-493.2124 544.491,-488.0391 601.9887,-425.3087 560.17,-373.931 617.491,-311.0391 621.1681,-307.0047 625.5151,-303.4189 630.1437,-300.2572"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="631.9961,-303.227 638.6952,-295.0188 628.3396,-297.2578 631.9961,-303.227"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile -->
|
||||
<g id="node19" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile</title>
|
||||
<g id="a_node19"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile | defined in std.go:77 at std.go:80: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:79: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path] at std.go:78: calling [github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString] at std.go:80: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M706.6547,-536.0391C706.6547,-536.0391 642.5167,-536.0391 642.5167,-536.0391 636.5167,-536.0391 630.5167,-530.0391 630.5167,-524.0391 630.5167,-524.0391 630.5167,-512.0391 630.5167,-512.0391 630.5167,-506.0391 636.5167,-500.0391 642.5167,-500.0391 642.5167,-500.0391 706.6547,-500.0391 706.6547,-500.0391 712.6547,-500.0391 718.6547,-506.0391 718.6547,-512.0391 718.6547,-512.0391 718.6547,-524.0391 718.6547,-524.0391 718.6547,-530.0391 712.6547,-536.0391 706.6547,-536.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-513.8391" font-family="Verdana" font-size="14.00" fill="#000000">SkiplistFile</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile</title>
|
||||
<g id="a_edge2"><a xlink:title="at std.go:229: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile]">
|
||||
<path fill="none" stroke="#000000" d="M527.86,-518.0391C555.0262,-518.0391 590.8829,-518.0391 620.3493,-518.0391"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="620.4807,-521.5392 630.4807,-518.0391 620.4806,-514.5392 620.4807,-521.5392"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge47"><a xlink:title="at std.go:227: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M527.8838,-535.8005C533.928,-539.5797 539.7147,-543.9852 544.491,-549.0391 597.3467,-604.9663 554.4819,-661.864 617.491,-706.0391 659.2054,-735.2847 689.2711,-687.8105 731.6804,-716.0391 789.7682,-754.7036 752.461,-808.7545 804.6804,-855.0391 807.2937,-857.3554 810.1757,-859.438 813.2162,-861.3091"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.6403,-864.4352 822.1129,-866.0401 814.927,-858.2547 811.6403,-864.4352"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge31"><a xlink:title="at std.go:239: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:236: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M527.9719,-533.618C534.3911,-537.7248 540.2788,-542.805 544.491,-549.0391 626.5959,-670.5543 527.6677,-740.2295 580.491,-877.0391 590.5777,-903.163 598.0725,-907.8619 617.491,-928.0391 676.3555,-989.2033 687.4542,-1018.2929 767.6804,-1046.0391 770.5688,-1047.038 796.0679,-1034.3116 819.9028,-1021.8524"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.6828,-1024.8709 828.9056,-1017.1196 818.4256,-1018.6749 821.6828,-1024.8709"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge51" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge51"><a xlink:title="at std.go:239: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:236: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M527.7694,-533.7577C534.2092,-537.8503 540.1562,-542.8895 544.491,-549.0391 639.3027,-683.545 490.7972,-807.0163 617.491,-912.0391 632.8973,-924.8101 756.6695,-932.8008 822.1918,-936.1775"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="822.4014,-939.6923 832.5644,-936.6986 822.7527,-932.7011 822.4014,-939.6923"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SaveEntry->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge30"><a xlink:title="at std.go:227: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:234: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M527.7978,-502.2621C534.0742,-498.3901 539.9583,-493.6898 544.491,-488.0391 623.6162,-389.3977 522.8051,-296.8573 617.491,-213.0391 673.8764,-163.1253 767.9649,-165.6299 821.6741,-172.1672"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.4817,-175.6722 831.8544,-173.5141 822.3999,-168.7327 821.4817,-175.6722"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString</title>
|
||||
<g id="a_edge39"><a xlink:title="at std.go:78: calling [github.com/go-i2p/go-i2p/lib/common/base64.EncodeToString]">
|
||||
<path fill="none" stroke="#8b4513" d="M710.5349,-536.1999C717.6885,-540.1892 725.0381,-544.5658 731.6804,-549.0391 764.0652,-570.849 767.9304,-585.753 803.3124,-607.7922"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="801.5263,-610.8021 811.9071,-612.9212 805.1135,-604.7911 801.5263,-610.8021"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_edge26"><a xlink:title="at std.go:79: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="none" stroke="#000000" d="M718.6573,-507.723C751.1226,-500.1237 794.7819,-489.9042 825.4678,-482.7214"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="826.403,-486.0972 835.3421,-480.4101 824.8076,-479.2814 826.403,-486.0972"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge48"><a xlink:title="at std.go:80: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M717.0098,-536.1416C722.4696,-539.8083 727.5765,-544.0902 731.6804,-549.0391 765.9533,-590.3687 755.46,-612.0008 768.6804,-664.0391 789.9506,-747.7631 749.2337,-788.7987 804.6804,-855.0391 807.1364,-857.9732 810.0283,-860.5166 813.1875,-862.7214"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="811.6412,-865.8692 822.0583,-867.8021 815.1203,-859.7949 811.6412,-865.8692"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge16"><a xlink:title="at std.go:80: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M696.2923,-499.8349C707.8486,-489.3474 721.6951,-475.4205 731.6804,-461.0391 753.6864,-429.3448 751.5114,-417.0727 767.6804,-382.0391 796.7606,-319.0307 831.382,-245.2669 849.7027,-206.3298"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="852.9039,-207.7471 853.996,-197.2086 846.5704,-204.7659 852.9039,-207.7471"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists -->
|
||||
<g id="node20" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists</title>
|
||||
<g id="a_node20"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists | defined in std.go:209 at std.go:210: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M691.8091,-387.0391C691.8091,-387.0391 657.3623,-387.0391 657.3623,-387.0391 651.3623,-387.0391 645.3623,-381.0391 645.3623,-375.0391 645.3623,-375.0391 645.3623,-363.0391 645.3623,-363.0391 645.3623,-357.0391 651.3623,-351.0391 657.3623,-351.0391 657.3623,-351.0391 691.8091,-351.0391 691.8091,-351.0391 697.8091,-351.0391 703.8091,-357.0391 703.8091,-363.0391 703.8091,-363.0391 703.8091,-375.0391 703.8091,-375.0391 703.8091,-381.0391 697.8091,-387.0391 691.8091,-387.0391"/>
|
||||
<text text-anchor="middle" x="674.5857" y="-364.8391" font-family="Verdana" font-size="14.00" fill="#000000">Exists</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path</title>
|
||||
<g id="a_edge7"><a xlink:title="at std.go:210: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Path]">
|
||||
<path fill="none" stroke="#000000" d="M703.9776,-384.8726C712.8931,-389.7091 722.7026,-395.0642 731.6804,-400.0391 763.8475,-417.8638 800.2494,-438.4822 826.4821,-453.4205"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="824.8921,-456.5428 835.3132,-458.4536 828.3582,-450.4612 824.8921,-456.5428"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure -->
|
||||
<g id="node21" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure</title>
|
||||
<g id="a_node21"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure | defined in std.go:274 at std.go:276: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:279: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:275: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists] at std.go:277: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M505.9799,-387.0391C505.9799,-387.0391 467.2349,-387.0391 467.2349,-387.0391 461.2349,-387.0391 455.2349,-381.0391 455.2349,-375.0391 455.2349,-375.0391 455.2349,-363.0391 455.2349,-363.0391 455.2349,-357.0391 461.2349,-351.0391 467.2349,-351.0391 467.2349,-351.0391 505.9799,-351.0391 505.9799,-351.0391 511.9799,-351.0391 517.9799,-357.0391 517.9799,-363.0391 517.9799,-363.0391 517.9799,-375.0391 517.9799,-375.0391 517.9799,-381.0391 511.9799,-387.0391 505.9799,-387.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-364.8391" font-family="Verdana" font-size="14.00" fill="#000000">Ensure</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create</title>
|
||||
<g id="a_edge29"><a xlink:title="at std.go:277: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Create]">
|
||||
<path fill="none" stroke="#000000" d="M507.1564,-387.2653C518.8297,-398.174 533.3006,-412.674 544.491,-427.0391 583.3224,-476.887 571.5897,-505.6137 617.491,-549.0391 622.8035,-554.0651 629.1216,-558.4792 635.5864,-562.2666"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="633.9513,-565.3614 644.4122,-567.0413 637.2821,-559.2046 633.9513,-565.3614"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists</title>
|
||||
<g id="a_edge21"><a xlink:title="at std.go:275: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Exists]">
|
||||
<path fill="none" stroke="#000000" d="M518.0707,-369.0391C550.1804,-369.0391 600.1084,-369.0391 634.9105,-369.0391"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="635.1891,-372.5392 645.1891,-369.0391 635.189,-365.5392 635.1891,-372.5392"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).Ensure->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge3"><a xlink:title="at std.go:276: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:279: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M494.914,-350.8383C506.2125,-326.044 527.0198,-280.2469 544.491,-241.0391 560.6913,-204.6832 547.1666,-180.8033 580.491,-159.0391 654.3168,-110.8232 763.3963,-140.1086 821.9214,-161.8795"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="820.9641,-165.2606 831.5545,-165.566 823.466,-158.7229 820.9641,-165.2606"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo -->
|
||||
<g id="node22" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo</title>
|
||||
<g id="a_node22"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo | defined in std.go:41 at std.go:42: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:51: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:55: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:71: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:51: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:55: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:71: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:42: calling [(*github.com/go-i2p/logger.Logger).WithField] at std.go:48: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile] at std.go:61: calling [github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M527.2434,-597.0391C527.2434,-597.0391 445.9714,-597.0391 445.9714,-597.0391 439.9714,-597.0391 433.9714,-591.0391 433.9714,-585.0391 433.9714,-585.0391 433.9714,-573.0391 433.9714,-573.0391 433.9714,-567.0391 439.9714,-561.0391 445.9714,-561.0391 445.9714,-561.0391 527.2434,-561.0391 527.2434,-561.0391 533.2434,-561.0391 539.2434,-567.0391 539.2434,-573.0391 539.2434,-573.0391 539.2434,-585.0391 539.2434,-585.0391 539.2434,-591.0391 533.2434,-597.0391 527.2434,-597.0391"/>
|
||||
<text text-anchor="middle" x="486.6074" y="-574.8391" font-family="Verdana" font-size="14.00" fill="#000000">GetRouterInfo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo</title>
|
||||
<g id="a_edge41"><a xlink:title="at std.go:61: calling [github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo]">
|
||||
<path fill="none" stroke="#8b4513" d="M492.2794,-597.1588C503.6885,-630.8166 532.5051,-703.344 580.491,-745.0391 588.6068,-752.0909 598.2255,-757.8864 608.1632,-762.623"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="606.7841,-765.84 617.3455,-766.6809 609.6137,-759.4374 606.7841,-765.84"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile</title>
|
||||
<g id="a_edge40"><a xlink:title="at std.go:48: calling [(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).SkiplistFile]">
|
||||
<path fill="none" stroke="#000000" d="M539.4701,-561.8849C564.8909,-553.6357 595.3114,-543.764 620.8457,-535.478"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="621.9407,-538.8024 630.3721,-532.3867 619.78,-532.1442 621.9407,-538.8024"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge22"><a xlink:title="at std.go:42: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M490.9256,-597.1735C506.5167,-660.9651 561.9204,-873.2136 617.491,-911.0391 678.1632,-952.3371 767.0181,-923.3608 819.4068,-899.5208"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="821.1767,-902.5568 828.7495,-895.1472 818.2089,-896.2171 821.1767,-902.5568"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge10"><a xlink:title="at std.go:51: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:55: calling [(*github.com/go-i2p/logger.Logger).WithError] at std.go:71: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M488.4891,-597.2135C496.6666,-673.6489 530.9465,-968.6394 580.491,-1046.0391 626.0447,-1117.2042 692.1207,-1108.7912 768.6804,-1073.0391 791.2639,-1062.493 785.3428,-1045.7647 804.6804,-1030.0391 807.9637,-1027.3691 811.5119,-1024.8215 815.1792,-1022.4171"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="817.1908,-1025.2892 823.8837,-1017.076 813.5298,-1019.3228 817.1908,-1025.2892"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge17"><a xlink:title="at std.go:51: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:55: calling [(*github.com/go-i2p/logger.Logger).Error] at std.go:71: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M490.2648,-597.0427C504.1888,-663.4716 556.2047,-892.7968 617.491,-928.0391 681.553,-964.8775 771.3819,-956.3655 822.6026,-947.0604"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="823.4559,-950.4607 832.6181,-945.1405 822.138,-943.5858 823.4559,-950.4607"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/netdb.StdNetDB).GetRouterInfo->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge4"><a xlink:title="at std.go:42: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:44: calling [(*github.com/sirupsen/logrus.Logger).Debug] at std.go:64: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M531.7311,-560.929C536.5464,-557.5496 540.9649,-553.6095 544.491,-549.0391 634.6568,-432.1683 511.2501,-327.5159 617.491,-225.0391 624.8259,-217.964 754.0031,-196.403 821.781,-185.499"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="822.389,-188.9463 831.7088,-183.9074 821.2809,-182.0345 822.389,-188.9463"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 83 KiB |
@@ -2,6 +2,9 @@
|
||||
--
|
||||
import "github.com/go-i2p/go-i2p/lib/netdb/reseed"
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
@@ -25,3 +28,9 @@ type Reseed struct {
|
||||
```go
|
||||
func (r Reseed) SingleReseed(uri string) ([]router_info.RouterInfo, error)
|
||||
```
|
||||
|
||||
|
||||
|
||||
reseed
|
||||
|
||||
github.com/go-i2p/go-i2p/lib/netdb/reseed
|
@@ -1,7 +1,6 @@
|
||||
package reseed
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"net/http"
|
||||
@@ -9,7 +8,8 @@ import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/go-i2p/go-i2p/lib/util/logger"
|
||||
"github.com/go-i2p/logger"
|
||||
"github.com/samber/oops"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/eyedeekay/go-unzip/pkg/unzip"
|
||||
@@ -93,7 +93,7 @@ func (r Reseed) SingleReseed(uri string) ([]router_info.RouterInfo, error) {
|
||||
}
|
||||
if len(files) <= 0 {
|
||||
log.Error("Reseed appears to have no content")
|
||||
return nil, fmt.Errorf("error: reseed appears to have no content")
|
||||
return nil, oops.Errorf("error: reseed appears to have no content")
|
||||
}
|
||||
|
||||
log.WithField("file_count", len(files)).Debug("Successfully extracted reseed files")
|
||||
@@ -121,5 +121,5 @@ func (r Reseed) SingleReseed(uri string) ([]router_info.RouterInfo, error) {
|
||||
}
|
||||
}
|
||||
log.Error("Undefined reseed error")
|
||||
return nil, fmt.Errorf("error: undefined reseed error")
|
||||
return nil, oops.Errorf("error: undefined reseed error")
|
||||
}
|
||||
|
361
lib/netdb/reseed/reseed.svg
Normal file
@@ -0,0 +1,361 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: gocallvis Pages: 1 -->
|
||||
<svg width="334pt" height="1052pt"
|
||||
viewBox="0.00 0.00 334.39 1052.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(0 1052)">
|
||||
<title>gocallvis</title>
|
||||
<polygon fill="#d3d3d3" stroke="transparent" points="0,0 0,-1052 334.3928,-1052 334.3928,0 0,0"/>
|
||||
<g id="clust1" class="cluster">
|
||||
<title>cluster_focus</title>
|
||||
<polygon fill="#e6ecfa" stroke="#000000" stroke-width=".5" points="8,-8 8,-1044 326.3928,-1044 326.3928,-8 8,-8"/>
|
||||
<text text-anchor="middle" x="167.1964" y="-1023.8" font-family="Arial" font-size="18.00" fill="#000000">reseed</text>
|
||||
</g>
|
||||
<g id="clust6" class="cluster">
|
||||
<title>cluster_github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed</title>
|
||||
<g id="a_clust6"><a xlink:title="type: github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed">
|
||||
<path fill="#b0c4de" stroke="#000000" stroke-width=".5" d="M28,-481C28,-481 120.2034,-481 120.2034,-481 126.2034,-481 132.2034,-487 132.2034,-493 132.2034,-493 132.2034,-547 132.2034,-547 132.2034,-553 126.2034,-559 120.2034,-559 120.2034,-559 28,-559 28,-559 22,-559 16,-553 16,-547 16,-547 16,-493 16,-493 16,-487 22,-481 28,-481"/>
|
||||
<text text-anchor="middle" x="74.1017" y="-489.5" font-family="Arial" font-size="15.00" fill="#222222">(Reseed)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust5" class="cluster">
|
||||
<title>cluster_github.com/eyedeekay/go-unzip/pkg/unzip.Unzip</title>
|
||||
<g id="a_clust5"><a xlink:title="type: github.com/eyedeekay/go-unzip/pkg/unzip.Unzip">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M229.5863,-928C229.5863,-928 286.0099,-928 286.0099,-928 292.0099,-928 298.0099,-934 298.0099,-940 298.0099,-940 298.0099,-994 298.0099,-994 298.0099,-1000 292.0099,-1006 286.0099,-1006 286.0099,-1006 229.5863,-1006 229.5863,-1006 223.5863,-1006 217.5863,-1000 217.5863,-994 217.5863,-994 217.5863,-940 217.5863,-940 217.5863,-934 223.5863,-928 229.5863,-928"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-936.5" font-family="Arial" font-size="15.00" fill="#222222">(Unzip)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust4" class="cluster">
|
||||
<title>cluster_*github.com/sirupsen/logrus.Logger</title>
|
||||
<g id="a_clust4"><a xlink:title="type: *github.com/sirupsen/logrus.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M230.7406,-781C230.7406,-781 284.8556,-781 284.8556,-781 290.8556,-781 296.8556,-787 296.8556,-793 296.8556,-793 296.8556,-908 296.8556,-908 296.8556,-914 290.8556,-920 284.8556,-920 284.8556,-920 230.7406,-920 230.7406,-920 224.7406,-920 218.7406,-914 218.7406,-908 218.7406,-908 218.7406,-793 218.7406,-793 218.7406,-787 224.7406,-781 230.7406,-781"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-789.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust3" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/logger.Logger</title>
|
||||
<g id="a_clust3"><a xlink:title="type: *github.com/go-i2p/logger.Logger">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M218.6887,-451C218.6887,-451 296.9075,-451 296.9075,-451 302.9075,-451 308.9075,-457 308.9075,-463 308.9075,-463 308.9075,-761 308.9075,-761 308.9075,-767 302.9075,-773 296.9075,-773 296.9075,-773 218.6887,-773 218.6887,-773 212.6887,-773 206.6887,-767 206.6887,-761 206.6887,-761 206.6887,-463 206.6887,-463 206.6887,-457 212.6887,-451 218.6887,-451"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-459.5" font-family="Arial" font-size="15.00" fill="#222222">(*Logger)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<g id="clust2" class="cluster">
|
||||
<title>cluster_*github.com/go-i2p/go-i2p/lib/su3.SU3</title>
|
||||
<g id="a_clust2"><a xlink:title="type: *github.com/go-i2p/go-i2p/lib/su3.SU3">
|
||||
<path fill="#eed8ae" stroke="#000000" stroke-width=".5" d="M222.9713,-304C222.9713,-304 292.6249,-304 292.6249,-304 298.6249,-304 304.6249,-310 304.6249,-316 304.6249,-316 304.6249,-431 304.6249,-431 304.6249,-437 298.6249,-443 292.6249,-443 292.6249,-443 222.9713,-443 222.9713,-443 216.9713,-443 210.9713,-437 210.9713,-431 210.9713,-431 210.9713,-316 210.9713,-316 210.9713,-310 216.9713,-304 222.9713,-304"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-312.5" font-family="Arial" font-size="15.00" fill="#222222">(*SU3)</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/su3.Read -->
|
||||
<g id="node1" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/su3.Read</title>
|
||||
<g id="a_node1"><a xlink:title="github.com/go-i2p/go-i2p/lib/su3.Read | defined in su3.go:208">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M272.7981,-113C272.7981,-113 242.7981,-113 242.7981,-113 236.7981,-113 230.7981,-107 230.7981,-101 230.7981,-101 230.7981,-89 230.7981,-89 230.7981,-83 236.7981,-77 242.7981,-77 242.7981,-77 272.7981,-77 272.7981,-77 278.7981,-77 284.7981,-83 284.7981,-89 284.7981,-89 284.7981,-101 284.7981,-101 284.7981,-107 278.7981,-113 272.7981,-113"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-99.2" font-family="Verdana" font-size="14.00" fill="#000000">su3</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-82.4" font-family="Verdana" font-size="14.00" fill="#000000">Read</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/samber/oops.Errorf -->
|
||||
<g id="node2" class="node">
|
||||
<title>github.com/samber/oops.Errorf</title>
|
||||
<g id="a_node2"><a xlink:title="github.com/samber/oops.Errorf | defined in oops.go:34">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M274.9934,-174C274.9934,-174 240.6028,-174 240.6028,-174 234.6028,-174 228.6028,-168 228.6028,-162 228.6028,-162 228.6028,-150 228.6028,-150 228.6028,-144 234.6028,-138 240.6028,-138 240.6028,-138 274.9934,-138 274.9934,-138 280.9934,-138 286.9934,-144 286.9934,-150 286.9934,-150 286.9934,-162 286.9934,-162 286.9934,-168 280.9934,-174 274.9934,-174"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-160.2" font-family="Verdana" font-size="14.00" fill="#000000">oops</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-143.4" font-family="Verdana" font-size="14.00" fill="#000000">Errorf</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/eyedeekay/go-unzip/pkg/unzip.New -->
|
||||
<g id="node3" class="node">
|
||||
<title>github.com/eyedeekay/go-unzip/pkg/unzip.New</title>
|
||||
<g id="a_node3"><a xlink:title="github.com/eyedeekay/go-unzip/pkg/unzip.New | defined in unzip.go:18">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M273.4034,-235C273.4034,-235 242.1928,-235 242.1928,-235 236.1928,-235 230.1928,-229 230.1928,-223 230.1928,-223 230.1928,-211 230.1928,-211 230.1928,-205 236.1928,-199 242.1928,-199 242.1928,-199 273.4034,-199 273.4034,-199 279.4034,-199 285.4034,-205 285.4034,-211 285.4034,-211 285.4034,-223 285.4034,-223 285.4034,-229 279.4034,-235 273.4034,-235"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-221.2" font-family="Verdana" font-size="14.00" fill="#000000">unzip</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-204.4" font-family="Verdana" font-size="14.00" fill="#000000">New</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo -->
|
||||
<g id="node4" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo</title>
|
||||
<g id="a_node4"><a xlink:title="github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo | defined in router_info.go:233">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M302.9877,-296C302.9877,-296 212.6085,-296 212.6085,-296 206.6085,-296 200.6085,-290 200.6085,-284 200.6085,-284 200.6085,-272 200.6085,-272 200.6085,-266 206.6085,-260 212.6085,-260 212.6085,-260 302.9877,-260 302.9877,-260 308.9877,-260 314.9877,-266 314.9877,-272 314.9877,-272 314.9877,-284 314.9877,-284 314.9877,-290 308.9877,-296 302.9877,-296"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-282.2" font-family="Verdana" font-size="14.00" fill="#000000">router_info</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-265.4" font-family="Verdana" font-size="14.00" fill="#000000">ReadRouterInfo</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb/reseed.init -->
|
||||
<g id="node5" class="node">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb/reseed.init</title>
|
||||
<g id="a_node5"><a xlink:title="github.com/go-i2p/go-i2p/lib/netdb/reseed.init | defined in .:0 at reseed.go:21: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width=".5" d="M89.1017,-52C89.1017,-52 59.1017,-52 59.1017,-52 53.1017,-52 47.1017,-46 47.1017,-40 47.1017,-40 47.1017,-28 47.1017,-28 47.1017,-22 53.1017,-16 59.1017,-16 59.1017,-16 89.1017,-16 89.1017,-16 95.1017,-16 101.1017,-22 101.1017,-28 101.1017,-28 101.1017,-40 101.1017,-40 101.1017,-46 95.1017,-52 89.1017,-52"/>
|
||||
<text text-anchor="middle" x="74.1017" y="-29.8" font-family="Verdana" font-size="14.00" fill="#000000">init</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="node6" class="node">
|
||||
<title>github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_node6"><a xlink:title="github.com/go-i2p/logger.GetGoI2PLogger | defined in log.go:120">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M306.4876,-52C306.4876,-52 209.1086,-52 209.1086,-52 203.1086,-52 197.1086,-46 197.1086,-40 197.1086,-40 197.1086,-28 197.1086,-28 197.1086,-22 203.1086,-16 209.1086,-16 209.1086,-16 306.4876,-16 306.4876,-16 312.4876,-16 318.4876,-22 318.4876,-28 318.4876,-28 318.4876,-40 318.4876,-40 318.4876,-46 312.4876,-52 306.4876,-52"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-38.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-21.4" font-family="Verdana" font-size="14.00" fill="#000000">GetGoI2PLogger</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- github.com/go-i2p/go-i2p/lib/netdb/reseed.init->github.com/go-i2p/logger.GetGoI2PLogger -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>github.com/go-i2p/go-i2p/lib/netdb/reseed.init->github.com/go-i2p/logger.GetGoI2PLogger</title>
|
||||
<g id="a_edge12"><a xlink:title="at reseed.go:21: calling [github.com/go-i2p/logger.GetGoI2PLogger]">
|
||||
<path fill="none" stroke="#8b4513" d="M101.2067,-34C123.8024,-34 157.0344,-34 187.0776,-34"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="187.124,-37.5001 197.124,-34 187.124,-30.5001 187.124,-37.5001"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/su3.SU3).Content -->
|
||||
<g id="node7" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content</title>
|
||||
<g id="a_node7"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content | defined in su3.go:197">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M280.1313,-374C280.1313,-374 235.4649,-374 235.4649,-374 229.4649,-374 223.4649,-368 223.4649,-362 223.4649,-362 223.4649,-350 223.4649,-350 223.4649,-344 229.4649,-338 235.4649,-338 235.4649,-338 280.1313,-338 280.1313,-338 286.1313,-338 292.1313,-344 292.1313,-350 292.1313,-350 292.1313,-362 292.1313,-362 292.1313,-368 286.1313,-374 280.1313,-374"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-360.2" font-family="Verdana" font-size="14.00" fill="#000000">su3</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-343.4" font-family="Verdana" font-size="14.00" fill="#000000">Content</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature -->
|
||||
<g id="node8" class="node">
|
||||
<title>(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature</title>
|
||||
<g id="a_node8"><a xlink:title="(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature | defined in su3.go:203">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M284.4525,-435C284.4525,-435 231.1437,-435 231.1437,-435 225.1437,-435 219.1437,-429 219.1437,-423 219.1437,-423 219.1437,-411 219.1437,-411 219.1437,-405 225.1437,-399 231.1437,-399 231.1437,-399 284.4525,-399 284.4525,-399 290.4525,-399 296.4525,-405 296.4525,-411 296.4525,-411 296.4525,-423 296.4525,-423 296.4525,-429 290.4525,-435 284.4525,-435"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-421.2" font-family="Verdana" font-size="14.00" fill="#000000">su3</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-404.4" font-family="Verdana" font-size="14.00" fill="#000000">Signature</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="node9" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_node9"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithField | defined in log.go:54">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M286.0726,-521C286.0726,-521 229.5236,-521 229.5236,-521 223.5236,-521 217.5236,-515 217.5236,-509 217.5236,-509 217.5236,-497 217.5236,-497 217.5236,-491 223.5236,-485 229.5236,-485 229.5236,-485 286.0726,-485 286.0726,-485 292.0726,-485 298.0726,-491 298.0726,-497 298.0726,-497 298.0726,-509 298.0726,-509 298.0726,-515 292.0726,-521 286.0726,-521"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-507.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-490.4" font-family="Verdana" font-size="14.00" fill="#000000">WithField</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="node10" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_node10"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithError | defined in log.go:66">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M286.3296,-582C286.3296,-582 229.2666,-582 229.2666,-582 223.2666,-582 217.2666,-576 217.2666,-570 217.2666,-570 217.2666,-558 217.2666,-558 217.2666,-552 223.2666,-546 229.2666,-546 229.2666,-546 286.3296,-546 286.3296,-546 292.3296,-546 298.3296,-552 298.3296,-558 298.3296,-558 298.3296,-570 298.3296,-570 298.3296,-576 292.3296,-582 286.3296,-582"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-568.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-551.4" font-family="Verdana" font-size="14.00" fill="#000000">WithError</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="node11" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_node11"><a xlink:title="(*github.com/go-i2p/logger.Logger).Error | defined in log.go:42">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M275.5644,-643C275.5644,-643 240.0318,-643 240.0318,-643 234.0318,-643 228.0318,-637 228.0318,-631 228.0318,-631 228.0318,-619 228.0318,-619 228.0318,-613 234.0318,-607 240.0318,-607 240.0318,-607 275.5644,-607 275.5644,-607 281.5644,-607 287.5644,-613 287.5644,-619 287.5644,-619 287.5644,-631 287.5644,-631 287.5644,-637 281.5644,-643 275.5644,-643"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-629.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-612.4" font-family="Verdana" font-size="14.00" fill="#000000">Error</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="node12" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_node12"><a xlink:title="(*github.com/go-i2p/logger.Logger).WithFields | defined in log.go:60">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M289.0172,-704C289.0172,-704 226.579,-704 226.579,-704 220.579,-704 214.579,-698 214.579,-692 214.579,-692 214.579,-680 214.579,-680 214.579,-674 220.579,-668 226.579,-668 226.579,-668 289.0172,-668 289.0172,-668 295.0172,-668 301.0172,-674 301.0172,-680 301.0172,-680 301.0172,-692 301.0172,-692 301.0172,-698 295.0172,-704 289.0172,-704"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-690.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-673.4" font-family="Verdana" font-size="14.00" fill="#000000">WithFields</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="node13" class="node">
|
||||
<title>(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_node13"><a xlink:title="(*github.com/go-i2p/logger.Logger).Warn | defined in log.go:30">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M275.5644,-765C275.5644,-765 240.0318,-765 240.0318,-765 234.0318,-765 228.0318,-759 228.0318,-753 228.0318,-753 228.0318,-741 228.0318,-741 228.0318,-735 234.0318,-729 240.0318,-729 240.0318,-729 275.5644,-729 275.5644,-729 281.5644,-729 287.5644,-735 287.5644,-741 287.5644,-741 287.5644,-753 287.5644,-753 287.5644,-759 281.5644,-765 275.5644,-765"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-751.2" font-family="Verdana" font-size="14.00" fill="#000000">logger</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-734.4" font-family="Verdana" font-size="14.00" fill="#000000">Warn</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="node14" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_node14"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Debug | defined in logger.go:221">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M276.6201,-851C276.6201,-851 238.9761,-851 238.9761,-851 232.9761,-851 226.9761,-845 226.9761,-839 226.9761,-839 226.9761,-827 226.9761,-827 226.9761,-821 232.9761,-815 238.9761,-815 238.9761,-815 276.6201,-815 276.6201,-815 282.6201,-815 288.6201,-821 288.6201,-827 288.6201,-827 288.6201,-839 288.6201,-839 288.6201,-845 282.6201,-851 276.6201,-851"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-837.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-820.4" font-family="Verdana" font-size="14.00" fill="#000000">Debug</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (*github.com/sirupsen/logrus.Logger).Println -->
|
||||
<g id="node15" class="node">
|
||||
<title>(*github.com/sirupsen/logrus.Logger).Println</title>
|
||||
<g id="a_node15"><a xlink:title="(*github.com/sirupsen/logrus.Logger).Println | defined in logger.go:315">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M276.9132,-912C276.9132,-912 238.683,-912 238.683,-912 232.683,-912 226.683,-906 226.683,-900 226.683,-900 226.683,-888 226.683,-888 226.683,-882 232.683,-876 238.683,-876 238.683,-876 276.9132,-876 276.9132,-876 282.9132,-876 288.9132,-882 288.9132,-888 288.9132,-888 288.9132,-900 288.9132,-900 288.9132,-906 282.9132,-912 276.9132,-912"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-898.2" font-family="Verdana" font-size="14.00" fill="#000000">logrus</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-881.4" font-family="Verdana" font-size="14.00" fill="#000000">Println</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract -->
|
||||
<g id="node16" class="node">
|
||||
<title>(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract</title>
|
||||
<g id="a_node16"><a xlink:title="(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract | defined in unzip.go:22">
|
||||
<path fill="#ffe4b5" stroke="#000000" stroke-width="1.5" d="M278.2231,-998C278.2231,-998 237.3731,-998 237.3731,-998 231.3731,-998 225.3731,-992 225.3731,-986 225.3731,-986 225.3731,-974 225.3731,-974 225.3731,-968 231.3731,-962 237.3731,-962 237.3731,-962 278.2231,-962 278.2231,-962 284.2231,-962 290.2231,-968 290.2231,-974 290.2231,-974 290.2231,-986 290.2231,-986 290.2231,-992 284.2231,-998 278.2231,-998"/>
|
||||
<text text-anchor="middle" x="257.7981" y="-984.2" font-family="Verdana" font-size="14.00" fill="#000000">unzip</text>
|
||||
<text text-anchor="middle" x="257.7981" y="-967.4" font-family="Verdana" font-size="14.00" fill="#000000">Extract</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed -->
|
||||
<g id="node17" class="node">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed</title>
|
||||
<g id="a_node17"><a xlink:title="(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed | defined in reseed.go:31 at reseed.go:124: calling [github.com/samber/oops.Errorf] at reseed.go:96: calling [github.com/samber/oops.Errorf] at reseed.go:72: calling [(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content] at reseed.go:108: calling [github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo] at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:65: calling [(*github.com/go-i2p/logger.Logger).WithFields] at reseed.go:32: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:99: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:119: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:59: calling [github.com/go-i2p/go-i2p/lib/su3.Read] at reseed.go:74: calling [(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature] at reseed.go:80: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:117: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:89: calling [github.com/eyedeekay/go-unzip/pkg/unzip.New] at reseed.go:89: calling [(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract] at reseed.go:42: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:53: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:61: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:76: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:85: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:91: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:117: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:42: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:53: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:61: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:123: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:76: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:85: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:91: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:95: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]">
|
||||
<path fill="#add8e6" stroke="#000000" stroke-width="1.5" d="M112.3053,-551C112.3053,-551 35.8981,-551 35.8981,-551 29.8981,-551 23.8981,-545 23.8981,-539 23.8981,-539 23.8981,-527 23.8981,-527 23.8981,-521 29.8981,-515 35.8981,-515 35.8981,-515 112.3053,-515 112.3053,-515 118.3053,-515 124.3053,-521 124.3053,-527 124.3053,-527 124.3053,-539 124.3053,-539 124.3053,-545 118.3053,-551 112.3053,-551"/>
|
||||
<text text-anchor="middle" x="74.1017" y="-528.8" font-family="Verdana" font-size="14.00" fill="#000000">SingleReseed</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/su3.Read -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/su3.Read</title>
|
||||
<g id="a_edge7"><a xlink:title="at reseed.go:59: calling [github.com/go-i2p/go-i2p/lib/su3.Read]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.4105,-518.2617C127.3001,-516.1559 129.9431,-513.7496 132.2034,-511 159.7529,-477.4869 171.5539,-160.9886 197.2034,-126 203.2816,-117.7087 212.2268,-111.4726 221.3884,-106.8524"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="222.8323,-110.0408 230.5239,-102.7546 219.9673,-103.6539 222.8323,-110.0408"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/samber/oops.Errorf -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/samber/oops.Errorf</title>
|
||||
<g id="a_edge1"><a xlink:title="at reseed.go:124: calling [github.com/samber/oops.Errorf] at reseed.go:96: calling [github.com/samber/oops.Errorf]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.315,-518.1818C127.2269,-516.0948 129.9011,-513.7145 132.2034,-511 155.953,-482.9979 175.0425,-216.2755 197.2034,-187 202.9124,-179.4582 210.9755,-173.6019 219.3625,-169.1144"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="220.9695,-172.2258 228.4942,-164.7673 217.9607,-165.9054 220.9695,-172.2258"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/eyedeekay/go-unzip/pkg/unzip.New -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/eyedeekay/go-unzip/pkg/unzip.New</title>
|
||||
<g id="a_edge10"><a xlink:title="at reseed.go:89: calling [github.com/eyedeekay/go-unzip/pkg/unzip.New]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.4464,-517.8762C127.2876,-515.8626 129.9131,-513.5822 132.2034,-511 152.1774,-488.4803 178.5084,-271.5922 197.2034,-248 203.3584,-240.2327 211.9839,-234.2276 220.8007,-229.6636"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="222.3624,-232.7975 229.9624,-225.4157 219.4178,-226.4469 222.3624,-232.7975"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo</title>
|
||||
<g id="a_edge3"><a xlink:title="at reseed.go:108: calling [github.com/go-i2p/go-i2p/lib/common/router_info.ReadRouterInfo]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.2808,-517.7252C127.1614,-515.7475 129.841,-513.5164 132.2034,-511 163.8166,-477.3253 163.5368,-351.553 195.117,-304.0394"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="197.9276,-306.1281 201.3993,-296.1182 192.4431,-301.7783 197.9276,-306.1281"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content</title>
|
||||
<g id="a_edge2"><a xlink:title="at reseed.go:72: calling [(*github.com/go-i2p/go-i2p/lib/su3.SU3).Content]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.3338,-516.8524C127.1291,-515.0906 129.7813,-513.1457 132.2034,-511 178.779,-469.7385 152.9865,-430.7798 197.2034,-387 202.2246,-382.0285 208.2061,-377.6881 214.4254,-373.9552"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="216.5336,-376.7912 223.6233,-368.9181 213.1713,-370.6516 216.5336,-376.7912"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature</title>
|
||||
<g id="a_edge8"><a xlink:title="at reseed.go:74: calling [(*github.com/go-i2p/go-i2p/lib/su3.SU3).Signature]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.249,-515.6554C127.0012,-514.2 129.6731,-512.6487 132.2034,-511 166.6974,-488.5238 163.5277,-468.6846 197.2034,-445 201.1431,-442.2291 205.4008,-439.6199 209.7694,-437.193"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="211.5749,-440.1988 218.8257,-432.4738 208.3401,-433.9911 211.5749,-440.1988"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithField -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithField</title>
|
||||
<g id="a_edge6"><a xlink:title="at reseed.go:32: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:99: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).WithField] at reseed.go:119: calling [(*github.com/go-i2p/logger.Logger).WithField]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.2975,-524.8024C150.0871,-520.5906 181.435,-515.4711 207.2718,-511.2516"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="207.9384,-514.6892 217.2435,-509.6231 206.8101,-507.7807 207.9384,-514.6892"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithError -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithError</title>
|
||||
<g id="a_edge13"><a xlink:title="at reseed.go:42: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:53: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:61: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:76: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:85: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:91: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).WithError] at reseed.go:117: calling [(*github.com/go-i2p/logger.Logger).WithError]">
|
||||
<path fill="none" stroke="#8b4513" d="M124.2975,-541.4709C150.0871,-545.823 181.435,-551.1132 207.2718,-555.4733"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="206.8005,-558.9432 217.2435,-557.1561 207.9654,-552.0408 206.8005,-558.9432"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Error -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Error</title>
|
||||
<g id="a_edge14"><a xlink:title="at reseed.go:42: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:53: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:61: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:123: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:76: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:85: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:91: calling [(*github.com/go-i2p/logger.Logger).Error] at reseed.go:95: calling [(*github.com/go-i2p/logger.Logger).Error]">
|
||||
<path fill="none" stroke="#8b4513" d="M109.8907,-551.1062C134.4382,-563.5052 167.7666,-580.3004 197.2034,-595 204.0625,-598.4252 211.3659,-602.0554 218.4403,-605.563"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="217.3675,-608.9374 227.8821,-610.2394 220.4744,-602.6646 217.3675,-608.9374"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithFields -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).WithFields</title>
|
||||
<g id="a_edge5"><a xlink:title="at reseed.go:65: calling [(*github.com/go-i2p/logger.Logger).WithFields]">
|
||||
<path fill="none" stroke="#8b4513" d="M88.8873,-551.133C110.5855,-576.9001 153.2635,-624.4748 197.2034,-656 200.5833,-658.425 204.1887,-660.7535 207.8922,-662.9657"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="206.2227,-666.0424 216.6522,-667.9073 209.6621,-659.9455 206.2227,-666.0424"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Warn -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/go-i2p/logger.Logger).Warn</title>
|
||||
<g id="a_edge9"><a xlink:title="at reseed.go:80: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:105: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:110: calling [(*github.com/go-i2p/logger.Logger).Warn] at reseed.go:117: calling [(*github.com/go-i2p/logger.Logger).Warn]">
|
||||
<path fill="none" stroke="#8b4513" d="M82.2749,-551.2166C99.1511,-587.092 141.0238,-667.6832 197.2034,-717 203.4682,-722.4995 210.9203,-727.2565 218.4187,-731.2596"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="217.3403,-734.6309 227.8557,-735.9263 220.4433,-728.3562 217.3403,-734.6309"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Debug -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Debug</title>
|
||||
<g id="a_edge4"><a xlink:title="at reseed.go:32: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:57: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:68: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:99: calling [(*github.com/sirupsen/logrus.Logger).Debug] at reseed.go:119: calling [(*github.com/sirupsen/logrus.Logger).Debug]">
|
||||
<path fill="none" stroke="#8b4513" d="M80.5099,-551.3118C96.0286,-594.0599 138.7033,-702.5924 197.2034,-779 205.3145,-789.594 215.7152,-799.7387 225.6021,-808.317"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="223.4591,-811.0879 233.3674,-814.8396 227.9613,-805.7278 223.4591,-811.0879"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Println -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(*github.com/sirupsen/logrus.Logger).Println</title>
|
||||
<g id="a_edge15"><a xlink:title="at reseed.go:79: calling [(*github.com/sirupsen/logrus.Logger).Println]">
|
||||
<path fill="none" stroke="#8b4513" d="M76.1468,-551.1797C83.1258,-605.3574 110.5897,-767.9085 197.2034,-864 202.7295,-870.1308 209.7911,-875.1569 217.1278,-879.2228"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="215.9609,-882.5513 226.4734,-883.8701 219.0778,-876.2835 215.9609,-882.5513"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- (github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>(github.com/go-i2p/go-i2p/lib/netdb/reseed.Reseed).SingleReseed->(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract</title>
|
||||
<g id="a_edge11"><a xlink:title="at reseed.go:89: calling [(github.com/eyedeekay/go-unzip/pkg/unzip.Unzip).Extract]">
|
||||
<path fill="none" stroke="#8b4513" d="M76.0723,-551.003C83.2139,-609.681 111.9703,-798.9326 197.2034,-926 204.5121,-936.8959 214.52,-947.0093 224.2969,-955.468"/>
|
||||
<polygon fill="#8b4513" stroke="#8b4513" points="222.0997,-958.1929 232.0322,-961.8803 226.5671,-952.8038 222.0997,-958.1929"/>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 36 KiB |