swift/etc
Tim Burke f581fccf71 By default, disallow inbound X-Timestamp headers
With the X-Timestamp validation added in commit e619411, end users
could upload objects with

    X-Timestamp: 9999999999.99999_ffffffffffffffff

(the maximum value) and Swift would be unable to delete them.

Now, inbound X-Timestamp headers will be moved to
X-Backend-Inbound-X-Timestamp, effectively rendering them harmless.

The primary reason to allow X-Timestamp before was to prevent
Last-Modified changes for objects coming from either:

  * container_sync or
  * a migration from another storage system.

To enable the former use-case, the container_sync middleware will now
translate X-Backend-Inbound-X-Timestamp headers back to X-Timestamp
after verifying the request.

Additionally, a new option is added to the gatekeeper filter config:

    # shunt_inbound_x_timestamp = true

To enable the latter use-case (or any other use-case not mentioned), set
this to false.

Upgrade Consideration
=====================

If your cluster workload requires that clients be allowed to specify
objects' X-Timestamp values, disable the shunt_inbound_x_timestamp
option before upgrading.

UpgradeImpact
Change-Id: I8799d5eb2ae9d795ba358bb422f69c70ee8ebd2c
2016-03-09 09:14:46 +00:00
..
account-server.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
container-reconciler.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
container-server.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
container-sync-realms.conf-sample Fix Container Sync example 2015-07-08 16:37:31 -07:00
dispersion.conf-sample Support keystone v3 domains in swift-dispersion 2015-07-24 13:40:24 -05:00
drive-audit.conf-sample Missing log_name option added 2015-11-15 11:26:06 +01:00
internal-client.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
memcache.conf-sample fixups for ipv6 memcache_servers docs 2016-01-12 21:08:58 -08:00
mime.types-sample PEP 8 compliance and small modification to mime.types file 2010-11-23 19:26:02 -06:00
object-expirer.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
object-server.conf-sample Removed default value for log_statsd_host 2016-02-10 10:36:59 -06:00
proxy-server.conf-sample By default, disallow inbound X-Timestamp headers 2016-03-09 09:14:46 +00:00
rsyncd.conf-sample Allows to configure the rsync modules where the replicators will send data 2015-09-07 08:00:18 +02:00
swift-rsyslog.conf-sample Add sample rsyslog.conf. 2013-06-25 10:24:26 +08:00
swift.conf-sample Remove Erasure Coding beta status from docs 2016-03-04 14:27:23 +00:00