diff options
Diffstat (limited to 'vendor/sabre')
-rw-r--r-- | vendor/sabre/vobject/.travis.yml | 3 | ||||
-rw-r--r-- | vendor/sabre/vobject/CHANGELOG.md | 10 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Cli.php | 2 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Component/VCalendar.php | 2 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/ITip/Broker.php | 2 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Parser/MimeDir.php | 5 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Recur/RRuleIterator.php | 15 | ||||
-rw-r--r-- | vendor/sabre/vobject/lib/Version.php | 2 |
8 files changed, 34 insertions, 7 deletions
diff --git a/vendor/sabre/vobject/.travis.yml b/vendor/sabre/vobject/.travis.yml index 2619562ab..64b055bf1 100644 --- a/vendor/sabre/vobject/.travis.yml +++ b/vendor/sabre/vobject/.travis.yml @@ -7,6 +7,7 @@ php: - 7.1 - 7.2 - 7.3 + - 7.4snapshot env: global: @@ -22,7 +23,7 @@ matrix: - php: 5.5 install: - - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.10.3/phpstan.phar; fi + - if [ $RUN_PHPSTAN == "TRUE" ]; then wget https://github.com/phpstan/phpstan/releases/download/0.11.8/phpstan.phar; fi before_script: - composer install diff --git a/vendor/sabre/vobject/CHANGELOG.md b/vendor/sabre/vobject/CHANGELOG.md index 7a2c935fb..3f70f37db 100644 --- a/vendor/sabre/vobject/CHANGELOG.md +++ b/vendor/sabre/vobject/CHANGELOG.md @@ -1,6 +1,16 @@ ChangeLog ========= +4.2.1 (2019-12-18) +------------------ + +* #469, #451: fix compat with php 7.4 +* #443: prevent running in indefinte loop +* #449: Preventing creating a component for a root document +* #450: Fix parse with option Forgiving with trailing equal +* #459: fixed typo in VCalendar which resulting in usage of the wrong TimeZone +* #462: Broker::parseEventForOrganizer copies DTSTAMP from $eventInfo that causes broken scheduling + 4.2.0 (2019-02-19) ------------------ diff --git a/vendor/sabre/vobject/lib/Cli.php b/vendor/sabre/vobject/lib/Cli.php index 70b5e8d6e..8350719a4 100644 --- a/vendor/sabre/vobject/lib/Cli.php +++ b/vendor/sabre/vobject/lib/Cli.php @@ -289,7 +289,7 @@ class Cli $this->log($this->colorize('green', ' validate').' source_file Validates a file for correctness.'); $this->log($this->colorize('green', ' repair').' source_file [output_file] Repairs a file.'); $this->log($this->colorize('green', ' convert').' source_file [output_file] Converts a file.'); - $this->log($this->colorize('green', ' color').' source_file Colorize a file, useful for debbugging.'); + $this->log($this->colorize('green', ' color').' source_file Colorize a file, useful for debugging.'); $this->log( <<<HELP diff --git a/vendor/sabre/vobject/lib/Component/VCalendar.php b/vendor/sabre/vobject/lib/Component/VCalendar.php index 4687a092b..e21ae077a 100644 --- a/vendor/sabre/vobject/lib/Component/VCalendar.php +++ b/vendor/sabre/vobject/lib/Component/VCalendar.php @@ -336,7 +336,7 @@ class VCalendar extends VObject\Document foreach ($recurringEvents as $events) { try { - $it = new EventIterator($events, $timeZone); + $it = new EventIterator($events, null, $timeZone); } catch (NoInstancesException $e) { // This event is recurring, but it doesn't have a single // instance. We are skipping this event from the output diff --git a/vendor/sabre/vobject/lib/ITip/Broker.php b/vendor/sabre/vobject/lib/ITip/Broker.php index b1cfee367..4f37b75d0 100644 --- a/vendor/sabre/vobject/lib/ITip/Broker.php +++ b/vendor/sabre/vobject/lib/ITip/Broker.php @@ -522,6 +522,7 @@ class Broker $event = $icalMsg->add('VEVENT', [ 'UID' => $message->uid, 'SEQUENCE' => $message->sequence, + 'DTSTAMP' => gmdate('Ymd\\THis\\Z'), ]); if (isset($calendar->VEVENT->SUMMARY)) { $event->add('SUMMARY', $calendar->VEVENT->SUMMARY->getValue()); @@ -607,6 +608,7 @@ class Broker } } + $currentEvent->DTSTAMP = gmdate('Ymd\\THis\\Z'); $icalMsg->add($currentEvent); } } diff --git a/vendor/sabre/vobject/lib/Parser/MimeDir.php b/vendor/sabre/vobject/lib/Parser/MimeDir.php index 10dcec89c..26a7101e5 100644 --- a/vendor/sabre/vobject/lib/Parser/MimeDir.php +++ b/vendor/sabre/vobject/lib/Parser/MimeDir.php @@ -195,6 +195,9 @@ class MimeDir extends Parser { // Start of a new component if ('BEGIN:' === strtoupper(substr($line, 0, 6))) { + if (substr($line, 6) === $this->root->name) { + throw new ParseException('Invalid MimeDir file. Unexpected component: "'.$line.'" in document type '.$this->root->name); + } $component = $this->root->createComponent(substr($line, 6), [], false); while (true) { @@ -655,7 +658,7 @@ class MimeDir extends Parser // missing a whitespace. So if 'forgiving' is turned on, we will take // those as well. if ($this->options & self::OPTION_FORGIVING) { - while ('=' === substr($value, -1)) { + while ('=' === substr($value, -1) && $this->lineBuffer) { // Reading the line $this->readLine(); // Grabbing the raw form diff --git a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php index 554507f19..75342a2a8 100644 --- a/vendor/sabre/vobject/lib/Recur/RRuleIterator.php +++ b/vendor/sabre/vobject/lib/Recur/RRuleIterator.php @@ -67,6 +67,9 @@ class RRuleIterator implements Iterator */ public function valid() { + if (null === $this->currentDate) { + return false; + } if (!is_null($this->count)) { return $this->counter < $this->count; } @@ -338,7 +341,7 @@ class RRuleIterator implements Iterator if ($this->byHour) { if ('23' == $this->currentDate->format('G')) { // to obey the interval rule - $this->currentDate = $this->currentDate->modify('+'.$this->interval - 1 .' days'); + $this->currentDate = $this->currentDate->modify('+'.($this->interval - 1).' days'); } $this->currentDate = $this->currentDate->modify('+1 hours'); @@ -398,7 +401,7 @@ class RRuleIterator implements Iterator // We need to roll over to the next week if ($currentDay === $firstDay && (!$this->byHour || '0' == $currentHour)) { - $this->currentDate = $this->currentDate->modify('+'.$this->interval - 1 .' weeks'); + $this->currentDate = $this->currentDate->modify('+'.($this->interval - 1).' weeks'); // We need to go to the first day of this week, but only if we // are not already on this first day of this week. @@ -461,6 +464,14 @@ class RRuleIterator implements Iterator // This goes to 0 because we need to start counting at the // beginning. $currentDayOfMonth = 0; + + // To prevent running this forever (better: until we hit the max date of DateTimeImmutable) we simply + // stop at 9999-12-31. Looks like the year 10000 problem is not solved in php .... + if ($this->currentDate->getTimestamp() > 253402300799) { + $this->currentDate = null; + + return; + } } $this->currentDate = $this->currentDate->setDate( diff --git a/vendor/sabre/vobject/lib/Version.php b/vendor/sabre/vobject/lib/Version.php index 257e66a79..b728f216d 100644 --- a/vendor/sabre/vobject/lib/Version.php +++ b/vendor/sabre/vobject/lib/Version.php @@ -14,5 +14,5 @@ class Version /** * Full version number. */ - const VERSION = '4.2.0'; + const VERSION = '4.2.1'; } |