nextcloud / nextcloud/ldap_contacts_backend
LDAP Contacts Backend - copy to address book
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 9
- Forks
- 7
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 25
Description
Hi,
when I search for a user in the LDAP it is displayed in the search window. If I tap the “Copy to address book” icon, an internal server error appears:
Interner Serverfehler
Der Server konnte die Anfrage nicht fertig stellen.
Sollte dies erneut auftreten, sende bitte die nachfolgenden technischen Einzelheiten an Deinen Server-Administrator.
Weitere Details können im Server-Protokoll gefunden werden.
Technische Details
Entfernte Adresse: 192.168.30.67
I see the following information in the nextcloud.log:
"2021-09-30T09:34:52+00:00","remoteAddr":"192.168.30.67","user":"Administrator","app":"files_sharing","method":"GET","url":"/index.php/apps/ldap_contacts_backend/import/0/dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU=?requesttoken=I/XMJxaTRAJ4ZJcBhT0VHeHL0twz3hTgeOq0kxBiumA%3D:UaW7YGDrF1QzPvgqsEdRVoqNmu9VqHrRCdnZ20cg%2BSo%3D","message":"/appinfo/app.php is deprecated, use \\OCP\\AppFramework\\Bootstrap\\IBootstrap on the application class instead.","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0","version":"22.1.1.2"}
{"reqId":"YgpYM23ECF3WEyW2N6r4","level":3,"time":"2021-09-30T09:34:52+00:00","remoteAddr":"192.168.30.67","user":"Administrator","app":"index","method":"GET","url":"/index.php/apps/ldap_contacts_backend/import/0/dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU=?requesttoken=I/XMJxaTRAJ4ZJcBhT0VHeHL0twz3hTgeOq0kxBiumA%3D:UaW7YGDrF1QzPvgqsEdRVoqNmu9VqHrRCdnZ20cg%2BSo%3D","message":"Could not complete search with dn \"uid=fynn.harbich,ou=users,dc=example,dc=com\", query \"\" and filters \"*\". LDAP error was [2] Protocol error.","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0","version":"22.1.1.2","exception":{"Exception":"Symfony\\Component\\Ldap\\Exception\\LdapException","Message":"Could not complete search with dn \"uid=fynn.harbich,ou=users,dc=example,dc=com\", query \"\" and filters \"*\". LDAP error was [2] Protocol error.","Code":0,"Trace":[{"file":"/var/www/html/nextcloud/apps/ldap_contacts_backend/lib/Service/LdapQuerent.php","line":56,"function":"execute","class":"Symfony\\Component\\Ldap\\Adapter\\ExtLdap\\Query","type":"->","args":[]},{"file":"/var/www/html/nextcloud/apps/ldap_contacts_backend/lib/Service/LdapCardBackend.php","line":56,"function":"fetchOne","class":"OCA\\LDAPContactsBackend\\Service\\LdapQuerent","type":"->","args":["uid=fynn.harbich,ou=users,dc=example,dc=com"]},{"file":"/var/www/html/nextcloud/apps/ldap_contacts_backend/lib/Service/AddressBook.php","line":59,"function":"getCard","class":"OCA\\LDAPContactsBackend\\Service\\LdapCardBackend","type":"->","args":["dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU="]},{"file":"/var/www/html/nextcloud/apps/ldap_contacts_backend/lib/Controller/ContactsController.php","line":89,"function":"getChild","class":"OCA\\LDAPContactsBackend\\Service\\AddressBook","type":"->","args":["dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU="]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":217,"function":"import","class":"OCA\\LDAPContactsBackend\\Controller\\ContactsController","type":"->","args":[0,"dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU="]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/Http/Dispatcher.php","line":126,"function":"executeController","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\LDAPContactsBackend\\Controller\\ContactsController"},"import"]},{"file":"/var/www/html/nextcloud/lib/private/AppFramework/App.php","line":156,"function":"dispatch","class":"OC\\AppFramework\\Http\\Dispatcher","type":"->","args":[{"__class__":"OCA\\LDAPContactsBackend\\Controller\\ContactsController"},"import"]},{"file":"/var/www/html/nextcloud/lib/private/Route/Router.php","line":301,"function":"main","class":"OC\\AppFramework\\App","type":"::","args":["OCA\\LDAPContactsBackend\\Controller\\ContactsController","import",{"__class__":"OC\\AppFramework\\DependencyInjection\\DIContainer"},{"sourceId":"0","contactId":"dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU=","_route":"ldap_contacts_backend.contacts.import"}]},{"file":"/var/www/html/nextcloud/lib/base.php","line":1000,"function":"match","class":"OC\\Route\\Router","type":"->","args":["/apps/ldap_contacts_backend/import/0/dWlkPWZ5bm4uaGFyYmljaCxvdT11c2VycyxkYz1oYXJuZXQsZGM9ZGU="]},{"file":"/var/www/html/nextcloud/index.php","line":36,"function":"handleRequest","class":"OC","type":"::","args":[]}],"File":"/var/www/html/nextcloud/apps/ldap_contacts_backend/vendor/symfony/ldap/Adapter/ExtLdap/Query.php","Line":126,"CustomMessage":"--"}}
Here is my ldap_contacts list:
root@dsme01:/var/www/html/nextcloud# sudo -u www-data php occ ldap_contacts:list
id: 0
addressBookDisplayName: Harbich
host: ldap.intern.example.com
port: 636
agentDn: CN=admin,DC=example,DC=com
agentPassword: #############
bases:
DC=example,DC=com
searchAttributes:
UID
attributeMapping:
tEnc: ssl
filter:
Do you have a tip for me?
Greetings from Stefan Harbich
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the import flow in lib/Controller/ContactsController.php, then read Service/AddressBook.php, Service/LdapCardBackend.php, and Service/LdapQuerent.php around the traced lines. Reproduce the “Copy to address book” request and inspect the LDAP query that returns the protocol error. Done means the import completes without the LDAP exception and the selected contact is copied to the address book.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 28/100