diff --git a/www/davical/Makefile b/www/davical/Makefile index 43d48acda575..463eac20dd13 100644 --- a/www/davical/Makefile +++ b/www/davical/Makefile @@ -1,78 +1,77 @@ PORTNAME= davical DISTVERSIONPREFIX= r -DISTVERSION= 1.1.12 -PORTREVISION= 1 +DISTVERSION= 1.1.13 +PORTREVISION= 0 CATEGORIES?= www PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} MAINTAINER= dinoex@FreeBSD.org COMMENT= Simple CalDAV server using a postgres backend WWW= https://www.davical.org/ LICENSE= GPLv2 LGPL21 LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/COPYING RUN_DEPENDS= ${PHP_PKGNAMEPREFIX}libawl>=0.60:devel/php-libawl@${PHP_FLAVOR} \ p5-DBD-Pg>=0:databases/p5-DBD-Pg \ p5-DBI>=0:databases/p5-DBI \ p5-YAML>=0:textproc/p5-YAML \ pwgen:sysutils/pwgen USES= cpe pgsql php:flavors shebangfix USE_GITLAB= yes GL_ACCOUNT= davical-project -GL_TAGNAME= 4301a795ac7a7636846bcc15348d96c68a1830fd USE_PHP= calendar curl gettext iconv pdo \ pdo_pgsql pgsql session xml NO_ARCH= yes NO_BUILD= yes PORTDOCS= README INSTALL davical_en_user_guide.odt \ phpdoc.ini translation.rst PORTEXAMPLES= config SHEBANG_FILES= scripts/sync-remote-caldav.php SUB_FILES= pkg-message httpd-davical.conf OPTIONS_DEFINE= DOCS EXAMPLES post-extract: ${FIND} ${WRKSRC} -name .gitignore -delete do-install: ${MKDIR} ${STAGEDIR}${WWWDIR}/htdocs \ ${STAGEDIR}${WWWDIR}/inc \ ${STAGEDIR}${WWWDIR}/config \ ${STAGEDIR}${DATADIR} # WWWDIR (cd ${WRKSRC}/htdocs && \ ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR}/htdocs) (cd ${WRKSRC}/inc && ${COPYTREE_SHARE} . \ ${STAGEDIR}${WWWDIR}/inc "! -name always.php.in") ${INSTALL_DATA} ${WRKSRC}/config/example-config.php \ ${STAGEDIR}${WWWDIR}/config/config.php.sample # DATADIR (cd ${WRKSRC} && ${COPYTREE_SHARE} scripts ${STAGEDIR}${DATADIR}) (cd ${WRKSRC} && ${COPYTREE_SHARE} dba ${STAGEDIR}${DATADIR} \ "! -name update-davical-database") ${INSTALL_DATA} ${WRKDIR}/httpd-davical.conf ${STAGEDIR}${DATADIR} ${INSTALL_SCRIPT} ${WRKSRC}/dba/update-davical-database \ ${STAGEDIR}${DATADIR}/dba do-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/docs && \ ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) ${INSTALL_DATA} ${WRKSRC}/README ${STAGEDIR}${DOCSDIR} ${INSTALL_DATA} ${WRKSRC}/INSTALL ${STAGEDIR}${DOCSDIR} do-install-EXAMPLES-on: ${MKDIR} ${STAGEDIR}${EXAMPLESDIR} (cd ${WRKSRC} && \ ${COPYTREE_SHARE} config ${STAGEDIR}${EXAMPLESDIR}) .include diff --git a/www/davical/distinfo b/www/davical/distinfo index 54d2abfc1fce..f32bf9553ff7 100644 --- a/www/davical/distinfo +++ b/www/davical/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1679842018 -SHA256 (davical-project-davical-4301a795ac7a7636846bcc15348d96c68a1830fd_GL0.tar.gz) = 6d681e008f8b744d2be68653e5bbc0379b4e19deb3aeaa52afcf881d13f6b7a3 -SIZE (davical-project-davical-4301a795ac7a7636846bcc15348d96c68a1830fd_GL0.tar.gz) = 1909396 +TIMESTAMP = 1779738748 +SHA256 (davical-r1.1.13.tar.bz2) = e4b552efdcd8163ff5f74243bcc7f1cf8b69b51eec40125999863615be63bb7c +SIZE (davical-r1.1.13.tar.bz2) = 1620918 diff --git a/www/davical/files/patch-caldav-ACL.php b/www/davical/files/patch-caldav-ACL.php deleted file mode 100644 index 1f4ae0bf13e4..000000000000 --- a/www/davical/files/patch-caldav-ACL.php +++ /dev/null @@ -1,85 +0,0 @@ -commit effc00474111bf5dff1297dd3c6811c1fdf6b6ca -Author: Florian Schlichting -Date: Thu Mar 23 22:14:41 2023 +0100 - - use "." to concatenate strings, not "+" (fixes #288) - - Unsupported operand types: string + string at /usr/share/davical/inc/caldav-ACL.php:146 - -diff --git a/inc/caldav-ACL.php b/inc/caldav-ACL.php -index 861d4389..cb0fa213 100644 ---- inc/caldav-ACL.php.orig -+++ inc/caldav-ACL.php -@@ -143,7 +143,7 @@ function process_ace( $grantor, $by_principal, $by_collection, $ace ) { - $grantee = new DAVResource( DeconstructURL($principal_content->GetContent()) ); - $grantee_id = $grantee->getProperty('principal_id'); - if ( !$grantee->Exists() || !$grantee->IsPrincipal() ) -- $request->PreconditionFailed(403,'recognized-principal', 'Principal "' + $principal_content->GetContent() + '" not found.'); -+ $request->PreconditionFailed(403,'recognized-principal', 'Principal "' . $principal_content->GetContent() . '" not found.'); - $sqlparms = array( ':to_principal' => $grantee_id); - $where = 'WHERE to_principal=:to_principal AND '; - if ( isset($by_principal) ) { -diff --git a/testing/tests/regression-suite/0946-ACL-err.result b/testing/tests/regression-suite/0946-ACL-err.result -new file mode 100644 -index 00000000..c0ad5ef7 ---- /dev/null -+++ testing/tests/regression-suite/0946-ACL-err.result -@@ -0,0 +1,11 @@ -+HTTP/1.1 403 Forbidden -+Date: Dow, 01 Jan 2000 00:00:00 GMT -+DAV: 1, 2, 3, access-control, calendar-access, calendar-schedule -+DAV: extended-mkcol, bind, addressbook, calendar-auto-schedule, calendar-proxy -+Content-Length: 137 -+Content-Type: text/xml; charset="utf-8" -+ -+ -+ -+ Principal "/caldav.php/user40/" not found. -+ -diff --git a/testing/tests/regression-suite/0946-ACL-err.test b/testing/tests/regression-suite/0946-ACL-err.test -new file mode 100644 -index 00000000..945f3a13 ---- /dev/null -+++ testing/tests/regression-suite/0946-ACL-err.test -@@ -0,0 +1,41 @@ -+# -+# ACL setting default privileges on a collection to nothing, and -+# specific privileges to include read-acl. -+# -+TYPE=ACL -+URL=http://regression.host/caldav.php/user1/home/ -+HEADER=User-Agent: RFC3744 Spec Tests -+HEADER=Content-Type: text/xml; charset="UTF-8" -+HEAD -+ -+ -+BEGINDATA -+ -+ -+ -+ -+ /caldav.php/user40/ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ENDDATA -+ -+QUERY -+SELECT by_principal, by_collection, privileges, p_to.displayname, to_principal -+ FROM grants JOIN dav_principal p_to ON (to_principal=principal_id) -+ LEFT JOIN collection ON (by_collection=collection.collection_id) -+ WHERE collection.dav_name = '/user1/home/' -+ENDQUERY -+ diff --git a/www/davical/files/patch-htdocs_caldav.php b/www/davical/files/patch-htdocs_caldav.php deleted file mode 100644 index 3b8c0a807e77..000000000000 --- a/www/davical/files/patch-htdocs_caldav.php +++ /dev/null @@ -1,11 +0,0 @@ ---- htdocs/caldav.php.orig 2017-01-30 20:16:26 UTC -+++ htdocs/caldav.php -@@ -119,6 +119,8 @@ try { - include('caldav-POST.php'); - break; - } -+ error_log('the value of add_member is : ', $add_member); -+ $add_member = true; - // fall through if POST add member - case 'PUT': - switch( $request->content_type ) { diff --git a/www/davical/files/patch-principal-edit.php b/www/davical/files/patch-principal-edit.php deleted file mode 100644 index 361be905cb0e..000000000000 --- a/www/davical/files/patch-principal-edit.php +++ /dev/null @@ -1,27 +0,0 @@ -commit e8f3a3e6f2c27e78c2778e0040b385b430dfc9fc -Author: Andrew Ruthven -Date: Sun Apr 30 12:13:37 2023 +1200 - - Add a missing space to a SQL statement to fix adding groups. - - It looks to me like this bug has been present since 2011. - - Closes: #294 - -diff --git a/inc/ui/principal-edit.php b/inc/ui/principal-edit.php -index 603fd1e1..df975e22 100644 ---- inc/ui/principal-edit.php.orig -+++ inc/ui/principal-edit.php -@@ -495,9 +495,9 @@ function group_memberships_browser() { - function group_row_editor() { - global $c, $id, $editor, $can_write_principal; - $grouprow = new Editor("Group Members", "group_member"); -- $sql = 'SELECT principal_id, coalesce(displayname,fullname,username) FROM dav_principal '; -- $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = '.$id.') '; -- $sql .= 'AND principal_id != '.$id; -+ $sql = 'SELECT principal_id, coalesce(displayname, fullname, username) FROM dav_principal '; -+ $sql .= 'WHERE principal_id NOT IN (SELECT member_id FROM group_member WHERE group_id = ' . $id . ') '; -+ $sql .= 'AND principal_id != ' . $id . ' '; - $sql .= 'ORDER BY 2'; - $grouprow->SetLookup( 'member_id', $sql); - $grouprow->SetSubmitName( 'savegrouprow' ); diff --git a/www/davical/pkg-plist b/www/davical/pkg-plist index 49ab907eba97..6448048ecc13 100644 --- a/www/davical/pkg-plist +++ b/www/davical/pkg-plist @@ -1,161 +1,159 @@ %%DATADIR%%/dba/appuser_permissions.txt %%DATADIR%%/dba/base-data.sql %%DATADIR%%/dba/better_perms.sql %%DATADIR%%/dba/caldav_functions.sql %%DATADIR%%/dba/create-database.sh %%DATADIR%%/dba/davical.sql %%DATADIR%%/dba/patches/1.1.10.sql %%DATADIR%%/dba/patches/1.1.11.sql %%DATADIR%%/dba/patches/1.1.11a.sql %%DATADIR%%/dba/patches/1.1.12.sql %%DATADIR%%/dba/patches/1.1.12a.sql %%DATADIR%%/dba/patches/1.1.2.sql %%DATADIR%%/dba/patches/1.1.3.sql %%DATADIR%%/dba/patches/1.1.4.sql %%DATADIR%%/dba/patches/1.1.5.sql %%DATADIR%%/dba/patches/1.1.6.sql %%DATADIR%%/dba/patches/1.1.7.sql %%DATADIR%%/dba/patches/1.1.8.sql %%DATADIR%%/dba/patches/1.1.9.sql %%DATADIR%%/dba/patches/1.2.1.sql %%DATADIR%%/dba/patches/1.2.10.sql %%DATADIR%%/dba/patches/1.2.10a.sql %%DATADIR%%/dba/patches/1.2.11.sql %%DATADIR%%/dba/patches/1.2.12.sql %%DATADIR%%/dba/patches/1.2.1a.sql %%DATADIR%%/dba/patches/1.2.1b.sql %%DATADIR%%/dba/patches/1.2.2.sql %%DATADIR%%/dba/patches/1.2.3.sql %%DATADIR%%/dba/patches/1.2.3a.sql %%DATADIR%%/dba/patches/1.2.4.sql %%DATADIR%%/dba/patches/1.2.5.sql %%DATADIR%%/dba/patches/1.2.6.sql %%DATADIR%%/dba/patches/1.2.7.sql %%DATADIR%%/dba/patches/1.2.8.sql %%DATADIR%%/dba/patches/1.2.9.sql %%DATADIR%%/dba/patches/1.3.1.sql %%DATADIR%%/dba/patches/1.3.2.sql %%DATADIR%%/dba/patches/1.3.3.sql %%DATADIR%%/dba/patches/1.3.4.sql %%DATADIR%%/dba/patches/1.3.5.sql +%%DATADIR%%/dba/patches/1.3.6.sql %%DATADIR%%/dba/rrule_functions-8.1.sql %%DATADIR%%/dba/rrule_functions.sql %%DATADIR%%/dba/rrule_tests.sql %%DATADIR%%/dba/supported_locales.sql %%DATADIR%%/dba/update-davical-database %%DATADIR%%/dba/views/dav_principal.sql %%DATADIR%%/dba/windows/create-database.bat %%DATADIR%%/httpd-davical.conf %%DATADIR%%/scripts/archive-old-events.php %%DATADIR%%/scripts/build-always.sh %%DATADIR%%/scripts/cron-sync-ldap.php %%DATADIR%%/scripts/davical-cli %%DATADIR%%/scripts/export_calendar.php %%DATADIR%%/scripts/load_calendar.php %%DATADIR%%/scripts/po/rebuild-translations.sh %%DATADIR%%/scripts/refresh-alarms.php %%DATADIR%%/scripts/sync-remote-caldav.php %%DATADIR%%/scripts/tz-update.php %%PORTDOCS%%%%DOCSDIR%%/Doxyfile %%WWWDIR%%/htdocs/.htaccess %%WWWDIR%%/htdocs/admin.php %%WWWDIR%%/htdocs/always.php %%WWWDIR%%/htdocs/caldav.php -%%WWWDIR%%/htdocs/caldav.php.orig %%WWWDIR%%/htdocs/css/browse.css %%WWWDIR%%/htdocs/css/edit.css %%WWWDIR%%/htdocs/davical.css %%WWWDIR%%/htdocs/feed.php %%WWWDIR%%/htdocs/freebusy.php %%WWWDIR%%/htdocs/help.php %%WWWDIR%%/htdocs/iSchedule.php %%WWWDIR%%/htdocs/images/down.gif %%WWWDIR%%/htdocs/images/up.gif %%WWWDIR%%/htdocs/index.php %%WWWDIR%%/htdocs/js/browse.js %%WWWDIR%%/htdocs/metrics.php %%WWWDIR%%/htdocs/public.php %%WWWDIR%%/htdocs/robots.txt %%WWWDIR%%/htdocs/setup.php %%WWWDIR%%/htdocs/tools.php %%WWWDIR%%/htdocs/tz.php %%WWWDIR%%/htdocs/upgrade.php %%WWWDIR%%/htdocs/js/collection-edit.js %%WWWDIR%%/htdocs/js/common.js %%WWWDIR%%/htdocs/js/edit.js %%WWWDIR%%/htdocs/js/setup.js %%WWWDIR%%/inc/AtomFeed.php %%WWWDIR%%/inc/CalDAVRequest.php %%WWWDIR%%/inc/DAVPrincipal.php %%WWWDIR%%/inc/DAVResource.php %%WWWDIR%%/inc/DAVTicket.php %%WWWDIR%%/inc/DAViCalSession.php %%WWWDIR%%/inc/HTTPAuthSession.php %%WWWDIR%%/inc/Principal.php %%WWWDIR%%/inc/PublicSession.php %%WWWDIR%%/inc/RRule.php %%WWWDIR%%/inc/WritableCollection.php %%WWWDIR%%/inc/auth-functions.php %%WWWDIR%%/inc/autodiscover-handler.php %%WWWDIR%%/inc/caldav-ACL.php %%WWWDIR%%/inc/caldav-BIND.php %%WWWDIR%%/inc/caldav-DELETE.php %%WWWDIR%%/inc/caldav-DELTICKET.php %%WWWDIR%%/inc/caldav-GET-functions.php %%WWWDIR%%/inc/caldav-GET.php %%WWWDIR%%/inc/caldav-LOCK.php %%WWWDIR%%/inc/caldav-MKCOL.php %%WWWDIR%%/inc/caldav-MKTICKET.php %%WWWDIR%%/inc/caldav-MOVE.php %%WWWDIR%%/inc/caldav-OPTIONS.php %%WWWDIR%%/inc/caldav-POST.php %%WWWDIR%%/inc/caldav-PROPFIND.php %%WWWDIR%%/inc/caldav-PROPPATCH.php %%WWWDIR%%/inc/caldav-PUT-default.php %%WWWDIR%%/inc/caldav-PUT-functions.php %%WWWDIR%%/inc/caldav-PUT-vcalendar.php %%WWWDIR%%/inc/caldav-PUT-vcard.php %%WWWDIR%%/inc/caldav-REPORT-calquery.php %%WWWDIR%%/inc/caldav-REPORT-cardquery.php %%WWWDIR%%/inc/caldav-REPORT-expand-property.php %%WWWDIR%%/inc/caldav-REPORT-freebusy.php %%WWWDIR%%/inc/caldav-REPORT-multiget.php %%WWWDIR%%/inc/caldav-REPORT-pps-set.php %%WWWDIR%%/inc/caldav-REPORT-principal-match.php %%WWWDIR%%/inc/caldav-REPORT-principal.php %%WWWDIR%%/inc/caldav-REPORT-sync-collection.php %%WWWDIR%%/inc/caldav-REPORT.php %%WWWDIR%%/inc/caldav-client-v2.php %%WWWDIR%%/inc/caldav-client.php %%WWWDIR%%/inc/check_UTF8.php %%WWWDIR%%/inc/csrf_tokens.php %%WWWDIR%%/inc/davical_configuration_missing.php -%%WWWDIR%%/inc/drivers_imap_pam.php %%WWWDIR%%/inc/drivers_ldap.php %%WWWDIR%%/inc/drivers_pwauth_pam.php -%%WWWDIR%%/inc/drivers_rimap.php %%WWWDIR%%/inc/drivers_squid_pam.php %%WWWDIR%%/inc/external-fetch.php %%WWWDIR%%/inc/freebusy-functions.php %%WWWDIR%%/inc/iSchedule-POST.php %%WWWDIR%%/inc/iSchedule.php %%WWWDIR%%/inc/instance_range.php %%WWWDIR%%/inc/interactive-page.php %%WWWDIR%%/inc/log_caldav_action.php %%WWWDIR%%/inc/other_translated_strings.php %%WWWDIR%%/inc/page-footer.php %%WWWDIR%%/inc/page-header.php %%WWWDIR%%/inc/pubsub.php %%WWWDIR%%/inc/schedule-functions.php %%WWWDIR%%/inc/tz/capabilities.php %%WWWDIR%%/inc/tz/expand.php %%WWWDIR%%/inc/tz/get.php %%WWWDIR%%/inc/tz/list.php %%WWWDIR%%/inc/ui/collection-edit.php %%WWWDIR%%/inc/ui/external-browse.php %%WWWDIR%%/inc/ui/principal-browse.php %%WWWDIR%%/inc/ui/principal-edit.php %%WWWDIR%%/inc/vcard.php %%WWWDIR%%/inc/vtimezone.php %%WWWDIR%%/inc/well-known.php @sample %%WWWDIR%%/config/config.php.sample