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
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