{"push_id":826561797,"size":34,"distinct_size":34,"ref":"refs/heads/hp-swift","head":"0ba5f979ad2510650c3f6b6549071489b1847ec4","before":"b0f80bc556f1b25795393fd85dcbcd1771a64b99","commits":[{"sha":"d45f08e82ebd217fa5ebbb08b9e4859aaf7cf58a","author":{"email":"678befa7f189f25950a5b641c11954996c50f0e6@yanchev.com","name":"Yavor Yanchev"},"message":"JCLOUDS-973 Extending the sudo's configuration\n\n- Adding env_reset to the default configuration in /etc/sudoers\n- Adding secure_path to the default configuration in /etc/sudoers\n- secure_path value is\n\"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin\"","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/d45f08e82ebd217fa5ebbb08b9e4859aaf7cf58a"},{"sha":"6cd716f1eaefce26b95d5e147eff90477f82def0","author":{"email":"80381af0143e1d85ecba438c6120ac63be1aea9f@gmail.com","name":"Oliver Gondža"},"message":"JCLOUDS-962: Do not override provider methods","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/6cd716f1eaefce26b95d5e147eff90477f82def0"},{"sha":"edde721937115beeee01ea4076d60b4ecf381807","author":{"email":"80381af0143e1d85ecba438c6120ac63be1aea9f@gmail.com","name":"Oliver Gondža"},"message":"JCLOUDS-962: Make all @Provider methods final","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/edde721937115beeee01ea4076d60b4ecf381807"},{"sha":"89f81840d2ed8b31ca9555dbb7be6e6e1a8dc64b","author":{"email":"6a571eac38ecbe4bbd1ea22b2779446a272e528d@gmail.com","name":"Irmo Manie"},"message":"JCLOUDS-995 - Add `userData` property to `CloudStackTemplateOptions` and map it in the underlying adapter.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/89f81840d2ed8b31ca9555dbb7be6e6e1a8dc64b"},{"sha":"9be7339c3204b6f22aac4ba2ed53b44b8a9706b5","author":{"email":"6a571eac38ecbe4bbd1ea22b2779446a272e528d@gmail.com","name":"Irmo Manie"},"message":"JCLOUDS-993 - Add missing parameters to `VirtualMachineApi`\n\n- `serviceOfferingId` at `#changeServiceForVirtualMachine`\n- `options` of type `UpdateVirtualMachineOptions` at\n  `#updateVirtualMachine`","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/9be7339c3204b6f22aac4ba2ed53b44b8a9706b5"},{"sha":"aaa164179cdf10a4076d0270e5b05bf8917028a5","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Percent encoding changes.\n\njclouds should not check if the string is encoded, but rather expect\nthat all strings would be encoded prior to transmission. As part of\nthat change, we must make sure that no code relies on such behavior\nwithin jclouds. This commit adds a blobstore test to check encoding\npattern for blobs. It also removes the encoding check in the Strings2\nclass and the related test.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/aaa164179cdf10a4076d0270e5b05bf8917028a5"},{"sha":"a0b95ea7a3df01399c95e57117b63e2a9c22a37b","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Fix encoding handling in S3.\n\nWhen constructing the query path, S3 does not properly handle encoded\npaths. For example, if a blob named %20 is to be placed into the blob\nstore, S3 would end up placing blob named \" \" (what %20 represents).\nThis occurs because the S3 provider examines the URI's path portion\n(which is presented in a decoded fasion to the caller). After\nexamining the path, it is not encoded again. Instead, we should call\ngetRawPath() to avoid this issue.\n\nThere are two issues on the decoding path:\n1. Given a blob named \" \", S3 API will throw a RuntimeException due to\na NULL check -- the key that it uses is NULL to represent the XML\ncontent \" \" corresponding to the blob name.\n2. Given a blob named \"%20 \", S3 API will generate a URI for a blob\nnamed \"%20%20\", which is also incorrect. The correct URI would be\n\"%2520%20\" (escaping the first \"%\" and \" \" characters).\n\nThe first issue is due to the currentOrNull() helper, which calls\ntrim() on the string and then compares the string to an empty string.\nThis means that a blob named \" \" will be parsed as \"\" and then\nconverted to NULL as the result of that method. Passing \"null\" as the\nkey then fails in a number of places (notably, appendPath()).\n\nThe second issue is due to the appendPath() method in the jclouds Uris\nclass. The issue here is that appendPath() calls urlDecode() and\npasses the result to path(). The path() method, in turn, also calls\nurlDecode(). After these transformations, a properly encoded blob of\nthe form %2520%20 turns into \"%20 \" and then \"  \" (two spaces). After\nthese transformations the path is encoded again, resulting in \"%20%20\"\n(which is wrong).","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/a0b95ea7a3df01399c95e57117b63e2a9c22a37b"},{"sha":"cdabc59ad86ca8538f4cb810f625ab5c217dbf4b","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Azure: Handle blobs with % correctly.\n\nWhen constructing a URI path for a blob in the listing results, the\nAzure provider should re-encode any \"bad\" characters. Azure provider\nalso should not call trim() on the blob name, as that will remove any\nleading or trailing space characters (which the provider supports). In\nfact, the trim() call is only required because of the fact that when\nparsing the XML document in the Azure tests, the white space between\nthe tags was also included in the values. Changing when the character\narray is reset eliminates the need to do so.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/cdabc59ad86ca8538f4cb810f625ab5c217dbf4b"},{"sha":"6df22338678d52f79de99968fd3ff70803e873b6","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Do not encode strings in STS tests.\n\nWhen constructing the expected HTTP requests in STS tests, STS API\nshould not pre-encode the strings. The form parameters are already\nencoded and are otherwise encoded twice.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/6df22338678d52f79de99968fd3ff70803e873b6"},{"sha":"b87ca1b33a013ad6fc11c71d1e1b9795864606f1","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: CloudStack do not encode parameters.\n\nParameters when creating an HTTP request should not be encoded in the\nCloudStack tests, as they end up being doubly encoded.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/b87ca1b33a013ad6fc11c71d1e1b9795864606f1"},{"sha":"d70127f12652d4e98f8d49e319db82137c9c5f16","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: EC2: Do not encode form parameters.\n\nEC2 tests should not pre-encode form parameters when constructing the\nexpected HTTP responses.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/d70127f12652d4e98f8d49e319db82137c9c5f16"},{"sha":"9b15fdfde8b856db5845ce346ba102c732c0ccdf","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: SQS: Do not encode parameters.\n\nSQS API tests should not encode parameters when constructing the\nexpected HTTP requests.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/9b15fdfde8b856db5845ce346ba102c732c0ccdf"},{"sha":"f7370d2b12f93827f3ed96d73f73f61d37457eda","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Nova: do encode form parameters.\n\nOpenStack Nova tests should not pre-encode parameters before passing\nthem to generate the HTTP requests, as they end up encoded twice.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/f7370d2b12f93827f3ed96d73f73f61d37457eda"},{"sha":"cbea1b64efcf77951c34d93da8ea0577a0743abf","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: AWS EC2: Do not use encoded params.\n\nAWS EC2 tests should not pre-encode HTTP parameters.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/cbea1b64efcf77951c34d93da8ea0577a0743abf"},{"sha":"85357cf92a347cd9a24e28779bd3353be00696e3","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Filesystem: avoid trailing spaces.\n\nOn Windows, we need to avoid trailing spaces, as the test fails to\ncreate the required blob. Specifically, we should not test blobs named\n\" \" and \"%20 \".","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/85357cf92a347cd9a24e28779bd3353be00696e3"},{"sha":"4bc4564900f5b95c012d225a1dd1fa24808e497f","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"Skip broken Azure test.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/4bc4564900f5b95c012d225a1dd1fa24808e497f"},{"sha":"075c912d873708a7fbedfea62fae073275c41a05","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Do not decode query strings.\n\njclouds should not decode query strings that are passed to create HTTP\nrequests. This is problematic because in some cases a wrong request\nmay be generated. The most obvious example is if one passes the \"+\"\ncharacter. For example, the following query parameter: \"users=me+you\"\nis stored by the URI builder as \"me you\" and subsequently appears in\nthe request as \"users=me%20you\", as opposed to \"users=me%2Byou\" (%2b\nis percent encoding for \"+\").\n\nThis is not currently a problem because jclouds relies on the\nisUrlEncoded() method to check if a query parameter should be decoded\nand the situation above is avoided.\n\nThis PR attempts to suggest an alternative (and what I believe is\nsimpler) approach: on the path of crafting requests, jclouds should\nonly *encode*, not decode strings. Specifically, jclouds should\n_never_ be in a situation where it relies on the isUrlEncoded()\nmethod.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/075c912d873708a7fbedfea62fae073275c41a05"},{"sha":"7151a3875ba46e768a368d534ecbaa2bb43acb14","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Cloudstack: avoid encoded strings.\n\njclouds should not use encoded strings in tests for Cloudstack.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/7151a3875ba46e768a368d534ecbaa2bb43acb14"},{"sha":"2c2b498066b44f49c4f41064aa9f80ecb2a0ac84","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: Old Swift should encode blob names.\n\nWhen constructing the URI from the blob names, the deprecated Swift\nprovider should encode the blob names.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/2c2b498066b44f49c4f41064aa9f80ecb2a0ac84"},{"sha":"f8eff7e00e979dedab511bc6f1e0aa2a9d885671","author":{"email":"20dc45d792bfb8869401a380d51aff9392f910ff@gmail.com","name":"Timur Alperovich"},"message":"JCLOUDS-217: AWS-S3: Remove special encoding.\n\nAWS-S3 provider should not pre-encode parameters that are passed to\nthe jclouds request. This comes up in the AWSS3BlobRequestSigner as\nthe only place where a parameter is pre-encoded.","distinct":true,"url":"https://api.github.com/repos/organicelement/jclouds/commits/f8eff7e00e979dedab511bc6f1e0aa2a9d885671"}]}