[horde] nginx rewrite problems

Ruud Baart r.j.baart at prompt.nl
Sat Mar 28 09:01:21 UTC 2026


Hi Ralf,

Thank you for answering.

Op 2026-03-27 om 14:19 schreef Ralf Lang:
> Hi Ruud,
>
> 1) The time sync issue is weird. Please make a backup of your database 
> and afterwards run horde-db-migration command again to make sure you 
> are on the right schema for kronolith.
Database is correct I think. But before going on with that problem, sync 
must be 100% reliable.
> 2) Next, if you check using "composer outdated", you’ll see that there 
> are some modules that aren’t updated automatically. The first question 
> is: is it a good idea or not to also update 
> “horde/horde-installer-plugin”, “sabre/event”, “sabre/http”, 
> “sabre/uri”, and “sabre/xml”?
>
> You best run "composer why-not horde/horde-installer-plugin 3.3.1" to 
> get an idea why exactly it's not updated.

It makes things not more clear for me. Probably because I don't 
understand the explanation.

    composer why-not horde/horde-installer-plugin 3.3.1
    horde/bundle dev-master requires horde/horde-installer-plugin (^2.5.1 || dev-FRAMEWORK_6_0 || dev-master)

There is a dependency which blocks the update.  I understand - because a 
tried in an experimental environnement - that this module must/can be 
chosen when you start a new installation but you can't use it in an 
existing horde 6 installation. Is it better/important to start a fresh 
installation with this 3.3.1 version?

And what about the sabre modules. Same here, the dependency horde/bundle 
dev-master requires sabre/event (^5.1) blocks the update? Are the 
outdated sabre modules  perhaps a problem for the DAV functionality.

As an ordinary mortal, I sometimes lose my way in all this. Especially 
when I'm having trouble with Horde

>
> 3) DAV
> ----
> <?xml version="1.0" encoding="utf-8"?>
> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" <http://sabredav.org/ns>>
>    <s:sabredav-version>4.7.0</s:sabredav-version>
>    <s:exception>Sabre\DAV\Exception</s:exception>
>    <s:message>Circular dependency detected: Kronolith_Geo → Kronolith_Geo</s:message>
> </d:error>
> Check your Horde Base App's conf.php if you have correctly configured 
> your geo driver ($conf['maps']['geo']) -  in the UI it's in 
> http://localhost/horde/admin/config/config.php under the "maps" tab.

In my opinion, this is bizarre.

You are right: if I change the configuration of the geo driver the 
behavior of DAV changes. But:

(1) I did not touch the configuration of the geo driver. It was always 
not configured. For as long as I can remember the configuration I used 
was $conf['maps']['driver'] = false. Suddenly I can't synchronise 
calenders without configuring the geo driver after running 'composer update'

  (2) I tried to configure the geo driver. The current geo driver 
configuration is now: $conf['maps']['providers'] = array('Google'), 
$conf['maps']['geocoder'] = 'Google', $conf['maps']['geodriver'] = 
'Sql'. With this configuration most of the calendars synchronise (DAV). 
One calender won't synchronise. The message in my DAVx5:

    HTTP RESPONSE
    <?xml version="1.0" encoding="utf-8"?>
    <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
       <s:sabredav-version>4.7.0</s:sabredav-version>
       <s:exception>Sabre\DAV\Exception</s:exception>
       <s:message>Kan tijd invoer niet verwerken (04)</s:message>
    </d:error>

Strange error (translated: can't proces time input) and probably 
incorrect. This calendar has very few entries and I can't see any 
strange times. And all entries are accepted bij Kronolith.

As said, I can't configure "$conf['maps']['driver'] = false" because 
then all calenders won't sync. I can change $conf['maps']['providers'] = 
array('Google') for another provider. But I _must_ 
configure $conf['maps']['geocoder'] otherwise no sync and I 
_must_ $conf['maps']['geodriver']. If I choose none no syncing.

So, you put me on the right track but the solution is not evident for me.

>
>
>
>
> On Fri, Mar 27, 2026 at 12:40 PM Ruud Baart <r.j.baart at prompt.nl> wrote:
>
>     Hi Ralf,
>
>     I’ll explain my question a bit further. A while ago, I switched
>     from Horde 5 (which I’d been using for many years) to Horde 6. I
>     was actually forced to do so because PHP 7 was causing increasing
>     problems when used with other software.  The transition was far
>     from smooth. Perhaps this was also due to my lack of familiarity
>     with composer and Horde 6. Ultimately, I now have a stable Debian
>     system, Trixie (13.4), running PHP 8.4. I’m using Nginx 1.26 and
>     PHP-FPM.
>
>     There were still a few PHP errors with Horde/nginx, but it works.
>     The issues I’ve been having over the past few weeks are related to
>     Kronolith/DAV. The DAV calendars in Thunderbird are out of sync.
>     The times keep shifting. A while back, this was caused by a
>     Thunderbird bug in the local caching of the calendar. After
>     updating to a new version of Thunderbird, the problem seemed to be
>     resolved. In recent weeks, the problem has returned, much to the
>     annoyance of the few users I still support. Appointments made via
>     the web interface or the ActiveSync client do work properly. My
>     first thought was that the existing rewrite rules in the Nginx
>     configuration were no longer sufficient. After further
>     consideration, I don’t actually think that’s the case.
>
>     I suspect there's an issue with the time zone between Thunderbird
>     and Kronolith. To troubleshoot the issue again, I decided to start
>     by updating the Horde 6 environment. It seems that the developers
>     are working very hard to achieve a stable Horde 6 environment. So
>     I ran a "composer update". Immediately after that, the DAV
>     synchronization stopped working.
>
>     Since I have the chance to give some context 🙂: first, a few
>     questions about the Horde 6 update. I did:
>
>         composer require horde/kronolith dev-FRAMEWORK_6_0
>         composer update
>
>     Next, if you check using "composer outdated", you’ll see that
>     there are some modules that aren’t updated automatically. The
>     first question is: is it a good idea or not to also update
>     “horde/horde-installer-plugin”, “sabre/event”, “sabre/http”,
>     “sabre/uri”, and “sabre/xml”?  I believe that Sabre is the basis
>     for DAV functionality. Since it doesn't update automatically via
>     “composer update,” I'm not sure if updating these modules is a
>     good idea. If the sabre modules need to be updated, it is not
>     clear to me how that should be done. A simple composer
>     update sabre/event doesn't update anything.
>
>     There are no real messages why DAV synchronization stopped
>     working. Debug in horde is E_ALL but I don't see errors. Not in
>     nginx logging nor horde logging.
>
>     Two errors, but they are not new:
>
>     (1) after a request for syncing calander:
>
>     2026/03/27 09:47:43 [error] 2843694#2843694: *172335 readv() failed
>     (104: Connection reset by peer) while reading upstream, client: 12.34.56.78, server:aa.bb.cc <http://aa.bb.cc>, request:"PUT
>     /horde/rpc/calendars/user at domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.ics
>     HTTP/2.0" <mailto:PUT/horde/rpc/calendars/user at domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.icsHTTP/2.0>, upstream: "fastcgi://unix:/run/php/php8.4-fpm.sock:",
>     host: "aa.bb.cc <http://aa.bb.cc>"
>
>     (2) Activesync heartbeat (I think)
>
>         2026/03/27 00:27:24 [error] 2843696#2843696: *118314 upstream timed out (110: Connection timed out) while reading
>         response header from upstream, client: 12.34.56.78, server:aa.bb.cc <http://aa.bb.cc>, request:
>         "POST /Microsoft-Server-ActiveSync?Cmd=Ping&User=user%40domain.xy&DeviceId=androidc123456&DeviceType=Android HTTP/1.1",
>         upstream: "fastcgi://unix:/run/php/php8.4-fpm.sock", host: "aa.bb.cc <http://aa.bb.cc>"
>
>     On my Android device  with a DAV client (DAVx5) I see a new error.
>     The client won't sync and the debug information shows:
>
>         HTTP REQUEST
>         PUThttps://aa.bb.cc/horde/rpc/calendars/user@domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.ics
>
>         HTTP RESPONSE
>         <?xml version="1.0" encoding="utf-8"?>
>         <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" <http://sabredav.org/ns>>
>            <s:sabredav-version>4.7.0</s:sabredav-version>
>            <s:exception>Sabre\DAV\Exception</s:exception>
>            <s:message>Circular dependency detected: Kronolith_Geo → Kronolith_Geo</s:message>
>         </d:error>
>
>     Before I can return to the problem with the incorrect hours in
>     Thunderbird calender syncing must be working.  I need help with
>     the syncing problem because I can't find with is wrong and/or why.
>
>     When syncing is ok again I return to the Thunderbird calendar
>     problem. I suppose it is a timezone problem between cache and DAV
>     sync. But I'm not sure.
>
>     Sorry, quite a long story.
>
>     Op 27-3-2026 om 05:13 schreef Ralf Lang:
>>     Hello Ruud,
>>
>>     can you provide some context? When you manually hit horde/rpc.php
>>     or /horde/rpc/ and enter your credentials what exactly happens or
>>     is shown?
>>
>>
>>     On Thu, Mar 26, 2026 at 3:37 PM Ruud Baart <r.j.baart at prompt.nl>
>>     wrote:
>>
>>         Hi,
>>
>>         Horde 6 + nginx has been working reasonably well over the
>>         past few
>>         weeks. No major issues. However kronolith gives me some
>>         problems, I
>>         think there are time zone problems again. Possibly caused by
>>         Thunderbird.
>>
>>         To solve these problems, I started with “composer update”
>>         yesterday.
>>         Thing got worse and now the DAV isn't working properly
>>         anymore. It seems
>>         to me that my rewrite rules in nginx.conf are no longer correct.
>>         Apparently, something has changed.
>>
>>         I'd like to see a current, working nginx configuration to
>>         compare it
>>         with what I have. Maybe that will help me solve the problem.
>>
>>
>>         Ruud Baart
>>
>>         -- 
>>         Horde mailing list
>>         Frequently Asked Questions: http://horde.org/faq/
>>         To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>>
-- 

Cordialement,

*

R.J. Baart
Portable: +33 7 88398245

*


More information about the horde mailing list