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--