Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Hooking function calls in Python code with Jython library

 
Andreas Pax Lück
Greenhorn
Posts: 18
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi friends.

I'm using the Jython library in my Java project in order to provide Python code execution.

I'd like to restrict access to specific Java classes/packages as well as invocations of Jython's built-in functions.

I implemented an own class loader and set it in Jyhton interpreter:



But the Jython library also provides Python's built-in functions that aren't implemented as Java code, so I cannot catch them with the custom class loader. Here's a list with those supported functions: Built-in functions

How can I detect disallowed function invocations (for example: open(filename[, mode[, bufsize]])) in Pyhton user code? Is there any special hooking mechanism that can be used during code parsing or execution?

I reversed some Jython classes and searched for any possibility but its intrinsic processes aren't very easy to understand.

Cheers

PAX
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic