mumble-voip / mumble-scripts

Mumble scripts is a place for gathering various scripts written for the Mumble VoIP application.
https://www.mumble.info
48 stars 33 forks source link

LDAP Script doesn't start #33

Open gianklug opened 2 years ago

gianklug commented 2 years ago

When I try to start LDAPauth.py with ice enabled and the right credentials and port I get the following error in the Logfile:

icecpp: error: cannot open `/usr/local/sbin/Murmur.ice' for reading
Traceback (most recent call last):
  File "/usr/local/sbin/LDAPauth.py", line 881, in <module>
    do_main_program()
  File "/usr/local/sbin/LDAPauth.py", line 219, in do_main_program
    Ice.loadSlice('', ["-I/usr/share/slice/","Murmur.ice"])
RuntimeError: Slice preprocessing failed for `'`

I already tried forcing another ice path but as you can see in the first line, it somehow tries to find the .ice in the Directory the Script is in.

Krzmbrzl commented 2 years ago

what version of Mumble are you using?

it somehow tries to find the .ice in the Directory the Script is in.

have you tried copying the Murmur.ice file from the Mumble source tree (src/murmur/Murmur.ice) to the directory in which you are executing the script?

gianklug commented 2 years ago

I use version 1.3.4-1, the latest one available in the Debian Bullseye repo. I will try copying later.

gianklug commented 2 years ago

Symlinking the file worked, however I still think this needs some fixing

Kissaki commented 2 years ago

https://github.com/mumble-voip/mumble-scripts/blob/master/Authenticators/LDAP/LDAPauth.py#L214-L219

The logic seems to use the python Ice module to get the correct directory path, and otherwise two default include paths. So if the python ice module is installed via package manager I would expect this to work and search in the systems Ice slice dir path.