func handleModify(w ldap.ResponseWriter, m *ldap.Message) { r := m.GetModifyRequest() log.Printf("Modify entry: %s", r.Object()) for _, change := range r.Changes() { modification := change.Modification() var operationString string switch change.Operation() { case ldap.ModifyRequestChangeOperationAdd: operationString = "Add" case ldap.ModifyRequestChangeOperationDelete: operationString = "Delete" case ldap.ModifyRequestChangeOperationReplace: operationString = "Replace" } log.Printf("%s attribute '%s'", operationString, modification.Type_()) for _, attributeValue := range modification.Vals() { log.Printf("- value: %s", attributeValue) } } res := ldap.NewModifyResponse(ldap.LDAPResultSuccess) w.Write(res) }