minio/vendor/github.com
Andreas Auernhammer ca6b4773ed add SSE-C support for HEAD, GET, PUT (#4894)
This change adds server-side-encryption support for HEAD, GET and PUT
operations. This PR only addresses single-part PUTs and GETs without
HTTP ranges.

Further this change adds the concept of reserved object metadata which is required
to make encrypted objects tamper-proof and provide API compatibility to AWS S3.
This PR adds the following reserved metadata entries:
- X-Minio-Internal-Server-Side-Encryption-Iv          ('guarantees' tamper-proof property)
- X-Minio-Internal-Server-Side-Encryption-Kdf         (makes Key-MAC computation negotiable in future)
- X-Minio-Internal-Server-Side-Encryption-Key-Mac     (provides AWS S3 API compatibility)

The prefix `X-Minio_Internal` specifies an internal metadata entry which must not
send to clients. All client requests containing a metadata key starting with `X-Minio-Internal`
must also rejected. This is implemented by a generic-handler.

This PR implements SSE-C separated from client-side-encryption (CSE). This cannot decrypt
server-side-encrypted objects on the client-side. However, clients can encrypted the same object
with CSE and SSE-C.

This PR does not address:
 - SSE-C Copy and Copy part
 - SSE-C GET with HTTP ranges
 - SSE-C multipart PUT
 - SSE-C Gateway

Each point must be addressed in a separate PR.

Added to vendor dir:
 - x/crypto/chacha20poly1305
 - x/crypto/poly1305
 - github.com/minio/sio
2017-11-07 15:18:59 -08:00
..
Azure Update Azure SDK (#4985) 2017-09-28 15:23:46 -07:00
cheggaaa/pb vendorize: update all vendorized packages. (#2206) 2016-07-14 14:59:20 -07:00
davecgh/go-spew Add support for Kafka as a notifications target (#2869) (#3439) 2016-12-15 08:23:48 -08:00
dgrijalva/jwt-go vendorize: update all vendorized packages. (#2206) 2016-07-14 14:59:20 -07:00
dustin/go-humanize Improve duration humanization. (#4071) 2017-04-26 03:38:35 -07:00
eapache Add support for Kafka as a notifications target (#2869) (#3439) 2016-12-15 08:23:48 -08:00
eclipse/paho.mqtt.golang Add support for MQTT server as a notification target (#4474) 2017-06-14 17:27:49 -07:00
elazarl/go-bindata-assetfs ui-assets: Integrate UI assets. 2016-02-04 18:07:05 -08:00
fatih Make minio server compile on OpenBSD, NetBSD, Solaris (#3719) 2017-02-08 22:27:35 -08:00
garyburd/redigo Vendor upstream redis library instead of our fork. (#3913) 2017-03-16 08:22:47 -07:00
go-ini/ini Update minio-go dependency (#4551) 2017-06-19 16:02:35 -07:00
go-sql-driver/mysql Add support for MySQL notifications (fixes #3818) (#3907) 2017-03-17 09:29:17 -07:00
gogo/protobuf nats: Add support of NATS.io Streaming server (#3494) 2017-01-11 16:41:05 -08:00
golang Implement gateway support Google Cloud Storage 2017-06-16 14:47:02 -07:00
googleapis/gax-go Implement gateway support Google Cloud Storage 2017-06-16 14:47:02 -07:00
gorilla vendorize: update all vendorized packages. (#2206) 2016-07-14 14:59:20 -07:00
hashicorp/go-version rewrite minio runtime checks 2016-02-15 17:56:56 +05:30
klauspost optimize memory allocs during reconstruct (#4964) 2017-09-27 10:29:42 -07:00
lib/pq Add PostgreSQL notifier (#2739) (#2824) 2016-10-03 17:29:55 -07:00
mattn Make minio server compile on OpenBSD, NetBSD, Solaris (#3719) 2017-02-08 22:27:35 -08:00
minio add SSE-C support for HEAD, GET, PUT (#4894) 2017-11-07 15:18:59 -08:00
nats-io nats: Add support of NATS.io Streaming server (#3494) 2017-01-11 16:41:05 -08:00
pkg/profile Remove errors package, add comments and simplify. (#2925) 2016-10-14 12:31:00 -07:00
rs vendorize: update all vendorized packages. (#2206) 2016-07-14 14:59:20 -07:00
satori/uuid Update Azure SDK (#4985) 2017-09-28 15:23:46 -07:00
Sirupsen/logrus vendorize: update all vendorized packages. (#2206) 2016-07-14 14:59:20 -07:00
skyrings/skyring-common backend/fs: Refactor multipart upload 2016-04-05 22:22:29 +05:30
streadway/amqp api: Implement bucket notification. (#2271) 2016-07-23 22:51:12 -07:00
tidwall config: Check for duplicated entries in all scopes (#3872) 2017-03-15 16:30:34 -07:00