Loading configuration from lldap_config.toml Configuration: Configuration { ldap_port: 389, ldaps_port: 636, http_port: 17170, jwt_secret: ***SECRET***, ldap_base_dn: "dc=libre-depanne,dc=fr", ldap_user_dn: "admin", ldap_user_pass: ***SECRET***, database_url: "sqlite:///media/ssd/databases/solo/lldap/users.db?mode=rwc", verbose: true, key_file: "/home/xxxxxxx/.config/lldap/server_key", smtp_options: MailOptions { enable_password_reset: true, from: Some( Mailbox { name: Some( "LDAP Libre-Dépanne", ), email: Address { serialized: "xxxxxxxxxxxx", at_start: 4, }, }, ), reply_to: None, server: "xxxxxxx", port: xxxx, user: "xxxxxxxxxx", password: ***SECRET***, tls_required: xxxx, }, http_url: "https://xxxxxxxxxxx", server_setup: None, } 2022-02-26T19:17:36.300850Z INFO lldap: Starting LLDAP.... 2022-02-26T19:17:36.316093Z INFO sqlx::query: PRAGMA journal_mode = WAL; …; rows: 1, elapsed: 6.903ms PRAGMA journal_mode = WAL; PRAGMA foreign_keys = ON; PRAGMA synchronous = FULL 2022-02-26T19:17:36.316910Z INFO sqlx::query: PRAGMA foreign_keys = ON; rows: 0, elapsed: 318.215µs 2022-02-26T19:17:36.322670Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 508.386µs CREATE TABLE IF NOT EXISTS `users` ( `user_id` text(255) NOT NULL PRIMARY KEY, `email` text(255) NOT NULL, `display_name` text(255) NOT NULL, `first_name` text(255) NOT NULL, `last_name` text(255) NOT NULL, `avatar` binary, `creation_date` text NOT NULL, `password_hash` binary, `totp_secret` text(64), `mfa_type` text(64) ) 2022-02-26T19:17:36.324598Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 387.343µs CREATE TABLE IF NOT EXISTS `groups` ( `group_id` integer NOT NULL PRIMARY KEY, `display_name` text(255) UNIQUE NOT NULL ) 2022-02-26T19:17:36.327913Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 462.886µs CREATE TABLE IF NOT EXISTS `memberships` ( `user_id` text(255) NOT NULL, `group_id` integer NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (`group_id`) REFERENCES `groups` (`group_id`) ON DELETE CASCADE ON UPDATE CASCADE ) 2022-02-26T19:17:36.330824Z INFO sqlx::query: SELECT `user_id`, `email`, `display_name`, …; rows: 1, elapsed: 1.061ms SELECT `user_id`, `email`, `display_name`, `first_name`, `last_name`, `avatar`, `creation_date` FROM `users` WHERE `user_id` = 'admin' 2022-02-26T19:17:36.335652Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 480.094µs CREATE TABLE IF NOT EXISTS `jwt_refresh_storage` ( `refresh_token_hash` integer NOT NULL PRIMARY KEY, `user_id` text(255) NOT NULL, `expiry_date` text NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) 2022-02-26T19:17:36.338284Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 388.509µs CREATE TABLE IF NOT EXISTS `jwt_storage` ( `jwt_hash` integer NOT NULL PRIMARY KEY, `user_id` text(255) NOT NULL, `expiry_date` text NOT NULL, `blacklisted` integer DEFAULT FALSE NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) 2022-02-26T19:17:36.340694Z INFO sqlx::query: CREATE TABLE IF NOT …; rows: 0, elapsed: 436.927µs CREATE TABLE IF NOT EXISTS `password_reset_tokens` ( `token` text(255) NOT NULL PRIMARY KEY, `user_id` text(255) NOT NULL, `expiry_date` text NOT NULL, FOREIGN KEY (`user_id`) REFERENCES `users` (`user_id`) ON DELETE CASCADE ON UPDATE CASCADE ) 2022-02-26T19:17:36.341822Z INFO sqlx::query: SELECT `jwt_hash` FROM `jwt_storage`; rows: 0, elapsed: 645.181µs 2022-02-26T19:17:36.346620Z INFO lldap::infra::db_cleaner: DB Cleanup Cron started 2022-02-26T19:17:44.241998Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.242093Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.242292Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:17:44.506707Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.506959Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.507246Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:17:44.534482Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.534657Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.534992Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:17:44.675226Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.675401Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.675671Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:17:44.692284Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.692455Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.692719Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:17:44.804437Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 1, op: BindRequest(LdapBindRequest { dn: "cn=admin,ou=people,dc=libre-depanne,dc=fr", cred: Simple("********") }), ctrl: [] } 2022-02-26T19:17:44.804612Z DEBUG lldap::infra::ldap_handler: Received bind request for "cn=admin,ou=people,dc=libre-depanne,dc=fr" 2022-02-26T19:17:44.804897Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: BindResponse(LdapBindResponse { res: LdapResult { code: Success, matcheddn: "", message: "", referral: [] }, saslcreds: None }) 2022-02-26T19:18:07.327541Z DEBUG lldap::infra::ldap_server: Received LDAP message: LdapMsg { msgid: 2, op: SearchRequest(LdapSearchRequest { base: "ou=people,dc=libre-depanne,dc=fr", scope: Subtree, aliases: Never, sizelimit: 0, timelimit: 0, typesonly: false, filter: And([Equality("objectClass", "posixAccount"), Equality("uid", "test")]), attrs: ["1.1"] }), ctrl: [] } 2022-02-26T19:18:07.327669Z DEBUG lldap::infra::ldap_handler: Received search request: LdapSearchRequest { base: "ou=people,dc=libre-depanne,dc=fr", scope: Subtree, aliases: Never, sizelimit: 0, timelimit: 0, typesonly: false, filter: And([Equality("objectClass", "posixAccount"), Equality("uid", "test")]), attrs: ["1.1"] } 2022-02-26T19:18:07.329380Z INFO sqlx::query: SELECT `users`.`user_id`, `email`, `users`.`display_name`, …; rows: 1, elapsed: 716.058µs SELECT `users`.`user_id`, `email`, `users`.`display_name`, `first_name`, `last_name`, `avatar`, `creation_date` FROM `users` WHERE TRUE AND (`users`.`user_id` = 'test') ORDER BY `users`.`user_id` ASC 2022-02-26T19:18:07.329571Z DEBUG lldap::infra::ldap_server: Replying with LDAP op: SearchResultDone(LdapResult { code: NoSuchAttribute, matcheddn: "", message: "Unsupported user attribute: 1.1", referral: [] })