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
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
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
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
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
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
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
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