Jakob Borg
c482c13dcb
Configurable heap profiling rate
2015-02-10 19:45:32 +01:00
Jakob Borg
2a8e5e2c14
Merge pull request #1304 from AudriusButkevicius/pprof
...
Add STBLOCKPROFILE
2015-02-09 15:18:42 +01:00
Tobias Nygren
078790bd0f
Implement memorySize() for NetBSD
2015-02-05 20:31:25 +01:00
Audrius Butkevicius
9d078bac54
Add STBLOCKPROFILE
2015-02-01 19:00:24 +00:00
Audrius Butkevicius
ba8cadc2f1
Opening a browser happens in it's own routine ( fixes #1273 )
2015-02-01 18:59:28 +00:00
Audrius Butkevicius
8358fedaf4
Fix failing integration tests
2015-02-01 18:57:46 +00:00
Karol Różycki
952e51ac75
Show information in folder panel if ignore patterns are active, fixes #1279
2015-01-27 15:27:44 +01:00
Jakob Borg
2c8b627008
Integer type policy
...
Integers are for numbers, enabling arithmetic like subtractions and for
loops without getting shot in the foot. Unsigneds are for bitfields.
- "int" for numbers that will always be laughably smaller than four
billion, and where we don't care about the serialization format.
- "int32" for numbers that will always be laughably smaller than four
billion, and will be serialized to four bytes.
- "int64" for numbers that may approach four billion or will be
serialized to eight bytes.
- "uint32" and "uint64" for bitfields, depending on required number of
bits and serialization format. Likewise "uint8" and "uint16", although
rare in this project since they don't exist in XDR.
- "int8", "int16" and plain "uint" are almost never useful.
2015-01-19 10:34:36 -08:00
Jakob Borg
b4043216b6
Use bytes.Reader instead of bytes.Buffer for compiled in assets
2015-01-13 16:05:03 +01:00
Jakob Borg
eef1aebe8c
Refactor out protocol and luhn (protocol dependency) packages
2015-01-13 13:22:56 +01:00
Jakob Borg
e6c9baf6ef
Rename db.Set to db.FileSet
2015-01-12 20:57:39 +01:00
Jakob Borg
8d6db7be31
Rename package internal/files to internal/db
2015-01-12 20:57:22 +01:00
Jakob Borg
571cf7d490
Merge pull request #1182 from AudriusButkevicius/autoauto
...
Connecting to a newer node triggers autoupgrade check (fixes #1177 )
2015-01-11 09:16:12 +01:00
Audrius Butkevicius
5034a41c08
Connecting to a newer node triggers autoupgrade check ( fixes #1177 )
2015-01-10 17:05:19 +00:00
Audrius Butkevicius
a2070d9ce4
Expose and use path separator ( fixes #1163 )
2015-01-10 14:51:29 +00:00
Jakob Borg
4c4143d9be
Move FileInfoTruncated to files package
...
This is where it's used, and it clarifies that it's never used over the
wire.
2015-01-09 08:28:24 +01:00
Jakob Borg
8bc7d259f4
Move FileIntf to files package, expose Iterator type
...
This is where FileIntf is used, so it should be defined here (it's not
a protocol thing, really).
2015-01-09 08:18:42 +01:00
Audrius Butkevicius
12eabb220d
Add device finder utility
2015-01-06 23:12:12 +00:00
Jakob Borg
a7a317c284
The predictableRandom test can only run once successfully ( fixes #1184 )
2015-01-06 23:03:35 +01:00
kozec
b933e9666a
/rest/upgrade returns HTTP/500 if STNOUPGRADE is defined
2015-01-06 22:50:56 +01:00
Audrius Butkevicius
56ccb5b2ab
New device, folder prompts ( fixes #120 , fixes #330 )
2015-01-03 23:06:41 +00:00
Jakob Borg
5143c09bcf
Refactor / cleanup
2015-01-02 15:54:04 +01:00
Audrius Butkevicius
fd0a147ae6
Add job queue ( fixes #629 )
...
Request to terminate currently ongoing downloads and jump to the bumped file
incoming in 3, 2, 1.
Also, has a slightly strange effect where we pop a job off the queue, but
the copyChannel is still busy and blocks, though it gets moved to the
progress slice in the jobqueue, and looks like it's in progress which it isn't
as it's waiting to be picked up from the copyChan.
As a result, the progress emitter doesn't register on the task, and hence the file
doesn't have a progress bar, but cannot be replaced by a bump.
I guess I can fix progress bar issue by moving the progressEmiter.Register just
before passing the file to the copyChan, but then we are back to the initial
problem of a file with a progress bar, but no progress happening as it's stuck
on write to copyChan
I checked if there is a way to check for channel writeability (before popping)
but got struck by lightning just for bringing the idea up in #go-nuts.
My ideal scenario would be to check if copyChan is writeable, pop job from the
queue and shove it down handleFile. This way jobs would stay in the queue while
they cannot be handled, meaning that the `Bump` could bring your file up higher.
2015-01-02 15:33:39 +01:00
Jakob Borg
1e9110b763
Add debugging utility for manual directory comparison
2014-12-31 13:04:06 +01:00
Audrius Butkevicius
bf40dadf04
Use unique names for UPnP mappings ( fixes #1100 , fixes #1128 )
2014-12-30 21:47:12 +00:00
Jakob Borg
4b668aaca8
Make auto upgrade careful about breaking changes ( fixes #1047 )
2014-12-29 12:35:06 +01:00
Jakob Borg
8c7f1421c6
Update goleveldb
2014-12-29 12:23:07 +01:00
Jakob Borg
cde8ef56e5
Implement manual -upgrade-to option
2014-12-22 12:18:10 +01:00
Jakob Borg
618a8682b7
golint style tweaks
2014-12-16 23:33:56 +01:00
Jakob Borg
3704d2d86b
Don't exit after creating HTTPS certs ( fixes #1103 )
2014-12-16 22:55:44 +01:00
Jakob Borg
fc6a029311
gofmt
2014-12-16 22:40:04 +01:00
Jakob Borg
b2ed32b118
Command -generate should work on non-existent dir
2014-12-12 21:39:03 +01:00
Jakob Borg
0cc815d816
Need config available for -reset ( fixes #1111 )
2014-12-12 21:29:57 +01:00
Audrius Butkevicius
bde92d5cfe
Display last received file and time ( fixes #292 , fixes #801 )
2014-12-09 20:24:48 +00:00
Jakob Borg
fdd458d2fe
Protect GUI HTTPS from some attacks
...
- Disable SSLv3 against POODLE
- Disable RC4 as a weak cipher
- Set the CommonName to the system host name
2014-12-09 10:49:58 +01:00
Jakob Borg
c96c78892d
Include error in randomness failure panic
2014-12-08 19:40:38 +01:00
Jakob Borg
957643f523
crypto/rand.Reader may not return all entropy immediately
2014-12-08 19:36:08 +01:00
Jakob Borg
25e363c5fb
Style tweaks and some *IDG->IGD in UPnP code
2014-12-08 17:07:55 +01:00
Jakob Borg
febeed3277
config.ConfigWrapper -> config.Wrapper
2014-12-08 16:39:11 +01:00
Jakob Borg
9d07aa006d
Various style fixes
2014-12-08 16:36:15 +01:00
Jakob Borg
12d69e25dd
Fixes for go vet
2014-12-08 16:19:08 +01:00
Jakob Borg
e329c7015e
Refactor random string stuff and seeding
...
Make sure we have a good random seed on the default RNG, that the
predictable RNG is clearly marked as such, that random strings are
actually the length requested, and that they contain a restricted set of
characters only.
2014-12-07 16:47:24 +01:00
Jakob Borg
1392cfc72d
Actually commit and use new random UR ID
2014-12-07 15:49:17 +01:00
Jakob Borg
c6041d2590
Skip dotfiles when generating assets
2014-12-06 13:46:02 +01:00
Audrius Butkevicius
80dca96ee8
Revisit -no-console option for Windows
...
The reason for ShowWindow opose to your FreeConsole is because if you start up
cmd.exe and do syncthing.exe -no-output it actually hides the existing cmd.exe
window oppose to opening a separate window and then hiding it, which keeps the
existing console hanging on syncthing.exe running.
I tried playing around with compiling as GUI, then given the option is not present
allocating a console, and redirecting the std streams to the new console, but that
seems ugly as I'd have to make quite a few calls. But that does get of the initial
flash.
2014-12-04 21:59:40 +00:00
Jakob Borg
cea7a179ae
Utility to print all info we know about a path
2014-12-03 11:32:10 +01:00
Jakob Borg
e7441ff6e8
DisableSymlinks -> !SymlinksEnabled
2014-12-01 11:27:07 +01:00
Jakob Borg
8a34158fa4
Merge pull request #1053 from AudriusButkevicius/symdis
...
Add option to disable symlinks (fixes #1017 )
2014-12-01 11:22:04 +01:00
Jakob Borg
0fde4b3b2e
Use runtime info to determine ARM version for upgrade ( fixes #1051 )
2014-12-01 10:24:13 +01:00
Audrius Butkevicius
7ad711f554
Add option to disable symlinks ( fixes #1017 )
2014-11-30 22:10:32 +00:00
Audrius Butkevicius
fd2d2c035e
Add support for multiple announce servers ( fixes #677 )
...
Somebody owes me a beer.
2014-11-30 13:25:06 +01:00
Jakob Borg
e0265aed05
Increase read timeout on HTTP server, try to not run out of sockets in stress test
2014-11-30 10:38:39 +01:00
Jakob Borg
126c4e9a06
Dependency update, new golang.org/x package names
2014-11-30 00:17:00 +01:00
Jakob Borg
7af25c785d
Don't send unnecessary SNI in TLS handshake
2014-11-29 20:58:24 +01:00
Jakob Borg
8aa7d4b463
Lower the bar for when to stop restarting ( fixes #1004 )
2014-11-27 20:34:35 +01:00
Jakob Borg
5251f1c9db
Use a separate, unique ID for usage reporting ( fixes #1000 )
2014-11-27 10:00:07 +01:00
kozec
b84d960a81
Added STNOUPGRADE environment variable; Prevents autoupgrades, no matter of configuration.
2014-11-26 22:17:01 +01:00
Audrius Butkevicius
59a85c1d75
Use custom structure for /need calls ( fixes #1001 )
...
Also, remove trimming by number of blocks as this no longer affects the size
of the response.
2014-11-23 00:52:48 +00:00
bigbear2nd
af08567f24
Add directory separator to autocomplete. Fixes #984
2014-11-20 00:26:06 +09:00
Jakob Borg
75ef658962
Correct file mode bits
2014-11-19 07:39:01 +04:00
Jakob Borg
64f101f534
Merge pull request #968 from pluby/directory-auto
...
Directory auto-complete.
2014-11-17 19:07:27 +04:00
Jakob Borg
82c6caef85
Use more inclusive copyright header
2014-11-17 12:54:42 +01:00
Phill Luby
46ec72412a
Directory auto-complete.
2014-11-16 19:31:53 +00:00
Jakob Borg
1795e0a290
Never use crappy cipher suites ( fixes #945 )
2014-11-12 10:47:34 +01:00
Jakob Borg
2449723a1c
Add list of compiled regexps to /rest/ignores ( fixes #942 )
2014-11-08 22:13:12 +01:00
Jakob Borg
2ba4b235fc
Windows logfile should follow -home by default ( fixes #918 )
2014-10-28 20:52:28 +01:00
Jakob Borg
6820c0a5d7
Don't crash on nil discoverer ( fixes #917 )
2014-10-28 20:40:04 +01:00
Jakob Borg
15ee9a5cac
Break out logger as a reusable component
2014-10-26 13:16:54 +01:00
Jakob Borg
53cf5ca762
Don't run auto upgrade on non-release builds ( fixes #901 ).
2014-10-23 19:11:53 +02:00
Caleb Callaway
4183044e96
Fix UPnP log spam on networks without UPnP IGDs (see #893 )
...
We should only run the UPnP port mapping renewal routine if the initial
discovery and configuration succeed. This commit applies that logic.
2014-10-22 18:47:15 -07:00
Jakob Borg
3f842221f7
Write Windows line breaks on Windows; tee to stdout
2014-10-21 09:35:17 +02:00
Jakob Borg
5d0183a9ed
Add -logfile flag, Windows only
2014-10-21 09:20:26 +02:00
Jakob Borg
99df4d660b
Move recurring UPnP log messages to debug level
2014-10-21 09:20:26 +02:00
Audrius Butkevicius
e2dc3e9ff3
Fix error messages
2014-10-21 00:01:02 +01:00
Jakob Borg
34f72ecf8f
OpenBSD support ( fixes #878 )
2014-10-19 14:02:17 +02:00
Jakob Borg
b012f77475
Merge pull request #848 from pluby/discovery
...
Simpler entry of locally discovered nodes
2014-10-16 09:11:08 +02:00
Caleb Callaway
c17507b216
Cleanup UPnP API
...
This commit addresses most of the issues identified in #432 :
* Support UPnP IGDs with both WANIPConnection and WANPPPConnection services
IGDs that offer both WANIPConnection and WANPPPConnection services should
now have port forwarding correctly configured for all services.
* Support multiple UPnP WANDevice and WANConnection descriptions
Per Figure 1 of the InternetGatewayDevice specification
(http://upnp.org/specs/gw/UPnP-gw-InternetGatewayDevice-v1-Device.pdf ),
an IGD may have multiple WAN devices, each with multiple WANConnection
services
* Support for discovery of UPnP InternetGatewayDevice version 2 devices
* Support for discovery of multiple UPnP IGDs
Consumers that cannot yet properly process multiple IGDs can simply use
the first IGD listed in the discovery results
* Logging refinements such as friendly UPnP IGD identifiers in log messages.
2014-10-15 21:48:11 -07:00
Phill Luby
b110b7c3f7
Make cacheEntry public so that it can be marshalled to the UI.
2014-10-15 21:52:06 +01:00
Phill Luby
609294deee
Set content type on discovery rest request.
2014-10-15 21:20:38 +01:00
Phill Luby
fffae9a741
Repackage discovery registry so that it can be converted to JSON.
...
The registry uses a non-string type as keys which is not possible in JSON.
2014-10-15 21:20:38 +01:00
Felix Ableitner
f6f6f261ed
-generate
flag should also create config.xml (closes #847 ).
2014-10-14 22:11:05 +03:00
Audrius Butkevicius
a5fe4a3694
Perform tilde expansion in the config wrapper
2014-10-13 21:59:42 +01:00
Audrius Butkevicius
838670ccbc
Add folder marker ( fixes #762 )
2014-10-13 21:54:42 +01:00
Jakob Borg
c8a68001c1
Use HTTP server read timeout ( fixes #805 , fixes #806 )
2014-10-13 19:34:26 +02:00
Jakob Borg
79c3ea82c7
More descriptive error if config couldn't be loaded
2014-10-13 16:01:57 +02:00
Daniel Martí
ef616ff25b
Better handling of wrong config files
2014-10-13 15:41:50 +02:00
Jakob Borg
bb01b76582
Fix monitor deadlock on panic
2014-10-12 13:53:30 +02:00
Jakob Borg
b2cf28efdd
Refactor out functions in main
2014-10-10 17:34:31 +02:00
Jakob Borg
e9d27b9d2b
Slightly improve panic log format (...)
...
- Don't repeat the first log lines
- Print panic timestamp in context.
2014-10-09 09:39:08 +02:00
Audrius Butkevicius
828bbc407f
Restarting monitor process is still considered a restart ( fixes #809 )
2014-10-09 09:04:33 +02:00
Jakob Borg
9eb185ec39
Threshold for existing languages to be included (75%)
2014-10-08 13:57:11 +02:00
Jakob Borg
fcf60e7f7c
Archive a copy of config.xml when the format changes
2014-10-08 13:52:05 +02:00
Jakob Borg
30aabf1da9
InSync is the opposite of RequiresRestart...
2014-10-07 11:31:19 +02:00
Jakob Borg
5338f1cfbd
Fix configInSync which is still needed
2014-10-06 21:28:16 +02:00
Jakob Borg
214f18cbfd
Clean up flags vs envvars
2014-10-06 17:57:35 +02:00
Jakob Borg
9b11609b63
Use a configuration wrapper to handle loads and saves
2014-10-06 17:57:35 +02:00
Audrius Butkevicius
493dc8fcd5
Remove unused argument/variable
2014-10-04 13:20:07 +01:00
Audrius Butkevicius
a267bca8fb
Disable autoupgrade if not supported ( fixes #763 )
2014-10-01 20:06:51 +01:00
Jakob Borg
9edce23e76
Relicense to GPL
2014-10-01 07:53:59 +02:00
Jakob Borg
25345f08e7
Tone down initial auto upgrade warning
2014-09-30 17:38:12 +02:00
Jakob Borg
2091e12e82
Perform initial scan asynchronously ( fixes #509 , fixes #464 )
2014-09-30 17:35:04 +02:00
Audrius Butkevicius
997692b494
Add autoUpgrade coroutine ( fixes #727 )
2014-09-28 21:06:46 +01:00
Audrius Butkevicius
f561d3261a
Rename FolderConfiguration.Directory to FolderConfiguration.Path
2014-09-28 14:36:16 +01:00
Audrius Butkevicius
fdf8ee7015
Manual fixup
2014-09-28 14:23:08 +01:00
Audrius Butkevicius
26e4669316
Run go fmt -w
2014-09-28 14:23:08 +01:00
Audrius Butkevicius
6c352dca74
Rename Repository -> Folder, Node -> Device ( fixes #739 )
2014-09-28 14:23:07 +01:00
Jakob Borg
99427d649e
Complete rewrite of the puller ( fixes #638 , fixes #715 , fixes #701 )
2014-09-27 21:51:08 +02:00
Jakob Borg
9af586d4ac
Total in and out bytes in perfstat
2014-09-27 21:13:02 +02:00
Jakob Borg
14817e31f6
Move top level packages to internal.
2014-09-27 09:42:10 +02:00
Jakob Borg
09417d4b83
Merge remote-tracking branch 'origin/pr/731'
...
* origin/pr/731:
Use leveldb database lock for concurrent upgrade protection (fixes #703 )
2014-09-24 14:05:37 +02:00
Audrius Butkevicius
83ef2fa84c
Add CPU usage tracker for Windows ( fixes #729 )
2014-09-24 09:57:21 +01:00
Jakob Borg
24e5000c37
Use JoinHostPort for URL that browser opens ( fixes #732 )
2014-09-23 14:16:16 +02:00
Audrius Butkevicius
e3bcfa17f8
Use leveldb database lock for concurrent upgrade protection ( fixes #703 )
...
Doesn't work if config directories are different though
2014-09-22 23:37:19 +01:00
Jakob Borg
737a28050c
Merge remote-tracking branch 'origin/pr/721'
...
* origin/pr/721:
Add tests for model.GetIgnores model.SetIgnores
Expose ignores in the UI
Add comments directive to ignores
Expose ignores rest endpoints
Expose ignores from model
2014-09-22 14:59:13 +02:00
Jakob Borg
434ecdac6b
LocalVersion is unavailable until after AddRepo ( fixes #154 )
2014-09-22 14:06:25 +02:00
Audrius Butkevicius
b084b4faaf
Expose ignores in the UI
2014-09-21 22:34:53 +01:00
Audrius Butkevicius
760a9d6d35
Expose ignores rest endpoints
2014-09-21 20:30:06 +01:00
Jakob Borg
6a00b5a79e
Fix import (merge error) that broke the build.
2014-09-20 22:18:03 +02:00
Jakob Borg
e13976a3b3
Adding a node does not require restart; move logic to config package
2014-09-20 20:23:44 +02:00
Jakob Borg
c34f3defe1
l.FatalErr was an antipattern
2014-09-20 15:42:20 +02:00
Jakob Borg
eb0d742672
Chmod error should not be fatal ( fixes #612 )
2014-09-20 15:41:52 +02:00
Jakob Borg
d9b0a73787
Forgot to check some errors
2014-09-20 15:31:15 +02:00
Jakob Borg
9c68be4d5e
GET and POST /rest/ping as no-op ( fixes #680 )
2014-09-18 12:55:28 +02:00
Jakob Borg
d7956dd495
/rest/version should return JSON ( fixes #694 )
2014-09-18 12:52:45 +02:00
Jakob Borg
37a473e7d6
/rest/errors should return an object ( fixes #695 )
2014-09-18 12:49:59 +02:00
Jakob Borg
0b1136ad82
Panic if http.Serve() returns an error
2014-09-18 11:46:20 +02:00
Jakob Borg
45af549897
Don't take down HTTP(S) server on connection errors ( fixes #700 )
2014-09-18 11:45:48 +02:00
Jakob Borg
55ea207a55
Merge branch 'new-tls'
...
* new-tls:
Cleanups and tweaks
Add redirection middleware
Add DowngradingListener
Conflicts:
auto/gui.files.go
2014-09-15 00:19:07 +02:00
Jakob Borg
6384d1e5a3
Cleanups and tweaks
2014-09-15 00:18:05 +02:00
Jakob Borg
aba01cdace
Print error on monitor restart failure
2014-09-14 23:19:28 +02:00
Jakob Borg
517b7a14b4
Merge branch 'pr/683'
...
* pr/683:
Restart monitor as part of the upgrade process (fixes #682 )
2014-09-14 23:18:48 +02:00
Jakob Borg
6471ba70e4
Merge pull request #686 from AudriusButkevicius/auth
...
Send the real hash as part of the config (fixes #681 )
2014-09-14 10:50:17 +02:00
Audrius Butkevicius
3662decb8b
Add redirection middleware
2014-09-13 22:10:55 +01:00
Audrius Butkevicius
583bcfb3c7
Add DowngradingListener
...
"Inspired" by https://github.com/BenLubar/Rnoadm/maybetls
but avoids pulling the whole game as a dependency, and has the API slightly changed,
as it makes no sense to have non-tcp TLS listeners.
2014-09-13 22:10:47 +01:00
Audrius Butkevicius
c45e3fa4d5
Require username and password for authentication
2014-09-13 22:06:25 +01:00
Audrius Butkevicius
24cbcef620
Send the real hash as part of the config ( fixes #681 )
2014-09-13 21:52:20 +01:00
Audrius Butkevicius
a5e3317e28
Restart monitor as part of the upgrade process ( fixes #682 )
2014-09-13 15:32:47 +01:00
Jakob Borg
5638c4ba87
Woops (fixup of previous)
2014-09-13 15:11:47 +02:00
Jakob Borg
bf7a128142
Smarter limit on size of pull block queue
2014-09-13 10:57:36 +02:00
Jakob Borg
db868ed29d
Increase restart delay to 60s
2014-09-11 20:25:08 +02:00
Jakob Borg
abbb001975
Typo in panic message (fixes ##662)
2014-09-11 18:42:42 +02:00
Jakob Borg
13602b6769
Make the restart on wakeup configurable
2014-09-10 22:24:53 +02:00
Jakob Borg
85dba25246
Add pause before restart after standby
2014-09-10 22:20:03 +02:00
Jakob Borg
9ff04ee3d8
Don't start when the config dir is not a dir
2014-09-10 10:36:05 +02:00
Jakob Borg
5537d53f9a
Timestamp the panic log
2014-09-10 08:25:56 +02:00
Jakob Borg
50a4170541
Announce actual port when UPnP is disabled ( fixes #657 )
2014-09-10 08:22:38 +02:00
Jakob Borg
6e8272f78f
Implement incoming rate limit ( fixes #613 )
2014-09-08 17:25:55 +02:00
Jakob Borg
2117d1d035
Tone down insignificant discovery error messages (ref #241 )
2014-09-08 09:14:21 +02:00
Jakob Borg
64ffac5671
Update goleveldb ( fixes #644 , closes #648 )
2014-09-07 14:18:00 +02:00
Jakob Borg
f97c8222c7
Cleanup imports in previous
2014-09-07 14:08:49 +02:00