Jakob Borg
74a2e80142
Update docs & translations
2015-11-09 14:00:10 +01:00
Jakob Borg
b9b630e3b6
Change certificate on discovery-2
2015-11-09 13:58:44 +01:00
Jakob Borg
59565fd1d1
Woops
2015-11-07 11:25:00 +01:00
Jakob Borg
55592137a2
Use constructor functions for FolderConfiguration and DeviceConfiguration
2015-11-07 09:50:04 +01:00
Jakob Borg
58523060f0
Actually do negative caching on failed discovery lookups ( fixes #2434 )
2015-11-06 17:14:20 +01:00
Jakob Borg
34aa41e17b
Cache the Path() call, as it's quite expensive and called a lot
2015-11-06 07:11:22 +00:00
Jakob Borg
36f6a9347c
Benchmark must use *db.Instance
2015-11-05 17:46:53 +00:00
Jakob Borg
d49d386ef2
Docs and translation update
2015-11-05 15:47:06 +00:00
Jakob Borg
00c363829c
Refactor: move folder prepare to it's own function
2015-11-05 08:01:47 +00:00
Jakob Borg
9df701906f
Run JSON decoding through the usual setting of defaults and fixing up
...
I see no reason not to do this, and it gives a unified place (the prepare()
call) to initialize cached attributes and so on.
2015-11-04 20:33:10 +00:00
Jakob Borg
283671fa9d
Remove old dead code
2015-11-04 20:15:36 +00:00
Jakob Borg
435c29755d
We haven't had cleartext passwords in the config for ages
2015-11-04 20:15:11 +00:00
Jakob Borg
686f91777c
Don't force rescan dirs and symlinks
...
We can't look for changed modtime on these as we don't track the modtime
to start with.
2015-11-04 19:53:07 +00:00
Audrius Butkevicius
2aa028facb
Add user-agent header, capitalize headers as others seems to do it ( fixes #2422 )
2015-10-31 15:36:08 +00:00
Jakob Borg
2a4fc28318
We should pass around db.Instance instead of leveldb.DB
...
We're going to need the db.Instance to keep some state, and for that to
work we need the same one passed around everywhere. Hence this moves the
leveldb-specific file opening stuff into the db package and exports the
dbInstance type.
2015-10-31 12:35:30 +01:00
Jakob Borg
313485e406
Remove file that snuck in by mistake
2015-10-31 11:38:59 +01:00
Jakob Borg
faf4267c73
Refactor: the various db key functions should be instance methods
2015-10-31 11:27:04 +01:00
Jakob Borg
cdbc8004fb
Comment pedantry
2015-10-31 11:16:07 +01:00
Jakob Borg
08c8d679ac
Create a correct URL is more difficult than just slapping on a scheme ( fixes #2316 )
2015-10-30 21:22:40 +01:00
Jakob Borg
48c34b7234
Translation update
2015-10-30 10:23:09 +01:00
Jakob Borg
e1a8ea7dec
Rescan changed files before pulling on top of them ( fixes #2416 )
2015-10-29 09:12:37 +01:00
Jakob Borg
c4ad97136f
Move leveldb instance and transactions into separate files
2015-10-29 08:07:51 +01:00
Jakob Borg
fd7b8ec77e
Neater transaction handling
2015-10-28 22:04:00 +01:00
Jakob Borg
e28c991331
Create an instance type to tie database methods to
2015-10-28 21:03:05 +01:00
Jakob Borg
9e210d705d
The PublicKey() method is an addition in Go 1.4
2015-10-27 16:03:14 +01:00
Jakob Borg
c42f1b53ab
pulorder.go -> pullorder.go
2015-10-27 12:14:14 +01:00
Jakob Borg
d171173e90
AlwaysLocalNets should not default to null
2015-10-27 12:04:51 +01:00
Jakob Borg
679f0f9363
Fix some config Copy() things we had forgotten
2015-10-27 11:53:42 +01:00
Jakob Borg
724c1e297f
Remove handling of config versions < 10 (v0.11.0)
2015-10-27 11:46:33 +01:00
Jakob Borg
83154569b1
Refactor config types into separate files
2015-10-27 11:37:03 +01:00
Jakob Borg
e3c0fba34b
Must not call hex.Dump in non-debug mode...
2015-10-27 10:27:18 +01:00
Jakob Borg
2b6a6b91f3
Remove unused struct field
2015-10-27 09:55:05 +01:00
Jakob Borg
dc32f7f0a3
Reduce allocations in HashFile
...
By using copyBuffer we avoid a buffer allocation for each block we hash,
and by allocating space for the hashes up front we get one large backing
array instead of a small one for each block. For a 17 MiB file this
makes quite a difference in the amount of memory allocated:
benchmark old ns/op new ns/op delta
BenchmarkHashFile-8 102045110 100459158 -1.55%
benchmark old allocs new allocs delta
BenchmarkHashFile-8 415 144 -65.30%
benchmark old bytes new bytes delta
BenchmarkHashFile-8 4504296 48104 -98.93%
2015-10-27 09:37:27 +01:00
Jakob Borg
1efd8d6c75
Add benchmark of HashFile
2015-10-27 09:30:34 +01:00
Jakob Borg
464e6bec95
Log lines in REST should have lower case keys
2015-10-27 08:22:35 +01:00
Audrius Butkevicius
5b03c2d949
Remove dead code
2015-10-25 20:46:09 +00:00
Audrius Butkevicius
f629a998a0
Change errNoDevice message to something more human
2015-10-25 13:27:26 +00:00
Audrius Butkevicius
73236e58c5
Close channel after the client is stopped
2015-10-22 23:09:02 +01:00
Jakob Borg
32414853c6
Fix Raleway font
2015-10-22 21:08:24 +02:00
Jakob Borg
f3dc78d457
Don't deadlock after checking relay client status ( fixes #2404 )
2015-10-22 20:32:15 +02:00
Jakob Borg
a32ac62208
Don't expect ending slash on Windows
2015-10-22 13:49:41 +02:00
Jakob Borg
d7a934cf0e
Paths must not end with slash on Windows
2015-10-22 11:39:34 +02:00
Jakob Borg
503491392d
Correct amount of stack unwinding for debug prints
2015-10-22 11:38:45 +02:00
Jakob Borg
c19eff4872
Revive remote client version in the GUI
2015-10-22 08:53:28 +02:00
Jakob Borg
2941a813c2
Fix upgrade tests
2015-10-22 08:35:48 +02:00
Jakob Borg
0a022d38fa
Upgrade lib should use same criteria for beta check as main
2015-10-22 08:28:35 +02:00
Jakob Borg
7ed3b3dd3a
Docs update
2015-10-22 08:14:43 +02:00
Jakob Borg
9a1922fdc6
Merge pull request #2385 from AudriusButkevicius/you-are-next
...
Add separate client for dynamic relays (fixes #2368 )
2015-10-22 08:01:22 +02:00
Jakob Borg
83131103cf
Don't load block list in ...Truncated methods
...
Speeds up and reduces allocations on those operations, at the price of
having a manually tweaked XDR decoder for FileInfoTruncated.
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 1868198122 1880206886 +0.64%
BenchmarkUpdateOneChanged-8 231852 172695 -25.51%
BenchmarkUpdateOneUnchanged-8 230624 179341 -22.24%
BenchmarkNeedHalf-8 104601744 109461427 +4.65%
BenchmarkHave-8 29102480 34105026 +17.19%
BenchmarkGlobal-8 150547687 172778045 +14.77%
BenchmarkNeedHalfTruncated-8 102471355 76564986 -25.28%
BenchmarkHaveTruncated-8 28758368 14277481 -50.35%
BenchmarkGlobalTruncated-8 151192913 106070136 -29.84%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 555577 557554 +0.36%
BenchmarkUpdateOneChanged-8 1135 587 -48.28%
BenchmarkUpdateOneUnchanged-8 1135 587 -48.28%
BenchmarkNeedHalf-8 374780 374775 -0.00%
BenchmarkHave-8 151992 152085 +0.06%
BenchmarkGlobal-8 530033 530135 +0.02%
BenchmarkNeedHalfTruncated-8 374699 22160 -94.09%
BenchmarkHaveTruncated-8 151834 4904 -96.77%
BenchmarkGlobalTruncated-8 530037 30536 -94.24%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 1765116216 1765305376 +0.01%
BenchmarkUpdateOneChanged-8 135085 93043 -31.12%
BenchmarkUpdateOneUnchanged-8 134976 92928 -31.15%
BenchmarkNeedHalf-8 44758752 44751791 -0.02%
BenchmarkHave-8 11845052 11967172 +1.03%
BenchmarkGlobal-8 80431136 80431065 -0.00%
BenchmarkNeedHalfTruncated-8 46526459 18243543 -60.79%
BenchmarkHaveTruncated-8 11348357 418998 -96.31%
BenchmarkGlobalTruncated-8 80977672 43116991 -46.75%
2015-10-21 23:49:10 +02:00
Jakob Borg
c1591a5efd
Only run benchmarks with -tags benchmark
...
Avoids creating temp database and stuff on a normal test run
2015-10-21 23:19:26 +02:00
Jakob Borg
918ef4dff8
Use batches in blockmap, speeds up and reduces memory usage on large Replace and Update ops
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2880834572 1868198122 -35.15%
BenchmarkUpdateOneChanged-8 236596 231852 -2.01%
BenchmarkUpdateOneUnchanged-8 227326 230624 +1.45%
BenchmarkNeedHalf-8 105151538 104601744 -0.52%
BenchmarkHave-8 28827492 29102480 +0.95%
BenchmarkGlobal-8 150768724 150547687 -0.15%
BenchmarkNeedHalfTruncated-8 104434216 102471355 -1.88%
BenchmarkHaveTruncated-8 27860093 28758368 +3.22%
BenchmarkGlobalTruncated-8 149972888 151192913 +0.81%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 555451 555577 +0.02%
BenchmarkUpdateOneChanged-8 1135 1135 +0.00%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374779 374780 +0.00%
BenchmarkHave-8 151996 151992 -0.00%
BenchmarkGlobal-8 530066 530033 -0.01%
BenchmarkNeedHalfTruncated-8 374702 374699 -0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530049 530037 -0.00%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5018351912 1765116216 -64.83%
BenchmarkUpdateOneChanged-8 135085 135085 +0.00%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44769400 44758752 -0.02%
BenchmarkHave-8 11930612 11845052 -0.72%
BenchmarkGlobal-8 81523668 80431136 -1.34%
BenchmarkNeedHalfTruncated-8 46692342 46526459 -0.36%
BenchmarkHaveTruncated-8 11348357 11348357 +0.00%
BenchmarkGlobalTruncated-8 81843956 80977672 -1.06%
2015-10-21 23:05:23 +02:00
Jakob Borg
0d9a04c713
Reuse blockkey, speeds up large Update and Replace calls
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2866418930 2880834572 +0.50%
BenchmarkUpdateOneChanged-8 226635 236596 +4.40%
BenchmarkUpdateOneUnchanged-8 229090 227326 -0.77%
BenchmarkNeedHalf-8 104483393 105151538 +0.64%
BenchmarkHave-8 29288220 28827492 -1.57%
BenchmarkGlobal-8 159269126 150768724 -5.34%
BenchmarkNeedHalfTruncated-8 108235000 104434216 -3.51%
BenchmarkHaveTruncated-8 28945489 27860093 -3.75%
BenchmarkGlobalTruncated-8 149355833 149972888 +0.41%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 1054944 555451 -47.35%
BenchmarkUpdateOneChanged-8 1135 1135 +0.00%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374777 374779 +0.00%
BenchmarkHave-8 151995 151996 +0.00%
BenchmarkGlobal-8 530063 530066 +0.00%
BenchmarkNeedHalfTruncated-8 374699 374702 +0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530021 530049 +0.01%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5074297112 5018351912 -1.10%
BenchmarkUpdateOneChanged-8 135097 135085 -0.01%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44759436 44769400 +0.02%
BenchmarkHave-8 11911138 11930612 +0.16%
BenchmarkGlobal-8 81609867 81523668 -0.11%
BenchmarkNeedHalfTruncated-8 46588024 46692342 +0.22%
BenchmarkHaveTruncated-8 11348354 11348357 +0.00%
BenchmarkGlobalTruncated-8 79485168 81843956 +2.97%
2015-10-21 23:05:23 +02:00
Jakob Borg
0c0c69f0cf
The GC runs are legacy and slows things down quite a bit
...
benchmark old ns/op new ns/op delta
BenchmarkReplaceAll-8 2942370526 2866418930 -2.58%
BenchmarkUpdateOneChanged-8 7402489 226635 -96.94%
BenchmarkUpdateOneUnchanged-8 7298777 229090 -96.86%
BenchmarkNeedHalf-8 113608416 104483393 -8.03%
BenchmarkHave-8 29834263 29288220 -1.83%
BenchmarkGlobal-8 162773699 159269126 -2.15%
BenchmarkNeedHalfTruncated-8 111943400 108235000 -3.31%
BenchmarkHaveTruncated-8 29490369 28945489 -1.85%
BenchmarkGlobalTruncated-8 165841081 149355833 -9.94%
benchmark old allocs new allocs delta
BenchmarkReplaceAll-8 1054942 1054944 +0.00%
BenchmarkUpdateOneChanged-8 1149 1135 -1.22%
BenchmarkUpdateOneUnchanged-8 1135 1135 +0.00%
BenchmarkNeedHalf-8 374774 374777 +0.00%
BenchmarkHave-8 151995 151995 +0.00%
BenchmarkGlobal-8 530042 530063 +0.00%
BenchmarkNeedHalfTruncated-8 374697 374699 +0.00%
BenchmarkHaveTruncated-8 151834 151834 +0.00%
BenchmarkGlobalTruncated-8 530050 530021 -0.01%
benchmark old bytes new bytes delta
BenchmarkReplaceAll-8 5074294728 5074297112 +0.00%
BenchmarkUpdateOneChanged-8 141048 135097 -4.22%
BenchmarkUpdateOneUnchanged-8 134976 134976 +0.00%
BenchmarkNeedHalf-8 44734813 44759436 +0.06%
BenchmarkHave-8 11911634 11911138 -0.00%
BenchmarkGlobal-8 80436854 81609867 +1.46%
BenchmarkNeedHalfTruncated-8 46514673 46588024 +0.16%
BenchmarkHaveTruncated-8 11348357 11348354 -0.00%
BenchmarkGlobalTruncated-8 81730740 79485168 -2.75%
2015-10-21 23:05:22 +02:00
Jakob Borg
943e80e26c
Make benchmarks more realistic
2015-10-21 23:04:29 +02:00
Jakob Borg
1eca4170f7
Add test for LocalSize/GlobalSize results
2015-10-21 21:58:48 +02:00
Jakob Borg
c268e4ad1b
Also keep GlobalSize in RAM
2015-10-21 21:58:48 +02:00
Jakob Borg
d4f81e8791
Keep LocalSize data in RAM
2015-10-21 21:58:48 +02:00
Audrius Butkevicius
4f0680c3c8
Add separate client for dynamic relays ( fixes #2368 )
...
Did some manual tests in the playground, such as kicking off two clients in parallel, first connecting,
second one getting a message about already being connected, falling back to the second address.
2015-10-21 20:08:14 +01:00
Jakob Borg
8c26fe44c3
Actually run protocol tests faster with -short (on Go 1.5...)
2015-10-21 14:45:18 +02:00
Jakob Borg
8c7d9f3dd2
Protocol tests should run faster with -short
2015-10-21 14:35:59 +02:00
Jakob Borg
f241b7e79a
Global discovery should time out ( fixes #2389 )
2015-10-21 14:24:55 +02:00
Matt Burke
c2a5e180b8
Emit warning when sync could overwrite configuration
...
Overwriting configuration files is likely to happen if a
user syncs their home directories across computers. In this
case, the biggest risk is that all nodes will end up with
the same certificate and thus Device ID.
When the model prepares a folder for syncing, it checks to
see if the configuration files this instance is using are
getting synced. If the are getting synced, and they aren't
getting ignored, a warning is emitted. The model is used
so that when a new folder is added dynamically, a warning
is also emitted.
This will not prevent a user from shooting themselves in
the foot, and will not cover all cases (e.g. symlinks).
It should provide _something_ for many users in this
situation to go on, though.
2015-10-20 12:22:27 -04:00
Jakob Borg
aa42aafe33
Don't panic on clean shutdown
2015-10-20 15:59:37 +02:00
Jakob Borg
32c1a9bc45
Docs & translation update
2015-10-20 09:59:50 +02:00
Jakob Borg
0f9fa9507e
Tests must use locking to avoid race ( fixes #2394 )
2015-10-20 08:51:31 +02:00
Jakob Borg
90e0141ac5
Request() should return protocol errors
2015-10-19 15:14:41 +02:00
Jakob Borg
8435a8678e
Don't validate requests against the database
2015-10-19 15:14:41 +02:00
Jakob Borg
6578ffe2c9
Merge pull request #2320 from AudriusButkevicius/proto
...
More proto changes
2015-10-18 08:47:30 +02:00
Jakob Borg
175340522f
Merge pull request #2375 from AudriusButkevicius/proxy
...
Add proxy support (fixes #271 )
2015-10-18 08:45:17 +02:00
Audrius Butkevicius
afc917b582
Fix tests
2015-10-17 09:48:41 +01:00
Audrius Butkevicius
9f4cd7716e
Add more information about the folders to ClusterConfig
2015-10-17 09:46:46 +01:00
Jakob Borg
29b0017445
Merge pull request #2386 from AudriusButkevicius/epoint
...
Change relaypoolsrv endpoint
2015-10-17 09:14:35 +09:00
Jakob Borg
910a7c619a
Merge pull request #2381 from AudriusButkevicius/maxcon
...
Allow limiting max conflicts (fixes #2282 )
2015-10-17 09:10:31 +09:00
Audrius Butkevicius
273fac2028
Change relaypoolsrv endpoint
...
Just incase we want to show some stats in the future, such as a Geo-IP based map of where relays are, their dot size being proportional to global rate limits,
together with potentially how much data in total has been transferred, and how many sessions there by crawling relay status pages etc ;)
2015-10-17 00:10:01 +01:00
Audrius Butkevicius
a323d85d32
Add more information about the device to ClusterConfig
2015-10-16 19:40:12 +01:00
Audrius Butkevicius
491a33de0b
Move device name into the protocol messages
2015-10-16 19:40:12 +01:00
Audrius Butkevicius
752533489a
Allow limiting max conflicts ( fixes #2282 )
2015-10-16 19:26:38 +01:00
Audrius Butkevicius
e4e3c19e96
Our dialer sets up TCP options
2015-10-16 19:18:22 +01:00
Jakob Borg
e15be5c2bf
Merge pull request #2354 from eipiminus1/issue1361
...
Add trailing folder seperator to allow symlinks as folder path (fixes #1361 )
2015-10-16 09:29:37 +09:00
Jakob Borg
cc436dc8cb
Merge pull request #2372 from calmh/fix2371
...
Option -gui-address should accept scheme prefixes
2015-10-16 09:25:41 +09:00
Audrius Butkevicius
abbcd1f436
Patch up HTTP clients
2015-10-15 21:02:17 +01:00
Audrius Butkevicius
985ea29940
Add proxy support ( fixes #271 )
2015-10-15 21:01:42 +01:00
Jakob Borg
368cd44558
Fix race conditions in model tests
2015-10-14 14:41:16 +09:00
Jakob Borg
ff9920cbdc
Add eipiminus1
2015-10-13 08:38:03 +09:00
Jakob Borg
953a67bc3a
Option -gui-address should accept scheme prefixes ( fixes #2371 )
2015-10-13 08:26:07 +09:00
Audrius Butkevicius
29343aec3a
Fix division by zero ( fixes #2373 )
2015-10-12 18:57:15 +01:00
Audrius Butkevicius
2972472179
Add missing close
2015-10-12 17:10:59 +01:00
Jakob Borg
240e7b0835
Log/error fields changed name
2015-10-12 14:18:53 +09:00
Jakob Borg
baf5191433
Add mateon1
2015-10-12 14:13:38 +09:00
Jakob Borg
ec8bc02d33
Silence spurious debug ( fixes #2369 )
2015-10-12 10:11:58 +09:00
Yannic A
054bc970e2
Add trailing folder seperator to allow symlinks as folder path ( fixes #1361 )
2015-10-10 19:38:59 +02:00
Audrius Butkevicius
d985ed553a
Make puller pause configurable
2015-10-10 11:36:09 +01:00
Jakob Borg
76af9ba53d
Implement facility based logger, debugging via REST API
...
This implements a new debug/trace infrastructure based on a slightly
hacked up logger. Instead of the traditional "if debug { ... }" I've
rewritten the logger to have no-op Debugln and Debugf, unless debugging
has been enabled for a given "facility". The "facility" is just a
string, typically a package name.
This will be slightly slower than before; but not that much as it's
mostly a function call that returns immediately. For the cases where it
matters (the Debugln takes a hex.Dump() of something for example, and
it's not in a very occasional "if err != nil" branch) there is an
l.ShouldDebug(facility) that is fast enough to be used like the old "if
debug".
The point of all this is that we can now toggle debugging for the
various packages on and off at runtime. There's a new method
/rest/system/debug that can be POSTed a set of facilities to enable and
disable debug for, or GET from to get a list of facilities with
descriptions and their current debug status.
Similarly a /rest/system/log?since=... can grab the latest log entries,
up to 250 of them (hardcoded constant in main.go) plus the initial few.
Not implemented in this commit (but planned) is a simple debug GUI
available on /debug that shows the current log in an easily pasteable
format and has checkboxes to enable the various debug facilities.
The debug instructions to a user then becomes "visit this URL, check
these boxes, reproduce your problem, copy and paste the log". The actual
log viewer on the hypothetical /debug URL can poll regularly for new log
entries and this bypass the 250 line limit.
The existing STTRACE=foo variable is still obeyed and just sets the
start state of the system.
2015-10-03 18:09:53 +02:00
Jakob Borg
2de364414f
Adopt calmh/logger into lib/logger
2015-10-03 18:09:53 +02:00
Jakob Borg
36c746bd9f
Create missing directories
2015-10-01 09:43:16 +02:00
Audrius Butkevicius
7476c583e7
Merge pull request #2343 from calmh/discoprio2
...
Add discovery source priorities (fixes #2339 )
2015-10-01 08:22:17 +01:00
Jakob Borg
89928ca8e4
Add discovery source priorities ( fixes #2339 )
...
Sources are given a priority, lower being better, when added to a
CachingMux.
2015-10-01 08:45:40 +02:00
Jakob Borg
38a3bf3ada
Merge pull request #2317 from simplypeachy/patch-1
...
Add missing parameter in disk space warning
2015-10-01 08:10:36 +02:00
Jakob Borg
362ae5c4bb
Add copyright
2015-09-30 21:40:27 +02:00
Jakob Borg
be2ca0ea22
Revert "Case insensitive renames, part 1"
2015-09-30 21:40:04 +02:00
Jakob Borg
ddfebb17cf
Case insensitive renames, part 1
2015-09-30 12:41:29 +02:00
Audrius Butkevicius
b614cfffcb
Merge pull request #2330 from calmh/eventids
...
Subscribing to events should not bump event ID (fixes #2329 )
2015-09-29 19:05:57 +01:00
Audrius Butkevicius
b58a52c7b4
Merge pull request #2332 from calmh/brokenignore
...
Correctly report errors encountered parsing ignores (fixes #2309 )
2015-09-29 17:15:07 +01:00
Jakob Borg
a80fc1b062
Correctly report errors encountered parsing ignores ( fixes #2309 , fixes #2296 )
...
An error on opening .stignore will satisfy os.IsNotExist() and not be
reported. Other errors will be reported and stop the folder, including
is-not-exist errors from #include as these are passed through fmt.Errorf.
Also fixes minor issue where we would not print cause of folder stopping
to the log.
Also fixes minor issue with capitalization of errors.
2015-09-29 18:04:18 +02:00
Jakob Borg
22a2e95126
CachingMux should return unique addresses only ( fixes #2321 )
2015-09-29 17:40:39 +02:00
Jakob Borg
11e1a99e14
Subscribing to events should not bump event ID ( fixes #2329 )
2015-09-29 17:17:09 +02:00
Jakob Borg
3c6bfb880d
Docs and translation update
2015-09-27 22:31:19 +02:00
Audrius Butkevicius
ad2c05c3f5
Merge pull request #2322 from calmh/colons
...
Don't naively join host and port using colon (fixes #2316 )
2015-09-27 20:52:29 +01:00
Jakob Borg
fa75f54a05
Don't naively join host and port using colon ( fixes #2316 )
2015-09-27 21:44:08 +02:00
simplypeachy
f42f20c70c
Update rwfolder.go
...
Revert copyright/grammar changes.
2015-09-27 09:50:54 +01:00
Jakob Borg
209bc59e8c
Don't check for free space on master folders ( fixes #2236 )
...
Also clean up the logic a little, I thought it was a bit muddled.
2015-09-27 09:33:11 +02:00
simplypeachy
ed7791d824
Add missing parameter in disk space warning
...
Plus copyright bump, minor grammatical fix.
2015-09-26 16:46:42 +01:00
Jakob Borg
47c7351b16
Clean up connection.Model interface a little
2015-09-26 13:19:22 +02:00
Jakob Borg
b158072a15
Merge pull request #2189 from burkemw3/lib-ify-connections
...
Decouple connections service from model
2015-09-26 13:18:23 +02:00
Matt Burke
2234c45c19
Decouple connections service from model
...
The connections service no longer depends directly on the
syncthing model object, but on an interface instead. This
makes it drastically easier to write clients that handle
the model differently, but still want to benefit from
existing and future connections changes in the core.
This was motivated by burkemw3's interest in creating a
FUSE client that can present a view of the global model,
but not have all of the file data locally.
The actual decoupling was done by adding a connections.Model
interface. This interface is effectively an extension of the
protocol.Model interface that also handles connections
alongside the modified service.
2015-09-25 12:19:30 -04:00
Jakob Borg
e0a16e08dd
Relax folder label restrictions
2015-09-25 13:45:58 +02:00
Jakob Borg
e522811a52
Encapsulate local discovery address in struct
...
The XDR encoder doesn't understart slices of strings very well. It can
encode and decode them, but there's no way to set limits on the length
of the strings themselves (only on the length of the slice), and the
generated diagrams are incorrect. This trivially works around this,
while also documenting what the string actually is (a URL).
2015-09-22 23:28:00 +02:00
Jakob Borg
6124bbb12a
There is no local discovery query packet
2015-09-22 23:10:05 +02:00
Jakob Borg
fbf911cf7e
Unbreak comments
2015-09-22 21:51:05 +02:00
Jakob Borg
7fdfa81fb8
Fix vet and lint complaints
2015-09-22 20:34:24 +02:00
Jakob Borg
4581c57478
Fix import paths
2015-09-22 19:38:46 +02:00
Jakob Borg
f177924629
Rejiggle lib/relaysrv/* -> lib/relay/*
2015-09-22 19:37:03 +02:00
Jakob Borg
633e888ba7
Add 'lib/relaysrv/' from commit '6e126fb97e2ff566d35f8d8824e86793d22b2147'
...
git-subtree-dir: lib/relaysrv
git-subtree-mainline: 4316992d95
git-subtree-split: 6e126fb97e
2015-09-22 19:34:52 +02:00
Jakob Borg
4316992d95
Add 'lib/protocol/' from commit 'f91191218b192ace841c878f161832d19c09145a'
...
git-subtree-dir: lib/protocol
git-subtree-mainline: 5ecb8bdd8a
git-subtree-split: f91191218b
2015-09-22 19:34:29 +02:00
Jakob Borg
5ecb8bdd8a
Correct success/error handling for multicast/broadcast sends
2015-09-22 16:04:48 +02:00
Jakob Borg
6e3b3dc4e7
Comment typo fix
2015-09-21 14:20:33 +02:00
Jakob Borg
8d421a62d2
Usage reporting should recognize new discovery server IP:s
2015-09-21 10:54:21 +02:00
Jakob Borg
185b0690c8
Further forgotten copyright notices
2015-09-21 10:43:36 +02:00
Jakob Borg
bd0e97023e
We don't need a separate subscription lock
...
We forgot to lock it during replace, so data rate. This is simpler.
2015-09-21 10:42:07 +02:00
Jakob Borg
34ff0706a3
Add missing copyright notice
2015-09-21 10:34:20 +02:00
Jakob Borg
acba61babb
Ping handling changes in protocol, removed from config here
2015-09-21 10:14:27 +02:00
Jakob Borg
24d2a93c0d
Change default discovery server names
2015-09-20 22:30:31 +02:00
Jakob Borg
b0cd7be39b
New global discovery protocol over HTTPS ( fixes #628 , fixes #1907 )
2015-09-20 21:10:53 +02:00
Jakob Borg
7e3c06191e
lib/relay need not depend on lib/model any more
2015-09-14 20:19:39 +02:00
Jakob Borg
596a49c112
Invert initialization dependence on relay/conns
...
This makes it so we can initialize the relay management and then give
that to the connection management, instead of the other way around.
This is important to me in the discovery revamp I'm doing, as otherwise
I get a circular dependency when constructing stuff, with relaying
depending on connection, connection depending on discovery, and
discovery depending on relaying.
With this fixed, discovery will depend on relaying, and connection will
depend on both discovery and relaying.
2015-09-14 10:21:55 +02:00
Jakob Borg
e6d5372029
Fix -no-upgrade
2015-09-13 18:04:58 +02:00
Jakob Borg
e694c664e5
Add external address tracker object
2015-09-13 07:56:13 +02:00
Jakob Borg
1f0f5c1e23
Don't require free disk space when we might only update metadata
...
Instead, make sure we do the check as part of CheckFolderHealth before
pulling, and individually per file to try to not run out of space at
that stage.
(The latter is far from fool proof as we may pull lots of stuff in
parallell, but it's worth a try.)
2015-09-12 23:00:43 +02:00
Jakob Borg
fa95c82daf
Add custom networks that are considered local (internal routing, VPN etc)
...
Allows things like this in the <options> element:
<alwaysLocalNet>10.0.0.0/8</alwaysLocalNet>
2015-09-11 15:10:41 +02:00
Jakob Borg
446a938b06
lib/symlinks need not depend on protocol
2015-09-11 12:55:25 +02:00
Jakob Borg
985a3436e2
Always show columns headers (accessibility)
2015-09-10 15:05:08 +02:00
Jakob Borg
9dae87c80c
Allow configuration of releases URL
2015-09-10 14:16:44 +02:00
Jakob Borg
46364a38c6
Allow configuration of usage reporting URL
2015-09-10 14:08:40 +02:00
Jakob Borg
148b2b9d02
Fix crash when relaying or global discovery is disabled ( fixes #2246 )
2015-09-09 12:58:57 +02:00
Jakob Borg
64354b51c9
Generate certs with SHA256 signature instead of SHA1
...
Doesn't matter at all for BEP, but the same stuff is used by the web UI
and modern browsers are starting to dislike SHA1 extra much.
2015-09-09 12:55:17 +02:00
Jakob Borg
baf231e3b6
Add interesting fields to usage report ( fixes #559 )
2015-09-06 18:17:30 +02:00
Jakob Borg
e26e85b6d6
Only check pull file size if check is enabled (ref #2241 )
2015-09-06 17:13:00 +02:00
Jakob Borg
2af3a92833
Allow fractional percentages ( fixes #2233 )
2015-09-05 12:39:15 +02:00
Jakob Borg
06f319a380
lib/stats need not depend on protocol
2015-09-04 13:23:18 +02:00
Jakob Borg
37ed5a01e0
Fix sudden nil pointer dereference in walk
2015-09-04 13:13:08 +02:00
Jakob Borg
4a9997e449
lib/db need not depend on lib/config
2015-09-04 12:01:00 +02:00
Jakob Borg
54269553c8
lib/scanner need not depend on lib/ignore
2015-09-04 11:50:47 +02:00
AudriusButkevicius
3d6ea23511
Clarify names
2015-09-02 22:00:51 +01:00
AudriusButkevicius
61130ea191
Add AcceptNoWrap to DowngradingListener
2015-09-02 21:25:56 +01:00
Jakob Borg
2581e56503
Use raw strings to describe regexes, avoids double escaping
2015-09-02 22:19:45 +02:00
Jakob Borg
fea0ae7f2f
Merge pull request #2225 from AudriusButkevicius/onerelay
...
Pick a single relay (fixes #2182 )
2015-09-02 22:15:00 +02:00
AudriusButkevicius
3299438cbd
Move TLS utilities into a separate package
2015-09-02 21:05:54 +01:00
Jakob Borg
e3e1036dda
Correctly handle (?i) in ignores ( fixes #1953 )
2015-09-02 21:12:41 +02:00
AudriusButkevicius
876d7ac85e
Pick a single relay ( fixes #2182 )
2015-09-02 18:05:34 +01:00
Jakob Borg
02493251d5
Adjust defaults for number of hashers based on OS
...
https://forum.syncthing.net/t/syncthing-is-such-a-massive-resource-hog/5494/19?u=calmh
2015-09-01 10:30:35 +02:00
Jakob Borg
0664c6b5b0
Translation & docs update
2015-08-30 14:38:47 +02:00
Jakob Borg
a4ebac147b
Harmonize rendering of identicons with other icons ( fixes #2212 )
2015-08-30 14:25:11 +02:00
AudriusButkevicius
cf802dc67e
Hide .stigore ( fixes #2114 )
2015-08-30 12:59:01 +01:00
Jakob Borg
37fb6473b3
Woops, fix scanner test
2015-08-28 08:57:37 +02:00
Jakob Borg
bc016e360e
Refactor: ints used in arithmetic should be signed
2015-08-27 21:37:12 +02:00
Jakob Borg
594918dd3c
Line height on headers to avoid cut off descenders
2015-08-27 21:28:07 +02:00
AudriusButkevicius
94c52e3a77
Add scan percentages ( fixes #1030 )
2015-08-27 19:20:43 +01:00
Audrius Butkevicius
e256d93b43
Merge pull request #2205 from calmh/mclisten
...
Bind to IPv6 multicast group instead of ::
2015-08-27 17:50:47 +01:00
Jakob Borg
cae120fd4d
Bind to IPv6 multicast group instead of ::
...
This makes it possible to run multiple instances on the same box, all
receiving local discovery packets. Tested on Mac, Windows, supposed to
work on at least Linux too. For Windows, there may be issues with XP and
earlier, but meh...
2015-08-27 17:51:15 +02:00
Jakob Borg
be332a6223
Local discovery should use the same port on v4 as v6 ( fixes #2201 )
2015-08-27 16:04:21 +02:00
Jakob Borg
2bed62dd9e
Don't trust response header ( fixes #2186 )
...
Either Angular or the browser sometimes returns cached repsonse header,
causing a flap between requests that return the new version and requests
that return the old one. Here, instead, we trust the actual data
returned by the uncached /rest/system/version call.
2015-08-25 15:40:24 +02:00
Jakob Borg
a27bc4ebea
stsigtool should use the built in key by default
2015-08-24 16:24:00 +02:00
Jakob Borg
d6e34761dc
Fix events timeout errors
...
Resetting the timeout doesn't fully cut it, as it may timeout after we
got an event and be delivered later. This should fix it well enough for
the moment. https://github.com/golang/go/issues/11513
2015-08-24 09:38:39 +02:00
Jakob Borg
944d9c84a0
Pause and resume devices (ref #215 )
2015-08-23 22:00:21 +02:00
Jakob Borg
4405ac7386
Report reason for no IPv6 multicast with STTRACE=discover
2015-08-23 15:50:57 +02:00
Audrius Butkevicius
e1190f0f0f
Merge pull request #2184 from calmh/mc
...
Multicast double whammy!
2015-08-23 14:28:44 +01:00
Jakob Borg
a7f2416c0c
IPv6 multicast on Windows ( fixes #1817 )
2015-08-23 15:14:26 +02:00
Jakob Borg
40d0100132
Change default IPv6 multicast address ( fixes #2090 )
2015-08-23 14:59:38 +02:00
Jakob Borg
21adf752c8
Refactor: slightly simplify relay.Svc
2015-08-23 09:39:53 +02:00
Jakob Borg
aec143b882
Refactor: make IntermediateConnection more like Connection
2015-08-23 08:55:32 +02:00
Jakob Borg
f691040936
Refactor: s/Basic/Direct/ on connection type
2015-08-23 08:43:33 +02:00
Audrius Butkevicius
42acf0ed60
Try harder removing the temp file
2015-08-22 14:18:19 +01:00
Jakob Borg
ca4a3589e5
Increase event test timeout; the build server is slow, especially under -race
2015-08-21 13:26:16 +02:00
Jakob Borg
cfed06697d
Only accept correctly signed upgrades
2015-08-21 10:36:28 +02:00
Jakob Borg
d3eb674b30
Add a signature package and stsigtool CLI utility
2015-08-21 09:31:17 +02:00
Audrius Butkevicius
1e8b185377
Add switch to disable relays
2015-08-19 21:13:40 +01:00
Audrius Butkevicius
031804827f
Do not start relay service unless explicitly asked for, or global announcement server is running
2015-08-19 21:13:10 +01:00
Audrius Butkevicius
6cccd9b6fc
Add dynamic relay lookup (DDoS relays.syncthing.net!)
2015-08-19 21:12:34 +01:00
Audrius Butkevicius
687fbb0a7e
Discovery clients now take an announcer, global discovery is delayed
2015-08-19 21:12:00 +01:00
Audrius Butkevicius
8f2db99c86
Expose connection type and relay status in the UI
2015-08-19 21:11:55 +01:00
Audrius Butkevicius
a388fb0bb7
Check relays for available devices
2015-08-19 20:57:37 +01:00
Audrius Butkevicius
27465353c1
Add incoming connection relay service
2015-08-19 20:57:33 +01:00
Audrius Butkevicius
c2ccab4361
Add unsubscribe to config
2015-08-19 20:55:33 +01:00
Audrius Butkevicius
bb876eac82
Connections have types
2015-08-19 20:55:29 +01:00
Audrius Butkevicius
34c04babbe
Large refactoring/feature commit
...
1. Change listen addresses to URIs
2. Break out connectionSvc to support listeners and dialers based on schema
3. Add relay announcement and lookups part of discovery service
2015-08-19 20:53:01 +01:00
Audrius Butkevicius
50702eda94
Merge pull request #2171 from Zillode/staggered-test
...
Add unit test for staggered versioning (fixes #2165 )
2015-08-19 20:11:19 +01:00
Alexander Graf
abc606608c
Fix time zone error in staggered versioning ( fixes #2165 )
2015-08-19 17:23:50 +02:00
Jakob Borg
c7dbe18df6
Newest first should be different from oldest first ( fixes #2161 )
2015-08-19 09:42:52 +02:00
Lode Hoste
47a1494d68
Add unit test for staggered versioning ( fixes #2165 )
2015-08-18 19:52:58 +02:00
Jakob Borg
283c91548a
Add release code name
...
I figured we're missing out on being cool and awesome by not having an
alphabetically based release code name like the big guys. This commit
fixes that. I've unilaterally decided on a theme of "$metal $bug"
because metals are kind of cool, and bugs, well, ...
2015-08-18 13:33:36 +02:00
Jakob Borg
98afc3e99c
Docs & translation update
2015-08-16 15:29:48 +02:00
Audrius Butkevicius
50a1858367
Merge pull request #2136 from calmh/noarchivedir
...
Clarify and correct handling of existing files/directories when pulling
2015-08-15 14:31:38 +01:00
Jakob Borg
61a182077f
Clarify and correct handling of existing files/directories when pulling
...
This fixes a corner case I discovered in the symlink branch, where we
unexpectedly succeed in "replacing" an entire non-empty directory tree
with a file or symlink. This happens when archiving is in use, as we
then just move the entire tree away into the archive. This is wrong as
we should just archive files and fail on non-empty dirs in all cases.
New handling first checks what the (old) thing is, and if it's a
directory or symlink just does the delete, otherwise does conflict
handling or archiving as appropriate.
2015-08-15 15:29:59 +02:00
Jakob Borg
1c9513e770
Increase open file (fd) limit if possible
...
This will decrease the risk of running out of file descriptors for the
database and other bad things, which could otherwise potentially happen
if we're serving lots of requests and scanning in parallel, etc.
Windows doesn't have a per process open file limit like Unix so we don't
need to worry about it there.
2015-08-15 15:28:53 +02:00
Jakob Borg
a5345ac71e
Don't get stuck at "Syncing 0%" when adding a new folder
...
The number of copiers and pullers is set to default at config loading
time, but the new folder configuration doesn't pass through config
loading so we start up with 0 copiers and 0 pullers and hence get stuck.
I moved the default handling to the puller itself instead. I think this
way is also cleaner as we get to keep the 0 in the config and the puller
gets to decide the defaults on it's own.
2015-08-14 10:35:51 +02:00
Jakob Borg
ae5079f7b4
Update lang-en.json
2015-08-14 09:13:09 +02:00
Jakob Borg
99736e5066
Ensure dir before files ordering when scanning
2015-08-13 13:01:50 +02:00
KAMADA Ken'ichi
1e497915be
Fix deleting a folder.
...
Removing a folder does not work in the "Edit Folder" dialog.
This bug was introduced in 26d52be
.
2015-08-11 07:48:48 +09:00
Jakob Borg
1492e57676
Minor typo in UPnP service description list
2015-08-09 14:14:13 +02:00
Jakob Borg
7504fc53b6
Merge branch 'v0.11'
...
* v0.11:
Translations and docs update
Enable browser caching of static resources
Handle multiple case insensitivity prefixes in ignores (fixes #2134 )
Make rescan available for unshared folders
Add timeout for peek (fixes #1035 )
Fix TestReset when Syncthing shuts down too fast
Clarify password in integration tests
Properly rename config files during integration tests (fixes #1769 )
2015-08-09 11:58:18 +02:00
Jakob Borg
49aa9399be
Repair config tests
2015-08-09 11:46:28 +02:00
Jakob Borg
a2df691c7d
Configurable home disk percentage, translations
2015-08-09 10:37:23 +02:00
Lode Hoste
dfaa999291
Stop folder when running out of disk space ( fixes #2057 )
...
& tweaks by calmh
2015-08-09 10:37:23 +02:00
Jakob Borg
7705a6c1f1
mv internal lib
2015-08-09 09:35:26 +02:00