View Issue Details

IDProjectCategoryView StatusLast Update
0002842Kali LinuxKali Package Bugpublic2015-11-16 13:45
Reportermidnite_runr Assigned Tosbrun  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.0 
Fixed in Version2016.1 
Summary0002842: BDFProxy Needs python-magic from pip to work properly
Description

BDFProxy has a dependency of python-magic

FIX: pip install python-magic

Steps To Reproduce
  1. Install BDFProxy from rolling repo.

2, Start bdfproxy

  1. Push traffic through it.

Activities

rhertzog

rhertzog

2015-11-12 16:13

administrator   ~0004215

The kali package of bdfproxy has a dependency on the Kali package "python-magic" already. And python-magic is in its latest version in kali-rolling (1:5.25-2).

So what exactly are you trying to report?

rhertzog

rhertzog

2015-11-12 16:15

administrator   ~0004216

And note that install.sh uses "pip install --upgrade magic" and not "pip install --upgrade python-magic" so it seems weird to recommend using another Python module than what upstream is recommending (except that the "magic" entry in pip is no longer working).

midnite_runr

midnite_runr

2015-11-12 16:38

reporter   ~0004217

Cool.

I've been getting a lot of issues from kali users with bdfproxy crashing (dev here).

So, I installed everything on kali, used rolling repo, and sure enough bdfproxy crashes.

The fix for me was 'pip install python-magic'

It seems that this is missing in the install process for bdfproxy.

I updated my install scripts on my github to reflect that:

https://github.com/secretsquirrel/BDFProxy/blob/master/install.sh

Let me know if you have any other questions.

Thanks!

midnite_runr

midnite_runr

2015-11-12 19:53

reporter   ~0004219

OK. The real issue, is a name conflict between two libraries: https://github.com/ahupp/python-magic#name-conflict

BDFProxy requires that project which is also hosted on pip (https://pypi.python.org/pypi/python-magic/)

The debian version of python-magic installs a version of this program: https://github.com/file/file/

This library doesn't support BDFProxy.

Let me know if you have any other questions.

rhertzog

rhertzog

2015-11-12 20:09

administrator   ~0004220

Well, it's unfortunate that we have multiple concurrent variants of a "magic" Python module.

You tell me that you use the module provided by https://pypi.python.org/pypi/python-magic

And in the Kali package, we looked up for a Debian package providing a "magic" Python module and we found out this package:
https://packages.debian.org/sid/python-magic

It's a Python binding provided by the upstream "file" project and it's thus the most official version of the module. It's unfortunate that it's not available in pypi... but it's available in most Linux distributions since it's provided as part of the the file "source" package.

ftp://ftp.astron.com/pub/file/file-5.25.tar.gz

Would you consider relying on this one instead?

The way the Python namespace works and with the default packaging rules of Linux distributions, there is no clean way to package an alternative version of the magic Python module...

If we package it, it will have to conflict with the existing python-magic and your package will become uninstallable as soon as some has another package depends on the currently available python-magic. Looking at the reverse dependencies of python-magic, this is something that will affect many users since we have for example "dff" or "apt-offline" relying on that module.

The only other solution I can think of is that the alternate python-magic gets packaged in a private directory in a package python-python-magic and we patch bdfproxy to add this directory in the PYTHONPATH... (or we rely on virtualenv but that's something for local use of administrators, not really for distribution packagers).

rhertzog

rhertzog

2015-11-12 23:30

administrator   ~0004225

FYI you mention https://github.com/file/file/ as if it was a random program. It's not a random one since it's the package which provides the libmagic C library that both Python modules actually rely on.

midnite_runr

midnite_runr

2015-11-13 01:35

reporter   ~0004226

Got a better solution - I'll rely on neither.

I'll take care of it.

midnite_runr

midnite_runr

2015-11-13 16:54

reporter   ~0004230

OK. I think we're good to go.

I removed dependencies on python-magic completely and pushed staged updates to both BDF and BDFProxy respectively.

https://github.com/secretsquirrel/the-backdoor-factory/releases/tag/3.2.3

https://github.com/secretsquirrel/BDFProxy/releases/tag/0.3.7

Please update both in Kali at your earliest convenience and let me know if you have any other questions or concerns.

rhertzog

rhertzog

2015-11-13 17:09

administrator   ~0004231

Thanks midnite_runr, reassigning the ticket to Sophie. She will take care of updating the packages in kali-dev/kali-rolling.

sbrun

sbrun

2015-11-16 13:45

manager   ~0004237

bdfproxy new version 0.3.7-0kali1 and backdoor-factory new version 3.2.3-0kali1 are in kali-dev

Issue History

Date Modified Username Field Change
2015-11-12 15:51 midnite_runr New Issue
2015-11-12 16:13 rhertzog Note Added: 0004215
2015-11-12 16:13 rhertzog Assigned To => rhertzog
2015-11-12 16:13 rhertzog Status new => feedback
2015-11-12 16:15 rhertzog Note Added: 0004216
2015-11-12 16:38 midnite_runr Note Added: 0004217
2015-11-12 16:38 midnite_runr Status feedback => assigned
2015-11-12 19:53 midnite_runr Note Added: 0004219
2015-11-12 20:09 rhertzog Note Added: 0004220
2015-11-12 23:30 rhertzog Note Added: 0004225
2015-11-13 01:35 midnite_runr Note Added: 0004226
2015-11-13 16:54 midnite_runr Note Added: 0004230
2015-11-13 17:09 rhertzog Note Added: 0004231
2015-11-16 09:34 rhertzog Assigned To rhertzog => sbrun
2015-11-16 13:45 sbrun Note Added: 0004237
2015-11-16 13:45 sbrun Status assigned => resolved
2015-11-16 13:45 sbrun Resolution open => fixed
2015-11-16 13:45 sbrun Fixed in Version => 2016.1
2015-12-04 22:29 alexhj451 Issue cloned: 0002918