IDArling icon indicating copy to clipboard operation
IDArling copied to clipboard

Python3 support

Open ghost opened this issue 5 years ago • 4 comments

I've tried the following things which work:

  • Change settings (name, color)
  • Connect to a server
  • Create several projects, several databases
  • Save a project to the server
  • Load a project to the server

I haven't tried to use it with other people, because I do not have friends yet (wip).

ghost avatar Oct 20 '19 15:10 ghost

Hi @elp0t0r1c0, thank you very much for your work! I haven’t been capable to merge all your commits because some of them break the python2/python3 compatibility and we want to be compatible with IDA 7.0 at least. All the commits about bug fixes have been cherry-picked from your fork, and I’ve added the support for python3 and I’ve kept the support for python2 thanks to your other commits.

I’m currently testing all the features, I will continue to work from there. Feel free to continue on your side too!

patateqbool avatar Dec 23 '19 16:12 patateqbool

Hi @elp0t0r1c0, I tried today to port everything to be compatible python2 and python3 in the same time. It will introduce a lot of changes as a client on one side can be python2 and the other in the other side can be python3 for exemple... It’s possible to keep the compatibility, but at a higher cost than just porting everything for python3. Here is my proposition, I will make a new branch for the python3 support, and as soon as IDA will drop the python2 support (I think it’s a question of month as python2 will reach its end of life in January 2020), I will merge this new branch on master.

I’m also interested by your point of view @NeatMonster.

patateqbool avatar Dec 24 '19 14:12 patateqbool

Since all network packets are JSON objects, I don't see why dropping Python 2 support would change anything in that regard. I would advise to keep the Python 2/3 compatibility, but drop support for older versions of IDA Pro.

NeatMonster avatar Dec 24 '19 14:12 NeatMonster

Ok, I was trying to do things wrong just above, and with this comprehension I though it would need a lot of changes. I was wrong, and effectively it seems that dropping python2 will not change anything, except adding some wrapper as it’s already the case for the Event part.

My bad, thanks @NeatMonster!

patateqbool avatar Dec 24 '19 16:12 patateqbool