~ubuntu-branches/ubuntu/saucy/swift/saucy-security

« back to all changes in this revision

Viewing changes to swift/proxy/controllers/obj.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2013-04-02 09:06:48 UTC
  • mfrom: (1.2.18)
  • Revision ID: package-import@ubuntu.com-20130402090648-dq5fc3iy8hfoq9fq
Tags: 1.8.0~rc2-0ubuntu1
New usptream release candidate for grizzly.

Show diffs side-by-side

added added

removed removed

Lines of Context:
167
167
                    'Could not load object segment %(path)s:'
168
168
                    ' %(status)s') % {'path': path, 'status': resp.status_int})
169
169
            if self.is_slo:
170
 
                if (resp.content_length != self.segment_dict['bytes'] or
171
 
                        resp.etag != self.segment_dict['hash']):
 
170
                if resp.etag != self.segment_dict['hash']:
172
171
                    raise SloSegmentError(_(
173
172
                        'Object segment no longer valid: '
174
 
                        '%(path)s etag: %(r_etag)s != %(s_etag)s or '
175
 
                        'size: %(r_size)s != %(s_size)s') %
 
173
                        '%(path)s etag: %(r_etag)s != %(s_etag)s.' %
176
174
                        {'path': path, 'r_etag': resp.etag,
177
 
                         's_etag': self.segment_dict['hash'],
178
 
                         'r_size': resp.content_length,
179
 
                         's_size': self.segment_dict['bytes']})
 
175
                         's_etag': self.segment_dict['hash']}))
180
176
            self.segment_iter = resp.app_iter
181
177
            # See NOTE: swift_conn at top of file about this.
182
178
            self.segment_iter_swift_conn = getattr(resp, 'swift_conn', None)
848
844
                # CONTAINER_LISTING_LIMIT segments in a segmented object. In
849
845
                # this case, we're going to refuse to do the server-side copy.
850
846
                return HTTPRequestEntityTooLarge(request=req)
 
847
            if new_req.content_length > MAX_FILE_SIZE:
 
848
                return HTTPRequestEntityTooLarge(request=req)
851
849
            new_req.etag = source_resp.etag
852
850
            # we no longer need the X-Copy-From header
853
851
            del new_req.headers['X-Copy-From']