Burp Suite User Forum

Create new post

NotImplementedError with latest Jython release

elespike | Last updated: Dec 10, 2015 07:37PM UTC

The following change for the latest Jython release might break some UI-centric extensions: "Abstract methods of an inherited class or interface from Java now raise NotImplementedError, instead of returning None (in Java, null) or some "zero", if they are not implemented in the extending Python class." source: http://www.jython.org/latest.html As described, if your Burp extension is implementing Java classes which contain abstract methods (e.g., java.awt.event.MouseListener), then you will need to implement every single one of that class' abstract methods in your extension, even if you're using just one or few of them. For example, implementing MouseListener in a custom text editor tab without implementing all of its abstract methods will spew NotImplementedError all over the place as the mouse moves around or clicks (depending on which of its abstract methods are missing). In my own extension, this was actually preventing me from altering or even selecting data within my custom tab. The solution, of course, is simply to implement every single one, even if they're not being used: def mouseReleased(self, e): # actually do something def mouseClicked(self, e): pass def mouseEntered(self, e): pass def mouseExited(self, e): pass def mousePressed(self, e): pass

You must be an existing, logged-in customer to reply to a thread. Please email us for additional support.