mirror of
https://github.com/nextcloud/server.git
synced 2026-06-11 09:42:09 -04:00
fix(CalDAV): check voject exists before attempting any operation
Signed-off-by: Anna Larch <anna@nextcloud.com>
This commit is contained in:
parent
e917d517b0
commit
651405a320
1 changed files with 35 additions and 5 deletions
|
|
@ -240,12 +240,26 @@ class Manager implements IManager {
|
|||
/**
|
||||
* @throws \OCP\DB\Exception
|
||||
*/
|
||||
public function handleIMipReply(string $principalUri, string $sender, string $recipient, string $calendarData): bool {
|
||||
/** @var VCalendar $vObject */
|
||||
public function handleIMipReply(
|
||||
string $principalUri,
|
||||
string $sender,
|
||||
string $recipient,
|
||||
string $calendarData,
|
||||
): bool {
|
||||
/** @var VCalendar $vObject|null */
|
||||
$vObject = Reader::read($calendarData);
|
||||
/** @var VEvent $vEvent */
|
||||
|
||||
if ($vObject === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @var VEvent|null $vEvent */
|
||||
$vEvent = $vObject->{'VEVENT'};
|
||||
|
||||
if ($vEvent === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// First, we check if the correct method is passed to us
|
||||
if (strcasecmp('REPLY', $vObject->{'METHOD'}->getValue()) !== 0) {
|
||||
$this->logger->warning('Wrong method provided for processing');
|
||||
|
|
@ -309,11 +323,27 @@ class Manager implements IManager {
|
|||
* @since 25.0.0
|
||||
* @throws \OCP\DB\Exception
|
||||
*/
|
||||
public function handleIMipCancel(string $principalUri, string $sender, ?string $replyTo, string $recipient, string $calendarData): bool {
|
||||
public function handleIMipCancel(
|
||||
string $principalUri,
|
||||
string $sender,
|
||||
?string $replyTo,
|
||||
string $recipient,
|
||||
string $calendarData,
|
||||
): bool {
|
||||
/** @var VCalendar $vObject|null */
|
||||
$vObject = Reader::read($calendarData);
|
||||
/** @var VEvent $vEvent */
|
||||
|
||||
if ($vObject === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** @var VEvent|null $vEvent */
|
||||
$vEvent = $vObject->{'VEVENT'};
|
||||
|
||||
if ($vEvent === null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// First, we check if the correct method is passed to us
|
||||
if (strcasecmp('CANCEL', $vObject->{'METHOD'}->getValue()) !== 0) {
|
||||
$this->logger->warning('Wrong method provided for processing');
|
||||
|
|
|
|||
Loading…
Reference in a new issue