Compare commits

...

4 Commits

Author SHA1 Message Date
Andrewkra
14830529ae Merge branch 'Fix-getting-freebusy-by-email' into 'master'
Fix getting freebusy info from email

See merge request davical-project/davical!67
2026-04-11 14:35:40 +00:00
Florian Schlichting
0f14bcb73b gitlab-ci: install curl for davical build 2026-04-07 23:10:39 +02:00
Florian Schlichting
9d6bec35bf acknowledge Debian NMUs, apply PHPUnit 12 syntax changes 2026-04-07 22:53:56 +02:00
root
2f0a9e317f Fix getting freebusy info from email 2019-04-12 12:27:49 -04:00
5 changed files with 50 additions and 36 deletions

View File

@ -11,7 +11,7 @@ build:
script:
- apt-get -y update
- bash -c 'mkdir -p /usr/share/man/man{0..10}'
- apt-get -y install build-essential devscripts fakeroot dh-exec jdupes doxygen graphviz php-cli phpunit rst2pdf
- apt-get -y install build-essential curl devscripts fakeroot dh-exec jdupes doxygen graphviz php-cli phpunit rst2pdf
- mv debian/changelog debian/changelog.old
- >
cat

21
debian/changelog vendored
View File

@ -1,3 +1,24 @@
davical (1.1.12-2.3) unstable; urgency=medium
* Non-maintainer upload
* No change upload for the reproducible effort
-- David Prévot <taffit@debian.org> Wed, 26 Nov 2025 08:37:04 +0100
davical (1.1.12-2.2) unstable; urgency=medium
* Non-maintainer upload
* Update latest patch to PHPUnit 12 syntax (Closes: #1099659)
-- David Prévot <taffit@debian.org> Thu, 25 Sep 2025 08:27:38 +0200
davical (1.1.12-2.1) unstable; urgency=medium
* Non-maintainer upload
* Add support for PHPUnit 10 (Closes: #1039746)
-- David Prévot <taffit@debian.org> Tue, 14 Jan 2025 13:45:14 +0100
davical (1.1.13-1) UNRELEASED; urgency=medium
* New upstream release (Closes: #1040996)

View File

@ -352,8 +352,6 @@ class CalDAVRequest
if ( ! isset($this->timeout) || $this->timeout == 0 ) $this->timeout = (isset($c->default_lock_timeout) ? $c->default_lock_timeout : 900);
}
$this->principal = new Principal('path',$this->path);
/**
* RFC2518, 5.2: URL pointing to a collection SHOULD end in '/', and if it does not then
* we SHOULD return a Content-location header with the correction...
@ -466,7 +464,14 @@ EOSQL;
/**
* Extract the user whom we are accessing
*/
$this->principal = new DAVPrincipal( array( "path" => $this->path, "options" => $this->options ) );
if ( $this->options['allow_by_email'] && preg_match( '{^/(\S+@[a-z0-9][a-z0-9-]*[.][a-z0-9.-]+)/?$}i', $this->path, $matches ) ) {
$this->principal = new DAVPrincipal( array( "email" => $matches[1], "options" => $this->options ) );
// @dbg_error_log('caldav', 'DAVPrincipal by email: %s', print_r($this->principal, true) );
} else {
$this->principal = new DAVPrincipal( array( "path" => $this->path, "options" => $this->options ) );
// @dbg_error_log('caldav', 'Principal by path: %s', $this->path );
}
$this->user_no = $this->principal->user_no();
$this->username = $this->principal->username();
$this->by_email = $this->principal->byEmail();

View File

@ -5,6 +5,8 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '/usr/share/awl/inc' . PA
require_once('RRule.php');
require_once('vCalendar.php');
use PHPUnit\Framework\Attributes\PreserveGlobalState;
use PHPUnit\Framework\Attributes\RunInSeparateProcess;
use PHPUnit\Framework\TestCase;
$c = (object) array();
@ -143,10 +145,8 @@ final class ExpansionTest extends TestCase
'20190124T000000Z/20190124T010000Z',
];
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testUnmodifiedCal() {
global $base_cal;
@ -156,10 +156,8 @@ final class ExpansionTest extends TestCase
);
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testTueRenamed() {
global $tuesday_renamed_cal;
@ -169,10 +167,8 @@ final class ExpansionTest extends TestCase
);
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testTueRenamedSwapped() {
global $tuesday_renamed_cal_order_swapped;
@ -182,10 +178,8 @@ final class ExpansionTest extends TestCase
);
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testCalWithCount() {
global $count_cal;

View File

@ -5,6 +5,8 @@ set_include_path(get_include_path() . PATH_SEPARATOR . '/usr/share/awl/inc' . PA
require_once('RRule.php');
require_once('vCalendar.php');
use PHPUnit\Framework\Attributes\PreserveGlobalState;
use PHPUnit\Framework\Attributes\RunInSeparateProcess;
use PHPUnit\Framework\TestCase;
$c = (object) array();
@ -12,10 +14,8 @@ $c->rrule_loop_limit = 100;
final class RangeTest extends TestCase
{
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testGetVCalendarRange() {
$cal = new vCalendar("BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
@ -52,10 +52,8 @@ END:VCALENDAR");
self::assertEquals("20190102T072000Z", (string) $range->until->UTC());
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testGetVCalendarRangeTwoDayAllDay() {
$cal = new vCalendar("BEGIN:VCALENDAR
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
@ -78,10 +76,8 @@ END:VCALENDAR");
self::assertEquals("20190109T200000Z", (string) $range->until->UTC());
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testGetVCalendarRangeFloating() {
// When interpreted as being in Greece, this event crosses the daylight savings boundary!
// TODO deal with how that affects all-day events...
@ -106,10 +102,8 @@ END:VCALENDAR");
self::assertEquals("20181210T130000Z", (string) $range->until->UTC());
}
/**
* @runInSeparateProcess
* @preserveGlobalState enabled
*/
#[PreserveGlobalState('enabled')]
#[RunInSeparateProcess]
public function testGetVCalendarRangeAllDayAcrossDST() {
// When interpreted as being in Greece, this event crosses the daylight savings boundary!