Skip to content

Config schema out of date #28

@ncaycedo

Description

@ncaycedo

Summary

I tried running the latest versions of this and tiredofit/docker-fusiondirectory images and was having issues when updating the config. Upon saving changes (or even without changes) it would complain that the attribute fdGivenNameRequired could not be found. This is due to a recent change in FusionDirectory, see the merge where this is introduced

This prevents the creation of the cn=config entity so the listed errors are longer. I managed to get only the one error by creating the cn=config by hand and then trying to apply the configuration again.

Steps to reproduce

  • run two docker containers with images tiredofit/openldap-fusiondirectory:1.4 and tiredofit/fusiondirectory:1.4 with an appropriate configuration in a fresh environment
  • open the webapp and log in as admin
  • select config on the left hand side
  • select edit on the bottom right corner
  • click OK on the bottom right corner
  • an error shows that the configuration cannot be applied

What is the expected correct behavior?

The configuration tool sets the new values without any erros.

Relevant logs and/or screenshots

image
image

Environment

  • Image version / tag: tiredofit/openldap-fusiondirectory:1.4
  • Host OS: Debian 10 (Buster)
  • Docker Compose version: 1.21.0
docker-compose.yml
version: '2.2'
services:
  
  openldap-fusiondirectory:
    image: tiredofit/openldap-fusiondirectory:1.4
    container_name: openldap-fusiondirectory
    volumes:
      - ./backup:/data/backup
      - ./data:/var/lib/openldap
      - ./config:/etc/openldap/slapd.d
      - ./certs:/certs
    environment:
      - HOSTNAME=openldap-fusiondirectory
      - LOG_LEVEL=256
      - DOMAIN=example.io
      - BASE_DN=dc=example,dc=io
      - ADMIN_PASS=password
      - CONFIG_PASS=password
      - FUSIONDIRECTORY_ADMIN_USER=fd-admin
      - FUSIONDIRECTORY_ADMIN_PASS=password
      - ORGANIZATION=Example Org
      - ENABLE_READONLY_USER=FALSE
      - READONLY_USER_USER=reader
      - READONLY_USER_PASS=reader
      - ENABLE_TLS=TRUE
      - TLS_CRT_FILENAME=cert.pem
      - TLS_KEY_FILENAME=key.pem
      - TLS_ENFORCE=FALSE
    -TLS_CIPHER_SUITE=ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:-DHE-DSS:-RSA:!aNULL:!MD5:!DSS:!SHA
      - TLS_VERIFY_CLIENT=never
      - SSL_HELPER_PREFIX=ldap
      - ENABLE_REPLICATION=FALSE
      #- REPLICATION_CONFIG_SYNCPROV=binddn="cn=admin,cn=config" bindmethod=simple credentials="admin" searchbase="cn=config" type=refreshAndPersist retry="60 +" timeout=1
      #- REPLICATION_DB_SYNCPROV=binddn="cn=admin,dc=example,dc=org" bindmethod=simple credentials="admin" searchbase="dc=example,dc=org" type=refreshAndPersist interval=00:00:00:10 retry="60 +" timeout=1
      #- REPLICATION_HOSTS=ldap://ldap1.example.com ldap://ldap2.example.com ldap://ldap3.example.com
      - REMOVE_CONFIG_AFTER_SETUP=FALSE
      - ENABLE_BACKUP=TRUE
      - BACKUP_INTERVAL=0400
      - BACKUP_RETENTION=10080
      - ENABLE_ZABBIX=TRUE
      - ZABBIX_HOSTNAME=openldap-fusiondirectory-app
      - PLUGIN_ALIAS=TRUE
      - PLUGIN_APPLICATIONS=TRUE
      - PLUGIN_AUDIT=TRUE
      - PLUGIN_DEVELOPERS=TRUE
      - PLUGIN_DOVECOT=TRUE
      - PLUGIN_DSA=TRUE
      - PLUGIN_INVITATIONS=TRUE
      - PLUGIN_LDAPDUMP=TRUE
      - PLUGIN_LDAPMANAGER=TRUE
      - PLUGIN_MAIL=TRUE
      - PLUGIN_NEXTCLOUD=TRUE
      - PLUGIN_NIS=TRUE
      - PLUGIN_PERSONAL=TRUE
      - PLUGIN_PPOLICY=TRUE
      - PLUGIN_PUBLIC_FORMS=TRUE
      - PLUGIN_QUOTA=TRUE
      - PLUGIN_SSH=TRUE
      - PLUGIN_WEBSERVICE=TRUE
    networks:
      - main
    restart: always
  ldapadmin:
    image: osixia/phpldapadmin:0.9.0
    container_name: ldapadmin-fusiondirectory
    environment:
      - PHPLDAPADMIN_LDAP_HOSTS=openldap-fusiondirectory
    networks:
      - main
    ports:
      - 7443:443
    depends_on:
      - openldap-fusiondirectory
  fusiondirectory-app:
    container_name: fusiondirectory-app
    image: tiredofit/fusiondirectory:1.4
    volumes:
      - ./logs:/www/logs
      #- ./custom:/assets/fusiondirectory
      #- ./plugins-custom:/assets/plugins-custom
    environment:
      - VIRTUAL_HOST=ldap.example.io
      - VIRTUAL_NETWORK=main
      - VIRTUAL_PORT=80
      - LETSENCRYPT_HOST=ldap.example.io
      - LETSENCRYPT_EMAIL=admin@example.io
      - ZABBIX_HOSTNAME=fusiondirectory-app
      - LDAP1_HOST=openldap-fusiondirectory
      - LDAP1_BASE_DN=dc=example,dc=io
      - LDAP1_ADMIN_DN=cn=admin,dc=example,dc=io
      - LDAP1_ADMIN_PASS=password
      - LDAP1_PORT=389
      - LDAP1_NAME=Production
      - PLUGIN_ALIAS=TRUE
      - PLUGIN_APPLICATIONS=TRUE
      - PLUGIN_AUDIT=TRUE
      - PLUGIN_DEVELOPERS=TRUE
      - PLUGIN_DOVECOT=TRUE
      - PLUGIN_DSA=TRUE
      - PLUGIN_INVITATIONS=TRUE
      - PLUGIN_LDAPDUMP=TRUE
      - PLUGIN_LDAPMANAGER=TRUE
      - PLUGIN_MAIL=TRUE
      - PLUGIN_NEXTCLOUD=TRUE
      - PLUGIN_NIS=TRUE
      - PLUGIN_PERSONAL=TRUE
      - PLUGIN_PPOLICY=TRUE
      - PLUGIN_PUBLIC_FORMS=TRUE
      - PLUGIN_QUOTA=TRUE
      - PLUGIN_SSH=TRUE
      - PLUGIN_WEBSERVICE=TRUE
    ports:
      - 7080:80
    networks:
      - main
    depends_on: 
      - openldap-fusiondirectory
    restart: unless-stopped

networks:
  main:
    external: TRUE

Possible fixes

I'm new to LDAP in general and I'm just trying out FusionDirectory, but I suppose adding the updated schema would solve this problem

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions