mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 19:08:58 +00:00
Move calmh/syncthing -> syncthing/syncthing
This commit is contained in:
parent
9312e3c7de
commit
cec3bad373
12
Godeps/Godeps.json
generated
12
Godeps/Godeps.json
generated
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"ImportPath": "github.com/calmh/syncthing",
|
"ImportPath": "github.com/syncthing/syncthing",
|
||||||
"GoVersion": "go1.3",
|
"GoVersion": "go1.3",
|
||||||
"Packages": [
|
"Packages": [
|
||||||
"./cmd/..."
|
"./cmd/..."
|
||||||
@ -22,13 +22,13 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "code.google.com/p/go.text/transform",
|
"ImportPath": "code.google.com/p/go.text/transform",
|
||||||
"Comment": "null-88",
|
"Comment": "null-89",
|
||||||
"Rev": "1506dcc33592c369c3be7bd30b38f90445b86deb"
|
"Rev": "df15baaf13e3f62b6b7a901e74caa3818a7c0a7c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "code.google.com/p/go.text/unicode/norm",
|
"ImportPath": "code.google.com/p/go.text/unicode/norm",
|
||||||
"Comment": "null-88",
|
"Comment": "null-89",
|
||||||
"Rev": "1506dcc33592c369c3be7bd30b38f90445b86deb"
|
"Rev": "df15baaf13e3f62b6b7a901e74caa3818a7c0a7c"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "code.google.com/p/snappy-go/snappy",
|
"ImportPath": "code.google.com/p/snappy-go/snappy",
|
||||||
@ -41,7 +41,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/calmh/xdr",
|
"ImportPath": "github.com/calmh/xdr",
|
||||||
"Rev": "89d756f35ba26bcdd47ca25cf9795b3b8d1e1852"
|
"Rev": "694859acb207675085232438780db923ceb43e96"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/juju/ratelimit",
|
"ImportPath": "github.com/juju/ratelimit",
|
||||||
|
204
Godeps/_workspace/src/code.google.com/p/go.text/unicode/norm/maketables.go
generated
vendored
204
Godeps/_workspace/src/code.google.com/p/go.text/unicode/norm/maketables.go
generated
vendored
@ -11,7 +11,6 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -24,6 +23,8 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"unicode"
|
"unicode"
|
||||||
|
|
||||||
|
"code.google.com/p/go.text/internal/ucd"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
@ -63,31 +64,7 @@ var localFiles = flag.Bool("local",
|
|||||||
|
|
||||||
var logger = log.New(os.Stderr, "", log.Lshortfile)
|
var logger = log.New(os.Stderr, "", log.Lshortfile)
|
||||||
|
|
||||||
// UnicodeData.txt has form:
|
const MaxChar = 0x10FFFF // anything above this shouldn't exist
|
||||||
// 0037;DIGIT SEVEN;Nd;0;EN;;7;7;7;N;;;;;
|
|
||||||
// 007A;LATIN SMALL LETTER Z;Ll;0;L;;;;;N;;;005A;;005A
|
|
||||||
// See http://unicode.org/reports/tr44/ for full explanation
|
|
||||||
// The fields:
|
|
||||||
const (
|
|
||||||
FCodePoint = iota
|
|
||||||
FName
|
|
||||||
FGeneralCategory
|
|
||||||
FCanonicalCombiningClass
|
|
||||||
FBidiClass
|
|
||||||
FDecompMapping
|
|
||||||
FDecimalValue
|
|
||||||
FDigitValue
|
|
||||||
FNumericValue
|
|
||||||
FBidiMirrored
|
|
||||||
FUnicode1Name
|
|
||||||
FISOComment
|
|
||||||
FSimpleUppercaseMapping
|
|
||||||
FSimpleLowercaseMapping
|
|
||||||
FSimpleTitlecaseMapping
|
|
||||||
NumField
|
|
||||||
|
|
||||||
MaxChar = 0x10FFFF // anything above this shouldn't exist
|
|
||||||
)
|
|
||||||
|
|
||||||
// Quick Check properties of runes allow us to quickly
|
// Quick Check properties of runes allow us to quickly
|
||||||
// determine whether a rune may occur in a normal form.
|
// determine whether a rune may occur in a normal form.
|
||||||
@ -232,7 +209,7 @@ func openReader(file string) (input io.ReadCloser) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseDecomposition(s string, skipfirst bool) (a []rune, e error) {
|
func parseDecomposition(s string, skipfirst bool) (a []rune, err error) {
|
||||||
decomp := strings.Split(s, " ")
|
decomp := strings.Split(s, " ")
|
||||||
if len(decomp) > 0 && skipfirst {
|
if len(decomp) > 0 && skipfirst {
|
||||||
decomp = decomp[1:]
|
decomp = decomp[1:]
|
||||||
@ -247,56 +224,31 @@ func parseDecomposition(s string, skipfirst bool) (a []rune, e error) {
|
|||||||
return a, nil
|
return a, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseCharacter(line string) {
|
func loadUnicodeData() {
|
||||||
field := strings.Split(line, ";")
|
f := openReader("UnicodeData.txt")
|
||||||
if len(field) != NumField {
|
defer f.Close()
|
||||||
logger.Fatalf("%5s: %d fields (expected %d)\n", line, len(field), NumField)
|
p := ucd.New(f)
|
||||||
}
|
for p.Next() {
|
||||||
x, err := strconv.ParseUint(field[FCodePoint], 16, 64)
|
r := p.Rune(ucd.CodePoint)
|
||||||
point := int(x)
|
char := &chars[r]
|
||||||
if err != nil {
|
|
||||||
logger.Fatalf("%.5s...: %s", line, err)
|
char.ccc = uint8(p.Uint(ucd.CanonicalCombiningClass))
|
||||||
}
|
decmap := p.String(ucd.DecompMapping)
|
||||||
if point == 0 {
|
|
||||||
return // not interesting and we use 0 as unset
|
exp, err := parseDecomposition(decmap, false)
|
||||||
}
|
|
||||||
if point > MaxChar {
|
|
||||||
logger.Fatalf("%5s: Rune %X > MaxChar (%X)", line, point, MaxChar)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
state := SNormal
|
|
||||||
switch {
|
|
||||||
case strings.Index(field[FName], ", First>") > 0:
|
|
||||||
state = SFirst
|
|
||||||
case strings.Index(field[FName], ", Last>") > 0:
|
|
||||||
state = SLast
|
|
||||||
}
|
|
||||||
firstChar := lastChar + 1
|
|
||||||
lastChar = rune(point)
|
|
||||||
if state != SLast {
|
|
||||||
firstChar = lastChar
|
|
||||||
}
|
|
||||||
x, err = strconv.ParseUint(field[FCanonicalCombiningClass], 10, 64)
|
|
||||||
if err != nil {
|
|
||||||
logger.Fatalf("%U: bad ccc field: %s", int(x), err)
|
|
||||||
}
|
|
||||||
ccc := uint8(x)
|
|
||||||
decmap := field[FDecompMapping]
|
|
||||||
exp, e := parseDecomposition(decmap, false)
|
|
||||||
isCompat := false
|
isCompat := false
|
||||||
if e != nil {
|
if err != nil {
|
||||||
if len(decmap) > 0 {
|
if len(decmap) > 0 {
|
||||||
exp, e = parseDecomposition(decmap, true)
|
exp, err = parseDecomposition(decmap, true)
|
||||||
if e != nil {
|
if err != nil {
|
||||||
logger.Fatalf(`%U: bad decomp |%v|: "%s"`, int(x), decmap, e)
|
logger.Fatalf(`%U: bad decomp |%v|: "%s"`, r, decmap, err)
|
||||||
}
|
}
|
||||||
isCompat = true
|
isCompat = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for i := firstChar; i <= lastChar; i++ {
|
|
||||||
char := &chars[i]
|
char.name = p.String(ucd.Name)
|
||||||
char.name = field[FName]
|
char.codePoint = r
|
||||||
char.codePoint = i
|
|
||||||
char.forms[FCompatibility].decomp = exp
|
char.forms[FCompatibility].decomp = exp
|
||||||
if !isCompat {
|
if !isCompat {
|
||||||
char.forms[FCanonical].decomp = exp
|
char.forms[FCanonical].decomp = exp
|
||||||
@ -306,24 +258,9 @@ func parseCharacter(line string) {
|
|||||||
if len(decmap) > 0 {
|
if len(decmap) > 0 {
|
||||||
char.forms[FCompatibility].decomp = exp
|
char.forms[FCompatibility].decomp = exp
|
||||||
}
|
}
|
||||||
char.ccc = ccc
|
|
||||||
char.state = SMissing
|
|
||||||
if i == lastChar {
|
|
||||||
char.state = state
|
|
||||||
}
|
}
|
||||||
}
|
if err := p.Err(); err != nil {
|
||||||
return
|
logger.Fatal(err)
|
||||||
}
|
|
||||||
|
|
||||||
func loadUnicodeData() {
|
|
||||||
f := openReader("UnicodeData.txt")
|
|
||||||
defer f.Close()
|
|
||||||
scanner := bufio.NewScanner(f)
|
|
||||||
for scanner.Scan() {
|
|
||||||
parseCharacter(scanner.Text())
|
|
||||||
}
|
|
||||||
if scanner.Err() != nil {
|
|
||||||
logger.Fatal(scanner.Err())
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,47 +291,22 @@ func compactCCC() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var singlePointRe = regexp.MustCompile(`^([0-9A-F]+) *$`)
|
|
||||||
|
|
||||||
// CompositionExclusions.txt has form:
|
// CompositionExclusions.txt has form:
|
||||||
// 0958 # ...
|
// 0958 # ...
|
||||||
// See http://unicode.org/reports/tr44/ for full explanation
|
// See http://unicode.org/reports/tr44/ for full explanation
|
||||||
func parseExclusion(line string) int {
|
|
||||||
comment := strings.Index(line, "#")
|
|
||||||
if comment >= 0 {
|
|
||||||
line = line[0:comment]
|
|
||||||
}
|
|
||||||
if len(line) == 0 {
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
matches := singlePointRe.FindStringSubmatch(line)
|
|
||||||
if len(matches) != 2 {
|
|
||||||
logger.Fatalf("%s: %d matches (expected 1)\n", line, len(matches))
|
|
||||||
}
|
|
||||||
point, err := strconv.ParseUint(matches[1], 16, 64)
|
|
||||||
if err != nil {
|
|
||||||
logger.Fatalf("%.5s...: %s", line, err)
|
|
||||||
}
|
|
||||||
return int(point)
|
|
||||||
}
|
|
||||||
|
|
||||||
func loadCompositionExclusions() {
|
func loadCompositionExclusions() {
|
||||||
f := openReader("CompositionExclusions.txt")
|
f := openReader("CompositionExclusions.txt")
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
scanner := bufio.NewScanner(f)
|
p := ucd.New(f)
|
||||||
for scanner.Scan() {
|
for p.Next() {
|
||||||
point := parseExclusion(scanner.Text())
|
c := &chars[p.Rune(0)]
|
||||||
if point == 0 {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
c := &chars[point]
|
|
||||||
if c.excludeInComp {
|
if c.excludeInComp {
|
||||||
logger.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint)
|
logger.Fatalf("%U: Duplicate entry in exclusions.", c.codePoint)
|
||||||
}
|
}
|
||||||
c.excludeInComp = true
|
c.excludeInComp = true
|
||||||
}
|
}
|
||||||
if scanner.Err() != nil {
|
if e := p.Err(); e != nil {
|
||||||
log.Fatal(scanner.Err())
|
logger.Fatal(e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -988,8 +900,6 @@ func verifyComputed() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var qcRe = regexp.MustCompile(`([0-9A-F\.]+) *; (NF.*_QC); ([YNM]) #.*`)
|
|
||||||
|
|
||||||
// Use values in DerivedNormalizationProps.txt to compare against the
|
// Use values in DerivedNormalizationProps.txt to compare against the
|
||||||
// values we computed.
|
// values we computed.
|
||||||
// DerivedNormalizationProps.txt has form:
|
// DerivedNormalizationProps.txt has form:
|
||||||
@ -999,27 +909,13 @@ var qcRe = regexp.MustCompile(`([0-9A-F\.]+) *; (NF.*_QC); ([YNM]) #.*`)
|
|||||||
func testDerived() {
|
func testDerived() {
|
||||||
f := openReader("DerivedNormalizationProps.txt")
|
f := openReader("DerivedNormalizationProps.txt")
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
scanner := bufio.NewScanner(f)
|
p := ucd.New(f)
|
||||||
for scanner.Scan() {
|
for p.Next() {
|
||||||
line := scanner.Text()
|
r := p.Rune(0)
|
||||||
qc := qcRe.FindStringSubmatch(line)
|
c := &chars[r]
|
||||||
if qc == nil {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
rng := strings.Split(qc[1], "..")
|
|
||||||
i, err := strconv.ParseUint(rng[0], 16, 64)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
j := i
|
|
||||||
if len(rng) > 1 {
|
|
||||||
j, err = strconv.ParseUint(rng[1], 16, 64)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
var ftype, mode int
|
var ftype, mode int
|
||||||
qt := strings.TrimSpace(qc[2])
|
qt := p.String(1)
|
||||||
switch qt {
|
switch qt {
|
||||||
case "NFC_QC":
|
case "NFC_QC":
|
||||||
ftype, mode = FCanonical, MComposed
|
ftype, mode = FCanonical, MComposed
|
||||||
@ -1030,10 +926,10 @@ func testDerived() {
|
|||||||
case "NFKD_QC":
|
case "NFKD_QC":
|
||||||
ftype, mode = FCompatibility, MDecomposed
|
ftype, mode = FCompatibility, MDecomposed
|
||||||
default:
|
default:
|
||||||
log.Fatalf(`Unexpected quick check type "%s"`, qt)
|
continue
|
||||||
}
|
}
|
||||||
var qr QCResult
|
var qr QCResult
|
||||||
switch qc[3] {
|
switch p.String(2) {
|
||||||
case "Y":
|
case "Y":
|
||||||
qr = QCYes
|
qr = QCYes
|
||||||
case "N":
|
case "N":
|
||||||
@ -1041,27 +937,15 @@ func testDerived() {
|
|||||||
case "M":
|
case "M":
|
||||||
qr = QCMaybe
|
qr = QCMaybe
|
||||||
default:
|
default:
|
||||||
log.Fatalf(`Unexpected quick check value "%s"`, qc[3])
|
log.Fatalf(`Unexpected quick check value "%s"`, p.String(2))
|
||||||
|
}
|
||||||
|
if got := c.forms[ftype].quickCheck[mode]; got != qr {
|
||||||
|
logger.Printf("%U: FAILED %s (was %v need %v)\n", r, qt, got, qr)
|
||||||
}
|
}
|
||||||
var lastFailed bool
|
|
||||||
// Verify current
|
|
||||||
for ; i <= j; i++ {
|
|
||||||
c := &chars[int(i)]
|
|
||||||
c.forms[ftype].verified[mode] = true
|
c.forms[ftype].verified[mode] = true
|
||||||
curqr := c.forms[ftype].quickCheck[mode]
|
|
||||||
if curqr != qr {
|
|
||||||
if !lastFailed {
|
|
||||||
logger.Printf("%s: %.4X..%.4X -- %s\n",
|
|
||||||
qt, int(i), int(j), line[0:50])
|
|
||||||
}
|
}
|
||||||
logger.Printf("%U: FAILED %s (was %v need %v)\n",
|
if err := p.Err(); err != nil {
|
||||||
int(i), qt, curqr, qr)
|
logger.Fatal(err)
|
||||||
lastFailed = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if scanner.Err() != nil {
|
|
||||||
logger.Fatal(scanner.Err())
|
|
||||||
}
|
}
|
||||||
// Any unspecified value must be QCYes. Verify this.
|
// Any unspecified value must be QCYes. Verify this.
|
||||||
for i, c := range chars {
|
for i, c := range chars {
|
||||||
|
1
Godeps/_workspace/src/github.com/calmh/xdr/.gitignore
generated
vendored
Normal file
1
Godeps/_workspace/src/github.com/calmh/xdr/.gitignore
generated
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
coverage.out
|
19
Godeps/_workspace/src/github.com/calmh/xdr/.travis.yml
generated
vendored
Normal file
19
Godeps/_workspace/src/github.com/calmh/xdr/.travis.yml
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
language: go
|
||||||
|
go:
|
||||||
|
- tip
|
||||||
|
|
||||||
|
install:
|
||||||
|
- export PATH=$PATH:$HOME/gopath/bin
|
||||||
|
- go get code.google.com/p/go.tools/cmd/cover
|
||||||
|
- go get github.com/mattn/goveralls
|
||||||
|
|
||||||
|
script:
|
||||||
|
- ./generate.sh
|
||||||
|
- go test -coverprofile=coverage.out
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- goveralls -coverprofile=coverage.out -service=travis-ci -package=calmh/xdr -repotoken="$COVERALLS_TOKEN"
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
secure: SmgnrGfp2zLrA44ChRMpjPeujubt9veZ8Fx/OseMWECmacyV5N/TuDhzIbwo6QwV4xB0sBacoPzvxQbJRVjNKsPiSu72UbcQmQ7flN4Tf7nW09tSh1iW8NgrpBCq/3UYLoBu2iPBEBKm93IK0aGNAKs6oEkB0fU27iTVBwiTXOY=
|
19
Godeps/_workspace/src/github.com/calmh/xdr/LICENSE
generated
vendored
Normal file
19
Godeps/_workspace/src/github.com/calmh/xdr/LICENSE
generated
vendored
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Copyright (C) 2014 Jakob Borg.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to
|
||||||
|
deal in the Software without restriction, including without limitation the
|
||||||
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
- The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
IN THE SOFTWARE.
|
12
Godeps/_workspace/src/github.com/calmh/xdr/README.md
generated
vendored
Normal file
12
Godeps/_workspace/src/github.com/calmh/xdr/README.md
generated
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
xdr
|
||||||
|
===
|
||||||
|
|
||||||
|
[![Build Status](https://img.shields.io/travis/calmh/xdr.svg?style=flat)](https://travis-ci.org/calmh/xdr)
|
||||||
|
[![Coverage Status](https://img.shields.io/coveralls/calmh/xdr.svg?style=flat)](https://coveralls.io/r/calmh/xdr?branch=master)
|
||||||
|
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/calmh/xdr)
|
||||||
|
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
|
This is an XDR encoding/decoding library. It uses code generation and
|
||||||
|
not reflection. It supports the IPDR bastardized XDR format when built
|
||||||
|
with `-tags ipdr`.
|
||||||
|
|
25
Godeps/_workspace/src/github.com/calmh/xdr/encdec_test.go
generated
vendored
25
Godeps/_workspace/src/github.com/calmh/xdr/encdec_test.go
generated
vendored
@ -5,8 +5,12 @@ package xdr_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
|
"math/rand"
|
||||||
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
"testing/quick"
|
"testing/quick"
|
||||||
|
|
||||||
|
"github.com/calmh/xdr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Contains all supported types
|
// Contains all supported types
|
||||||
@ -22,6 +26,25 @@ type TestStruct struct {
|
|||||||
UI64 uint64
|
UI64 uint64
|
||||||
BS []byte
|
BS []byte
|
||||||
S string
|
S string
|
||||||
|
C Opaque
|
||||||
|
}
|
||||||
|
|
||||||
|
type Opaque [32]byte
|
||||||
|
|
||||||
|
func (u *Opaque) encodeXDR(w *xdr.Writer) (int, error) {
|
||||||
|
return w.WriteRaw(u[:])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (u *Opaque) decodeXDR(r *xdr.Reader) (int, error) {
|
||||||
|
return r.ReadRaw(u[:])
|
||||||
|
}
|
||||||
|
|
||||||
|
func (Opaque) Generate(rand *rand.Rand, size int) reflect.Value {
|
||||||
|
var u Opaque
|
||||||
|
for i := range u[:] {
|
||||||
|
u[i] = byte(rand.Int())
|
||||||
|
}
|
||||||
|
return reflect.ValueOf(u)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEncDec(t *testing.T) {
|
func TestEncDec(t *testing.T) {
|
||||||
@ -39,7 +62,7 @@ func TestEncDec(t *testing.T) {
|
|||||||
t0.I32 != t1.I32 || t0.UI32 != t1.UI32 ||
|
t0.I32 != t1.I32 || t0.UI32 != t1.UI32 ||
|
||||||
t0.I64 != t1.I64 || t0.UI64 != t1.UI64 ||
|
t0.I64 != t1.I64 || t0.UI64 != t1.UI64 ||
|
||||||
bytes.Compare(t0.BS, t1.BS) != 0 ||
|
bytes.Compare(t0.BS, t1.BS) != 0 ||
|
||||||
t0.S != t1.S {
|
t0.S != t1.S || t0.C != t1.C {
|
||||||
t.Logf("%#v", t0)
|
t.Logf("%#v", t0)
|
||||||
t.Logf("%#v", t1)
|
t.Logf("%#v", t1)
|
||||||
return false
|
return false
|
||||||
|
8
Godeps/_workspace/src/github.com/calmh/xdr/encdec_xdr_test.go
generated
vendored
8
Godeps/_workspace/src/github.com/calmh/xdr/encdec_xdr_test.go
generated
vendored
@ -52,6 +52,8 @@ TestStruct Structure:
|
|||||||
\ S (variable length) \
|
\ S (variable length) \
|
||||||
/ /
|
/ /
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| Opaque |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
|
||||||
|
|
||||||
struct TestStruct {
|
struct TestStruct {
|
||||||
@ -66,6 +68,7 @@ struct TestStruct {
|
|||||||
unsigned hyper UI64;
|
unsigned hyper UI64;
|
||||||
opaque BS<>;
|
opaque BS<>;
|
||||||
string S<>;
|
string S<>;
|
||||||
|
Opaque C;
|
||||||
}
|
}
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -98,6 +101,10 @@ func (o TestStruct) encodeXDR(xw *xdr.Writer) (int, error) {
|
|||||||
xw.WriteUint64(o.UI64)
|
xw.WriteUint64(o.UI64)
|
||||||
xw.WriteBytes(o.BS)
|
xw.WriteBytes(o.BS)
|
||||||
xw.WriteString(o.S)
|
xw.WriteString(o.S)
|
||||||
|
_, err := o.C.encodeXDR(xw)
|
||||||
|
if err != nil {
|
||||||
|
return xw.Tot(), err
|
||||||
|
}
|
||||||
return xw.Tot(), xw.Error()
|
return xw.Tot(), xw.Error()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,5 +131,6 @@ func (o *TestStruct) decodeXDR(xr *xdr.Reader) error {
|
|||||||
o.UI64 = xr.ReadUint64()
|
o.UI64 = xr.ReadUint64()
|
||||||
o.BS = xr.ReadBytes()
|
o.BS = xr.ReadBytes()
|
||||||
o.S = xr.ReadString()
|
o.S = xr.ReadString()
|
||||||
|
(&o.C).decodeXDR(xr)
|
||||||
return xr.Error()
|
return xr.Error()
|
||||||
}
|
}
|
||||||
|
6
Godeps/_workspace/src/github.com/calmh/xdr/xdr_test.go
generated
vendored
6
Godeps/_workspace/src/github.com/calmh/xdr/xdr_test.go
generated
vendored
@ -67,7 +67,7 @@ func TestReadBytesMaxInto(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestReadBytesMaxIntoNil(t *testing.T) {
|
func TestReadStringMax(t *testing.T) {
|
||||||
for tot := 42; tot < 72; tot++ {
|
for tot := 42; tot < 72; tot++ {
|
||||||
for max := 0; max < 128; max++ {
|
for max := 0; max < 128; max++ {
|
||||||
var b = new(bytes.Buffer)
|
var b = new(bytes.Buffer)
|
||||||
@ -77,8 +77,8 @@ func TestReadBytesMaxIntoNil(t *testing.T) {
|
|||||||
var toWrite = make([]byte, tot)
|
var toWrite = make([]byte, tot)
|
||||||
w.WriteBytes(toWrite)
|
w.WriteBytes(toWrite)
|
||||||
|
|
||||||
var bs = r.ReadBytesMaxInto(max, nil)
|
var str = r.ReadStringMax(max)
|
||||||
var read = len(bs)
|
var read = len(str)
|
||||||
|
|
||||||
if max == 0 || tot <= max {
|
if max == 0 || tot <= max {
|
||||||
if read != tot {
|
if read != tot {
|
||||||
|
10
README.md
10
README.md
@ -1,9 +1,9 @@
|
|||||||
syncthing
|
syncthing
|
||||||
=========
|
=========
|
||||||
|
|
||||||
[![Build Status](https://img.shields.io/travis/calmh/syncthing.svg?style=flat)](https://travis-ci.org/calmh/syncthing)
|
[![Build Status](https://img.shields.io/travis/syncthing/syncthing.svg?style=flat)](https://travis-ci.org/syncthing/syncthing)
|
||||||
[![Coverage Status](https://img.shields.io/coveralls/calmh/syncthing.svg?style=flat)](https://coveralls.io/r/calmh/syncthing?branch=master)
|
[![Coverage Status](https://img.shields.io/coveralls/syncthing/syncthing.svg?style=flat)](https://coveralls.io/r/syncthing/syncthing?branch=master)
|
||||||
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/calmh/syncthing)
|
[![API Documentation](http://img.shields.io/badge/api-Godoc-blue.svg?style=flat)](http://godoc.org/github.com/syncthing/syncthing)
|
||||||
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
|
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat)](http://opensource.org/licenses/MIT)
|
||||||
|
|
||||||
This is the `syncthing` project. The following are the project goals:
|
This is the `syncthing` project. The following are the project goals:
|
||||||
@ -12,7 +12,7 @@ This is the `syncthing` project. The following are the project goals:
|
|||||||
number of collaborating nodes. The protocol should be well defined,
|
number of collaborating nodes. The protocol should be well defined,
|
||||||
unambiguous, easily understood, free to use, efficient, secure and
|
unambiguous, easily understood, free to use, efficient, secure and
|
||||||
language neutral. This is the [Block Exchange
|
language neutral. This is the [Block Exchange
|
||||||
Protocol](https://github.com/calmh/syncthing/blob/master/protocol/PROTOCOL.md).
|
Protocol](https://github.com/syncthing/syncthing/blob/master/protocol/PROTOCOL.md).
|
||||||
|
|
||||||
2. Provide the reference implementation to demonstrate the usability of
|
2. Provide the reference implementation to demonstrate the usability of
|
||||||
said protocol. This is the `syncthing` utility. It is the hope that
|
said protocol. This is the `syncthing` utility. It is the hope that
|
||||||
@ -50,4 +50,4 @@ under the [Creative Commons Attribution 4.0 International
|
|||||||
License](http://creativecommons.org/licenses/by/4.0/).
|
License](http://creativecommons.org/licenses/by/4.0/).
|
||||||
|
|
||||||
All code is licensed under the [MIT
|
All code is licensed under the [MIT
|
||||||
License](https://github.com/calmh/syncthing/blob/master/LICENSE).
|
License](https://github.com/syncthing/syncthing/blob/master/LICENSE).
|
||||||
|
File diff suppressed because one or more lines are too long
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
2
build.sh
2
build.sh
@ -202,7 +202,7 @@ case "$1" in
|
|||||||
tag=$(git describe)
|
tag=$(git describe)
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
for f in *.tar.gz *.zip *.asc ; do
|
for f in *.tar.gz *.zip *.asc ; do
|
||||||
relup calmh/syncthing "$tag" "$f"
|
relup syncthing/syncthing "$tag" "$f"
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
@ -10,8 +10,8 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/files"
|
"github.com/syncthing/syncthing/files"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -26,13 +26,13 @@ import (
|
|||||||
|
|
||||||
"crypto/tls"
|
"crypto/tls"
|
||||||
"code.google.com/p/go.crypto/bcrypt"
|
"code.google.com/p/go.crypto/bcrypt"
|
||||||
"github.com/calmh/syncthing/auto"
|
"github.com/syncthing/syncthing/auto"
|
||||||
"github.com/calmh/syncthing/config"
|
"github.com/syncthing/syncthing/config"
|
||||||
"github.com/calmh/syncthing/events"
|
"github.com/syncthing/syncthing/events"
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
"github.com/calmh/syncthing/model"
|
"github.com/syncthing/syncthing/model"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/calmh/syncthing/upgrade"
|
"github.com/syncthing/syncthing/upgrade"
|
||||||
"github.com/vitrun/qart/qr"
|
"github.com/vitrun/qart/qr"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/osutil"
|
"github.com/syncthing/syncthing/osutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
var csrfTokens []string
|
var csrfTokens []string
|
||||||
|
@ -26,16 +26,16 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/config"
|
|
||||||
"github.com/calmh/syncthing/discover"
|
|
||||||
"github.com/calmh/syncthing/events"
|
|
||||||
"github.com/calmh/syncthing/logger"
|
|
||||||
"github.com/calmh/syncthing/model"
|
|
||||||
"github.com/calmh/syncthing/osutil"
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
|
||||||
"github.com/calmh/syncthing/upgrade"
|
|
||||||
"github.com/calmh/syncthing/upnp"
|
|
||||||
"github.com/juju/ratelimit"
|
"github.com/juju/ratelimit"
|
||||||
|
"github.com/syncthing/syncthing/config"
|
||||||
|
"github.com/syncthing/syncthing/discover"
|
||||||
|
"github.com/syncthing/syncthing/events"
|
||||||
|
"github.com/syncthing/syncthing/logger"
|
||||||
|
"github.com/syncthing/syncthing/model"
|
||||||
|
"github.com/syncthing/syncthing/osutil"
|
||||||
|
"github.com/syncthing/syncthing/protocol"
|
||||||
|
"github.com/syncthing/syncthing/upgrade"
|
||||||
|
"github.com/syncthing/syncthing/upnp"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/model"
|
"github.com/syncthing/syncthing/model"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Current version number of the usage report, for acceptance purposes. If
|
// Current version number of the usage report, for acceptance purposes. If
|
||||||
|
@ -15,8 +15,8 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"code.google.com/p/go.crypto/bcrypt"
|
"code.google.com/p/go.crypto/bcrypt"
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
var l = logger.DefaultLogger
|
var l = logger.DefaultLogger
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
var node1, node2, node3, node4 protocol.NodeID
|
var node1, node2, node3, node4 protocol.NodeID
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -14,9 +14,9 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/beacon"
|
"github.com/syncthing/syncthing/beacon"
|
||||||
"github.com/calmh/syncthing/events"
|
"github.com/syncthing/syncthing/events"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Discoverer struct {
|
type Discoverer struct {
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/events"
|
"github.com/syncthing/syncthing/events"
|
||||||
)
|
)
|
||||||
|
|
||||||
var timeout = 100 * time.Millisecond
|
var timeout = 100 * time.Millisecond
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -5,8 +5,8 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/lamport"
|
"github.com/syncthing/syncthing/lamport"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
"github.com/syndtr/goleveldb/leveldb/iterator"
|
"github.com/syndtr/goleveldb/leveldb/iterator"
|
||||||
"github.com/syndtr/goleveldb/leveldb/opt"
|
"github.com/syndtr/goleveldb/leveldb/opt"
|
||||||
|
@ -8,8 +8,8 @@ package files
|
|||||||
import (
|
import (
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/lamport"
|
"github.com/syncthing/syncthing/lamport"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -9,9 +9,9 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/files"
|
"github.com/syncthing/syncthing/files"
|
||||||
"github.com/calmh/syncthing/lamport"
|
"github.com/syncthing/syncthing/lamport"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
"github.com/syndtr/goleveldb/leveldb/storage"
|
"github.com/syndtr/goleveldb/leveldb/storage"
|
||||||
)
|
)
|
||||||
|
@ -367,10 +367,10 @@
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li><a class="navbar-link" href="http://discourse.syncthing.net/"><span translate>Support / Forum</span></a></li>
|
<li><a class="navbar-link" href="http://discourse.syncthing.net/"><span translate>Support / Forum</span></a></li>
|
||||||
<li><a class="navbar-link" href="https://github.com/calmh/syncthing/releases"><span translate>Latest Release</span></a></li>
|
<li><a class="navbar-link" href="https://github.com/syncthing/syncthing/releases"><span translate>Latest Release</span></a></li>
|
||||||
<li><a class="navbar-link" href="http://discourse.syncthing.net/category/documentation"><span translate>Documentation</span></a></li>
|
<li><a class="navbar-link" href="http://discourse.syncthing.net/category/documentation"><span translate>Documentation</span></a></li>
|
||||||
<li><a class="navbar-link" href="https://github.com/calmh/syncthing/issues"><span translate>Bugs</span></a></li>
|
<li><a class="navbar-link" href="https://github.com/syncthing/syncthing/issues"><span translate>Bugs</span></a></li>
|
||||||
<li><a class="navbar-link" href="https://github.com/calmh/syncthing"><span translate>Source Code</span></a></li>
|
<li><a class="navbar-link" href="https://github.com/syncthing/syncthing"><span translate>Source Code</span></a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -3,7 +3,7 @@ package luhn_test
|
|||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/luhn"
|
"github.com/syncthing/syncthing/luhn"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestGenerate(t *testing.T) {
|
func TestGenerate(t *testing.T) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
package model
|
package model
|
||||||
|
|
||||||
import "github.com/calmh/syncthing/protocol"
|
import "github.com/syncthing/syncthing/protocol"
|
||||||
|
|
||||||
type bqAdd struct {
|
type bqAdd struct {
|
||||||
file protocol.FileInfo
|
file protocol.FileInfo
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -15,12 +15,12 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/config"
|
"github.com/syncthing/syncthing/config"
|
||||||
"github.com/calmh/syncthing/events"
|
"github.com/syncthing/syncthing/events"
|
||||||
"github.com/calmh/syncthing/files"
|
"github.com/syncthing/syncthing/files"
|
||||||
"github.com/calmh/syncthing/lamport"
|
"github.com/syncthing/syncthing/lamport"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/calmh/syncthing/scanner"
|
"github.com/syncthing/syncthing/scanner"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -11,8 +11,8 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/config"
|
"github.com/syncthing/syncthing/config"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/syndtr/goleveldb/leveldb"
|
"github.com/syndtr/goleveldb/leveldb"
|
||||||
"github.com/syndtr/goleveldb/leveldb/storage"
|
"github.com/syndtr/goleveldb/leveldb/storage"
|
||||||
)
|
)
|
||||||
|
@ -11,12 +11,12 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/config"
|
"github.com/syncthing/syncthing/config"
|
||||||
"github.com/calmh/syncthing/events"
|
"github.com/syncthing/syncthing/events"
|
||||||
"github.com/calmh/syncthing/osutil"
|
"github.com/syncthing/syncthing/osutil"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
"github.com/calmh/syncthing/scanner"
|
"github.com/syncthing/syncthing/scanner"
|
||||||
"github.com/calmh/syncthing/versioner"
|
"github.com/syncthing/syncthing/versioner"
|
||||||
)
|
)
|
||||||
|
|
||||||
type requestResult struct {
|
type requestResult struct {
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/luhn"
|
"github.com/syncthing/syncthing/luhn"
|
||||||
)
|
)
|
||||||
|
|
||||||
type NodeID [32]byte
|
type NodeID [32]byte
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"path/filepath"
|
"path/filepath"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
// The parallell hasher reads FileInfo structures from the inbox, hashes the
|
// The parallell hasher reads FileInfo structures from the inbox, hashes the
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"crypto/sha256"
|
"crypto/sha256"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
const StandardBlockSize = 128 * 1024
|
const StandardBlockSize = 128 * 1024
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
var blocksTestData = []struct {
|
var blocksTestData = []struct {
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -15,8 +15,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"code.google.com/p/go.text/unicode/norm"
|
"code.google.com/p/go.text/unicode/norm"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/lamport"
|
"github.com/syncthing/syncthing/lamport"
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Walker struct {
|
type Walker struct {
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/protocol"
|
"github.com/syncthing/syncthing/protocol"
|
||||||
)
|
)
|
||||||
|
|
||||||
var testdata = []struct {
|
var testdata = []struct {
|
||||||
|
@ -66,7 +66,7 @@ func UpgradeTo(rel Release) error {
|
|||||||
|
|
||||||
// Returns the latest release, including prereleases or not depending on the argument
|
// Returns the latest release, including prereleases or not depending on the argument
|
||||||
func LatestRelease(prerelease bool) (Release, error) {
|
func LatestRelease(prerelease bool) (Release, error) {
|
||||||
resp, err := http.Get("https://api.github.com/repos/calmh/syncthing/releases?per_page=10")
|
resp, err := http.Get("https://api.github.com/repos/syncthing/syncthing/releases?per_page=10")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return Release{}, err
|
return Release{}, err
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -8,7 +8,7 @@ import (
|
|||||||
"os"
|
"os"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/logger"
|
"github.com/syncthing/syncthing/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
@ -11,7 +11,7 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/calmh/syncthing/osutil"
|
"github.com/syncthing/syncthing/osutil"
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
Loading…
Reference in New Issue
Block a user