Problems during local JMAP setup regarding HTTP 405 response

Ken Murchison murch at fastmail.com
Wed Apr 15 06:40:25 EDT 2020


Are your requests against /jmap or /jmap/ (note that the trailing / is 
required)?


On 4/15/20 1:34 AM, stanimir at audriga.com wrote:
> Hello everyone,
>
> I'm currently trying to test a JMAP client library against a locally 
> running Cyrus instance.
> The issue which I'm experiencing is that when trying to make a JMAP 
> request like the one described in the docs here: 
> https://www.cyrusimap.org/dev/imap/developer/jmap.html, I'm getting a 
> "405 Method Not Allowed" response.
>
> My setup is:
>  - OS: Debian Bullseye
>  - Cyrus version: 3.2.0-beta3-Debian-3.2.0~beta3-1 (I got the Cyrus as 
> a Debian package and managed to get it running)
>
> Here are my .conf files:
>
> === cyrus.conf ===
> START {
>     recover        cmd="/usr/sbin/cyrus ctl_cyrusdb -r"
>     delprune    cmd="/usr/sbin/cyrus expire -E 3"
>     tlsprune    cmd="/usr/sbin/cyrus tls_prune"
> }
>
> SERVICES {
>     imap        cmd="imapd -U 30" listen="imap" prefork=0 maxchild=100
>     #imaps        cmd="imapd -s -U 30" listen="imaps" prefork=0 
> maxchild=100
>     pop3        cmd="pop3d -U 30" listen="pop3" prefork=0 maxchild=50
>     #pop3s        cmd="pop3d -s -U 30" listen="pop3s" prefork=0 
> maxchild=50
>     nntp        cmd="nntpd -U 30" listen="nntp" prefork=0 maxchild=100
>     #nntps        cmd="nntpd -s -U 30" listen="nntps" prefork=0 
> maxchild=100
>     #http        cmd="httpd -U 30" listen="8008" prefork=0 maxchild=100
>     #https        cmd="httpd -s -U 30" listen="8443" prefork=0 
> maxchild=100
>     http        cmd="httpd" listen="http" prefork=0
>     https        cmd="httpd -s" listen="https" prefork=0
>
>     lmtpunix    cmd="lmtpd" listen="/run/cyrus/socket/lmtp" prefork=0 
> maxchild=20
>     sieve        cmd="timsieved" listen="localhost:sieve" prefork=0 
> maxchild=100
>     notify        cmd="notifyd" listen="/run/cyrus/socket/notify" 
> proto="udp" prefork=1
> }
>
> EVENTS {
>     checkpoint    cmd="/usr/sbin/cyrus ctl_cyrusdb -c" period=30
>     delprune    cmd="/usr/sbin/cyrus expire -E 3" at=0401
>     tlsprune    cmd="/usr/sbin/cyrus tls_prune" at=0401
>     deleteprune    cmd="/usr/sbin/cyrus expire -E 4 -D 28" at=0430
>     expungeprune    cmd="/usr/sbin/cyrus expire -E 4 -X 28" at=0445
> }
>
> DAEMON {
>     squatter cmd="squatter -R"
> }
>
>
> === imapd.conf ===
> configdirectory: /var/lib/cyrus
>
> proc_path: /run/cyrus/proc
> mboxname_lockpath: /run/cyrus/lock
>
> #defaultpartition: default
> partition-default: /var/spool/cyrus/mail
>
> # News setup
> partition-news: /var/spool/cyrus/news
> newsspool: /var/spool/news
>
> altnamespace: no
>
> unixhierarchysep: 1
>
> lmtp_downcase_rcpt: yes
>
> admins: cyrus imapuser
>
> allowanonymouslogin: no
>
> popminpoll: 1
>
> autocreate_quota: 0
>
> umask: 077
>
> sieveusehomedir: false
>
> sievedir: /var/spool/sieve
>
> httpmodules: caldav carddav jmap
>
> hashimapspool: true
>
> allowplaintext: yes
>
> sasl_pwcheck_method: auxprop
>
> sasl_auto_transition: no
>
> tls_client_ca_dir: /etc/ssl/certs
>
> tls_session_timeout: 1440
>
> lmtpsocket: /run/cyrus/socket/lmtp
>
> idlesocket: /run/cyrus/socket/idle
>
> notifysocket: /run/cyrus/socket/notify
>
> syslog_prefix: cyrus
>
> sync_log: on
> sync_log_channels: squatter
> search_engine: xapian
> search_index_headers: no
> search_batchsize: 8192
> defaultpartition: base
> defaultsearchtier: t1
> partition-base: /var/cyrus/spool
> t1searchpartition-base: /var/cyrus/search
>
> conversations: 1
> conversations_db: twoskip
>
>
> calendarprefix: #calendars
>
>
>
> I also ran an OPTIONS request for all paths (with the * operator) on 
> port 80 for localhost via telnet, which showed that pretty much all 
> HTTP methods are possible (including DAV). However, when running the 
> OPTIONS request for the /jmap route, only OPTIONS, GET and HEAD are 
> allowed.
>
> I would be very happy if somebody could offer some insights on this 
> issue.
>
>
> Best regards,
>
> Stanimir Bozhilov
> ----
> Cyrus Home Page: http://www.cyrusimap.org/
> List Archives/Info: http://lists.andrew.cmu.edu/pipermail/info-cyrus/
> To Unsubscribe:
> https://lists.andrew.cmu.edu/mailman/listinfo/info-cyrus

-- 
Ken Murchison
Cyrus Development Team
Fastmail US LLC



More information about the Info-cyrus mailing list