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

Bad put request: Failed to parse line: \n (Thunderbird) #1274

Open
stbc opened this issue Dec 15, 2022 · 15 comments
Open

Bad put request: Failed to parse line: \n (Thunderbird) #1274

stbc opened this issue Dec 15, 2022 · 15 comments
Assignees
Labels

Comments

@stbc
Copy link

stbc commented Dec 15, 2022

Hi,

upon running the latest thunderbird, I am encountering the above statement in our error log when trying to create a calendar event with a body text coming from a mail (using "transform to event" method in TB). Deleting the text will result in proper event creation in radicale. Any hints on that?

@pbiering
Copy link
Collaborator

pbiering commented Dec 15, 2022

can you please paste (anonymized, if needed) the log lines here? Cannot match to error messages in "radicale/app/put.py" so far.

@stbc
Copy link
Author

stbc commented Dec 16, 2022

my bad, sorry for not adding this right away.
radi_log.txt
Attached as text file as it is easier to read. Can provide as paste here as well if needed or requested.

@pbiering
Copy link
Collaborator

the attached logfile shows all related information...

the event was rejected by "vobject" library, which is only used by "radicale":

radi env[5217]: vobject.base.ParseError: At line 59: Failed to parse line: \n

I would strongly assume it's caused by following entry in the schedule:

DESCRIPTION:test#015\n#015\ntest#015\n#015\n#015\n#015\n#015\ntest

According to

PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN

I would assume you are using Thunderbird, tried to replay with Thunderbird 102.5.1 on Linux and 102.6 on Windows, but here this results in

DESCRIPTION;ALTREP="...":Test\nTest\nTest\n

(no #015 here, which is octal representation of CR \r)

Question: what has generated that ICS file containing #015 (which I assume is the reason for the issue)

BTW: please fix typo in topic.

@stbc stbc changed the title Bad put reqeust: Failed to parse line: \n Bad put request: Failed to parse line: \n Dec 19, 2022
@stbc
Copy link
Author

stbc commented Dec 19, 2022

Running TB 102.6.0 (32-Bit). Asked a colleague of mine to reproduce, he got the same error on our radicale server.

We found out, that this only occurs, when you are using the "Convert to event" feature on a mail you got in your inbox. The DESCRIPTION field is populated differently in that case.

Using the "Convert to event" feature will result in:

Dec 19 09:37:32 radi env[15377]: DESCRIPTION:Sehr geehrte/r [user], wir bestätigen, dass wir Ihre Anfra
Dec 19 09:37:32 radi env[15377]: ge erhalten haben und ein Ticket erstellt wurde.#15\n Ein Support-Mitarbeite
Dec 19 09:37:32 radi env[15377]: r wird Ihre Anfrage prüfen und Ihnen eine persönliche Antwort zukommen la
Dec 19 09:37:32 radi env[15377]: ssen.#15\n

Entering the event manually in Tunderbird, using newlines in DESCRIPTION as well is generating:

Dec 19 09:39:36 radi env[15377]: DESCRIPTION;ALTREP="data:text/html,%3Cbody%3E%0A%3Cdiv%3E1%20Zeile%3C%2Fdiv
Dec 19 09:39:36 radi env[15377]: %3E%0A%3Cdiv%3E%3Cbr%3E%0A2%20Zeile%3C%2Fdiv%3E%0A%3Cdiv%3EDankesch%C3%B6n
Dec 19 09:39:36 radi env[15377]: .%3C%2Fdiv%3E%0A%3C%2Fbody%3E":1 Zeile\n\n2 Zeile\nDankeschön.\n

@pbiering
Copy link
Collaborator

Can you check raw content of the e-mail whether it's proper encoded (e.g. save raw and analyze with "hexdump").

Anyhow, looks like "Thunderbird" has a bug or is too relaxed on "Convert to event" related to that '#15' (which should represent '\r') char in front of '\n'.

BTW: '\r' is not mentioned here in line separation for DESCRIPTION:
https://www.rfc-editor.org/rfc/rfc5545#section-3.8.1.5

=> either "Thunderbird" has a bug or "vobject" is too strict....in any of this cases, "radicale" can't solve that issue for you.

@stbc
Copy link
Author

stbc commented Dec 20, 2022

I will check and I was afraid of that conclusion :/ But you are absolutely right 😢

@pbiering
Copy link
Collaborator

I will check and I was afraid of that conclusion

The only somehow ugly workaround would be removing or replacing unexpected chars from the request body before parsing with "vobject".

Check code in radicale/httputils.py:

def read_request_body(configuration: "config.Configuration",
                      environ: types.WSGIEnviron) -> str:
    content = decode_request(configuration, environ,
                             read_raw_request_body(configuration, environ))
    logger.debug("Request content:\n%s", content)
    return content

Something like (not tested, only written...), hopefully not breaking anything else:

...
    logger.debug("Request content:\n%s", content)
    if content.find('\r')
        content = content.replace("\r", "")
        logger.debug("Request content (adjusted):\n%s", content)
    return content

Would also hope that this is the root cause of the problem at all...

@partofthething
Copy link

partofthething commented Feb 4, 2023

FYI I filed a bug with Thunderbird on this issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1815038

EDIT: which I just closed as a duplicate of this already-existing bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1738611

@da4089
Copy link
Contributor

da4089 commented Mar 2, 2024

I have tested this with vObject today, using Python 2.7, 3.7-3.12, and vObject Git master, and am NOT able to replicate the problem.

I copied the ICS data from the log file:

BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20221216T080616Z
LAST-MODIFIED:20221216T080618Z
DTSTAMP:20221216T080618Z
UID:a05ae5f9-6932-4acb-b918-c7e340352388
SUMMARY:Testtermin
DTSTART;TZID=Europe/Berlin:20221216T100000
DTEND;TZID=Europe/Berlin:20221216T110000
DESCRIPTION:test#015\n#015\ntest#015\n#015\n#015\n#015\n#015\ntest
URL:mid:5a13abf3-4e11-f524-4bf1-b10d35dd8bb1@foo.bar
END:VEVENT
END:VCALENDAR

In all cases, using current Git master branch, it is parsed without an exception.

@pbiering
Copy link
Collaborator

pbiering commented Mar 2, 2024

can't also replicate here using vobject-0.9.6.1

@stbc : please reopen still occurs on your side but having latest versions installed (radicale 3.1.8 and vobject 0.9.6.1)

@pbiering pbiering closed this as not planned Won't fix, can't repro, duplicate, stale Mar 2, 2024
@ckiee
Copy link

ckiee commented Mar 24, 2024

hi, this happens 2 me: /nix/store/k4949l39zdq5nw43jrmi7dl5b2ns145g-radicale-3.1.8, /nix/store/7rnrq40cxb1x9y50rc4w1l7cg9vl6v23-python3.11-vobject-0.9.6.1, on thunderbird convert email with ics to event,

Mar 24 21:15:05 flowe radicale[2748015]: [2024-03-24 21:15:05 +0200] [2748015/Thread-3339 (process_request_thread)] [WARNING] Bad PUT request on '/ckie/7e584455-redacted/abacb457-redacted.ics': At line 1252: Failed to parse line: \nWeekly from Xpm to Xpm on Tuesday\, Friday

payload
BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:Asia/Jerusalem
X-TZINFO:Asia/Jerusalem[2023c]
BEGIN:STANDARD
TZOFFSETTO:+022040
TZOFFSETFROM:+022054
TZNAME:Asia/Jerusalem(STD)
DTSTART:18800101T000000
RDATE:18800101T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+022040
TZNAME:Asia/Jerusalem(STD)
DTSTART:19180101T000000
RDATE:19180101T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19400601T020000
RDATE:19400601T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19401001T030000
RDATE:19401001T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19401117T020000
RDATE:19401117T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19421101T030000
RDATE:19421101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19430401T020000
RDATE:19430401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19431101T030000
RDATE:19431101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19440401T020000
RDATE:19440401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19441101T030000
RDATE:19441101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19450416T020000
RDATE:19450416T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19451101T030000
RDATE:19451101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19460416T020000
RDATE:19460416T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+040000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19480523T020000
RDATE:19480523T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19461101T030000
RDATE:19461101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+040000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19480901T040000
RDATE:19480901T040000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19481101T030000
RDATE:19481101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19490501T020000
RDATE:19490501T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19491101T030000
RDATE:19491101T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19500416T020000
RDATE:19500416T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19500915T030000
RDATE:19500915T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19510401T020000
RDATE:19510401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19511111T030000
RDATE:19511111T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19520420T020000
RDATE:19520420T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19521019T030000
RDATE:19521019T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19530412T020000
RDATE:19530412T020000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19540613T020000
RRULE:FREQ=YEARLY;BYMONTH=6;BYDAY=2SU;UNTIL=19550612T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19530913T030000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=2SU;UNTIL=19550911T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19560603T020000
RDATE:19560603T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19560930T030000
RDATE:19560930T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19570428T020000
RDATE:19570428T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19570922T030000
RDATE:19570922T030000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19740707T000000
RDATE:19740707T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19741013T000000
RDATE:19741013T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19750420T000000
RDATE:19750420T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19750831T000000
RDATE:19750831T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19800803T000000
RDATE:19800803T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19800914T010000
RDATE:19800914T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19840506T000000
RDATE:19840506T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19840826T010000
RDATE:19840826T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19850414T000000
RDATE:19850414T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19860518T000000
RDATE:19860518T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19850901T000000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU;UNTIL=19860907T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19870415T000000
RDATE:19870415T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19870913T000000
RDATE:19870913T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19880410T000000
RDATE:19880410T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19890430T000000
RDATE:19890430T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19880904T000000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU;UNTIL=19890903T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19900325T000000
RDATE:19900325T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19900826T000000
RDATE:19900826T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19910324T000000
RDATE:19910324T000000
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19920329T000000
RDATE:19920329T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19910901T000000
RRULE:FREQ=YEARLY;BYMONTH=9;BYDAY=1SU;UNTIL=19930905T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19930402T000000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1FR;UNTIL=19940401T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19940828T000000
RDATE:19940828T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19950331T000000
RDATE:19950331T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19950903T000000
RDATE:19950903T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19960916T000000
RDATE:19960916T000000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19970914T000000
RDATE:19970914T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19960315T000000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=3FR;UNTIL=19980320T000000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19980906T000000
RDATE:19980906T000000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:19990402T020000
RDATE:19990402T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:19990903T020000
RDATE:19990903T020000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20000414T020000
RDATE:20000414T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20001006T010000
RDATE:20001006T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20010409T010000
RDATE:20010409T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20010924T010000
RDATE:20010924T010000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20021007T010000
RDATE:20021007T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20020329T010000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR;UNTIL=20030328T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20031003T010000
RDATE:20031003T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20040407T010000
RDATE:20040407T010000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20040922T010000
RDATE:20040922T010000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20050401T020000
RDATE:20050401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20051009T020000
RDATE:20051009T020000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20061001T020000
RDATE:20061001T020000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20070916T020000
RDATE:20070916T020000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20081005T020000
RDATE:20081005T020000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20090927T020000
RDATE:20090927T020000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20060331T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR;UNTIL=20100326T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20100912T020000
RDATE:20100912T020000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20110401T020000
RDATE:20110401T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20111002T020000
RDATE:20111002T020000
END:STANDARD
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20120923T020000
RDATE:20120923T020000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:Asia/Jerusalem(DST)
DTSTART:20120330T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1FR;UNTIL=20130329T020000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:Asia/Jerusalem(STD)
DTSTART:20131027T020000
RDATE:20131027T020000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETTO:+030000
TZOFFSETFROM:+020000
TZNAME:(DST)
DTSTART:20140328T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=FR;BYMONTHDAY=23,24,25,26,27,28,29
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETTO:+020000
TZOFFSETFROM:+030000
TZNAME:(STD)
DTSTART:20141026T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
CREATED:20240324T191504Z
LAST-MODIFIED:20240324T191505Z
DTSTAMP:20240324T191505Z
UID:abacb457-c280-459e-b985-81c993523347
SUMMARY:Invitation: REDACTED\, REDACTED
  (GMT+2) (redacted@invalid.invalid)
DTSTART;TZID=Asia/Jerusalem:20240326T160000
DTEND;TZID=Asia/Jerusalem:20240326T170000
DESCRIPTION:redacted
\nWeekly from REDACTEDpm to REDACTED5pm on REDACTED\, REDACTED
\nIsrae
 l Time
\n
\nJoin with Google Meet
\nhttps://meet.google.com/REDACTEDREDACTEDREDACTED?hs
 =224
\n
\n
\n	
\nJoin by phone
\n(US) +REDACTEREDACTEREDACTEREDACTED-REDACTED
\nPIN: REDACTED
\n
\
 nMore phone numbers
\nhttps://tel.REDACTEDREDACTEDREDACTEDREDACTEDREDACTEDREDACTED&hs=0

\n
\n
\nOrganizer
\nREDACTED REDACTED
\nREDACTED@REDACTEDREDACTED.invalid
\n
\nGuests
\nREDACTED REDACTED

  • organizer
    \nREDACTED
    \REDACTED
    \REDACTED
    \nView all guest info

\nhttps://calendar.google.com/calendar/event?action=VIEW&eid=REDACTED
\n
\nReply for REDACTEand view more details
\nhttps://calendar.g
oogle.com/calendar/REDACTED
REDACTED
REDACTED
\nYour attendance
is optional.
\n
\n~~//~~
\nInvitation from Google Calendar: https://calenda
r.google.com/calendar/
\n
\nYou are receiving this email because you are su
bscribed to calendar
\nnotifications. To stop receiving these emails, go
to
\nhttps://calendar.google.com/calendar/r/settings, select this calen
dar, and
\nchange "Other notifications".
\n
\nForwarding this invitation
could allow any recipient to send a response to
\nthe organizer, be add
ed to the guest list, invite others regardless of
\ntheir own invitation
status, or modify your RSVP.
\n
\nLearn more https://support.google.com/c
alendar/answer/37135#forwarding
URL:mid:calendar-REDACTED@google.com
END:VEVENT
END:VCALENDAR

emptying DESCRIPTION in thunderbird makes it work.

https://icalendar.org/validator.html does not like it either (unredacted)

EDIT: I'm taking this to thunderbird since it seems to be their fault(?)

@pbiering
Copy link
Collaborator

Potentially \, is causing the issue.

@pbiering pbiering added the client client related issue label Mar 25, 2024
@pbiering pbiering self-assigned this Mar 25, 2024
@pbiering
Copy link
Collaborator

I ran into same issue and afair I had this already in the past. Best to be replicated using an e-mail and convert it into a schedule. E-mail text is copied to description and this triggers the issue. Will investigate how to circumvent this somehow by a workaround until upstream has fixed this.

@pbiering pbiering reopened this Mar 25, 2024
@ckiee
Copy link

ckiee commented Mar 25, 2024

Yeah I did not manage to finish figuring it out to comment usefully there.

@pbiering
Copy link
Collaborator

@pbiering pbiering changed the title Bad put request: Failed to parse line: \n Bad put request: Failed to parse line: \n (Thunderbird) Mar 27, 2024
@pbiering pbiering added VObject and removed VObject labels Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants