collective / pas.plugins.ldap

Zope (and Plone) PAS Plugin providing users and groups from LDAP directory
http://pypi.python.org/pypi/pas.plugins.ldap
Other
13 stars 20 forks source link

does not work on Windows 7 due to missing smbpasswd #20

Closed petersta closed 5 years ago

petersta commented 8 years ago

I am using Plone 5.0.5 and OpenLDAP for Windows. They work nicely together with Products.PloneLDAP. I tried pas.plugins.ldap and with a bypass I got it working as well.

pas.plugins.ldap uses node.ext.ldap (0.9.7) which requires smbpasswd. smbpasswd gives compilation errors. See below.

I used following "bypass":

Bypass Samba on Windows Comment: # smbpasswd in file node.ext.ldap-0.9.7-py2.7.egg\EGG-INFO\requires.txt

Put try: except: around all samba references in next files: node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm\defaults.py node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm_api.py node.ext.ldap-0.9.7-py2.7.egg\node\ext\ldap\ugm\samba.py

Getting distribution for 'smbpasswd'.
smbpasswd.c: In function 'lmhash':
smbpasswd.c:100:5: warning: pointer targets in passing argument 2 of 'E_P16' dif
fer in signedness [-Wpointer-sign]
     E_P16(lmpwd, hashout);
     ^
smbpasswd.c:35:6: note: expected 'unsigned char *' but argument is of type 'char
 *'
 void E_P16(unsigned char *p14,unsigned char *p16);
      ^
smbpasswd.c: In function 'nthash':
smbpasswd.c:125:5: warning: pointer targets in passing argument 1 of 'mdfour' di
ffer in signedness [-Wpointer-sign]
     mdfour(hashout, pwd, pwd_len);
     ^
smbpasswd.c:34:6: note: expected 'unsigned char *' but argument is of type 'char
 *'
 void mdfour(unsigned char *out, unsigned char *in, int n);
      ^
smbpasswd.c:125:5: warning: pointer targets in passing argument 2 of 'mdfour' di
ffer in signedness [-Wpointer-sign]
     mdfour(hashout, pwd, pwd_len);
     ^
smbpasswd.c:34:6: note: expected 'unsigned char *' but argument is of type 'char
 *'
 void mdfour(unsigned char *out, unsigned char *in, int n);
      ^
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x47): undefined
 reference to `_imp__PyString_FromStringAndSize'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x85): undefined
 reference to `_imp__PyArg_ParseTuple'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0xfa): undefined
 reference to `_imp__PyMem_Free'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x131): undefine
d reference to `_imp__PyArg_ParseTuple'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x222): undefine
d reference to `_imp__PyTuple_New'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x245): undefine
d reference to `_imp__PyTuple_SetItem'
build\temp.win-amd64-2.7\Release\smbpasswd.o:smbpasswd.c:(.text+0x29e): undefine
d reference to `_imp__Py_InitModule4'
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: build\temp
.win-amd64-2.7\Release\smbpasswd.o: bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status
error: Setup script exited with error: command 'c:\\MinGW\\bin\\gcc.exe' failed
with exit status 1
An error occurred when trying to install smbpasswd 1.0.2. Look above this messag
e for any errors that were output by easy_install.
While:
  Updating instance.
  Getting distribution for 'smbpasswd'.
Error: Couldn't install: smbpasswd 1.0.2
jensens commented 8 years ago

May you please file an issue at node.ext.ldap issue tracker on github?

jensens commented 5 years ago

upstream problem