Merge branch '573-hidden-service-for-crash-reports-and-feedback' into 'master'

Server-side code for accepting crash reports and feedback

* Moved some shared code for copying InputStreams to OutputStreams into a utility class
* Modified the  dev report sender to send one report per connection
  * Easier to handle on the server side
  * If the connection fails after sending any reports, they don't need to be resent
  * Tor will reuse the circuit, so it's cheap
* Added server-side code for accepting dev reports
  * We need to protect the server's resources from DoS attacks
  * Reports can't be larger than 1 MB
  * Connections are limited to an average rate of one per minute
  * The rate limiter uses a token bucket to allow bursts of up to 1,000 connections
  * If the rate limit is exceeded, connection attempts will fail - clients will retry next time they sign in
  * The limits can be raised when we move to a bigger server (and when we have some users)


See merge request !288
This commit is contained in:
akwizgran
2016-08-22 20:09:46 +00:00
10 changed files with 269 additions and 91 deletions

View File

@@ -9,7 +9,7 @@ import android.support.design.widget.TextInputLayout;
import android.text.format.DateUtils;
import org.briarproject.R;
import org.briarproject.util.FileUtils;
import org.briarproject.util.IoUtils;
import org.briarproject.util.StringUtils;
import java.io.File;
@@ -89,7 +89,7 @@ public class AndroidUtils {
if (children != null) {
for (File child : children) {
if (!child.getName().equals("lib"))
FileUtils.deleteFileOrDir(child);
IoUtils.deleteFileOrDir(child);
}
}
}