nextcloud / nextcloud/ldap_contacts_backend

LDAP Contacts Backend - copy to address book

Open
#34 1 comment 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.