Tim Burke 1dfa41dada swift-get-nodes: Allow users to specify either quoted or unquoted paths
Now that we can have null bytes in Swift paths, we need a way for
operators to be able to locate such containers and objects. Our usual
trick of making sure the name is properly quoted for the shell won't
suffice; running something like

   swift-get-nodes /etc/swift/container.ring.gz $'AUTH_test/\0versions\0container'

has the path get cut off after "AUTH_test/" because of how argv works.

So, add a new option, --quoted, to let operators indicate that they
already quoted the path.

Drive-bys:

  * If account, container, or object are explicitly blank, treat them
    as though they were not provided. This provides better errors when
    account is explicitly blank, for example.
  * If account, container, or object are not provided or explicitly
    blank, skip printing them. This resolves abiguities about things
    like objects whose name is actually "None".
  * When displaying account, container, and object, quote them (since
    they may contain newlines or other control characters).

Change-Id: I3d10e121b403de7533cc3671604bcbdecb02c795
Related-Change: If912f71d8b0d03369680374e8233da85d8d38f85
Closes-Bug: #1875734
Closes-Bug: #1875735
Closes-Bug: #1875736
Related-Bug: #1791302
2020-06-08 12:03:56 -07:00
..
2020-04-10 11:55:07 +00:00
2020-04-03 21:22:38 +02:00