Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

login page reload without error #1003

Closed
rolie31 opened this issue May 5, 2024 · 11 comments
Closed

login page reload without error #1003

rolie31 opened this issue May 5, 2024 · 11 comments
Assignees

Comments

@rolie31
Copy link

rolie31 commented May 5, 2024

馃悰 Bugreport

Hello, I want to try cypht but I have issue.
After fresh install of Cypht 1.4, and user created, when I try to login, the page reload after few second.

Version & Environment

Rev: 1.4
OS: debian bullseye
Nginx
Php 7.4

Steps to reproduce

  1. Fresh installation following https://www.cypht.org/install-1x.html
  2. Create user
  3. Try to log

When I try to user a wrong password, I have an error with wrong password. With the good one, I just redirect to the login form without error.

I try to enable log on nginx. I see access in log but I don't have any error

On php setting, I have enabled log :

error_reporting = E_ALL
display_errors = On
log_errors = On
html_errors = On
error_log = syslog
syslog.ident = php

My nginx site conf :

server {
	# TLS for the win!
	listen 443 ssl http2;

	# Domain name
	server_name xxxxx.xxxxxx

	# SSL configuration
POLY1305:AES-256-GCM-SHA384:EECDH+AESGCM:EDH+AESGCM";
    ssl_certificate xxxxxxxxxxxxxxxxxxxxx # managed by Certbot
    ssl_certificate_key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    access_log /var/log/nginx/mail.access.log;
    error_log /var/log/nginx/mail.error.log;



	# Security headers
	add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
	add_header X-Content-Type-Options "nosniff" always;
	add_header X-XSS-Protection "1; mode=block" always;
	add_header X-Robots-Tag "none" always;
	add_header X-Download-Options "noopen" always;
	add_header X-Permitted-Cross-Domain-Policies "none" always;
	add_header Referrer-Policy "no-referrer" always;
	add_header X-Frame-Options "SAMEORIGIN" always;
	fastcgi_hide_header X-Powered-By;

	# GZIP / compression settings
	gzip on;
	gzip_vary on;
	gzip_comp_level 4;
	gzip_min_length 256;
	gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
	gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;

	# Define the document root
	root /var/www/html/mail;
	index index.php;

	client_max_body_size 50M;

	# Forbid access to dotfiles
	location ~ (^|/)\. {
		return 403;
	}

        location ~ ^/data/ {
            deny all;
        }

	# The actual root location
	location / {
                try_files $uri $uri/ /index.php?$args;
	}

	# Last but not least, the PHP-FPM settings
	location ~* \.php$ {
  include snippets/fastcgi-php.conf;
  fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_send_timeout 600;
  fastcgi_read_timeout 600;
	}
}

I have no nginx error log, no php log in syslog or error on the webpage.

Can someone tell me where to look ?

@Baraka24 Baraka24 self-assigned this May 5, 2024
@rolie31
Copy link
Author

rolie31 commented May 14, 2024

No one know where to look ? I'm really stuck ...

@josaphatim
Copy link
Member

No one know where to look ? I'm really stuck ...

I got this issue a few months ago. I will try to reproduce and fix if possible tomorrow

@josaphatim
Copy link
Member

No one know where to look ? I'm really stuck ...

@rolie31 if user_config_type in hm3.ini is set to file, then make sure also to set user_settings_dir, attachment_dir and app_data_dir otherwise you want to able to login successfully. Also make sure those 3 folders are readable and writable. Thanks.

@rolie31
Copy link
Author

rolie31 commented May 15, 2024

Thanks @josaphatim for your reply

User_config_type is set to DB

Here is my hm3.ini file

; General settings
; -----------------------------------------------------------------------------

; Session Type
; ------------
; Sessions are how the server maintains your logged in state. Cypht supports
; standard PHP sessions, as well as its own completely independent session
; system that uses memcached or a database for storage. In order to use
; database sessions, the database must be correctly configured in the "DB
; Support" section and the hm_user_session table must be created. In order to
; use Memcached sessions, the memcached server must be correctly configured
; in the "Memcached Support" section. In order to use Redis session, the
; Redis server must be configured in the "Redis Support" section.
;
; Valid values for this setting:
;
;  PHP     Standard PHP session handlers
;  DB      Custom database based sessions
;  MEM     Custom Memcached based sessions
;  REDIS   Custom Redis based sessions
;  custom  Create your own session class. See the modules/site/lib.php file for
;          more info
;
session_type=PHP


; Authentication Type
; -------------------
; This setting defines how Cypht will authenticate your username and password
; when you login. If you want to use a database it must be correctly configured
; in the "DB Support" section and the hm_user table must be created. There are
; 3 PHP cli scripts to help manage database users in the scripts/ directory (
; create_account.php, delete_account.php, and update_password.php). If you want
; to authenticate against an IMAP server, you must setup the imap_auth_* settings
; below. If you want to authenticate against a POP3 server, you must setup the
; pop3_auth_* settings below. If you want to authenticate against an LDAP server,
; you must setup the ldap_auth_* settings. Finally, if you want to let users
; pick from a list of popular mail services or try to auto-discover a mail
; system, set this to dynamic and make sure the dynamic_login module set is
; enabled in the "Module Sets" section of this file.
; 
; Valid values for this setting:
;
;  DB       Authenticate against the database
;  LDAP     Authenticate against an LDAP server
;  IMAP     Authenticate using an IMAP server
;  POP3     Authenticate using a POP3 server
;  dynamic  Let the user choose from a list, or try to auto discover the mail
;           services based on the email domain
;  custom   Create your own auth class. See the modules/site/lib.php file for
;           more info
;
auth_type=DB


; LDAP Authentication
; -------------------
; If auth_type is set to LDAP, configure the LDAP server to authenticate against
; with the following settings, otherwise these are ignored.
;

; The hostname or IP address of the LDAP server to authenticate to
ldap_auth_server=localhost

; The port the LDAP server is listening on.
ldap_auth_port=389

; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
ldap_auth_tls=

; The "base dn" of the LDAP server
ldap_auth_base_dn="example,dc=com"


; IMAP Authentication
; -------------------
; If auth_type is set to IMAP, configure the IMAP server to authenticate against
; with the following settings, otherwise these are ignored.
;
; This is just a label used in the UI. It can be set to anything
imap_auth_name=localhost

; The hostname or IP address of the IMAP server to authenticate to
imap_auth_server=localhost

; The port the IMAP server is listening on.
imap_auth_port=143

; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections. If you want to use IMAP STARTTLS, do NOT
; enable this. This is only for TLS enabled sockets (typically on port 993).
imap_auth_tls=

; The hostname/IP address and port sieve is listening on. Example: example.org:4190
; Note: Add tls:// prefix to enable explicit STARTTLS
imap_auth_sieve_conf_host=


; POP3 Authentication
; -------------------
; if auth_type is set to POP3, configure the POP3 server to authenticate against
; with the following settings, otherwise these are ignored.
;
; This is just a label used in the UI. It can be set to anything
pop3_auth_name=localhost

; The hostname or IP address of the POP3 server to authenticate to
pop3_auth_server=localhost

; The port the POP3 server is listening on.
pop3_auth_port=110

; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
pop3_auth_tls=


; Default SMTP Server
; -------------------
; You can set a default SMTP server for all Cypht users. Authentication will be
; done with the users login credentials, so this only makes sense if you are
; using POP3 or IMAP for authentication. Leave these values blank to disable a
; default SMTP server, otherwise fill in the required values below
;
; This is just a label used in the UI. It can be set to anything
default_smtp_name=

; The hostname or IP address of the SMTP server
default_smtp_server=

; The port the SMTP server is listening on.
default_smtp_port=

; Enable TLS/SSL connections. Leave blank or set to false to disable. Set to
; true to enable TLS connections.
default_smtp_tls=

; If your SMTP service does not require authentication, you can disable it
; by setting the following to true.
default_smtp_no_auth=


; Settings Storage
; ----------------
; Cypht supports 3 methods for saving user settings between logins. File based
; settings, database table or custom implementation. To store settings in a
; database, it must be configured in the "DB Support" section and the
; hm_user_settings table must be created. To store settings on the filesystem,
; the user_settings_dir must be created and the webserver software must be able
; to write to it. For custom implementations, see Hm_User_Config_File.
; 
; Valid values for this setting:
;
;  file    Store user settings in the filesystem
;  DB      Store user settings in a database
;  custom  Store user settings via custom implementation. Specify class name
;          after colon, e.g. custom:Custom_User_Config
;
user_config_type=DB


; Settings Location
; -----------------
; If user_config_type is set to file, this must be set to an existing directory
; that the webserver software can read and write to. If settings storage is set
; to DB, this is ignored. It should not be inside the webserver document root.
user_settings_dir=/var/lib/hm3/users


; Attachment Location
; -------------------
; Cypht needs a temporary place to store attachments that are to be sent with
; an outgoing message. This folder must exist and be writable by the webserver
; software. It should not be inside the webserver document root.
attachment_dir=/var/lib/hm3/attachments


; Application Data Location
; -------------------------
; Some Cypht module sets have their own ini files that need to be readable by
; the webserver software, but not writable, and definitely not inside the
; webserver document root.
app_data_dir=/var/lib/hm3/app_data


; Disable origin check
; --------------------
; To help protect against CSRF attacks, Cypht checks origin headers to confirm
; that the source and target origin domains match. If you are using proxies this
; could create a problem making it impossible to login. Change this to true to
; disable the origin check.
disable_origin_check=false


; Admin Users
; ----------
; You can define a comma delimited list of admin users that Cypht will grant
; special rights to. Currently this only enables the "create account" link in
; the account module set that provides a form to create a new account. This is
; only used if the auth_type is set to DB. Leave this blank if you don't want
; to define any admin users, or are using IMAP or POP3 authentication.
admin_users=


; Cookie Domain
; -------------
; By default Cypht uses the server name used in the request to determine
; the domain name to set the cookie for. Configurations that use a reverse
; proxy might need to define the domain name used for cookies. Leave this
; blank to let Cypht automatically determine the domain. You can also use
; the special value of "none" to force Cypht to NOT set the cookie domain
; property at all. This is not recommended unless you know what you are
; doing!
cookie_domain=


; Cookie Path
; -------------
; By default Cypht uses the request URI to determine the cookie path to set
; the cookie for. Configurations that use mod_rewrite might need to define
; the path used for cookies. E.g. /cypht/embedded?page=compose will set path
; to /cypht/embedded/ which won't send the cookies back to the server. In that
; case set cookie_path=/cypht/. Leave this blank to let Cypht automatically
; determine the path. You can also use the special value of "none" to force
; Cypht to NOT set the cookie path property at all. This is not recommended
; unless you know what you are doing!
cookie_path=


; Outbound Email Domain
; ----------------------
; Default domain used for outbound email addresses when using IMAP auth and
; users don't login with a full email address. Users can customize this with
; the profiles module which will override this default
default_email_domain=


; Auto-Create Profile
; -------------------
; When a user logs in and they have only 1 IMAP server and 1 SMTP server, and
; no configured profiles - enabling this option will auto-create a profile for
; them. Email and reply-to addresses will use the default_email_domain if
; set, otherwise it will fallback to the domain Cypht is hosted on.
autocreate_profile=


; Redirect After Login
; --------------------
; You can login directly to any page in Cypht by going to the correct url before
; logging in, but that is not very user-friendly. To redirect users to a url
; after login, add the url arguments below (everything in the url after, but
; including, the question mark). You must use double quotes around the value
; otherwise it will cause an ini parsing error. To redirect users after login
; to the combined unread view you would use:
;
; redirect_after_login="?page=message_list&list_path=unread"
redirect_after_login=


; Application Name
; ----------------
; This label is used in the UI to reference the program - you can change it to
; "Your awesome webmail" to replace the Cypht name used in various places.
app_name=Cypht


; Force Mobile UI
; ---------------
; Cypht will detect mobile devices and display a mobile optimized UI. If you want
; to aways use this UI regardless of device, set this to true
always_mobile_ui=


; Default Language
; ----------------
; Users can select from available interface languages on the site settings page.
; This sets the default for a user who has not done so. Valid values are 2 character
; langauge codes that have matching language definitions in the language/ folder.
default_language=fr


; JavaScript Compression
; ----------------------
; When the configuration script is run, all JavaScript files are concatenated
; and optionally compressed. To compress the content, define a command and its
; options below. Cypht does not come with compresson software, so you must
; install and configure that separately. Leave blank or set to false to disable
; external compression. Compression software must be able to handle ES6.
;
; Example:
;   js_compress='uglifyjs.terser -c -m --verbose --warn'
;
js_compress=false


; CSS Compression
; ---------------
; When the configuration script is run, all CSS files are concatenated and
; optionally compressed. To compress the content, define a command and its
; options below. Cypht does not come with compresson software, so you must
; install and configure that separately. Leave blank or set to false to disable
; external compression.
;
; Example:
;   css_compress='java -jar /usr/local/lib/yuicompressor-2.4.8.jar --type css'
;
css_compress=false


; Caching Server Support
; ---------------------

; Cypht can use Redis or Memcache to improve performance, as well as to store
; user sessions. Configure Redis or Memcached below and Cypht will
; automatically use them for caching. All data cached for a user in either
; system is encrypted. Currently, the feeds, POP3, and IMAP modules will use
; the configured cache. If both Redis and Memcached are configured, Redis will
; be used for the cache.
;
; If you want to use the user session as a cache, uncomment the line below and
; set to true. THIS IS NOT RECOMMENDED. Cypht uses parallel requests to the
; server, and using the session as a cache is likely to cause race conditions
; and integrity issues. If you are running Cypht in an "embedded" mode with
; only one email source, this option is less likely to be a problem.

; allow_session_cache=false
; cache_class=

; Redis Support
; -------------

; Configure Redis details below to use it for caching
enable_redis=false
redis_server=127.0.0.1
redis_port=6379
redis_index=1
redis_pass=
redis_socket=/var/run/redis/redis-server.sock


; Memcached Support
; -----------------
; Configure Memcached details below to use it for caching
enable_memcached=false
memcached_server=127.0.0.1
memcached_port=11211

; If you need SASL authentication for memcached, set the following to true
; and add the username and password to authenticate with
memcached_auth=false
memcached_user=
memcached_pass=


; Allow Long Sessions
; -------------------
; Cypht logins only last as long as the browser is open. Closing the browser,
; or moving to a new network, will cause you to be logged out. This setting
; provides users with a "stay logged in" option during login that will set the
; sesison lifetime to a default of 30 days, and disable the IP address check.
;
; USE WITH CAUTION SINCE THIS DISABLES SOME SESSION PROTECTIONS.
;
; Specifically:
;
; - Session cookies stay active after a browser restart making them more
;   susceptible to snooping
; - The browser "fingerprint" was use to help protect against session hijacking
;   includes the client's IP. With this option enabled a client IP can change
;   mid-session and it won't log them out
allow_long_session=false

; Set the session lifetime in days. Only applies if allow_long_session is set to
; true, and a user checks the box to "stay logged in" during login.
long_session_lifetime=30


; Browser Encryption Options
; --------------------------
; Cypht can use the Forge JavaScript encryption library to encrypt AJAX
; responses and data stored in browser local storage. Enabling either one of
; these options causes the Forge JavaScript library to be included. This adds
; about 70KB to the page size (when gzipped).

; Use AES encryption for AJAX responses. Set to true to enable, leave blank or
; set to false to disable.
encrypt_ajax_requests=

; Use AES encryption for data stored in the browser local storage. Set to true
; to enable, or leave blank or set to false to disable.
encrypt_local_storage=


; Allow client IP changes
; -----------------------
; By default Cypht will log you out if your client IP address changes. This is
; an extra layer of protection against session hijacking, but it's not uncommon
; for your client IP to change. Change this to true if you want to disable this
; check
disable_ip_check=false


; Allow remote image sources
; --------------------------
;
; WARNING: Using this feature could leak information to external sources.
;
; By default, Cypht will not allow external images to be loaded when viewing an
; HTML formatted email message. A Content Security Policy header limits images
; sources to "self" only and the message content is filtered to remove any external
; resource. If you really want the ability to view external images in an email,
; you first need to change the following setting to true. When viewing an HTML
; formatted message, you will now have a link before the message body called "Allow
; Images" that will reload the message part with external images visible.
allow_external_image_sources=false


;
; Single server mode
; ------------------
; This setting restricts Cypht to only using a single email source (POP3 or
; IMAP) and the default SMTP server defined in this file. It modifies the UI to
; remove the ability to add other email sources, and removes the password
; restriction when saving data between logins. You must use either IMAP or POP3
; authentication for this setting to be enforced, and auth server will be the
; single email source users have access to. If you enable this after users
; have saved any settings, they will be lost (or if you disable it after they
; have saved any settings). WARNING: USER SETTINGS SAVED TO THE SERVER WILL NOT
; BE ENCRYPTED WITH THIS ENABLED
single_server_mode=false


; Integration options
; -------------------
; Cypht does a few things to make it more secure by default, but these features
; can make it difficult to integrate Cypht into 3rd party software. Specifically,
; Cypht disables PHP "super globals", and sets a restrictive PHP "open basedir"
; setting, tweaks PHP ini settings to increase security, and uses a browser
; "fingerprint" to improve session security. You can disable each with the
; following options:

; Don't empty PHP super globals
disable_empty_superglobals=false

; Don't apply open basedir restrictions
disable_open_basedir=false

; Don't tweak ini settings
disable_ini_settings=false

; Don't use a browser fingerprint
disable_fingerprint=false

; You can create your own custom authentication and session classes using the
; site module set, however you might want those classes located somewhere else
; outside of the Cypht code base. By setting session_type and auth_type to custom,
; you can control what class is used with the following settings

; auth_class=
; session_class=


; -----------------------------------------------------------------------------
; DB Support
; -----------------------------------------------------------------------------

; Database Support
; ----------------
; Cypht can use a database for 3 different purposes: authentication, sessions,
; and user settings. Each requires the following settings to be configured and
; the correct table to be created. CREATE TABLE SQL statements for MySQL and
; Postgresql are below.
;
; Connection type. Can be "host" to connect to a hostname, or "socket" to
; connect to a unix socket.
db_connection_type=host

; Database host name or ip address. If db_connection_type is set to "socket",
; this value is ignored
db_host=127.0.0.1

; Database port. Only needed if your database is running on a non-standard
; port
db_port=3306

; If db_connection_type is set to "socket", this should be the filesystem
; location of the unix socket file. If db_connection_type is set to "host"
; this value is ignored.
db_socket=/var/lib/mysqld/mysqld.sock

; Name of the database with the required tables
db_name=cypht

; User to connect to the database with
db_user=xxxxxxx

; Password to connect to the database with
db_pass=xxxxxxxxxxxx

; Database type. can be any supported PDO driver ; (http://php.net/manual/en/pdo.drivers.php)
db_driver=mysql


; DB Sessions
; -----------
; If your session_type is set to DB, the following table must exist in the DB
; defined above, and the db user must have read-write access to it:
;
;  Postgresql:
;   CREATE TABLE hm_user_session (hm_id varchar(250) primary key not null, data text, date timestamp);
;
;  MySQL or SQLite:
;   CREATE TABLE hm_user_session (hm_id varchar(180), data longblob, date timestamp, primary key (hm_id));


; DB Authentication
; -----------------
; If your auth_type is set to DB, the following table must exist in the DB
; defined above, and the db user must have read-write access to it:
;
;  Postgresql:
;   CREATE TABLE hm_user (username varchar(255) primary key not null, hash varchar(255));
;
;  MySQL or SQLite:
;   CREATE TABLE hm_user (username varchar(250), hash varchar(250), primary key (username));


; DB Settings
; -----------
; If your user_config_type is set to DB, the following table must exist in the
; DB defined above, and the db user must have read-write access to it:
;
;  Postgresql:
;   CREATE TABLE hm_user_settings (username varchar(250) primary key not null, settings text);
;
;  MySQL or SQLite:
;   CREATE TABLE hm_user_settings(username varchar(250), settings longblob, primary key (username));


; -----------------------------------------------------------------------------
; Modules
; -----------------------------------------------------------------------------

; Module Sets
; -----------
; Cypht uses module sets to separate functionality in the program. Module sets
; can be enabled and disabled independently by commenting out or uncommenting
; the assignments below. Add a new assignment to enable your own module sets.


; Core
; ----
; Handles page layout, login/logout, and the default settings pages. This set
; is required.
modules[]=core

; Contacts
; -------
; Contact support. This module requires that at least one "backend" contacts
; module be enabled (ldap_contacts, gmail_contacts, or local_contacts). You
; can enable all the backends you want to support.
modules[]=contacts

; Local contact support. Simple, locally stored contacts backend
modules[]=local_contacts

; LDAP contact support. Use an LDAP server to store contacts. This module
; uses its own ini file in modules/ldap_contacts/. This file must be edited
; and moved to your app_data_dir to configure LDAP access.
; modules[]=ldap_contacts

; Gmail contact support. Read-only support for Gmail contacts. Only available
; if you have a Gmail account enabled that uses OAuth2 authentication
; modules[]=gmail_contacts

; Feeds
; -----
; RSS/ATOM feed support
modules[]=feeds

; POP3
; ----
; POP3 email account support
modules[]=pop3

; JMAP
; ----
; JSON Meta Application Protocol for emails
;modules[]=jmap

; IMAP
; ----
; IMAP email account support. If you want to use OAuth2 over IMAP (currently
; only supported by Gmail and Outlook.com), you will need to edit the oauth2.ini
; file in modules/imap/, and move it to your app_data_dir location.
modules[]=imap

; 2 factor authentication
; -----------------------
; This module enables 2 factor authentication using TOTP (compatible with
; Google Authenticator). You must edit the ini file in modules/2fa/ to
; configure a shared secret, then move that file to your app_data_dir.
; modules[]=2fa

; SMTP
; ----
; Send outbound email using SMTP servers
modules[]=smtp

; Account
; ------
; UI features for admins to create accounts, and for users to update passwords
; (when using the built-in DB authentication)
modules[]=account

; Idle timer
; ---------
; Controls idle time and automatic logout
modules[]=idle_timer

; Desktop notifications
; ---------------------
; Enable desktop notifications for new messages
; modules[]=desktop_notifications

; Calendar
; -------
; Basic calendar
modules[]=calendar

; Themes
; ------
; Change the UI using CSS
modules[]=themes

; NUX
; ---
; Friendly new user experience. Quickly add common email services, and view
; development updates
modules[]=nux

; Developer
; ---------
; For development, provides resources and installation details. Only available
; in "debug mode"
modules[]=developer

; Github
; ------
; Github repository tracking. This module has its own ini file located in
; modules/github/. You must edit this file, and move it to your app_data_dir
; to establish communication with github.
; modules[]=github

; reCAPTCHA
; ---------
; Use the reCAPTCHA server on login. This module has its own ini file in
; modules/recaptcha/. You must edit this file, and move it to the location
; defined in app_data_dir to gain access to the WordPress notification API.
; modules[]=recaptcha

; WordPress
; ---------
; WordPress.com notifications. This module has its own ini file in
; modules/wordpress/. You must edit this file, and move it to the location
; defined in app_data_dir to gain access to the WordPress notification API.
; modules[]=wordpress

; History
; -------
; Simple list of messages read since login
modules[]=history

; Saved searches
; --------------
; Save and re-run searches easily
modules[]=saved_searches

; Advanced search
; ---------------
; Enable the advanced search form
modules[]=advanced_search

; Message highlighting
; --------------------
; Create custom rules to highlight messages in lists with different colors
modules[] = highlights

; NASA
; ----
; Access the NASA APOD API content
; modules[]=nasa

; Profiles
; --------
; Profiles to set reply-to, name, and signature to associated email accounts
modules[]=profiles

; Inline message
; --------------
; View messages inline in a reading pane instead of on a new page
modules[]=inline_message

; IMAP folders
; -----------
; Support for adding/renaming/deleting folders in IMAP accounts
modules[]=imap_folders

; Keyboard Shortcuts
; ------------------
; Enables configurable keyboard shortcuts for navigations and actions
modules[]=keyboard_shortcuts

; Sieve Filters
; ------------------
; Enables configurable Sieve based IMAP filters
; modules[]=sievefilters

; Site
; ----
; Site specific overrides. Used to control other module sets without hacking
; the code.
; modules[]=site

; Dynamic login
; -------------
; Allows user to authenticate against a list of popular mail services, or to
; auto-discover the services for the specified email address. The auth_type
; setting must be set to "dynamic", otherwise this module set does not do
; anything
; modules[]=dynamic_login

; API login
; --------
; Allows an API based login that returns a JSON response containing the session
; and hm_id values needed to create a login session. You will need to set the
; api_login_key value to something unique and include that in the POST request.
; modules[]=api_login
; api_login_key=

; Recover settings
; ----------------
; When using IMAP or POP3 authentication, if a user's password is changed, we
; can't decrypt the existing user settings. This module detects that situation
; and provides a page where a user can enter their old and new passwords to
; recover their previous settings.
; modules[]=recover_settings

; Hello World
; -----------
; Example module set with lots of comments
; modules[]=hello_world


; -----------------------------------------------------------------------------
; User Defaults
; All of these settings can be changed by users, but you can uncomment and set
; the default behavior using the following options. This will only effect new
; users or ones that have never saved their settings.
;
; Per source time limits have valid values of:
; -1 day
; -1 week
; -2 weeks
; -4 weeks
; -6 weeks
; -6 months
; -1 year
; -5 years
;
; Per source maximums can be from 1 to 1000
; -----------------------------------------------------------------------------

; If set to true, passwords for email accounts will never be saved between logins
; Defaults to false
; default_setting_no_password_save=false

; Number of messages per page when viewing IMAP folders
; Defaults to 20
; default_setting_imap_per_page=20

; Amount of IMAP message structure detail on the message view page
; Defaults to full structure
; default_setting_simple_msg_parts=false

; Next and Previous emails on the message view page
; Defaults to full structure
; default_setting_pagination_links=true

; Show icons for each IMAP message part type
; Defaults to true
; default_setting_msg_part_icons=true

; Prefer text parts when viewing a message
; Defaults to false
; default_setting_text_only=false

; Per source max for the combined sent view
; Defaults to 20
; default_setting_sent_per_source=20

; Per source time limit for the combined sent view
; Defaults to 1 week
; default_setting_sent_since='-1 week'

; Display source icons in message lists
; Defaults to true
; default_setting_show_list_icons=true

; Redirect to this page on login
; Defaults to none
; default_setting_start_page=none

; Don't prompt when deleting something
; Defaults to false
; default_setting_disable_delete_prompt=false

; Hide icons in the folder list
; Defaults to false
; default_setting_no_folder_icons=false

; Source max for the all email combined view
; Defaults to 20
; default_setting_all_email_per_source=20

; Per source time limit for the all email combined view
; Defaults to 1 week
; default_setting_all_email_since='-1 week'

; Per source time limit for the everything combined view
; Defaults to 1 week
; default_setting_all_since='-1 week'

; Per source max for the everything combined view
; Defaults to 20
; default_setting_all_per_source=20

; Per source max for the unread combined view
; Defaults to 20
; default_setting_unread_per_source=20

; Per source max for the flagged combined view
; Defaults to 20
; default_setting_flagged_per_source=20

; Per source time limit for the flagged combined view
; Defaults to 1 week
; default_setting_flagged_since='-1 week'

; Per source time limit for the unread combined view
; Defaults to 1 week
; default_setting_unread_since='-1 week'

; Timezone for date displays
; Defaults to UTC
; default_setting_timezone='UTC'

; Message list format style
; Defaults to email client style
; default_setting_list_style='email_style'

; Interface language
; Defaults to en (English)
; default_setting_language='en'

; Hide new news feed items from the unread combined view
; Defaults to false
; default_setting_unread_exclude_feeds=false

; Per source max for news feeds
; Defaults to 20
; default_setting_feed_limit=20

; Per source time limit for news feeds
; Defaults to 1 week
; default_setting_feed_since='-1 week'

; Toggle between plain text or HTML formatted mail on the compose page
; Defaults to 0 (plain text)
; default_setting_smtp_compose_type=0

; BCC a copy of outbound mail to the sender
; Defaults to false
; default_setting_smtp_auto_bcc=false

; UI theme
; Defaults to the default white one ("White Bread")
; default_setting_theme='default'

; Hide WordPress notifications from the unread combined view
; Defaults to false
; default_setting_unread_exclude_wordpress=false

; Time limit for WordPress notifications
; Defaults to 1 week
; default_setting_wordpress_since='-1 week'

; Hide Github notifications from the unread combined view
; Defaults to false
; default_setting_unread_exclude_github=false

; Max per source for Github notifications
; Defaults to 20
; default_setting_github_limit=20

; Per source time limit for Github notifications
; Defaults to 1 week
; default_setting_github_since='-1 weeks'

; Display message details inline from the message list
; Defaults to false
; default_setting_inline_message=false

; Enable keyboard shortcuts
; Defaults to false
; default_setting_enable_keyboard_shortcuts=1

; Enable sieve filter
; Defaults to false
; default_setting_enable_sieve_filter=true

My login password are not xxxxxxx and connection to DB is OK

I also checked the folder read write and it's ok

Here are my tables
Capture d鈥櫭ヽran du 2024-05-15 21-17-42

For now only hm_user contains one row, the user.

@josaphatim
Copy link
Member

Really hard to reproduce for now. I also tried in a fresh installation of 1.4. I tried everything and still logging in. Have you created table hm_user_settings ? Can you check the php error log file to know the exact error ?

@rolie31
Copy link
Author

rolie31 commented May 19, 2024

The table is created yes. I have post a capture of the 3 tables in the previous post

Here is the error log ! I really dont know why but finally i have some log !

Screenshot_20240519_160432_JuiceSSH

@marclaporte
Copy link
Member

@rolie31 From the screenshot, you appear to be in France. FYI, we have a community event very soon in Paris, and Cypht is one of the topics: https://tiki.org/TikiFestParis2024

@josaphatim
Copy link
Member

@rolie31 I see that your issue has something to do with disable_origin_check. You were logged in but logged out when you Cypht check the origin. Can you try to set it to true in hm3.ini and then generate config again ? Below is the comment about it in the code.

;To help protect against CSRF attacks, Cypht checks origin headers to confirm
; that the source and target origin domains match. If you are using proxies this
; could create a problem making it impossible to login. Change this to true to
; disable the origin check.

@rolie31
Copy link
Author

rolie31 commented May 21, 2024

Thanks @josaphatim
That was this parameter :)

@rolie31
Copy link
Author

rolie31 commented May 21, 2024

I can now login

@rolie31 rolie31 closed this as completed May 21, 2024
@rolie31
Copy link
Author

rolie31 commented May 21, 2024

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants