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
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
Jakob Borg
962eaa8a4b
Handle error from XDR marshalling
2014-10-21 08:48:51 +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
bfba18fdcb
Use WriteToUDP rather than WriteMsgUDP ( fixes #4 )
2014-10-07 10:50:09 +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
Jakob Borg
175669c61e
GPL
2014-09-30 16:43:54 +02:00
Jakob Borg
3599b98dca
Node -> Device here too
2014-09-28 22:39:38 +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
d1c3be3251
Use syncthing internal packages
2014-09-27 15:44:40 +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
b9f83c7780
Optionally log unknown packet data (for debugging)
2014-09-21 10:57:19 +02: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