{"push_id":1387944410,"size":34,"distinct_size":34,"ref":"refs/heads/th/ifcfg-rh-shell-parsing-rh1369380","head":"2776d797e330d01773d69559294dfb154e2a247a","before":"ed9509b8b45ec76f15ad230d1870133fa781d8c8","commits":[{"sha":"30ecef8728707bbd2ac0d5e1fa93f910c3953d07","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"libnm: don't clear digest buffer in crypto_md5_hash()\n\n... and disable some assertions in non-debug builds.\n\nThe digest doesn't contain sensitive information so there is\nno need to clear the MD5 result. Well... maybe the digest\ndoes contain some sensitive information, but then neither\ndoes GChecksum anything to clear its memory on release.\nIf we care about this, we shouldn't use glib's MD5 implementation.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/30ecef8728707bbd2ac0d5e1fa93f910c3953d07"},{"sha":"5c5da76f252a9c360e8facf584f10c87f8faeef4","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"shared: add NM_STRCHAR_ALL() and NM_STRCHAR_ANY() macros","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/5c5da76f252a9c360e8facf584f10c87f8faeef4"},{"sha":"05d3211c2fc1bce30df1770a901659782f48aafb","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"shared: add nmtst_file_get_contents()","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/05d3211c2fc1bce30df1770a901659782f48aafb"},{"sha":"f5b0fdcc4a156b49ed615ef1c4dfaec4423615d5","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"shared: add nmtst_auto_unlinkfile cleanup macro","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/f5b0fdcc4a156b49ed615ef1c4dfaec4423615d5"},{"sha":"79cf9baff165a473c94196b082999bf4e5776135","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"shared: add nmtst_uuid_generate_a() helper macro","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/79cf9baff165a473c94196b082999bf4e5776135"},{"sha":"03f588abdf527546aa989bcbf9e234b70ee97667","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh/tests: use cleanup macros in ifcfg-rh test","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/03f588abdf527546aa989bcbf9e234b70ee97667"},{"sha":"905881d8d4b4ca637c94ada78c75c7a5cc074956","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh/trivial: coding style/white-space","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/905881d8d4b4ca637c94ada78c75c7a5cc074956"},{"sha":"55bc3947b4bcfe888474f521cb5a8ffdf4205166","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: unescape ifcfg value for CIPHER_GROUP/CIPHER_PAIRWISE\n\nIt's not clear why we would read the CIPHER_GROUP/CIPHER_PAIRWISE\nverbatim=FALSE (without shell unescaping). Especially since ifcfg-rh\nwriter does\n  svSetValue (ifcfg, \"CIPHER_PAIRWISE\", str->str, FALSE);","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/55bc3947b4bcfe888474f521cb5a8ffdf4205166"},{"sha":"04fcf1aa7b5d42c93af238440bc5e34378b328ef","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: read team key non-verbatim from ifcfg-rh\n\nsvUnescape() has no problem with extremely long strings.\nIt does not allocate any memory and has O(n) complexity.\nNo problem.\n\nIf somebody has a problem with extremely large files it's\nshvarFile itself which caches the entire file in memory *sigh*.\n\nAlso, libnm-core allows team configs to be 1 MB in size.\nSo, allow that here too.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/04fcf1aa7b5d42c93af238440bc5e34378b328ef"},{"sha":"77c0c5d54e0a1e871047665f1ea253546008e842","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: change ESSID handling\n\nLet shvar.h do the escaping/unescaping of the ESSID.\nWe should not treat a value differently whether it is quoted or not.\n\nAlso, cutting away double quotes and calling svUnescape() is just wrong.\n\nNow, we write a value in hex if it contains non-printable characters\nor if the reader would treat it like a hex value. Reader treats ESSID\nnow as hex if it starts with \"0x\" followed by pairs of hex digits.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/77c0c5d54e0a1e871047665f1ea253546008e842"},{"sha":"89355d4bd7a74bc595645b70bec23e63185ee996","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: handle quotes of WPA_PSK key inside shvar.h\n\nIt is wrong to move the handling of quotes outside of shvar.h.\nThe ifcfg-rh core library (shvar.h) should handle quotation\ntransparently.\n\nIt is also wrong to encode meaning of the WPA_PSK depending on whether\nthe value is quoted or not. A psk that is 64 chars *must* be in hex\nrepresentation, and anything else is taken literal.\n\nAlso, the special handling of bash-syntax with $' was wrong. Including\nthe unit test \"keys-test-wifi-wpa-psk-2\" which contained invalid shell.\nSupport for $' must be done inside of shvar.h, for all properties alike\nnot just for WPA_PSK.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/89355d4bd7a74bc595645b70bec23e63185ee996"},{"sha":"e884c2c784708ce6ed8422b328fc53cbb61799ca","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh/trivial: remove unused functions utils_single_quote_string() and unquote","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/e884c2c784708ce6ed8422b328fc53cbb61799ca"},{"sha":"85116f42f3712f58bbbec9f986b3cfc6d32561f6","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: don't call svSetValue with verbatim=TRUE\n\nThis is at best a performance optimization. In the next step\nget rid of the verbatim argument, so ensure we pass FALSE everwhere.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/85116f42f3712f58bbbec9f986b3cfc6d32561f6"},{"sha":"cb1e01c532ea7093fc2eacb9a9fcc1d38fa84070","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: remove unused argument \"verbatim\" from shvar.h API\n\nIt is wrong to allow access to unquoted ifcfg-rh values.\nAll users of this ~feature~ misused it to encode meaning\nin the type of quotation, which is wrong.\n\nAlso, shvar.h is not able to fully parse shell. We can improve\nthat, but it should be handled internally, in one place. Not by\ncallers applying some quirks after getting a \"verbatim\" value.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/cb1e01c532ea7093fc2eacb9a9fcc1d38fa84070"},{"sha":"03eddee7ac958e4b96bca90ab10a5e7ee410a888","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: add and use svSetValueBoolean()","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/03eddee7ac958e4b96bca90ab10a5e7ee410a888"},{"sha":"da478569de210192a951ef047661c31581398358","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh/trivial: rename svGetValue() and related\n\nsvGetValue() had the meaning of returning a string, except the\nempty word \"\" was coerced to NULL.\n\nsvGetValueFull() had the meaing of returing the value as string,\nincluding the empty word.\n\nRename those functions to better express what they do.\n\nSame for svSetValue*().","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/da478569de210192a951ef047661c31581398358"},{"sha":"b900d1c90ed46150d4fca1b0002cf25c29a3ec1e","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: cleanup svEscape()\n\nUse size_t type for string length and have character sets\nas #define.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/b900d1c90ed46150d4fca1b0002cf25c29a3ec1e"},{"sha":"b3c0f0f35daa6768f5a8898120db33ab89c98c31","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: assert that keys are valid shell names","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/b3c0f0f35daa6768f5a8898120db33ab89c98c31"},{"sha":"d81fca96d9f62778b96d3ee3f699a66bd7abe6e4","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: allow leading spaces before variable names","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/d81fca96d9f62778b96d3ee3f699a66bd7abe6e4"},{"sha":"f13ccc5b0c427aac5e15901294c4cb5ab5be0d3c","author":{"name":"Thomas Haller","email":"9d2a1d242d3f6644641a729c1b364077592f4cb6@redhat.com"},"message":"ifcfg-rh: refactor svUnescape()\n\nMove the g_strchomp() inside svUnescape(). It is part of the\nescaping process (although of course wrong to do, because\nit accepts \"FOO=  bar\". That will be fixed later).\n\nThereby, change the signature to allow in the future\nto do unescape without additional copy.","distinct":true,"url":"https://api.github.com/repos/NetworkManager/NetworkManager/commits/f13ccc5b0c427aac5e15901294c4cb5ab5be0d3c"}]}
{"actor":{"display_login":"lkundrak"}}