Python interceptors - no way to get peer identity - patch
Konstantin Olkhovskiy <[email protected]> Thu, 10 Jun 2010 14:27:54 +0400
| Newsgroups | gmane.comp.corba.omniorb.devel |
|---|---|
| Message-ID | <[email protected]> |
--000e0cd5ca44ae74460488aa7926 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hello, finally i managed to code it down... It should not break any existing code. One should pass optional second boolean argument to addServerReceiveRequest or addClientReceiveReply, i.e.: interceptors.addServerReceiveRequest(validateCredentials, True) interceptors.addClientReceiveReply(validateCredentials, True) Sample validateCredentials might look like this: def validateCredentials(op, contexts, peer_info): =A0address =3D peer_info['address'] =A0identity =3D peer_info['identity'] =A0print "%s@%s" % (address, identity) Patch is attached. Hope i didn't forget anything. -- Cheers, Konstantin Olkhovskiy --000e0cd5ca44ae74460488aa7926 Content-Type: text/x-patch; charset=US-ASCII; name="pyInterceptors.patch" Content-Disposition: attachment; filename="pyInterceptors.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ga9fxsev0 LS0tIG9tbmlPUkJweS0zLjQub3JpZy9tb2R1bGVzL3B5SW50ZXJjZXB0b3JzLmNjCTIwMDktMDUt MDYgMjA6NTA6MzAuMDAwMDAwMDAwICswNDAwCisrKyBvbW5pT1JCcHktMy40L21vZHVsZXMvcHlJ bnRlcmNlcHRvcnMuY2MJMjAxMC0wNi0xMCAxNDoxNjo1MC4wMzc1NTI3MzkgKzA0MDAKQEAgLTYx LDExICs2MSwxMyBAQAogCiAKIC8vIFB5dGhvbiBsaXN0cyBvZiBpbnRlcmNlcHRvciBmdW5jdGlv bnMKLXN0YXRpYyBQeU9iamVjdCogY2xpZW50U2VuZFJlcXVlc3RGbnMgICAgPSAwOwotc3RhdGlj IFB5T2JqZWN0KiBjbGllbnRSZWNlaXZlUmVwbHlGbnMgICA9IDA7Ci1zdGF0aWMgUHlPYmplY3Qq IHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zID0gMDsKLXN0YXRpYyBQeU9iamVjdCogc2VydmVyU2Vu ZFJlcGx5Rm5zICAgICAgPSAwOwotc3RhdGljIFB5T2JqZWN0KiBzZXJ2ZXJTZW5kRXhjZXB0aW9u Rm5zICA9IDA7CitzdGF0aWMgUHlPYmplY3QqIGNsaWVudFNlbmRSZXF1ZXN0Rm5zICAgICAgICAg PSAwOworc3RhdGljIFB5T2JqZWN0KiBjbGllbnRSZWNlaXZlUmVwbHlGbnMgICAgICAgID0gMDsK K3N0YXRpYyBQeU9iamVjdCogY2xpZW50UmVjZWl2ZVJlcGx5Rm5zQ3JlZHMgICA9IDA7CitzdGF0 aWMgUHlPYmplY3QqIHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zICAgICAgPSAwOworc3RhdGljIFB5 T2JqZWN0KiBzZXJ2ZXJSZWNlaXZlUmVxdWVzdEZuc0NyZWRzID0gMDsKK3N0YXRpYyBQeU9iamVj dCogc2VydmVyU2VuZFJlcGx5Rm5zICAgICAgICAgICA9IDA7CitzdGF0aWMgUHlPYmplY3QqIHNl cnZlclNlbmRFeGNlcHRpb25GbnMgICAgICAgPSAwOwogCiAKIHN0YXRpYyBpbmxpbmUKQEAgLTE2 NiwxOCArMTY4LDQxIEBACiB2b2lkCiBnZXRDb250ZXh0c0FuZENhbGxJbnRlcmNlcHRvcnMoUHlP YmplY3QqICAgICAgICAgICAgICAgIGZubGlzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBjaGFyKiAgICAgICAgICAgICAgb3BuYW1lLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICBwYXNzX3BlZXJfaW5mbywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiAgICAgICAgICAgICAgcGVl cl9hZGRyZXNzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqICAg ICAgICAgICAgICBwZWVyX2lkZW50aXR5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPUDo6U2VydmljZUNvbnRleHRMaXN0JiBzZXJ2aWNlX2NvbnRleHRzLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENPUkJBOjpDb21wbGV0aW9uU3RhdHVzICBjb21wbGV0aW9uKQog ewogICBpbnQgaTsKICAgaW50IHNjbGVuID0gc2VydmljZV9jb250ZXh0cy5sZW5ndGgoKTsKIAot ICBQeU9iamVjdCogYXJndHVwbGUgPSBQeVR1cGxlX05ldygyKTsKKyAgUHlPYmplY3QqIGFyZ3R1 cGxlID0gUHlUdXBsZV9OZXcocGFzc19wZWVyX2luZm8gPyAzIDogMik7CiAgIFB5T2JqZWN0KiBz Y3R1cGxlICA9IFB5VHVwbGVfTmV3KHNjbGVuKTsKIAogICBQeVR1cGxlX1NFVF9JVEVNKGFyZ3R1 cGxlLCAwLCBQeVN0cmluZ19Gcm9tU3RyaW5nKG9wbmFtZSkpOwogICBQeVR1cGxlX1NFVF9JVEVN KGFyZ3R1cGxlLCAxLCBzY3R1cGxlKTsKIAorICBpZihwYXNzX3BlZXJfaW5mbykgeworCVB5T2Jq ZWN0KiBwZWVyX2luZm8gPSBQeURpY3RfTmV3KCk7CisgICAgUHlPYmplY3QqIHZhbHVlOworICAg IGlmKHBlZXJfYWRkcmVzcykgeworICAgICAgdmFsdWUgPSBQeVN0cmluZ19Gcm9tU3RyaW5nKHBl ZXJfYWRkcmVzcyk7CisgICAgfSBlbHNlIHsKKyAgICAgIHZhbHVlID0gUHlfTm9uZTsKKyAgICAg IFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAgICB9CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcocGVl cl9pbmZvLCAiYWRkcmVzcyIsIHZhbHVlKTsKKyAgICBpZihwZWVyX2lkZW50aXR5KSB7CisgICAg ICB2YWx1ZSA9IFB5U3RyaW5nX0Zyb21TdHJpbmcocGVlcl9pZGVudGl0eSk7CisgICAgfSBlbHNl IHsKKyAgICAgIHZhbHVlID0gUHlfTm9uZTsKKyAgICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKKyAg ICB9CisgICAgUHlEaWN0X1NldEl0ZW1TdHJpbmcocGVlcl9pbmZvLCAiaWRlbnRpdHkiLCB2YWx1 ZSk7CisgICAgUHlUdXBsZV9TRVRfSVRFTShhcmd0dXBsZSwgMiwgcGVlcl9pbmZvKTsKKyAgfQor CiAgIGZvciAoaT0wOyBpIDwgc2NsZW47IGkrKykgewogICAgIFB5T2JqZWN0KiBzYyA9IFB5VHVw bGVfTmV3KDIpOwogICAgIFB5VHVwbGVfU0VUX0lURU0oc2MsIDAsCkBAIC0yMzgsMTEgKzI2Mywy NSBAQAogCiAgIG9tbmlweVRocmVhZENhY2hlOjpsb2NrIF90OwogCi0gIGdldENvbnRleHRzQW5k Q2FsbEludGVyY2VwdG9ycyhjbGllbnRSZWNlaXZlUmVwbHlGbnMsCi0JCQkJIGluZm8uZ2lvcF9j Lm9wZXJhdGlvbigpLAotCQkJCSBpbmZvLnNlcnZpY2VfY29udGV4dHMsCi0JCQkJIChDT1JCQTo6 Q29tcGxldGlvblN0YXR1cykKLQkJCQkgaW5mby5naW9wX2MuY29tcGxldGlvbigpKTsKKyAgZ2lv cFN0cmFuZCYgc3RyYW5kID0gKG9tbmk6Omdpb3BTdHJhbmQmKSBpbmZvLmdpb3BfYzsKKyAgZ2lv cENvbm5lY3Rpb24qIGNvbm5lY3Rpb24gPSBzdHJhbmQuY29ubmVjdGlvbjsKKyAgY29uc3QgY2hh ciAqIGFkZHJlc3MgPSBjb25uZWN0aW9uLT5wZWVyYWRkcmVzcygpOworICBjb25zdCBjaGFyICog aWRlbnRpdHkgPSBjb25uZWN0aW9uLT5wZWVyaWRlbnRpdHkoKTsKKworICBpZihQeUxpc3RfU2l6 ZShjbGllbnRSZWNlaXZlUmVwbHlGbnMpKQorICAgIGdldENvbnRleHRzQW5kQ2FsbEludGVyY2Vw dG9ycyhjbGllbnRSZWNlaXZlUmVwbHlGbnMsCisgICAgICAgICAgICAgICAgICAgaW5mby5naW9w X2Mub3BlcmF0aW9uKCksCisgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgTlVMTCwKKyAg ICAgICAgICAgICAgICAgICBpbmZvLnNlcnZpY2VfY29udGV4dHMsCisgICAgICAgICAgICAgICAg ICAgKENPUkJBOjpDb21wbGV0aW9uU3RhdHVzKQorICAgICAgICAgICAgICAgICAgIGluZm8uZ2lv cF9jLmNvbXBsZXRpb24oKSk7CisgIGlmKFB5TGlzdF9TaXplKGNsaWVudFJlY2VpdmVSZXBseUZu c0NyZWRzKSkKKyAgICBnZXRDb250ZXh0c0FuZENhbGxJbnRlcmNlcHRvcnMoY2xpZW50UmVjZWl2 ZVJlcGx5Rm5zQ3JlZHMsCisgICAgICAgICAgICAgICAgICAgaW5mby5naW9wX2Mub3BlcmF0aW9u KCksCisgICAgICAgICAgICAgICAgICAgMSwgYWRkcmVzcywgaWRlbnRpdHksCisgICAgICAgICAg ICAgICAgICAgaW5mby5zZXJ2aWNlX2NvbnRleHRzLAorICAgICAgICAgICAgICAgICAgIChDT1JC QTo6Q29tcGxldGlvblN0YXR1cykKKyAgICAgICAgICAgICAgICAgICBpbmZvLmdpb3BfYy5jb21w bGV0aW9uKCkpOwogICByZXR1cm4gMTsKIH0KIApAQCAtMjU1LDExICsyOTQsMjYgQEAKIAogICBv bW5pcHlUaHJlYWRDYWNoZTo6bG9jayBfdDsKIAotICBnZXRDb250ZXh0c0FuZENhbGxJbnRlcmNl cHRvcnMoc2VydmVyUmVjZWl2ZVJlcXVlc3RGbnMsCi0JCQkJIGluZm8uZ2lvcF9zLm9wZXJhdGlv bigpLAotCQkJCSBpbmZvLmdpb3Bfcy5zZXJ2aWNlX2NvbnRleHRzKCksCi0JCQkJIChDT1JCQTo6 Q29tcGxldGlvblN0YXR1cykKLQkJCQkgaW5mby5naW9wX3MuY29tcGxldGlvbigpKTsKKworICBn aW9wU3RyYW5kJiBzdHJhbmQgPSAob21uaTo6Z2lvcFN0cmFuZCYpIGluZm8uZ2lvcF9zOworICBn aW9wQ29ubmVjdGlvbiogY29ubmVjdGlvbiA9IHN0cmFuZC5jb25uZWN0aW9uOworICBjb25zdCBj aGFyICogYWRkcmVzcyA9IGNvbm5lY3Rpb24tPnBlZXJhZGRyZXNzKCk7CisgIGNvbnN0IGNoYXIg KiBpZGVudGl0eSA9IGNvbm5lY3Rpb24tPnBlZXJpZGVudGl0eSgpOworCisgIGlmKFB5TGlzdF9T aXplKHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zKSkKKyAgICBnZXRDb250ZXh0c0FuZENhbGxJbnRl cmNlcHRvcnMoc2VydmVyUmVjZWl2ZVJlcXVlc3RGbnMsCisgICAgICAgICAgICAgICAgICAgaW5m by5naW9wX3Mub3BlcmF0aW9uKCksCisgICAgICAgICAgICAgICAgICAgTlVMTCwgTlVMTCwgTlVM TCwKKyAgICAgICAgICAgICAgICAgICBpbmZvLmdpb3Bfcy5zZXJ2aWNlX2NvbnRleHRzKCksCisJ CQkJICAgKENPUkJBOjpDb21wbGV0aW9uU3RhdHVzKQorICAgICAgICAgICAgICAgICAgIGluZm8u Z2lvcF9zLmNvbXBsZXRpb24oKSk7CisgIGlmKFB5TGlzdF9TaXplKHNlcnZlclJlY2VpdmVSZXF1 ZXN0Rm5zQ3JlZHMpKQorICAgIGdldENvbnRleHRzQW5kQ2FsbEludGVyY2VwdG9ycyhzZXJ2ZXJS ZWNlaXZlUmVxdWVzdEZuc0NyZWRzLAorICAgICAgICAgICAgICAgICAgIGluZm8uZ2lvcF9zLm9w ZXJhdGlvbigpLAorICAgICAgICAgICAgICAgICAgIDEsIGFkZHJlc3MsIGlkZW50aXR5LAorICAg ICAgICAgICAgICAgICAgIGluZm8uZ2lvcF9zLnNlcnZpY2VfY29udGV4dHMoKSwKKyAgICAgICAg ICAgICAgICAgICAoQ09SQkE6OkNvbXBsZXRpb25TdGF0dXMpCisgICAgICAgICAgICAgICAgICAg aW5mby5naW9wX3MuY29tcGxldGlvbigpKTsKICAgcmV0dXJuIDE7CiB9CiAKQEAgLTMwNiwxMCAr MzYwLDEwIEBACiAgIGlmIChjbGllbnRTZW5kUmVxdWVzdEZucykKICAgICBpbnRlcmNlcHRvcnMt PmNsaWVudFNlbmRSZXF1ZXN0LmFkZChweUNsaWVudFNlbmRSZXF1ZXN0Rm4pOwogCi0gIGlmIChj bGllbnRSZWNlaXZlUmVwbHlGbnMpCisgIGlmIChjbGllbnRSZWNlaXZlUmVwbHlGbnMgfHwgY2xp ZW50UmVjZWl2ZVJlcGx5Rm5zQ3JlZHMpCiAgICAgaW50ZXJjZXB0b3JzLT5jbGllbnRSZWNlaXZl UmVwbHkuYWRkKHB5Q2xpZW50UmVjZWl2ZVJlcGx5Rm4pOwogCi0gIGlmIChzZXJ2ZXJSZWNlaXZl UmVxdWVzdEZucykKKyAgaWYgKHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zIHx8IHNlcnZlclJlY2Vp dmVSZXF1ZXN0Rm5zQ3JlZHMpCiAgICAgaW50ZXJjZXB0b3JzLT5zZXJ2ZXJSZWNlaXZlUmVxdWVz dC5hZGQocHlTZXJ2ZXJSZWNlaXZlUmVxdWVzdEZuKTsKIAogICBpZiAoc2VydmVyU2VuZFJlcGx5 Rm5zKQpAQCAtMzY2LDcgKzQyMCw4IEBACiAgIHsKICAgICBQeU9iamVjdCogaW50ZXJjZXB0b3I7 CiAKLSAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIqKSJPIiwgJmludGVyY2Vw dG9yKSkKKyAgICBpbnQgcGFzc19jcmVkcyA9IDA7CisgICAgaWYgKCFQeUFyZ19QYXJzZVR1cGxl KGFyZ3MsIChjaGFyKikiT3xpIiwgJmludGVyY2VwdG9yLCAmcGFzc19jcmVkcykpCiAgICAgICBy ZXR1cm4gMDsKIAogICAgIFJBSVNFX1BZX0JBRF9QQVJBTV9JRighUHlDYWxsYWJsZV9DaGVjayhp bnRlcmNlcHRvciksCkBAIC0zNzQsMTAgKzQyOSwxNSBAQAogCiAgICAgQ0hFQ0tfT1JCX05PVF9J TklUSUFMSVNFRCgpOwogCi0gICAgaWYgKCFjbGllbnRSZWNlaXZlUmVwbHlGbnMpCisgICAgaWYg KCFjbGllbnRSZWNlaXZlUmVwbHlGbnMpIHsKICAgICAgIGNsaWVudFJlY2VpdmVSZXBseUZucyA9 IFB5TGlzdF9OZXcoMCk7CisgICAgICBjbGllbnRSZWNlaXZlUmVwbHlGbnNDcmVkcyA9IFB5TGlz dF9OZXcoMCk7CisgICAgfQogCi0gICAgUHlMaXN0X0FwcGVuZChjbGllbnRSZWNlaXZlUmVwbHlG bnMsIGludGVyY2VwdG9yKTsKKyAgICBpZihwYXNzX2NyZWRzKQorICAgICAgUHlMaXN0X0FwcGVu ZChjbGllbnRSZWNlaXZlUmVwbHlGbnNDcmVkcywgaW50ZXJjZXB0b3IpOworICAgIGVsc2UKKyAg ICAgIFB5TGlzdF9BcHBlbmQoY2xpZW50UmVjZWl2ZVJlcGx5Rm5zLCBpbnRlcmNlcHRvcik7CiAg ICAgUHlfSU5DUkVGKFB5X05vbmUpOwogICAgIHJldHVybiBQeV9Ob25lOwogICB9CkBAIC0zOTIs NyArNDUyLDggQEAKICAgewogICAgIFB5T2JqZWN0KiBpbnRlcmNlcHRvcjsKIAotICAgIGlmICgh UHlBcmdfUGFyc2VUdXBsZShhcmdzLCAoY2hhciopIk8iLCAmaW50ZXJjZXB0b3IpKQorICAgIGlu dCBwYXNzX2NyZWRzID0gMDsKKyAgICBpZiAoIVB5QXJnX1BhcnNlVHVwbGUoYXJncywgKGNoYXIq KSJPfGkiLCAmaW50ZXJjZXB0b3IsICZwYXNzX2NyZWRzKSkKICAgICAgIHJldHVybiAwOwogCiAg ICAgUkFJU0VfUFlfQkFEX1BBUkFNX0lGKCFQeUNhbGxhYmxlX0NoZWNrKGludGVyY2VwdG9yKSwK QEAgLTQwMCwxMCArNDYxLDE1IEBACiAKICAgICBDSEVDS19PUkJfTk9UX0lOSVRJQUxJU0VEKCk7 CiAKLSAgICBpZiAoIXNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zKQorICAgIGlmICghc2VydmVyUmVj ZWl2ZVJlcXVlc3RGbnMpIHsKICAgICAgIHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zID0gUHlMaXN0 X05ldygwKTsKKyAgICAgIHNlcnZlclJlY2VpdmVSZXF1ZXN0Rm5zQ3JlZHMgPSBQeUxpc3RfTmV3 KDApOworICAgIH0KIAotICAgIFB5TGlzdF9BcHBlbmQoc2VydmVyUmVjZWl2ZVJlcXVlc3RGbnMs IGludGVyY2VwdG9yKTsKKyAgICBpZihwYXNzX2NyZWRzKQorICAgICAgUHlMaXN0X0FwcGVuZChz ZXJ2ZXJSZWNlaXZlUmVxdWVzdEZuc0NyZWRzLCBpbnRlcmNlcHRvcik7CisgICAgZWxzZQorICAg ICAgUHlMaXN0X0FwcGVuZChzZXJ2ZXJSZWNlaXZlUmVxdWVzdEZucywgaW50ZXJjZXB0b3IpOwog ICAgIFB5X0lOQ1JFRihQeV9Ob25lKTsKICAgICByZXR1cm4gUHlfTm9uZTsKICAgfQo= --000e0cd5ca44ae74460488aa7926 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ omniORB-dev mailing list [email protected] http://www.omniorb-support.com/mailman/listinfo/omniorb-dev --000e0cd5ca44ae74460488aa7926--