Audrius Butkevicius
1bc4c1a8ac
Screw godep
2016-04-17 14:49:00 +01:00
AudriusButkevicius
1a5f524ae4
lib/model, lib/protocol: Implement temporary indexes ( fixes #950 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2252
2016-04-15 10:59:41 +00:00
AudriusButkevicius
1a35c440e8
Add solaris support back in
2016-04-14 19:28:06 -04:00
Audrius Butkevicius
2c6c84ac61
Add font awesome
2016-04-14 22:31:56 +01:00
Audrius Butkevicius
bd666daf82
No value is less than zero
2016-04-14 22:26:31 +01:00
AudriusButkevicius
bbe0d34f43
Godeps
2016-04-14 17:19:56 -04:00
Audrius Butkevicius
dd364c962f
Refactor javascript, always show table, add sorting
2016-04-14 22:01:25 +01:00
Audrius Butkevicius
50068b0b0f
Add local geoip
2016-04-13 21:34:11 +01:00
Audrius Butkevicius
c49453c519
lib/pmp: Add NAT-PMP support (ref #698 )
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2968
2016-04-13 18:50:40 +00:00
Jakob Borg
52c7804f32
lib/connections: Silence vet and lint warnings
...
GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/2971
2016-04-13 11:50:51 +00:00
Audrius Butkevicius
19b4f3bfb4
lib/nat: Add a nat package and service to track mappings on multiple IGDs
2016-04-10 19:36:38 +00:00
Jakob Borg
13f9702a41
Fix compiler recognition regexp for new format
2016-04-09 14:56:59 +02:00
Audrius Butkevicius
2eb8a9ef56
all: Dead code cleanup
2016-04-09 01:10:31 +00:00
Audrius Butkevicius
393798098c
cmd/syncthing: Listening on a 0 port is not valid ( fixes #2926 )
2016-04-09 01:06:55 +00:00
Audrius Butkevicius
b678b4e048
cmd/syncthing: Skip a calculation if timediff is zero ( fixes #2854 )
2016-04-05 07:12:17 +02:00
Laurent Etiemble
7b4e1e9055
cmd/syncthing: Fix handler ordering so CORS middleware wraps all the others but the debug one
2016-04-03 13:24:55 +02:00
Jakob Borg
4c3cd4c9e3
lib/ignore: Replace lib/fnmatch with github.com/gobwas/glob
...
Because it's literally ten times faster:
benchmark old ns/op new ns/op delta
BenchmarkMatch-8 13842 1200 -91.33%
BenchmarkMatchCached-8 139 147 +5.76%
benchmark old allocs new allocs delta
BenchmarkMatch-8 0 0 +0.00%
BenchmarkMatchCached-8 0 0 +0.00%
benchmark old bytes new bytes delta
BenchmarkMatch-8 12 0 -100.00%
BenchmarkMatchCached-8 0 0 +0.00%
2016-04-02 20:03:24 +01:00
Jakob Borg
f706d3c393
cmd/stbench: Add utility to run benchmark tests
2016-03-25 20:52:20 +00:00
Jakob Borg
c58eb1d47a
cmd/stgenfiles: Add utility for generating test data
...
I use this to generate ~40 gigs of random test data in 200k files:
~/stgenfiles -dir /data/benchdata -files 200000 -maxexp 22 -src /dev/urandom
2016-03-25 20:50:48 +00:00
Audrius Butkevicius
29913dd1e4
lib/connections: Refactor address listing into connection service
2016-03-25 07:35:18 +00:00
Jakob Borg
95247f7740
cmd/syncthing: Basic smoke test of all API endpoints
...
... except /rest/system/upgrade that requires a correct response from
Github, which we shouldn't depend on.
2016-03-24 10:17:04 +00:00
Jakob Borg
e5731229c7
cmd/syncthing: Add test for starting API service and requesting some URLs
2016-03-24 08:55:33 +00:00
Jakob Borg
52c74ad866
cmd/syncthing: Add mock types for API service testing
2016-03-24 08:09:13 +00:00
Jakob Borg
a492cfba13
cmd/syncthing: Extract interfaces for things the API depends on
...
Enables testing of the API service, in the long run.
2016-03-21 19:36:08 +00:00
kc1212
ea61f8f597
Defer fd.Close() ( fixes #37 )
2016-03-21 01:07:51 +01:00
Jakob Borg
9dec6f1324
cmd/syncthing: Return 500 with an error object instead of empty 200 on marshalling failure in REST response
2016-03-20 11:54:53 +01:00
Jakob Borg
8d7ed9f8bf
Add debug performance logging per request
2016-03-18 14:34:55 +01:00
Jakob Borg
e9c5261a49
Mend GUI tests
2016-03-13 17:24:49 +01:00
Jakob Borg
ba5231dc89
apiService should not reference global variable 'locations' (hinders testing)
2016-03-13 11:03:00 +01:00
Jakob Borg
032365d57c
Fix STGUIASSETS search paths & order ( fixes #2827 )
2016-03-12 12:17:25 +00:00
Jakob Borg
fd962c5e99
Also update allowed version tests
2016-03-10 13:24:36 +01:00
Jakob Borg
07f944bf48
More lenient expression for allowed version tags
2016-03-10 13:19:00 +01:00
Audrius Butkevicius
3b146eda0d
Clarify GUI stuff ( fixes #2819 )
2016-03-06 22:07:15 +00:00
Jakob Borg
d884768344
Accept versioning data in reports
2016-02-15 12:50:00 +01:00
Jakob Borg
e11302172e
Report versioning usage in usage report
...
I consider it a bug that we didn't already and that this is covered
already under the agreement that we report which features are in use.
2016-02-13 08:19:30 +01:00
Audrius Butkevicius
bf353a42cd
Merge pull request #2780 from letiemble/CORS_Support2
...
Move CORS middleware to process un-authenticated OPTIONS requests
2016-02-12 21:29:45 +00:00
Laurent Etiemble
d8e19b776e
Swap the corsMiddleware and the csrfMiddleware to the unauthenticated OPTIONS requests are first processed.
2016-02-12 22:10:08 +01:00
Jakob Borg
3c7164846d
Return "No such object in the index" when /rest/db/file gets called on something that doesn't exist
...
Better than the confusing result of getting a blank fileinfo that looks
valid apart from being all crap.
2016-02-12 14:55:16 +01:00
Jakob Borg
a7a9d7d85c
Return correct content type for /rest/events
2016-02-02 12:40:42 +01:00
Jakob Borg
e93c766c42
Rename RawAPIKey -> APIKey in GUIConfiguration
2016-02-02 11:12:25 +01:00
Jakob Borg
39c16d1cc4
Add -paths option to print config, key, database paths
2016-02-02 10:41:49 +01:00
Antony Male
5971c00a4f
Support multiple API keys (command-line and config) ( fixes #2747 )
2016-01-30 15:18:09 +00:00
Jakob Borg
fae68a5396
Return status code 307 instead of 302 when redirecting from HTTP to HTTPS
2016-01-29 11:07:51 +01:00
Laurent Etiemble
fed374fcb6
Add a CORS handler to deal with preflight OPTIONS requests
2016-01-26 21:55:51 +01:00
Jakob Borg
11d4986517
Humanize serialization of version vectors (again)
2016-01-20 11:14:08 -08:00
Jakob Borg
2919b76947
The "OK" log level is silly and should not exist
2016-01-16 23:04:41 +01:00
Jakob Borg
97b1c66d4a
Improve API/GUI shutdown handling ( fixes #2694 )
...
This fixes both a race condition where we could assign s.stop from one
goroutine and then read it from another without locking, and handles the
fact that listener may be nil at shutdown if we've had a bad
CommitConfiguration call in the meantime.
2016-01-14 11:06:36 +01:00
Jakob Borg
f741066466
Always run relaying when enabled ( fixes #2665 )
2016-01-12 14:15:47 +01:00
Jakob Borg
01c70caa8f
Merge pull request #2682 from AudriusButkevicius/themes
...
Add theme support
2016-01-10 19:04:57 +01:00
Audrius Butkevicius
cd54186113
Add support for themes ( fixes #1925 )
2016-01-10 17:57:27 +00:00
Jakob Borg
353689857e
Fix version string check to allow properly tagged betas
2016-01-10 18:41:15 +01:00
Jakob Borg
d74377350b
v0.13.0 is the Copper Cockroach
2016-01-10 10:12:29 +01:00
Audrius Butkevicius
6c0a973ac3
Merge pull request #2480 from calmh/shortdblabels
...
Change database folder label format
2016-01-10 01:33:56 +00:00
Nate Morrison
76807006be
Added STNODEFAULTFOLDER envvar to skip default folder creation on new
...
install.
2016-01-08 20:11:06 -05:00
Jakob Borg
6e1d364d60
Don't allow in use CSRF tokens to expire ( fixes #1008 )
2016-01-03 22:03:02 +01:00
Jakob Borg
ac190b2e39
Change DB label format (index folders, devices)
2016-01-03 19:32:40 +01:00
Jakob Borg
2fae7ccf5c
Ignore error on os.Chtimes in config archiving
2015-12-26 18:25:36 +01:00
Audrius Butkevicius
f36f48c2cf
Merge pull request #2596 from andersonvom/load_config
...
Centralize config loading logic (also fixes #2509 )
2015-12-26 16:12:16 +00:00
Jakob Borg
8b726c7e8b
Correct GUI asset dir handling ( fixes #2621 )
2015-12-26 13:32:46 +01:00
Anderson Mesquita
8eb0687407
Update mtime of config file before upgrading ( fixes #2509 )
...
This updates the modified time of the config file before archiving it
during an update so that the clean up routine doesn't delete it if it's
too old, preventing the user from being able to rollback after an
upgrade.
2015-12-24 09:27:31 -05:00
Anderson Mesquita
9b9912ba9e
Centralize config loading logic
...
This gets rid of redundant checks and centralizes the logic of loading
the config files so that we don't have to keep doing the same thing in
multiple places.
2015-12-24 09:27:31 -05:00
Anderson Mesquita
22d0ed8225
Fix typo
2015-12-24 09:27:31 -05:00
Audrius Butkevicius
1827dda0c6
Svc -> Service
2015-12-23 15:31:12 +00:00
Jakob Borg
6f95afdc59
Humanize serialization of version vectors
2015-12-22 21:53:25 +01:00
Jakob Borg
fb82a5e086
Correctly set default logfile location on Windows ( fixes #2608 )
2015-12-21 12:19:28 +01:00
Jakob Borg
4a97aa12d6
Don't crash on stat error in ensureDir ( fixes #2608 )
...
I'm not really sure under what circumstances MkdirAll returns a nil
error but a subsequent stat fails, but apparently it can happen and we
need to handle it. The "mode >= 0" was a no-op, and we never call
ensureDir anyway without the intention of ensuring the mode, so removed
that.
2015-12-21 09:35:43 +01:00
Anderson Mesquita
e54036be25
Reuse existing ensureDir function
2015-12-18 16:24:48 -05:00
Anderson Mesquita
1dc894087c
Rename noConsole to hideConsole
...
This avoids the double negative of having noConsole = false to represent
not hiding the console. It is also consistent with the action performed
by osutils.
2015-12-18 16:24:48 -05:00
Anderson Mesquita
b014967550
Rename guiAssets to assetDir for consistency
2015-12-18 16:24:48 -05:00
Anderson Mesquita
490962ccdb
Move logFlags into RuntimeOptions
2015-12-18 16:24:48 -05:00
Anderson Mesquita
d10e81fb3d
Remove most global variables from main.go
...
This takes advantage of the newly created parseCommandLineOptions()
function and makes it work so that it now returns a nice struct of
options rather than relying on global variables.
There are a few global variables left, but they will take a bit more
refactoring in order to be removed, so it'll happen in later commits.
2015-12-18 16:24:44 -05:00
Jakob Borg
2cdfa59fbe
Merge pull request #2588 from andersonvom/browser-only
...
Add command line option to open GUI (fixes #2210 )
2015-12-17 08:41:31 +01:00
Anderson Mesquita
4098f97735
Extract cmdline option parsing into a new function
...
Another step towards reducing the general size of the main() function
in favor of shorter, more focused functions.
2015-12-16 17:19:32 -05:00
Anderson Mesquita
a0b7ac402d
Refactor main.ensureDir()
...
ensureDir() did not handle one last error case and there was some logic
in the main() function that belonged to ensureDir() as well. It was also
creating a directory with a hardcoded 0700 mode, regardless of what mode
was passed to it.
This refactors it a little to fix the broken behavior, avoid redundant
checks by taking advantage of the behavior of MkdirAll, and move the
extra logic from main() into ensureDir().
2015-12-16 17:19:26 -05:00
Anderson Mesquita
0ca4482977
Refactor upgrade and check upgrade cmdline options
...
The main() function is growing too big (142 lines as of the date of this
commit), so this attempts to extract some functionality out of there and
into their own functions to make it easier to reason about them and keep
functions short and concise.
2015-12-16 14:29:37 -05:00
Anderson Mesquita
5cf15db6e4
Add command line option to open GUI ( fixes #2210 )
...
--browser-only assumes syncthing is already running and will open the
user's browser in the URL:port currently used in the configuration if
the GUI is enabled.
2015-12-16 13:24:21 -05:00
Anderson Mesquita
316be5ee34
Add helper function to format JSON responses
...
Every time a JSON object is returned in an HTTP response, the
appropriate header needs to be set and the object itself needs to be
encoded. Doing this in every function is repetitive and error prone
(getDBFile and postDBScan, for instance, never set any headers).
This adds a helper function to centralize the appropriate JSON response
handling.
2015-12-16 09:06:17 +01:00
Jakob Borg
4ab4aeacb0
Example GUI override address ( fixes #2530 )
2015-12-14 14:39:07 +01:00
Jakob Borg
7b686c1103
Implement signal handling
...
With this change, the behavior is as follows:
- SIGTERM / SIGINT: Exit cleanly (exit code 0)
- SIGHUP: Restart
This is the case both when hitting the monitor process or the inner
process, or if running with NORESTART (but then we won't restart,
obviously, just exit with code exitRestarting).
It enables "pkill -HUP syncthing" to do the right thing to restart all
Syncthings on package upgrade, for example.
2015-12-14 13:07:42 +01:00
Jakob Borg
1250850492
Must close result sets
2015-12-09 09:55:49 +01:00
Jakob Borg
3025caf932
Also remove IP per disco server
2015-12-08 10:10:34 +01:00
Jakob Borg
95cfc50fbd
Remove Android hacks ( fixes #2505 )
...
Also fixes what I think migh thave been a bug where we did not use the
proxy for usage reports. And removes the BuildEnv field that we don't
need any more.
2015-12-08 10:10:06 +01:00
Jakob Borg
ad418abf91
Merge pull request #25 from syncthing/fixes
...
Fix ALL THE BUGS
2015-12-07 13:36:49 +01:00
Antony Male
2c01cc000e
Add more logging in the case of relaypoolsrv internal server error
...
It's useful to know *why* relaypoolsrv returns an internal server error
2015-12-07 11:11:01 +00:00
Jakob Borg
3318651565
Correct type assertion in verbose logger, restart ( fixes #2561 )
2015-12-07 08:04:09 +01:00
Antony Male
1340e54327
Only print 'Enabled/Disabled debug data for ...' if it was enabled/disabled
2015-12-06 17:15:55 +00:00
Jakob Borg
a6a573f5dc
Fix STTRACE=http (it should use the http debug logger)
2015-12-05 15:59:35 +01:00
Jakob Borg
415415b5b2
Response with Bad Request to bad config posts, not Internal Server Errors
...
The error is the clients fault, or so we think, so we should not accept
the blame.
2015-12-05 15:56:10 +01:00
Jakob Borg
175769b53e
Update dependencies
2015-12-04 15:27:55 +01:00
Jakob Borg
96b5c2ae00
Set Retry-After header
2015-12-01 10:49:16 +01:00
Audrius Butkevicius
07722dc33d
Hey look, had to check all code out on linux to fix the deps
2015-11-27 21:02:19 +00:00
Jakob Borg
6d11006b54
Generate ECDSA keys instead of RSA
...
This replaces the current 3072 bit RSA certificates with 384 bit ECDSA
certificates. The advantage is these certificates are smaller and
essentially instantaneous to generate. According to RFC4492 (ECC Cipher
Suites for TLS), Table 1: Comparable Key Sizes, ECC has comparable
strength to 3072 bit RSA at 283 bits - so we exceed that.
There is no compatibility issue with existing Syncthing code - this is
verified by the integration test ("h2" instance has the new
certificate).
There are browsers out there that don't understand ECC certificates yet,
although I think they're dying out. In the meantime, I've retained the
RSA code for the HTTPS certificate, but pulled it down to 2048 bits. I
don't think a higher security level there is motivated, is this matches
current industry standard for HTTPS certificates.
2015-11-27 09:15:12 +01:00
Jakob Borg
fa4b4dece1
Compact database on startup (ref #2400 )
2015-11-24 13:17:30 +01:00
Audrius Butkevicius
f39f816a98
Update godeps, reduce amount of time spent testing a relay. Goddamit godeps.
2015-11-23 21:33:22 +00:00
Audrius Butkevicius
bc5b95be8a
Update packages, fix testutil. Goddamit godep.
2015-11-23 21:29:23 +00:00
Audrius Butkevicius
845f31b98f
Add timeouts, deal with overlapping markers, add a table, increase circle radiuses
2015-11-22 22:47:48 +00:00
Antony Male
6ee36fe361
Fix a couple of issues with the relays map (geoip, 'data unavailable')
...
- Move to ipinfo.io for geoip, rather than Telize. Telize has been closed
down. ipinfo.io has apparently got decent availability, and allows
1,000 requests per day on the free tier. Since requests are made by the
client, this should be more than enough (and the total across all clients
should still be less than this).
- Fix issue where one nonresponsive relay would cause 'data unavailable'
to be shown for many relays. This was caused by the relay status
promise not being correctly added to the list of things being waited
for before the map was rendered. Any delayed relay status requests
would therefore occur after the map was rendered, which was too late.
2015-11-22 14:10:29 +00:00
Jakob Borg
db4f23f377
Refactor: extract function generate
2015-11-22 07:35:24 +01:00
AudriusButkevicius
77572d0aee
Typo
2015-11-21 18:58:52 +00:00
Jakob Borg
ff8a66d22f
Add metrics for HTTP calls
2015-11-21 09:48:57 +01:00
Jakob Borg
f7ad97918a
HTTP debug middleware should be behind ShouldDebug()
2015-11-21 09:39:40 +01:00
Audrius Butkevicius
37b79735bf
Add signal handlers ( fixes #15 )
2015-11-21 00:35:38 +00:00
Audrius Butkevicius
9d9ad6de88
Update readme ( fixes #16 )
2015-11-21 00:35:38 +00:00
Audrius Butkevicius
20b925abec
Limit number of connections ( fixes #23 )
2015-11-21 00:35:31 +00:00
Jakob Borg
a8a2192cf9
Show scan rate in web GUI
2015-11-17 21:23:17 +01:00
Jakob Borg
b1a86fbc98
Warn the user if they're running with an insecure looking setup ( fixes #2139 )
2015-11-16 21:58:08 +01:00
Jakob Borg
4ea600d34e
lru.Cache is not concurrency safe
2015-11-13 09:13:53 +01:00
andyleap
bcc5d7c00f
Rate infos are in kbps, not kBps
2015-11-10 09:52:07 -05:00
Jakob Borg
88ae353aef
Merge pull request #2443 from tylerbrazier/master
...
Audit logins with new Login event (fixes #2377 )
2015-11-10 08:19:03 +01:00
Tyler Brazier
97b9690711
Audit logins with new LoginAttempt event ( fixes #2377 )
2015-11-10 00:49:51 -05:00
Alexander Graf
34cd8e3f95
Add default-v4 and default-v6 as options for discovery
2015-11-09 15:56:46 +01:00
Jakob Borg
4a36cca703
We need a limit on the number of PostgreSQL connections
2015-11-09 15:11:21 +01:00
Audrius Butkevicius
f83ae630c1
Merge pull request #31 from syncthing/http
...
Allow plain HTTP serving behind a proxy
2015-11-08 12:26:05 -05:00
Jakob Borg
58d320c270
String slice formatting
2015-11-08 18:06:06 +01:00
Jakob Borg
5894f35364
Correct example DSN ( fixes #29 )
2015-11-08 14:53:39 +01:00
Jakob Borg
c5acbf7e22
Allow plain HTTP serving behind a proxy
2015-11-07 16:01:31 +01:00
Jakob Borg
55592137a2
Use constructor functions for FolderConfiguration and DeviceConfiguration
2015-11-07 09:50:04 +01:00
Antony Male
e660d683a0
Enable extra logging in pool.go even when -debug not specified
...
Knowing why a relay server failed to join the pool can be important. This
is typically an issue which must be investigated after it occurred, so
having logs available is useful.
Running with -debug permanently enabled is impractical, due to the amount
of traffic that is generated, particularly when data is being transferred.
Logging is limited to at most one message per minute, although one message
per hour is more likely.
2015-11-06 12:58:44 +00:00
Jakob Borg
685306c386
Fix Query/Answer stats
2015-11-06 11:21:28 +01:00
Jakob Borg
5e04274d84
Reduce our patience with slow clients somewhat
2015-11-06 11:20:28 +01:00
Jakob Borg
d4b0235a8b
Correctly report the default relay server in usage stats
2015-11-06 07:16:15 +00:00
Antony Male
102027a343
Allow extAddress to be set from the command line
...
This allows relaysrv to listen on an unprivileged port, with port
forwarding directing traffic from 443, thus providing an alternative
to using setcap cap_net_bind_service=+ep
2015-11-05 21:26:58 +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
0d1df6bec3
Discovery server should print device ID of certificate at startup
2015-11-04 16:55:21 +00:00
Audrius Butkevicius
925f60d9c3
Add support for header holding IP address
2015-11-03 21:23:35 +00:00
Audrius Butkevicius
8b3f5fda07
Update relay parameters even if it already exists ( fixes #3 )
2015-10-31 17:27:43 +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
08c8d679ac
Create a correct URL is more difficult than just slapping on a scheme ( fixes #2316 )
2015-10-30 21:22:40 +01:00
Audrius Butkevicius
ac17b2c584
Add missing space
2015-10-29 19:42:42 +00:00
Jakob Borg
b2855f02fe
Enable log rotation by automatically closing log file ( fixes #2251 )
2015-10-29 16:04:07 +01:00
Audrius Butkevicius
5b03c2d949
Remove dead code
2015-10-25 20:46:09 +00:00
Matt Burke
63caf22671
Consider 'AlwaysLocalNets' in bandwidth limiters
...
'AlwaysLocalNets' was getting printed, but was getting used
when setting up connections. Now, the nets that should be
considered local are printed and used.
2015-10-24 01:14:25 -04:00
Audrius Butkevicius
09ba9e6259
Add homepage
2015-10-24 00:06:02 +01:00
Audrius Butkevicius
7775166477
URLs should have Go units
2015-10-23 22:24:53 +01:00
Audrius Butkevicius
7b5ab29a6d
Because I am a muppet
2015-10-23 20:21:21 +01:00
Audrius Butkevicius
4fd614be09
Add a different mode to stindex
2015-10-23 20:02:38 +01:00
Audrius Butkevicius
0e167f5c24
Add CORS headers
2015-10-22 21:44:50 +01:00
Audrius Butkevicius
a310a32371
Add CORS headers
2015-10-22 21:44:29 +01:00
Audrius Butkevicius
c00e26be81
Fix units
2015-10-22 21:40:36 +01:00
Jakob Borg
d7a934cf0e
Paths must not end with slash on Windows
2015-10-22 11:39:34 +02:00
Jakob Borg
b3a2bf367b
Tweak new folder defaults
2015-10-22 09:01:10 +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
1392d0bc14
Print the single thread hash performance at startup
2015-10-20 08:51:59 +02:00
Audrius Butkevicius
ce1a5cd2ce
Expose provided by in status endpoint
2015-10-18 23:15:01 +01:00
Audrius Butkevicius
5c8a28d717
Add ability to advertise provider
2015-10-18 16:57:13 +01: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
59c5d984af
Change the URL
2015-10-17 00:07:01 +01:00
Audrius Butkevicius
c885903ff2
Change endpoint URL, as we might want to run some stats pages
2015-10-17 00:05:44 +01: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
7c79985a29
Clarify listen address
2015-10-13 22:07:22 +09:00
Jakob Borg
953a67bc3a
Option -gui-address should accept scheme prefixes ( fixes #2371 )
2015-10-13 08:26:07 +09:00
Audrius Butkevicius
e4403ca396
Merge pull request #12 from rumpelsepp/systemd
...
Rename relaysrv binary, see #11
2015-10-10 14:26:12 +01:00
Stefan Tatschner
04912ea888
Rename relaysrv binary, see #11
2015-10-10 15:24:20 +02:00
Audrius Butkevicius
103238066d
Merge pull request #11 from rumpelsepp/systemd
...
Jail the whole thing a bit more
2015-10-10 13:59:40 +01:00
Stefan Tatschner
7e4f08c033
Jail the whole thing a bit more
...
Add WorkingDirectory to create and use the certificates within
/var/lib/syncthing-relaysrv. Add RootDirectory to chroot(2) the whole
thing into that directory.
2015-10-10 14:56:47 +02:00
Jakob Borg
d47d82d8e1
Merge pull request #10 from syncthing/stuff
...
Add more info to status
2015-10-10 20:14:05 +09:00
Audrius Butkevicius
9b9b44dd65
Merge pull request #4 from rumpelsepp/systemd
...
Add systemd service file
2015-10-10 11:51:31 +01:00
Stefan Tatschner
dc5627a2ef
Add systemd service file
2015-10-10 12:50:21 +02:00
Audrius Butkevicius
c1dfae1a6e
Add options to status
2015-10-10 11:49:34 +01:00
Audrius Butkevicius
7b5e4ab426
Add uptime
2015-10-10 11:43:07 +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
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
15716a0772
Fix STGUIAPIKEY and STGUIADDR overrides ( fixes #2335 )
...
Also removes STGUIAUTH and corresponding --gui-authentication as this
seems fundamentally insecure and I'm unsure of the actual use case for
it?
2015-09-30 09:36:11 +02:00
Jakob Borg
1ded36fcff
Feature list sorting
2015-09-30 08:29:41 +02:00
Jakob Borg
36ac757c3a
Remove global cfg variable ( fixes #2294 )
...
Not necessarily the easiest way to fix just this bug, but the root cause
was using the (at that point uninitialized) cfg variable, so it seemed
sensible to just get rid of it to avoid that kind of crap.
2015-09-29 20:23:15 +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
969d7c802d
Use vendored dependencies, new relay/client location
2015-09-22 19:55:12 +02:00
Jakob Borg
4e196d408a
Use vendored dependencies, new protocol location
2015-09-22 19:54:20 +02:00
Jakob Borg
8450ab8dab
Use vendored dependencies, new relay/client location
2015-09-22 19:51:40 +02:00
Jakob Borg
4581c57478
Fix import paths
2015-09-22 19:38:46 +02:00
Jakob Borg
168889d999
Option for perm relay file, keep test cert in temp dir
2015-09-22 09:02:18 +02:00
Jakob Borg
e1339628d9
Default values tweak
2015-09-22 08:55:06 +02:00
Audrius Butkevicius
1ee190e844
Update README.md
2015-09-21 23:07:39 +01:00
Audrius Butkevicius
aadcfed17d
Update README.md
2015-09-21 23:06:37 +01:00
Audrius Butkevicius
8f99f6eb66
Update README.md
2015-09-21 22:55:13 +01:00
Audrius Butkevicius
a51b948f45
Update README.md
2015-09-21 22:53:29 +01:00
Audrius Butkevicius
425f61cf34
Division by zero not good
2015-09-21 21:51:12 +00:00
Audrius Butkevicius
87cc2d2313
A bit more verbose
2015-09-21 22:33:29 +01:00
Audrius Butkevicius
0e2132ad3e
Always print URI
2015-09-21 22:15:29 +01:00
Audrius Butkevicius
7d9df5abc6
Update README.md
2015-09-21 22:06:12 +01:00
Jakob Borg
3b2adc9a3e
/ping with empty response
2015-09-21 12:49:17 +02:00
Jakob Borg
8d421a62d2
Usage reporting should recognize new discovery server IP:s
2015-09-21 10:54:21 +02:00
Jakob Borg
acba61babb
Ping handling changes in protocol, removed from config here
2015-09-21 10:14:27 +02:00
Jakob Borg
9b541a28e6
New discovery protocol over HTTPS
2015-09-20 22:00:19 +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
500230af51
Connected clients should know their own latency
2015-09-20 13:40:24 +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
4a2cbc1715
Merge pull request #5 from syncthing/info
...
Tweaks
2015-09-14 16:20:08 +02:00
Jakob Borg
cfdca9f702
Server should respond to ping
2015-09-14 13:46:20 +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
95fc253d6b
Rename externalAddr to addressLister
...
It's going to have to list internal addresses too.
2015-09-13 18:09:44 +02:00
Jakob Borg
e694c664e5
Add external address tracker object
2015-09-13 07:56:13 +02:00
Jakob Borg
cbe24d0c61
Errors should not increment for ever
2015-09-12 22:44:59 +02:00
Audrius Butkevicius
50f0da6793
Drop all sessions when we realize a node has gone away
2015-09-11 22:29:50 +01:00
Audrius Butkevicius
0b7ab0a095
Tweaks
...
1. Advertise relay server paramters so that clients could make a decision wether or not to connect
2. Generate certificate if it's not there.
2015-09-11 20:06:14 +01: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
c8c4b090ef
Show v0.12 feature stats
2015-09-11 10:56:32 +02:00
Jakob Borg
e55ff6cccc
Less duplication around database fields
2015-09-10 16:11:36 +02:00
Jakob Borg
30d0e5d298
Select must be specific about what fields it wants
2015-09-10 15:55:25 +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
201ff39b80
Receive v2 reports
2015-09-10 14:03:34 +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
AudriusButkevicius
3cacb48f3c
Add IP based rate limiting, check if client IP matches advertised relay, reorder stuff
2015-09-07 18:13:50 +01:00
AudriusButkevicius
f6a58151cb
Handle 403
2015-09-07 18:12:18 +01:00
AudriusButkevicius
3404393974
Join relay pool by default
2015-09-07 09:21:23 +01:00
AudriusButkevicius
6965812d79
Relays are matched by ip:port pairs
2015-09-07 09:14:14 +01:00
AudriusButkevicius
78fb7fe9f9
Implementation
2015-09-06 20:52:31 +01:00
AudriusButkevicius
24bcf6a088
Receive the invite, otherwise stop blocks, add extra arguments
2015-09-06 20:25:53 +01:00
Jakob Borg
36b8a75ede
Relay server info, urVersion in ur
2015-09-06 21:15:46 +02:00
AudriusButkevicius
25d0a363a8
Add a test method, fix nil pointer panic
2015-09-06 18:35:38 +01:00
Audrius Butkevicius
d7c8075862
Initial commit
2015-09-06 17:29:14 +01:00
Jakob Borg
baf231e3b6
Add interesting fields to usage report ( fixes #559 )
2015-09-06 18:17:30 +02:00
AudriusButkevicius
041b97dd25
Use new method name
2015-09-02 22:02:17 +01:00
AudriusButkevicius
9b85a6fb7c
Use a single socket for relaying
2015-09-02 21:35:52 +01:00
AudriusButkevicius
3299438cbd
Move TLS utilities into a separate package
2015-09-02 21:05:54 +01:00
Jakob Borg
ba676f2810
Dividing by zero is frowned upon
2015-08-27 21:41:39 +02:00
Jakob Borg
b3d7c622c3
Show folder scan progress in -verbose, hide local index updates
2015-08-27 21:37:41 +02:00
AudriusButkevicius
94c52e3a77
Add scan percentages ( fixes #1030 )
2015-08-27 19:20:43 +01:00
AudriusButkevicius
875de4f637
Use new address schema when creating default config
2015-08-27 19:18:45 +01:00
Jakob Borg
d63e54237b
Allow -logfile on all platforms ( fixes #2004 )
2015-08-27 19:11:10 +02:00
kozec
9bdcadf634
Added startTime into system/status REST call
2015-08-26 20:28:34 +02:00
Jakob Borg
a27bc4ebea
stsigtool should use the built in key by default
2015-08-24 16:24:00 +02:00
Jakob Borg
baa87bc823
Command line switch -paused
2015-08-23 22:03:58 +02:00
Jakob Borg
944d9c84a0
Pause and resume devices (ref #215 )
2015-08-23 22:00:21 +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
Jakob Borg
d3eb674b30
Add a signature package and stsigtool CLI utility
2015-08-21 09:31:17 +02:00
Jakob Borg
f407ff8861
Improve status reporter
2015-08-20 14:29:57 +02:00
Jakob Borg
a413b83c01
Fix broken connection close
2015-08-20 13:58:07 +02:00
Jakob Borg
81f4de965f
Very basic status service
2015-08-20 12:59:44 +02:00
Jakob Borg
e611828249
Merge branch 'v0.12'
...
* v0.12:
Add relay support, add ql support
Stats files
Rewrite for a PostgreSQL backend
2015-08-20 12:20:09 +02:00
Jakob Borg
4b366f2857
This is now the v0.12 branch
2015-08-20 09:19:55 +02:00
Jakob Borg
c87faace6b
Merge remote-tracking branch 'syncthing/pr/1995'
...
* syncthing/pr/1995:
Add switch to disable relays
Do not start relay service unless explicitly asked for, or global announcement server is running
Add dynamic relay lookup (DDoS relays.syncthing.net!)
Discovery clients now take an announcer, global discovery is delayed
Expose connection type and relay status in the UI
Add dependencies (fixes #1364 )
Check relays for available devices
Add incoming connection relay service
Add unsubscribe to config
Connections have types
Large refactoring/feature commit
2015-08-20 09:13:37 +02:00
Zillode
e2be051558
Merge pull request #2169 from calmh/restartmon
...
Retain standard streams over restart (fixes #2155 )
2015-08-19 23:16:32 +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
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
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
e80a9b0075
Fix after package move
2015-08-19 20:49:34 +01:00
Jakob Borg
dbb388719e
Retain standard streams over restart ( fixes #2155 )
2015-08-18 17:24:50 +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
8783688391
Recover from 'corrupted or incomplete CURRENT file' etc ( fixes #2017 )
2015-08-16 16:36:06 +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
681306b7a1
Clean up the scripts a bit (...)
...
- Move the Go files into script/ instead of random places
- Rewrite check-contrib.sh into check-authors.go and check-copyright.go
- Clean up build.sh a little bit
2015-08-13 12:35:26 +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
9370f9cae4
s/internal/lib/
2015-08-09 09:39:28 +02:00
Jakob Borg
7705a6c1f1
mv internal lib
2015-08-09 09:35:26 +02:00
Jakob Borg
257d1afdf8
Enable browser caching of static resources
...
This sends the Cache-Control header to allow caching of static resources,
and checks the If-Modified-Since header to allow browser to use the
cached resource on refresh. Also fixes some paths that caused redirects
(core//foo -> core/foo)
2015-08-08 13:50:18 +02:00
Audrius Butkevicius
1b6b481fcc
Add timeout for peek ( fixes #1035 )
2015-08-06 12:07:34 +01:00
Dennis Wilson
26d52bedb3
Squashed commit of pull request #1954
2015-08-02 09:21:46 +02:00
Audrius Butkevicius
e62cf13760
Add stwatchfile
2015-07-27 19:00:22 +01:00
Jakob Borg
21accd534c
Add folders without restart ( fixes #2063 )
2015-07-24 08:20:57 +02:00
Audrius Butkevicius
604f2c9161
Connection errors are debug errors
2015-07-23 20:53:16 +01:00
Audrius Butkevicius
4d9ca822a7
Add relay support, add ql support
2015-07-23 19:12:40 +01:00
Audrius Butkevicius
d1f3d95c96
Add ability to lookup relay status
2015-07-22 22:34:05 +01:00
Jakob Borg
d3387e2a28
Make sure CPU profile actually gets written before exiting
2015-07-20 15:34:40 +02:00
Jakob Borg
f0684d83e9
Add osutil.AtomicWriter
...
This captures the common pattern of writing to a temp file and moving it
to it's real name only if everything went well. It reduces the amount of
code in some places where we do this, but maybe not as much as I
expected because the upgrade thing is still a special snowflake...
2015-07-20 14:27:14 +02:00
Jakob Borg
11eb241c8f
Style and minor fixes, client package
2015-07-20 14:04:34 +02:00
Jakob Borg
ebef239a06
Style and minor fixes, main package
2015-07-20 14:04:34 +02:00
Jakob Borg
98a13204b2
Implement global and per session rate limiting
2015-07-20 13:37:11 +02:00
Audrius Butkevicius
d0229b62da
Fix bugs
2015-07-17 22:04:02 +01:00
Audrius Butkevicius
37ad20a71b
Change receiver type, add GoStringer
2015-07-17 21:49:45 +01:00
Audrius Butkevicius
fcd6ebb06e
General cleanup
2015-07-17 20:17:49 +01:00
Jakob Borg
ca9d3b597e
Add bounced classification
2015-07-15 13:45:33 +02:00
Jakob Borg
0890b49e78
Add user movement graph
2015-07-15 13:23:13 +02:00
Jakob Borg
909d60464e
Revert "Merge pull request #2053 from calmh/atomicwriter" ( fixes #2058 )
...
This reverts commit b611f72e08
, reversing
changes made to a04b005e93
.
2015-07-13 12:47:32 +02:00
Jakob Borg
44e3bec42e
Add osutil.AtomicWriter
...
This captures the common pattern of writing to a temp file and moving it
to it's real name only if everything went well. It reduces the amount of
code in some places where we do this, but maybe not as much as I
expected because the upgrade thing is still a special snowflake...
2015-07-12 14:28:59 +10:00
Jakob Borg
a04b005e93
Revert "Let suture logging bubble upwards"
...
This reverts commit 1b837116e6
.
2015-07-11 11:12:20 +10:00
Jakob Borg
1b837116e6
Let suture logging bubble upwards
2015-07-11 10:52:57 +10:00
Jakob Borg
5bb8ea7449
Remove one of two emits of events.DeviceConnected (ref #2034 )
2015-07-10 16:12:59 +10:00
Audrius Butkevicius
cb1a7a7bdc
Update panic instructions ( fixes #2039 )
2015-07-09 22:43:16 +01:00
Audrius Butkevicius
dc9c86e3a1
Change EOL
2015-06-28 21:18:38 +01:00
Audrius Butkevicius
6bc6ae2d28
Do scheme validation in the client
2015-06-28 20:34:28 +01:00
Audrius Butkevicius
f8bedc55e5
Progress
2015-06-28 19:57:13 +01:00
Audrius Butkevicius
93ad803073
Make ping timeout configurable ( fixes #1751 )
2015-06-27 12:34:41 +01:00
Jakob Borg
2b0c33f74d
Merge pull request #1996 from AudriusButkevicius/checkrace
...
Potential race between folder being added and scan (fixes #1986 )
2015-06-26 12:56:07 +02:00
Audrius Butkevicius
31cd0b943c
Potential race between folder being added and scan (potentially fixes #1986 )
2015-06-24 21:59:03 +01:00
Audrius Butkevicius
f376c79f7f
Add initial code
2015-06-24 15:02:23 +01:00
Jakob Borg
070eced2f6
Merge pull request #1985 from calmh/fix-reset
...
Fix reset DB
2015-06-24 14:07:15 +02:00
Audrius Butkevicius
a98824b4cf
Initial commit
2015-06-24 00:34:16 +01:00
Audrius Butkevicius
089fca2319
Use different session cookies per device
2015-06-22 19:51:46 +01:00
Jakob Borg
2b2cae2d50
Fix reset DB
...
The reset of all folders failed when there was no data for a given
folder, as it was not returned by db.ListFolders then. But we don't
really care about that, we can "reset" it anyway...
2015-06-21 09:35:41 +02:00
Jakob Borg
d347e54acb
Don't start model until services have been added ( fixes #1969 )
2015-06-20 20:04:47 +02:00
Jakob Borg
b5198d8119
Merge pull request #1968 from calmh/newtests
...
Refactored integration tests
2015-06-20 19:24:04 +02:00
Jakob Borg
b8b5c5ff34
Merge pull request #1913 from Zillode/fix-reset
...
Fix 'reset' Rest API on windows
2015-06-20 11:43:05 +02:00
Jakob Borg
c3d07d60ca
Refactored integration tests
...
Added internal/rc to remote control a Syncthing process and made the
"awaiting sync" determination reliable.
2015-06-19 08:47:47 +02:00
Lode Hoste
a0897a7456
Corrected API response when resetting folder ( fixes #1976 )
2015-06-19 08:30:19 +02:00
Lode Hoste
b56c76f8ad
Fix 'reset' Rest API on windows
2015-06-18 12:45:08 +02:00
Audrius Butkevicius
198725216f
Merge pull request #1957 from calmh/myid
...
Include myID in the StartupComplete event
2015-06-16 08:46:50 +01:00
Jakob Borg
82c3e6f87f
Include myID in the StartupComplete event
...
Nice to have...
2015-06-16 09:27:06 +02:00
Jakob Borg
1ac40a3043
Fix API event subscription
...
The API never got the first few events ("Starting" etc) as it subscribed
too late. Instead, set up a subscription for it early on. If the API is
configured not to run this is unnecessary but doesn't hurt very much.
2015-06-16 09:17:58 +02:00
Jakob Borg
a6d9150b14
Skip extra newline between assets
2015-06-15 23:13:43 +02:00
Jakob Borg
ca96b13233
Aggregate v0.10
2015-06-15 10:49:48 +02:00
Jakob Borg
525aac74aa
Don't draw zero datapoints in graph
2015-06-15 10:46:48 +02:00
Jakob Borg
7c23b32de3
Default GUI override dir
...
If STGUIASSETS is not set, look for assets in $confdir/gui by default.
Simplifies deploying overrides and stuff.
2015-06-14 22:28:40 +02:00
Jakob Borg
a778763851
Add trash can file versioning ( fixes #1931 )
2015-06-12 13:30:49 +02:00
Jakob Borg
76ad925842
Refactor config commit stuff to support restartless updates better
...
Includes restartless updates of the GUI settings (listening port etc) as
a proof of concept.
2015-06-09 15:41:22 +02:00
Jakob Borg
ef6f52f688
Correctly handle nil error in verbose logging ( fixes #1921 )
2015-06-09 09:04:03 +02:00
Jakob Borg
145f8c7435
Start folders before GUI/API ( fixes #1918 )
2015-06-08 11:04:09 +02:00
Jakob Borg
c1761cab49
Trigger ItemFinished when temp file creation fails instead of failing silently
2015-06-03 16:28:31 +02:00
Jakob Borg
e952da7f91
Ensure we always have an up to date list of language names
2015-06-02 08:47:26 +02:00
Jakob Borg
5bd1e4a167
Re-add mistakenly removed languages
2015-06-02 08:33:36 +02:00
Jakob Borg
c23a601cc6
Random number is too large for 32 bit archs ( fixes #1894 )
2015-06-01 09:33:13 +02:00
Jakob Borg
860fbe48dd
Stats files
2015-05-31 13:31:28 +02:00
Jakob Borg
cc4f32f259
Only graph the last year
2015-05-29 09:51:56 +02:00
Jakob Borg
8ed67fe349
Reduce db write cache to (2*) 4 MiB
...
I haven't been able to reproduce any performance advantage of having it
set higher and it reduces the memory footprint a bit.
2015-05-23 21:05:52 +02:00
Lode Hoste
f12b8c19be
Support the creation of top-level folders on Windows ( fixes #1822 )
2015-05-21 19:21:19 +02:00
Jakob Borg
3e1a562466
Reorganize, add aggregation
2015-05-21 08:52:19 +02:00
Jakob Borg
a3ba3f895c
Further reduce maximum db block cache
2015-05-14 20:59:59 +02:00
Jakob Borg
c6b2ca8b19
Break out usage reporting into a service
2015-05-13 14:39:27 +02:00
Audrius Butkevicius
83ea8dc577
Merge pull request #1801 from calmh/fix-1799
...
Only restart global discovery on UPnP change if it was enabled to start with (fixes #1799 )
2015-05-12 18:49:24 +03:00
Jakob Borg
d898277f62
stindex: add some missing newlines
2015-05-12 11:47:30 +02:00
Jakob Borg
a289cfb986
Only restart global discovery on UPnP change if it was enabled to start with ( fixes #1799 )
2015-05-12 09:48:55 +02:00
Jakob Borg
c2f2d8771f
Tweak the database block cache size, and add config for it
2015-05-11 09:08:25 +02:00
Zillode
1a11ce6211
Merge pull request #1784 from calmh/fix-1782
...
Implement upnpSvc.Stop() (fixes #1782 )
2015-05-10 14:47:02 +02:00
Jakob Borg
e4c41718d8
Fix upnp mapping name
2015-05-09 20:04:15 +02:00
Jakob Borg
7234553990
Implement upnpSvc.Stop() ( fixes #1782 )
2015-05-09 12:49:58 +02:00
Jakob Borg
31797a5831
Simplify stindex
2015-05-07 09:59:04 +02:00
Jakob Borg
ff4706e450
Merge branch 'pr-1748'
...
* pr-1748:
Reschedule before scan
Use a channel instead of locks
Reschedule the next scan interval (fixes #1591 )
2015-05-04 10:40:14 +02:00
Jakob Borg
67ae7a0b6c
Wait for stdout/stderr to close ( fixes #1754 )
2015-05-03 17:36:01 +02:00
Jakob Borg
bd5a64bac0
Reschedule before scan
2015-05-03 14:18:50 +02:00
Lode Hoste
fe34b08ece
Reschedule the next scan interval ( fixes #1591 )
2015-05-03 12:48:44 +02:00
Lode Hoste
d54c366150
Upgrade running Syncthing instances ( fixes #1692 )
2015-05-01 23:38:54 +02:00
Audrius Butkevicius
aee40316f8
Merge pull request #1732 from calmh/guisvc
...
Break out GUI into an API service
2015-04-30 22:15:47 +01:00
Audrius Butkevicius
d754f9ae89
Merge pull request #1742 from calmh/adaptive-cache
...
Adaptive database cache size
2015-04-30 21:56:40 +01:00
Jakob Borg
fb312a71f7
Add verbose logging ( fixes #179 )
2015-04-30 20:47:21 +02:00
Jakob Borg
136d79eaa3
Break out GUI into an API service
2015-04-30 20:36:07 +02:00
Jakob Borg
834336499a
Adaptive database cache size
2015-04-30 20:25:44 +02:00
dartraiden
32a76901a9
typos and spelling correction
2015-04-29 15:59:47 +02:00
Audrius Butkevicius
f2b12014e1
Merge pull request #1729 from calmh/lint-clean
...
Run vet and lint. Make us lint clean.
2015-04-29 10:16:36 +01:00
Jakob Borg
60fcaebfdb
Run vet and lint. Make us lint clean.
2015-04-29 10:38:02 +02:00
Jakob Borg
0642402449
Break out UPnP port mapping into a service
2015-04-28 10:25:25 +02:00
Jakob Borg
f5211b0697
Add some more cache forbidding headers, for various user agents.
2015-04-27 09:08:55 +02:00
Audrius Butkevicius
d12db3e7b8
Add osutil.Glob to deal with Windows ( fixes #1690 )
2015-04-26 16:37:50 +01:00
Audrius Butkevicius
9afbca3001
Add pagination to Out of sync item list ( fixes #1509 )
2015-04-26 00:22:26 +01:00
Audrius Butkevicius
ecc8591c95
Merge pull request #1699 from calmh/connsvc
...
Break out connection handling into a service
2015-04-25 15:37:08 +01:00
Jakob Borg
266a5116a1
Break out connection handling into a service
2015-04-25 23:21:42 +09:00
Jakob Borg
131f2be857
Add audit log feature
2015-04-25 23:20:39 +09:00
Jakob Borg
bb31b1785b
Add a service manager to main (future use)
2015-04-25 23:16:46 +09:00
Jakob Borg
33a4fb5a1a
Fix folder check tests
2015-04-25 23:16:46 +09:00
Jakob Borg
36c1d82146
Minor fixup
2015-04-24 09:43:40 +09:00
Jakob Borg
43d39844f7
Merge pull request #1685 from AudriusButkevicius/mut
...
Add mutex logging
2015-04-23 21:16:23 +09:00
Audrius Butkevicius
433b923ea7
Add mutex logging
2015-04-23 10:54:14 +01:00
Jakob Borg
542716e216
Allow major upgrades
2015-04-23 17:13:11 +09:00
Jakob Borg
bf7d84c12a
Clean up REST JSON a little further
2015-04-21 23:28:58 +09:00
Jakob Borg
08c383012f
Loosen the requirements on what can be upgraded to what
2015-04-21 09:06:10 +09:00
Audrius Butkevicius
d530c5eda7
Merge pull request #1665 from calmh/wat
...
Don't initialize subscription in init()
2015-04-20 08:12:58 +01:00
Jakob Borg
c905a41e2a
Reminder in debug output to explain high CPU usage
2015-04-20 14:29:38 +09:00
Jakob Borg
4fb74a32cc
Don't initialize subscription in init()
...
By doing it init(), the monitor process also gets a subscription thing
running, which is unnecessary (and really confused me when seeing it in
the debug output).
2015-04-20 12:58:58 +09:00
Audrius Butkevicius
96289f42b7
Merge pull request #1644 from syncthing/timeout
...
UPnP refactor/fixes
2015-04-16 14:32:16 +01:00
Audrius Butkevicius
2a31031cbc
Add unit suffix to UPnP settings
2015-04-16 10:32:22 +01:00
Audrius Butkevicius
d148cd8ccc
Make UPnP timeout configurable
2015-04-16 10:32:12 +01:00
Jakob Borg
069e8cf122
Don't schedule summaries on all state changes
...
Prior to this change we schedule summaries on each state change, i.e.
scanning->idle and idle->scanning, which is unnecessary. Now we only do
it on index updates, plus the immediate one on going syncing->idle.
2015-04-14 20:57:42 +09:00
Jakob Borg
102a2db1f3
Work around broken Lstat on Android
2015-04-14 19:53:49 +09:00
Jakob Borg
aa803ce2ff
Move folder errors to state
...
The "Invalid" config attribute is retained for errors discovered during
config loading (empty path, duplicate ID). This can only be set or
cleared at config loading time.
Errors discovered during runtime (I/O problems, etc) are now in the
folder state instead. Changes to these are sent as any other folder
state change.
2015-04-13 07:43:45 +09:00
Lode Hoste
75348c0158
Fix compilation of -noupgrade builds
2015-04-09 22:44:46 +02:00
Jakob Borg
cfc9776bae
Check for short ID conflict at startup
2015-04-09 13:06:00 +02:00
Audrius Butkevicius
df6dbc5fa4
Only run deadlock detection if asked or non-release/beta ( fixes #1536 )
2015-04-08 13:40:05 +01:00
Jakob Borg
b2a79855ae
Handle long filenames on Windows ( fixes #1295 )
2015-04-08 14:05:39 +02:00
Jakob Borg
d7100fd9bc
Add HTTP request tracing
2015-04-07 21:52:47 +02:00
Jakob Borg
e884d0fda6
Tidy up the REST interface URLs ( fixes #1593 )
2015-04-07 12:16:23 +02:00
Jakob Borg
7b99a5fbac
Clean up config directory of old crap
2015-04-07 09:25:28 +02:00
Jakob Borg
207b43499c
Merge remote-tracking branch 'syncthing/pr/1577'
...
* syncthing/pr/1577:
Add uptime in webgui (fixes #1501 )
Conflicts:
cmd/syncthing/gui.go
internal/auto/gui.files.go
2015-04-06 20:53:32 +02:00
Sergey Mishin
77882e6086
Enable gzip encoding static files for webgui
2015-04-06 03:11:30 +03:00
ralder
b5d7ce8ebe
Add uptime in webgui ( fixes #1501 )
2015-04-05 22:37:55 +03:00
Audrius Butkevicius
6fb1e03ed4
Merge pull request #1576 from Zillode/reset-indexes
...
Update reset API to reflect new use cases.
2015-04-04 22:31:59 +01:00
Lode Hoste
ab287ebf40
Update reset API to reflect new use cases.
...
/rest/reset clears the entire Syncthing DB and restart the program
/rest/reset&folder=default clears the indexes of the default folder
2015-04-04 22:45:11 +02:00
Jakob Borg
b08ee3ff81
golint: locHttps -> locHTTPS
2015-04-04 21:59:54 +02:00
Lode Hoste
19dfa88258
Expand locations during initialisation ( fixes #1575 ).
2015-04-03 21:57:19 +02:00
Jakob Borg
65923b5c20
The summary event service should send summary events
2015-04-02 10:07:54 +02:00
Audrius Butkevicius
2aa3182476
Merge pull request #1539 from calmh/locations
...
Move index to index-v0.11.0.db (new format) and centralize location config
2015-04-01 13:18:49 +01:00
Jakob Borg
e4dba99cc0
Immediately recalculate summary when folder state changes syncing->idle
2015-04-01 11:58:27 +02:00
Jakob Borg
454e688c3d
Push model data instead of pull ( fixes #1434 )
2015-04-01 11:46:30 +02:00
Jakob Borg
54752deaa1
Move index to index-v0.11.0.db (new format) and centralize location config
2015-04-01 11:30:28 +02:00
Jakob Borg
6459d11d32
Merge pull request #1378 from Zillode/draft-upgrade
...
Do not consider draft releases or releases with emtpy assets
2015-04-01 11:03:13 +02:00
Lode Hoste
d6030b8d68
Only consider relevant releases ( fixes #1285 ).
2015-03-31 10:22:28 +02:00
Lode Hoste
747c6c2714
Fix -reset folder target
2015-03-30 17:07:31 +02:00
Audrius Butkevicius
7406176fad
More graceful handling on folder errors ( fixes #762 )
...
Checks health before accepting every scanner batch, also
recovers from errors without having to restart.
2015-03-30 08:27:12 +02:00
Jakob Borg
4beef5cc66
Remove default GC tweak
...
This reverts the GC behavior to the Go default of triggering GC when the
heap has grown 100% compared to after the previous GC. We were setting
this to 25% to keep memory usage at a minimum, but it has a pretty
severe performance cost (especially when syncing large files) as we keep
triggering GC too often.
This documents the tweak in the `-help` message so users can decide for
themselves, and sticks to whatever the Go runtime developers thinks is
best for the default.
2015-03-29 19:08:22 +02:00
Jakob Borg
ba575f55ec
Merge pull request #1530 from Zillode/multi-scan
...
Support multiple scan query strings at the same time
2015-03-29 16:02:45 +02:00
Lode Hoste
2012ce02e8
Support multiple scan query strings at the same time
2015-03-28 22:40:13 +01:00
Jakob Borg
c67e2c2a5a
Merge pull request #1528 from Zillode/change-gui-port
...
Change (default) GUI port from 8080 to 8384 ('ST' in ascii values)
2015-03-27 14:08:03 +01:00
Audrius Butkevicius
489e2e6ad5
Update Model function signatures
2015-03-26 22:04:33 +00:00
Lode Hoste
960c0cbddf
Change (default) GUI port from 8080 to 8384 ('ST' in ascii values)
2015-03-26 21:36:06 +01:00
Jakob Borg
6da7f17c4a
Implement version vectors
2015-03-25 23:10:34 +01:00
Jakob Borg
b4f45d1e79
Update tests for version vectors
2015-03-25 23:10:33 +01:00
Jakob Borg
9d06132743
Rewrite for a PostgreSQL backend
2015-03-25 15:37:00 +01:00
Jakob Borg
51eea3f90b
GPL->MIT
2015-03-25 08:07:33 +01:00
Jakob Borg
a7492f8612
Send correct MIME type for SVG images ( fixes #1506 )
2015-03-22 12:57:16 +01:00
Audrius Butkevicius
60faabcbe2
Print LANs on startup
2015-03-19 11:07:20 +00:00
Jakob Borg
e1975644d6
Add /rest/filestatus
2015-03-17 17:51:50 +00:00
Jakob Borg
32425c5561
MPLv2
2015-03-17 16:02:27 +01:00
Pascal Jungblut
49bc74e7a0
Use lowerCamelCase for the JSON API ( fixes #1338 )
...
Replace the current mix of UpperCamelCase und lowerCamelCase with
consistent lowerCamelCase keys for the JSON API. Also adapt the frontend
so it works with the changed API.
Attention: this will break existing consumers of the API.
2015-03-16 10:05:01 +01:00
Jakob Borg
51c932164f
bep/1.0 negotiation can't be a hard error.
2015-03-15 17:49:47 +01:00
Jakob Borg
51cfc3d4be
Fall back to %AppData% is %LocalAppData% is blank ( fixes #1446 )
2015-03-11 21:04:10 +01:00
Audrius Butkevicius
6fa97eeec7
Allow not to limit bandwidth in LAN ( fixes #1336 )
2015-03-09 20:54:33 +00:00
Jakob Borg
aaaa6556f3
Some commentary on the initial connection checks
2015-03-05 16:09:20 +01:00
Jakob Borg
4745431cda
Verify negotiated protocol bep/1.0
2015-03-05 15:58:16 +01:00
Audrius Butkevicius
9d1e2d9f46
Add /rest/tree API call
2015-03-04 23:39:27 +00:00
Jakob Borg
0bbbf3eb3b
Compile on Dragonfly
2015-02-26 08:42:39 +01:00
Jakob Borg
4b1b56fee8
Reduce CPU usage ( fixes #1376 )
2015-02-25 23:30:24 +01:00
Jakob Borg
f9577a38dc
Attempt recovery of corrupted DB at startup ( fixes #987 )
2015-02-23 08:22:39 +01:00
Jakob Borg
3b3aa94c4e
Refactor out connection related functions to a separate file
2015-02-19 12:05:26 +02:00
Jakob Borg
88c44b303d
Simplify FileInfoTruncated
2015-02-15 12:50:03 +01:00
Karol Różycki
64a5bc038a
Typo fix. Fixes #1358
2015-02-14 16:10:43 +01:00
Karol Różycki
ec160f1f0a
Button to rescan all folders, fixes #1151
2015-02-12 21:03:35 +01:00
Jakob Borg
203c7360e7
Merge remote-tracking branch 'syncthing/pr/1332'
...
* syncthing/pr/1332:
Implement memorySize() for NetBSD
2015-02-12 12:13:35 +01:00
Jakob Borg
c87a6c5969
Use single filename for heap profiles
2015-02-10 19:50:27 +01:00
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
7aaea6d005
Protocol has moved
2015-01-13 23:15:55 +01: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
Jakob Borg
e3911bacde
Fix goleveldb API change
2014-12-11 12:53:00 +01:00
Audrius Butkevicius
bde92d5cfe
Display last received file and time ( fixes #292 , fixes #801 )
2014-12-09 20:24:48 +00:00