From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel De Graaf Subject: [PATCH 11/15] flask: improve unknown permission handling Date: Thu, 9 Jun 2016 10:47:14 -0400 Message-ID: <1465483638-9489-12-git-send-email-dgdegra@tycho.nsa.gov> References: <1465483638-9489-1-git-send-email-dgdegra@tycho.nsa.gov> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1465483638-9489-1-git-send-email-dgdegra@tycho.nsa.gov> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Daniel De Graaf List-Id: xen-devel@lists.xenproject.org V2hlbiBhbiB1bmtub3duIGRvbWN0bCwgc3lzY3RsLCBvciBvdGhlciBvcGVyYXRpb24gaXMgZW5j b3VudGVyZWQgaW4gdGhlCkZMQVNLIHNlY3VyaXR5IHNlcnZlciwgdXNlIHRoZSBhbGxvd191bmtu b3duIGJpdCBpbiB0aGUgc2VjdXJpdHkgcG9saWN5CnRvIGRlY2lkZSBpZiB0aGUgcGVybWlzc2lv biBzaG91bGQgYmUgYWxsb3dlZCBvciBkZW5pZWQuICBUaGlzIGJpdCBpcwpvZmYgYnkgZGVmYXVs dCwgYnV0IGl0IGNhbiBiZSBzZXQgYnkgdXNpbmcgY2hlY2twb2xpY3kgLVUgYWxsb3cgd2hlbgpj b21waWxpbmcgdGhlIHBvbGljeS4gIFRoaXMgYWxsb3dzIG5ldyBvcGVyYXRpb25zIHRvIGJlIHRl c3RlZCB3aXRob3V0Cm5lZWRpbmcgdG8gaW1tZWRpYXRlbHkgYWRkIHNlY3VyaXR5IGNoZWNrczsg aG93ZXZlciwgaXQgaXMgbm90IGZsZXhpYmxlCmVub3VnaCB0byBhdm9pZCBhZGRpbmcgdGhlIGFj dHVhbCBwZXJtaXNzaW9uIGNoZWNrcy4gIEFuIGVycm9yIG1lc3NhZ2UKaXMgcHJpbnRlZCB0byB0 aGUgaHlwZXJ2aXNvciBjb25zb2xlIHdoZW4gdGhpcyBmYWxsYmFjayBpcyBlbmNvdW50ZXJlZC4K ClNpZ25lZC1vZmYtYnk6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5uc2EuZ292Pgot LS0KIHhlbi94c20vZmxhc2svaG9va3MuYyAgICAgICAgICAgIHwgNDQgKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogeGVuL3hzbS9mbGFzay9pbmNsdWRlL3NlY3VyaXR5 LmggfCAgMiArKwogeGVuL3hzbS9mbGFzay9zcy9wb2xpY3lkYi5jICAgICAgfCAgMSArCiB4ZW4v eHNtL2ZsYXNrL3NzL3BvbGljeWRiLmggICAgICB8ICA2ICsrKysrKwogeGVuL3hzbS9mbGFzay9z cy9zZXJ2aWNlcy5jICAgICAgfCAgNSArKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRp b25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL2hvb2tz LmMgYi94ZW4veHNtL2ZsYXNrL2hvb2tzLmMKaW5kZXggYThkNDVlNy4uM2FiM2ZiZiAxMDA2NDQK LS0tIGEveGVuL3hzbS9mbGFzay9ob29rcy5jCisrKyBiL3hlbi94c20vZmxhc2svaG9va3MuYwpA QCAtMTM2LDYgKzEzNiwyMyBAQCBzdGF0aWMgaW50IGdldF9pcnFfc2lkKGludCBpcnEsIHUzMiAq c2lkLCBzdHJ1Y3QgYXZjX2F1ZGl0X2RhdGEgKmFkKQogICAgIHJldHVybiAwOwogfQogCitzdGF0 aWMgaW50IGF2Y191bmtub3duX3Blcm1pc3Npb24oY29uc3QgY2hhciAqbmFtZSwgaW50IGlkKQor eworICAgIGludCByYzsKKyAgICBpZiAoICFmbGFza19lbmZvcmNpbmcgfHwgc2VjdXJpdHlfZ2V0 X2FsbG93X3Vua25vd24oKSApCisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX0dfV0FSTklO RyAiRkxBU0s6IEFsbG93aW5nIHVua25vd24gJXM6ICVkLlxuIiwgbmFtZSwgaWQpOworICAgICAg ICByYyA9IDA7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHByaW50ayhYRU5MT0df R19FUlIgIkZMQVNLOiBEZW55aW5nIHVua25vd24gJXM6ICVkLlxuIiwgbmFtZSwgaWQpOworICAg ICAgICByYyA9IC1FUEVSTTsKKyAgICB9CisKKyAgICByZXR1cm4gcmM7Cit9CisKIHN0YXRpYyBp bnQgZmxhc2tfZG9tYWluX2FsbG9jX3NlY3VyaXR5KHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAg c3RydWN0IGRvbWFpbl9zZWN1cml0eV9zdHJ1Y3QgKmRzZWM7CkBAIC0yNzEsNyArMjg4LDcgQEAg c3RhdGljIGludCBmbGFza19ldnRjaG5fc2VuZChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgZXZ0 Y2huICpjaG4pCiAgICAgICAgIHJjID0gMDsKICAgICAgICAgYnJlYWs7CiAgICAgZGVmYXVsdDoK LSAgICAgICAgcmMgPSAtRVBFUk07CisgICAgICAgIHJjID0gYXZjX3Vua25vd25fcGVybWlzc2lv bigiZXZlbnQgY2hhbm5lbCBzdGF0ZSIsIGNobi0+c3RhdGUpOwogICAgIH0KIAogICAgIHJldHVy biByYzsKQEAgLTQyMyw3ICs0NDAsNyBAQCBzdGF0aWMgaW50IGZsYXNrX2NvbnNvbGVfaW8oc3Ry dWN0IGRvbWFpbiAqZCwgaW50IGNtZCkKICAgICAgICAgcGVybSA9IFhFTl9fV1JJVEVDT05TT0xF OwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gLUVQRVJNOwor ICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigiY29uc29sZV9pbyIsIGNtZCk7 CiAgICAgfQogCiAgICAgcmV0dXJuIGRvbWFpbl9oYXNfeGVuKGQsIHBlcm0pOwpAQCAtNDU1LDcg KzQ3Miw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfcHJvZmlsZShzdHJ1Y3QgZG9tYWluICpkLCBpbnQg b3ApCiAgICAgICAgIHBlcm0gPSBYRU5fX1BSSVZQUk9GSUxFOwogICAgICAgICBicmVhazsKICAg ICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1cm4gYXZjX3Vu a25vd25fcGVybWlzc2lvbigieGVub3Byb2Ygb3AiLCBvcCk7CiAgICAgfQogCiAgICAgcmV0dXJu IGRvbWFpbl9oYXNfeGVuKGQsIHBlcm0pOwpAQCAtNTIxLDggKzUzOCw3IEBAIHN0YXRpYyBpbnQg Zmxhc2tfZG9tY3RsX3NjaGVkdWxlcl9vcChzdHJ1Y3QgZG9tYWluICpkLCBpbnQgb3ApCiAgICAg ICAgIHJldHVybiBjdXJyZW50X2hhc19wZXJtKGQsIFNFQ0NMQVNTX0RPTUFJTiwgRE9NQUlOX19H RVRTQ0hFRFVMRVIpOwogCiAgICAgZGVmYXVsdDoKLSAgICAgICAgcHJpbnRrKCJmbGFza19kb21j dGxfc2NoZWR1bGVyX29wOiBVbmtub3duIG9wICVkXG4iLCBvcCk7Ci0gICAgICAgIHJldHVybiAt RVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJkb21jdGxfc2No ZWR1bGVyX29wIiwgb3ApOwogICAgIH0KIH0KIApAQCAtNTM3LDggKzU1Myw3IEBAIHN0YXRpYyBp bnQgZmxhc2tfc3lzY3RsX3NjaGVkdWxlcl9vcChpbnQgb3ApCiAgICAgICAgIHJldHVybiBkb21h aW5faGFzX3hlbihjdXJyZW50LT5kb21haW4sIFhFTl9fR0VUU0NIRURVTEVSKTsKIAogICAgIGRl ZmF1bHQ6Ci0gICAgICAgIHByaW50aygiZmxhc2tfc3lzY3RsX3NjaGVkdWxlcl9vcDogVW5rbm93 biBvcCAlZFxuIiwgb3ApOwotICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1cm4g YXZjX3Vua25vd25fcGVybWlzc2lvbigic3lzY3RsX3NjaGVkdWxlcl9vcCIsIG9wKTsKICAgICB9 CiB9CiAKQEAgLTczNSw4ICs3NTAsNyBAQCBzdGF0aWMgaW50IGZsYXNrX2RvbWN0bChzdHJ1Y3Qg ZG9tYWluICpkLCBpbnQgY21kKQogICAgICAgICByZXR1cm4gY3VycmVudF9oYXNfcGVybShkLCBT RUNDTEFTU19ET01BSU4yLCBET01BSU4yX19TT0ZUX1JFU0VUKTsKIAogICAgIGRlZmF1bHQ6Ci0g ICAgICAgIHByaW50aygiZmxhc2tfZG9tY3RsOiBVbmtub3duIG9wICVkXG4iLCBjbWQpOwotICAg ICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lv bigiZG9tY3RsIiwgY21kKTsKICAgICB9CiB9CiAKQEAgLTgxMSw4ICs4MjUsNyBAQCBzdGF0aWMg aW50IGZsYXNrX3N5c2N0bChpbnQgY21kKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWEVOMl9fTElWRVBBVENIX09QLCBOVUxMKTsKIAogICAgIGRlZmF1bHQ6Ci0gICAgICAg IHByaW50aygiZmxhc2tfc3lzY3RsOiBVbmtub3duIG9wICVkXG4iLCBjbWQpOwotICAgICAgICBy ZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigic3lz Y3RsIiwgY21kKTsKICAgICB9CiB9CiAKQEAgLTExMjksNyArMTE0Miw3IEBAIHN0YXRpYyBpbmxp bmUgaW50IGZsYXNrX3BhZ2Vfb2ZmbGluZSh1aW50MzJfdCBjbWQpCiAgICAgY2FzZSBzeXNjdGxf cXVlcnlfcGFnZV9vZmZsaW5lOgogICAgICAgICByZXR1cm4gZmxhc2tfcmVzb3VyY2VfdXNlX2Nv cmUoKTsKICAgICBkZWZhdWx0OgotICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1 cm4gYXZjX3Vua25vd25fcGVybWlzc2lvbigicGFnZV9vZmZsaW5lIiwgY21kKTsKICAgICB9CiB9 CiAKQEAgLTE0MDIsOCArMTQxNSw3IEBAIHN0YXRpYyBpbnQgZmxhc2tfcGxhdGZvcm1fb3AodWlu dDMyX3Qgb3ApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0VDQ0xBU1NfWEVOMiwgWEVO Ml9fR0VUX1NZTUJPTCwgTlVMTCk7CiAKICAgICBkZWZhdWx0OgotICAgICAgICBwcmludGsoImZs YXNrX3BsYXRmb3JtX29wOiBVbmtub3duIG9wICVkXG4iLCBvcCk7Ci0gICAgICAgIHJldHVybiAt RVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNzaW9uKCJwbGF0Zm9ybV9v cCIsIG9wKTsKICAgICB9CiB9CiAKQEAgLTE0MzQsNyArMTQ0Niw3IEBAIHN0YXRpYyBpbnQgZmxh c2tfc2hhZG93X2NvbnRyb2woc3RydWN0IGRvbWFpbiAqZCwgdWludDMyX3Qgb3ApCiAgICAgICAg IHBlcm0gPSBTSEFET1dfX0xPR0RJUlRZOwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0Ogot ICAgICAgICByZXR1cm4gLUVQRVJNOworICAgICAgICByZXR1cm4gYXZjX3Vua25vd25fcGVybWlz c2lvbigic2hhZG93X2NvbnRyb2wiLCBvcCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGN1cnJlbnRf aGFzX3Blcm0oZCwgU0VDQ0xBU1NfU0hBRE9XLCBwZXJtKTsKQEAgLTE1MzgsNyArMTU1MCw3IEBA IHN0YXRpYyBpbnQgZmxhc2tfYXBpYyhzdHJ1Y3QgZG9tYWluICpkLCBpbnQgY21kKQogICAgICAg ICBwZXJtID0gWEVOX19XUklURUFQSUM7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6Ci0g ICAgICAgIHJldHVybiAtRVBFUk07CisgICAgICAgIHJldHVybiBhdmNfdW5rbm93bl9wZXJtaXNz aW9uKCJhcGljIiwgY21kKTsKICAgICB9CiAKICAgICByZXR1cm4gZG9tYWluX2hhc194ZW4oZCwg cGVybSk7CmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL2luY2x1ZGUvc2VjdXJpdHkuaCBiL3hl bi94c20vZmxhc2svaW5jbHVkZS9zZWN1cml0eS5oCmluZGV4IDJiMDAxNzcuLjFkYTAyMGQgMTAw NjQ0Ci0tLSBhL3hlbi94c20vZmxhc2svaW5jbHVkZS9zZWN1cml0eS5oCisrKyBiL3hlbi94c20v Zmxhc2svaW5jbHVkZS9zZWN1cml0eS5oCkBAIC03OCw2ICs3OCw4IEBAIGludCBzZWN1cml0eV9z aWRfdG9fY29udGV4dCh1MzIgc2lkLCBjaGFyICoqc2NvbnRleHQsIHUzMiAqc2NvbnRleHRfbGVu KTsKIAogaW50IHNlY3VyaXR5X2NvbnRleHRfdG9fc2lkKGNoYXIgKnNjb250ZXh0LCB1MzIgc2Nv bnRleHRfbGVuLCB1MzIgKm91dF9zaWQpOwogCitpbnQgc2VjdXJpdHlfZ2V0X2FsbG93X3Vua25v d24odm9pZCk7CisKIGludCBzZWN1cml0eV9pcnFfc2lkKGludCBwaXJxLCB1MzIgKm91dF9zaWQp OwogCiBpbnQgc2VjdXJpdHlfaW9tZW1fc2lkKHVuc2lnbmVkIGxvbmcsIHUzMiAqb3V0X3NpZCk7 CmRpZmYgLS1naXQgYS94ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRiLmMgYi94ZW4veHNtL2ZsYXNr L3NzL3BvbGljeWRiLmMKaW5kZXggOGFhODhjMS4uNDY1NzRjMyAxMDA2NDQKLS0tIGEveGVuL3hz bS9mbGFzay9zcy9wb2xpY3lkYi5jCisrKyBiL3hlbi94c20vZmxhc2svc3MvcG9saWN5ZGIuYwpA QCAtMTg0Myw2ICsxODQzLDcgQEAgaW50IHBvbGljeWRiX3JlYWQoc3RydWN0IHBvbGljeWRiICpw LCB2b2lkICpmcCkKICAgICAgICAgICAgIGdvdG8gYmFkOwogICAgICAgICB9CiAgICAgfQorICAg IHAtPmFsbG93X3Vua25vd24gPSAhIShsZTMyX3RvX2NwdShidWZbMV0pICYgQUxMT1dfVU5LTk9X Tik7CiAKICAgICBpZiAoIHAtPnBvbGljeXZlcnMgPj0gUE9MSUNZREJfVkVSU0lPTl9QT0xDQVAg JiYKICAgICAgICAgIGViaXRtYXBfcmVhZCgmcC0+cG9saWN5Y2FwcywgZnApICE9IDAgKQpkaWZm IC0tZ2l0IGEveGVuL3hzbS9mbGFzay9zcy9wb2xpY3lkYi5oIGIveGVuL3hzbS9mbGFzay9zcy9w b2xpY3lkYi5oCmluZGV4IDUwZTIyZjMuLmViMWU0NGQgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxh c2svc3MvcG9saWN5ZGIuaAorKysgYi94ZW4veHNtL2ZsYXNrL3NzL3BvbGljeWRiLmgKQEAgLTI0 Niw2ICsyNDYsOCBAQCBzdHJ1Y3QgcG9saWN5ZGIgewogCiAgICAgdW5zaWduZWQgaW50IHBvbGlj eXZlcnM7CiAKKyAgICB1bnNpZ25lZCBpbnQgYWxsb3dfdW5rbm93biA6IDE7CisKICAgICB1MTYg dGFyZ2V0X3R5cGU7CiB9OwogCkBAIC0yNjEsNiArMjYzLDEwIEBAIGV4dGVybiBpbnQgcG9saWN5 ZGJfcmVhZChzdHJ1Y3QgcG9saWN5ZGIgKnAsIHZvaWQgKmZwKTsKIAogI2RlZmluZSBQT0xJQ1lE Ql9DT05GSUdfTUxTICAgIDEKIAorLyogdGhlIGNvbmZpZyBmbGFncyByZWxhdGVkIHRvIHVua25v d24gY2xhc3Nlcy9wZXJtcyBhcmUgYml0cyAyIGFuZCAzICovCisjZGVmaW5lIFJFSkVDVF9VTktO T1dOIDB4MDAwMDAwMDIKKyNkZWZpbmUgQUxMT1dfVU5LTk9XTiAgMHgwMDAwMDAwNAorCiAjZGVm aW5lIE9CSkVDVF9SICJvYmplY3RfciIKICNkZWZpbmUgT0JKRUNUX1JfVkFMIDEKIApkaWZmIC0t Z2l0IGEveGVuL3hzbS9mbGFzay9zcy9zZXJ2aWNlcy5jIGIveGVuL3hzbS9mbGFzay9zcy9zZXJ2 aWNlcy5jCmluZGV4IGM5YjI3YTAuLmNlODgwZTkgMTAwNjQ0Ci0tLSBhL3hlbi94c20vZmxhc2sv c3Mvc2VydmljZXMuYworKysgYi94ZW4veHNtL2ZsYXNrL3NzL3NlcnZpY2VzLmMKQEAgLTE0NjUs NiArMTQ2NSwxMSBAQCBlcnI6CiAKIH0KIAoraW50IHNlY3VyaXR5X2dldF9hbGxvd191bmtub3du KHZvaWQpCit7CisgICAgcmV0dXJuIHBvbGljeWRiLmFsbG93X3Vua25vd247Cit9CisKIC8qKgog ICogc2VjdXJpdHlfaXJxX3NpZCAtIE9idGFpbiB0aGUgU0lEIGZvciBhIHBoeXNpY2FsIGlycS4K ICAqIEBwaXJxOiBwaHlzaWNhbCBpcnEKLS0gCjIuNS41CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK