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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] Log out do nothing #5073

Open
stjmt opened this issue Sep 29, 2023 · 4 comments
Open

[BUG] Log out do nothing #5073

stjmt opened this issue Sep 29, 2023 · 4 comments
Labels
awaiting-response requires additional information from submitter triage issue needs to be investigated

Comments

@stjmt
Copy link

stjmt commented Sep 29, 2023

Describe the bug
Logout impossible.

To Reproduce
I use firefox, i connect with admin password but when i click on logout ... nothing. "Solution" clear all : cache, history, cookie ... on firefox.

  • Build: eXist-6.2.0
  • Java: Last Java Adoptium (Temurin) 17
  • OS: Debian 11

Additional context

  • How is eXist-db installed? exist-distribution-6.2.0-unix.tar.bz2 from github
  • Any custom changes in e.g. conf.xml?

conf.xml (click on details)

<?xml version="1.0" encoding="UTF-8"?>
<exist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../schema/conf.xsd">
        Configures the database backend.
        
        - cacheSize:
            the maximum amount of memory to use for database page buffers.
            Each database file has an associated page buffer for B+-tree and
            data pages. However, the memory specified via cacheSize is shared
            between all page buffers. It represents an absolute maximum, which
            would be occupied if all page buffers were completely full.
            
            The cacheSize should typically not be more than half of the size of 
            the JVM heap size (set by the JVM -Xmx parameter). It can be larger 
            if you have a large-memory JVM (usually a 64bit JVM)
        
        - checkMaxCacheSize:
            specifies whether eXist should check the max cache size on startup 
            and reduce it if it is too large.
            
            This value should normally be set to true.
            
            Only set this value to false if:
            
                a) You know what you are doing!
                b) You have a JVM with tons of memory (typically using a 64-bit 
                   JVM, which is the scenario this setting is intended for).
                c) You are really sure you've complied with a) and b) above.
                
            Setting this value to false may cause memory issues which may lead to 
            database corruptions, since it disables the automated max cache size 
            checks! You have been warned! ;-)
            
        - collectionCache:
            maximum amount of memory (in megabytes) to use for collection caches.
            Memory calculation is just approximate. If your collections are very 
            different in size, it might be possible that the actual amount of 
            memory used exceeds the specified limit. You should thus be careful 
            with this setting.
        
        - database:
            selects a database backend. Currently, "native" is the only valid setting.
        
        - files:
            path to the directory where database files are stored.
        
        - pageSize:
            the size of one page on the disk. This is the smallest unit
            transferred from and to the database files. Should be a multiple of
            the operating system's file system page size (usually 4096).
        - nodesBuffer:
            size of the temporary buffer used by eXist for caching index
            data while indexing a document. If set to -1, eXist will use the
            entire free memory to buffer index entries and will flush the
            cache once the memory is full.
            If set to a value > 0, the buffer will be fixed to the given size.
            The specified number corresponds to the number of nodes the
            buffer can hold, in thousands. Usually, a good default could be
            nodesBuffer="1000".
    
         - cacheShrinkThreshold:
            The minimum number of pages that must be read from a
            cache between check intervals to be not considered for 
            shrinking. This is a measure for the "load" of the cache. Caches
            with high load will never be shrinked. A negative value means that
            shrinkage will not be performed.
        - minDiskSpace:
            The amount of disk space (in megabytes) which should be available for
            the database to continue operations. If free disk space goes below
            the configured limit, eXist-db will flush all buffers to disk and
            switch to read-only mode in order to prevent potential data loss. 
            Set the limit large enough to allow all pending operations to 
            complete. Set to -1 to disable. The default is 1 gigabyte.
        - posix-chown-restricted:
            As defined by POSIX.1 for _POSIX_CHOWN_RESTRICTED.
            When posix-chown-restricted="true" (the default) then:
                1. Only a superuser process can change the user ID of the file.
                2. A non-superuser process can change the group ID of the file
                   if the process owns the file (the effective user ID equals
                   the user ID of the file), and group equals either the
                   effective group ID of the process or one of the
                   process’s supplementary group IDs.
            This means that when posix-chown-restricted="true", you can’t change
            the user ID of your files. You can change the group ID of files that
            you own, but only to groups that you belong to.
            When posix-chown-restricted="false" you can change the user ID of
            any file that you own, effectively "giving away the file" to
            another user. Such a setting has negative security implications,
            further details can be seen in the "Rationale" section for the
            chown function in the POSIX.1-2017 (Issue 7, 2018 edition) standard.
            See: http://pubs.opengroup.org/onlinepubs/9699919799/functions/chown.html#tag_16_59_07
        - preserve-on-copy
            When copying Collections and Documents within the database, the
            default (`false`), is not to preserve their attributes
            (modification time, mode, user-id, group-id, and ACL).
            NOTE: Not preserving attributes, is inline with both the GNU and
            BSD `cp` commands, and therefore expected behaviour; The target
            Collection or Document is created following the rules of the
            target parent, and the effective user and their umask.
            Setting preserve-on-copy="true" changes the default behaviour
            so that the target Collection or Document of a copy, has the same
            attributes as the source.
            The preserve-on-copy setting can be overridden on a case-by-case
            basis by setting the `preserve` flag to either `true` or `false`
            when calling xmldb:copy(), or via any other API that supports copy.
            Omitting the preserve flag when calling a copy operation, implies
            the behaviour that is set in this configuration.
        =====================================================================
        
        The settings below are very conservative to avoid out-of-memory
        exceptions on machines with limited memory (256MB).
        
        Increase the buffer settings for elements_buffers and words_buffers if 
        you have some more memory to waste. If you deal with lots of 
        collections, you can also increase the collectionCacheSize value 
    -->
    <db-connection cacheSize="512M" checkMaxCacheSize="true" collectionCache="512M" database="native"
        files="/var/lib/existdb" pageSize="4096" nodesBuffer="1000" cacheShrinkThreshold="10000"
        minDiskSpace="128M" posix-chown-restricted="true" preserve-on-copy="false">
        <startup>
            <triggers>
		<trigger class="org.exist.security.BouncyCastleJceProviderStartupTrigger"/>
                <trigger class="org.exist.protocolhandler.URLStreamHandlerStartupTrigger">
                    <parameter name="mode" value="disk"/>
                    <parameter name="mode" value="memory"/>
                </trigger>
                <trigger class="org.exist.extensions.exquery.restxq.impl.RestXqStartupTrigger"/>
                <trigger class="org.exist.repo.AutoDeploymentTrigger">
                </trigger>
            </triggers>
        </startup>
        <pool max="20" min="1" sync-period="120000" wait-before-shutdown="120000"/>
        <query-pool max-stack-size="64" size="128"/>
        <recovery enabled="yes"  group-commit="no"   journal-dir="/var/lib/existdb"
                  size="100M" sync-on-commit="no"  force-restart="no"  consistency-check="yes"/>
        <watchdog output-size-limit="1000000" query-timeout="-1"/>
    </db-connection>
    <lock-manager
            upgrade-check="false"
            warn-wait-on-read-for-write="false"
            paths-multi-writer="false">
        <lock-table disabled="false" trace-stack-depth="0"/>
        <document use-path-locks="false"/>
    </lock-manager>
    <repository root="/db/apps"/>
    <binary-manager>
        <cache class="org.exist.util.io.FileFilterInputStreamCache"/>
    </binary-manager>
    <indexer caseSensitive="yes" index-depth="5" preserve-whitespace-mixed-content="no"
        suppress-whitespace="none">
        <modules>
            <module id="ngram-index" file="ngram.dbx" n="3" class="org.exist.indexing.ngram.NGramIndex"/>
            <module id="lucene-index" buffer="32" class="org.exist.indexing.lucene.LuceneIndex" />
            <module id="sort-index"      class="org.exist.indexing.sort.SortIndex"/>
            <module id="range-index"    class="org.exist.indexing.range.RangeIndex"/>
        </modules>
        <index>
        </index>
    </indexer>
    <scheduler>    
    </scheduler>
    <parser>
        <xml>
            <features>
            </features>
        </xml>
        <html-to-xml class="org.cyberneko.html.parsers.SAXParser">
            <properties>
                <property name="http://cyberneko.org/html/properties/names/elems" value="match"/>
                <property name="http://cyberneko.org/html/properties/names/attrs" value="no-change"/>
            </properties>
        </html-to-xml>
    </parser>
    <serializer add-exist-id="none" compress-output="no" output-doctype="yes" enable-xinclude="yes"
                enable-xsl="yes" indent="yes" match-tagging-attributes="no" 
                match-tagging-elements="no">
    </serializer>
    <transformer class="net.sf.saxon.TransformerFactoryImpl" caching="yes">
        <attribute name="http://saxon.sf.net/feature/version-warning" value="false" type="boolean"/>
    </transformer>
    <validation mode="no">
        <entity-resolver>
            <catalog uri="${WEBAPP_HOME}/WEB-INF/catalog.xml"/>
        </entity-resolver>
    </validation>
    <xquery enable-java-binding="no" disable-deprecated-functions="no" 
            enable-query-rewriting="yes" backwardCompatible="no" 
            enforce-index-use="always"
            raise-error-on-failed-retrieval="no">
        
        <builtin-modules>
            <module uri="http://www.w3.org/2005/xpath-functions/map"  class="org.exist.xquery.functions.map.MapModule"/>
            <module uri="http://www.w3.org/2005/xpath-functions/math" class="org.exist.xquery.functions.math.MathModule"/>
            <module uri="http://www.w3.org/2005/xpath-functions/array" class="org.exist.xquery.functions.array.ArrayModule"/>
            <module uri="http://exist-db.org/xquery/backups" class="org.exist.backup.xquery.BackupModule"/>
            <module uri="http://exist-db.org/xquery/inspection" class="org.exist.xquery.functions.inspect.InspectionModule"/>
            <module uri="http://www.json.org" src="resource:org/exist/xquery/lib/json.xq"/>
            <module uri="http://www.jsonp.org" src="resource:org/exist/xquery/lib/jsonp.xq"/>
            <module uri="http://exist-db.org/xquery/kwic" src="resource:org/exist/xquery/lib/kwic.xql"/>
            <module uri="http://exist-db.org/xquery/request" class="org.exist.xquery.functions.request.RequestModule"/>
            <module uri="http://exist-db.org/xquery/response" class="org.exist.xquery.functions.response.ResponseModule"/>
            <module uri="http://exist-db.org/xquery/securitymanager" class="org.exist.xquery.functions.securitymanager.SecurityManagerModule"/>
            <module uri="http://exist-db.org/xquery/session" class="org.exist.xquery.functions.session.SessionModule"/>
            <module uri="http://exist-db.org/xquery/system" class="org.exist.xquery.functions.system.SystemModule"/>
            <module uri="http://exist-db.org/xquery/testing" src="resource:org/exist/xquery/lib/test.xq"/>
            <module uri="http://exist-db.org/xquery/transform" class="org.exist.xquery.functions.transform.TransformModule"/>
            <module uri="http://exist-db.org/xquery/util" class="org.exist.xquery.functions.util.UtilModule">
                <parameter name="evalDisabled" value="false"/>
            </module>
            <module uri="http://exist-db.org/xquery/validation" class="org.exist.xquery.functions.validation.ValidationModule"/>
            <module uri="http://exist-db.org/xquery/xmldb" class="org.exist.xquery.functions.xmldb.XMLDBModule">
                <parameter name="allowAnyUri" value="false"/>
            </module>
            <module uri="http://exist-db.org/xquery/lucene" class="org.exist.xquery.modules.lucene.LuceneModule"/>
            <module uri="http://exist-db.org/xquery/ngram"  class="org.exist.xquery.modules.ngram.NGramModule"/>
            <module uri="http://exist-db.org/xquery/range"  class="org.exist.xquery.modules.range.RangeIndexModule"/>
            <module uri="http://exist-db.org/xquery/sort"   class="org.exist.xquery.modules.sort.SortModule"/>
            <module uri="http://exist-db.org/xquery/contentextraction"  class="org.exist.contentextraction.xquery.ContentExtractionModule"/>
            <module uri="http://expath.org/ns/http-client" class="org.expath.exist.HttpClientModule"/>
            <module uri="http://expath.org/ns/zip" class="org.expath.exist.ZipModule"/>
            <module uri="http://exquery.org/ns/request" class="org.exist.extensions.exquery.modules.request.RequestModule"/>
            <module uri="http://exquery.org/ns/restxq" class="org.exist.extensions.exquery.restxq.impl.xquery.RestXqModule"/>
            <module uri="http://exquery.org/ns/restxq/exist" class="org.exist.extensions.exquery.restxq.impl.xquery.exist.ExistRestXqModule"/>
            <module uri="http://exist-db.org/xquery/xqdoc" class="org.exist.xqdoc.xquery.XQDocModule"/>
            <module uri="http://exist-db.org/xquery/cache" class="org.exist.xquery.modules.cache.CacheModule">
                <parameter name="enableLazyCreation" value="true"/>
                <parameter name="lazy.maximumSize" value="128"/>
            </module>
            <module uri="http://exist-db.org/xquery/compression" class="org.exist.xquery.modules.compression.CompressionModule"/>
            <module uri="http://exist-db.org/xquery/counter" class="org.exist.xquery.modules.counter.CounterModule"/>
            <module uri="http://exist-db.org/xquery/cqlparser" class="org.exist.xquery.modules.cqlparser.CQLParserModule"/>
            <module uri="http://exist-db.org/xquery/repo" class="org.exist.xquery.modules.expathrepo.ExpathPackageModule"/>
            <module uri="http://exist-db.org/xquery/file" class="org.exist.xquery.modules.file.FileModule"/>
            <module uri="http://exist-db.org/xquery/image" class="org.exist.xquery.modules.image.ImageModule"/>
            <module uri="http://exist-db.org/xquery/jndi" class="org.exist.xquery.modules.jndi.JNDIModule"/>
            <module uri="http://exist-db.org/xquery/mail" class="org.exist.xquery.modules.mail.MailModule"/>
            <module uri="http://exist-db.org/xquery/persistentlogin" class="org.exist.xquery.modules.persistentlogin.PersistentLoginModule"/>
            <module uri="http://exist-db.org/xquery/process" class="org.exist.xquery.modules.process.ProcessModule"/>
            <module uri="http://exist-db.org/xquery/scheduler" class="org.exist.xquery.modules.scheduler.SchedulerModule"/>
            <module uri="http://exist-db.org/xquery/simple-ql" class="org.exist.xquery.modules.simpleql.SimpleQLModule"/>
            <module uri="http://exist-db.org/xquery/sql" class="org.exist.xquery.modules.sql.SQLModule">
            </module>
            <module uri="http://exist-db.org/xquery/xmldiff" class="org.exist.xquery.modules.xmldiff.XmlDiffModule"/>
            <module uri="http://exist-db.org/xquery/xslfo" class="org.exist.xquery.modules.xslfo.XSLFOModule">
                <parameter name="processorAdapter" value="org.exist.xquery.modules.xslfo.ApacheFopProcessorAdapter"/>
            </module>
        </builtin-modules>
    </xquery>
    <xupdate allowed-fragmentation="50000" enable-consistency-checks="no"/>
</exist>
@joewiz
Copy link
Member

joewiz commented Sep 29, 2023

What are you logging out from? (If you’re not sure, please provide the URL of the page where you’re clicking on logout.)

@dizzzz
Copy link
Member

dizzzz commented Apr 24, 2024

Input needed, please feel free to reopen ...

@dizzzz dizzzz closed this as not planned Won't fix, can't repro, duplicate, stale Apr 24, 2024
@dizzzz
Copy link
Member

dizzzz commented Apr 24, 2024

Juri understands....

@dizzzz dizzzz reopened this Apr 24, 2024
@line-o
Copy link
Member

line-o commented Apr 24, 2024

@stjmt If I understand you correctly you logged in using a (bundled?) application that makes use of the persistentLogin module provided by exist-db.
Is that correct?

@line-o line-o added awaiting-response requires additional information from submitter triage issue needs to be investigated labels Apr 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-response requires additional information from submitter triage issue needs to be investigated
Projects
None yet
Development

No branches or pull requests

4 participants