]> granicus.if.org Git - php/log
php
5 years agoMake "MySQL server has gone away" errors more consistent
Nikita Popov [Mon, 3 Jun 2019 10:47:48 +0000 (12:47 +0200)]
Make "MySQL server has gone away" errors more consistent

Don't generate explicit warnings for these in two places, use usual
error handling mechanism. Additionally suppress a number of warnings
if the server has gone away.

5 years agoremove reverted commit from changelog
Joe Watkins [Mon, 3 Jun 2019 09:24:51 +0000 (11:24 +0200)]
remove reverted commit from changelog

5 years agoRevert "Fix bug #62397 - disable_functions does not work with eval."
Joe Watkins [Mon, 3 Jun 2019 09:20:12 +0000 (11:20 +0200)]
Revert "Fix bug #62397 - disable_functions does not work with eval."

This reverts commit 050d299364ded5cb7b878bc515aa763c9c623c4b.

5 years agoext/zip: Remove un-needed symbol check for zip_open
Hugh McMaster [Sun, 2 Jun 2019 00:25:13 +0000 (10:25 +1000)]
ext/zip: Remove un-needed symbol check for zip_open

Closes GH-4189.

5 years agoext/zip: Add PHP_EVAL_LIBLINE to replace PHP_ADD_LIBRARY_WITH_PATH
Hugh McMaster [Sun, 2 Jun 2019 00:23:28 +0000 (10:23 +1000)]
ext/zip: Add PHP_EVAL_LIBLINE to replace PHP_ADD_LIBRARY_WITH_PATH

5 years agoext/ffi: Remove symbol check for ffi_open
Hugh McMaster [Sat, 1 Jun 2019 23:53:34 +0000 (09:53 +1000)]
ext/ffi: Remove symbol check for ffi_open

Closes GH-4215.

5 years agoext/enchant: Pass $ENCHANT_LIBS to PHP_CHECK_LIBRARY to fix shared builds
Hugh McMaster [Sat, 1 Jun 2019 13:00:32 +0000 (23:00 +1000)]
ext/enchant: Pass $ENCHANT_LIBS to PHP_CHECK_LIBRARY to fix shared builds

Closes GH-4216.

5 years agoext/skeleton: Update use of PHP_CHECK_LIBRARY
Hugh McMaster [Sun, 2 Jun 2019 00:13:39 +0000 (10:13 +1000)]
ext/skeleton: Update use of PHP_CHECK_LIBRARY

Closes GH-4218.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Jakub Zelenka [Sun, 2 Jun 2019 18:14:37 +0000 (19:14 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Jakub Zelenka [Sun, 2 Jun 2019 18:13:18 +0000 (19:13 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c)
Jakub Zelenka [Sun, 2 Jun 2019 18:10:56 +0000 (19:10 +0100)]
Fix bug #78079 (openssl_encrypt_ccm.phpt fails with OpenSSL 1.1.1c)

It also fixes invalid setting of tag length

5 years agoDon't involve output check in the test
Anatol Belski [Sat, 1 Jun 2019 21:31:05 +0000 (23:31 +0200)]
Don't involve output check in the test

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Anatol Belski [Sat, 1 Jun 2019 12:51:11 +0000 (14:51 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix expect section

5 years agoFix expect section
Anatol Belski [Sat, 1 Jun 2019 12:49:57 +0000 (14:49 +0200)]
Fix expect section

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Anatol Belski [Sat, 1 Jun 2019 11:44:44 +0000 (13:44 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update SDK version for AppVeyor

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Anatol Belski [Sat, 1 Jun 2019 11:44:10 +0000 (13:44 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Update SDK version for AppVeyor

5 years agoUpdate SDK version for AppVeyor
Anatol Belski [Sat, 1 Jun 2019 11:43:31 +0000 (13:43 +0200)]
Update SDK version for AppVeyor

5 years agoFix ZTS issue regarding new Windows CTRL handling API
Christoph M. Becker [Sat, 1 Jun 2019 07:08:51 +0000 (09:08 +0200)]
Fix ZTS issue regarding new Windows CTRL handling API

php_win32_signal_system_ctrl_handler() is called from a kernel thread,
so the former initialization of `vm_interrupt_flag` has no effect,
since it is defined as thread-local.  This is, however, not necessary,
since the CTRL signal handling is supposed to work only for the main
thread anyway.  We therefore change `vm_interrupt_flag` and the related
variables to true globals.

This also allows us to unmark the respective test case as XFAIL.

Furthermore, `vm_interrupt_flag` is declared as `zend_bool *`, so we
better treat it such.

5 years agoskip where no groups available
Joe Watkins [Sat, 1 Jun 2019 05:36:03 +0000 (07:36 +0200)]
skip where no groups available

5 years agoonly clear when showing in parallel runner
Joe Watkins [Sat, 1 Jun 2019 04:13:30 +0000 (06:13 +0200)]
only clear when showing in parallel runner

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Anatol Belski [Sat, 1 Jun 2019 00:27:08 +0000 (02:27 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Change ZPP only if compiled with ICU >= 64
  Update tests for ICU 64

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Anatol Belski [Sat, 1 Jun 2019 00:26:07 +0000 (02:26 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Change ZPP only if compiled with ICU >= 64
  Update tests for ICU 64

5 years agoChange ZPP only if compiled with ICU >= 64
Anatol Belski [Sat, 1 Jun 2019 00:18:56 +0000 (02:18 +0200)]
Change ZPP only if compiled with ICU >= 64

5 years agoUpdate tests for ICU 64
Nikita Popov [Fri, 31 May 2019 13:39:03 +0000 (15:39 +0200)]
Update tests for ICU 64

(cherry picked from commit 8a8bc5c4529223ecf4f421b1bed03618f7394335)

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Anatol Belski [Fri, 31 May 2019 18:50:53 +0000 (20:50 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix var name

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Anatol Belski [Fri, 31 May 2019 18:50:17 +0000 (20:50 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix var name

5 years agoFix var name
Anatol Belski [Fri, 31 May 2019 18:49:42 +0000 (20:49 +0200)]
Fix var name

5 years agoSimpleXMLElement and ResourceBundle implement Countable
Thomas Gerbet [Wed, 29 May 2019 14:45:10 +0000 (16:45 +0200)]
SimpleXMLElement and ResourceBundle implement Countable

Both classes already have a count() method and are considered
countable by \is_countable().

5 years agoRemove confusing spkstr checks
Nikita Popov [Fri, 31 May 2019 14:59:46 +0000 (16:59 +0200)]
Remove confusing spkstr checks

This is a required parameter, it can never be NULL.

5 years agoUpdate tests for ICU 64
Nikita Popov [Fri, 31 May 2019 13:39:03 +0000 (15:39 +0200)]
Update tests for ICU 64

5 years agoFix NO_INTERACTION handling in parallel test runner
Nikita Popov [Fri, 31 May 2019 12:03:22 +0000 (14:03 +0200)]
Fix NO_INTERACTION handling in parallel test runner

This printing shouldn't depend on NO_INTERACTION, the variable that
controls this is SHOW_ONLY_GROUPS.

5 years agoFixed uninitialized var warning
Nikita Popov [Fri, 31 May 2019 10:55:13 +0000 (12:55 +0200)]
Fixed uninitialized var warning

Causes build failure on release+zts azure build. I'm rewriting this
code to separate the if/else handling, because they don't really
have anything in common anyway...

5 years agoAdd junit support for parallel test runner
Nikita Popov [Fri, 31 May 2019 10:38:06 +0000 (12:38 +0200)]
Add junit support for parallel test runner

5 years agorun-tests: Remove redundant 'suites' key
Nikita Popov [Fri, 31 May 2019 10:04:23 +0000 (12:04 +0200)]
run-tests: Remove redundant 'suites' key

We don't have nestead testsuites or similar, so drop this confusing
key.

5 years agoBetter hot/cold code splitting
Dmitry Stogov [Fri, 31 May 2019 09:09:06 +0000 (12:09 +0300)]
Better hot/cold code splitting

5 years agoRemove stream_socket_sendto.phpt
Nikita Popov [Fri, 31 May 2019 09:08:33 +0000 (11:08 +0200)]
Remove stream_socket_sendto.phpt

Fails for me locally due to different number of warnings with
different messages. Rather than adding more wildcards I'm dropping
this test entirely, as it doesn't seem to test anything particularly
useful.

5 years agoAdd CONFLCITS file for fpm
Nikita Popov [Fri, 31 May 2019 08:54:32 +0000 (10:54 +0200)]
Add CONFLCITS file for fpm

We should not run FPM tests in parallel due to port clashes.

5 years agoMark sapi_windows_set_ctrl_handler.phpt as XFAIL
Nikita Popov [Fri, 31 May 2019 07:17:51 +0000 (09:17 +0200)]
Mark sapi_windows_set_ctrl_handler.phpt as XFAIL

5 years agoFixed compilation warning
Dmitry Stogov [Thu, 30 May 2019 21:59:52 +0000 (00:59 +0300)]
Fixed compilation warning

5 years agoDon't specialize "cold" handlers
Dmitry Stogov [Thu, 30 May 2019 21:31:57 +0000 (00:31 +0300)]
Don't specialize "cold" handlers

5 years agoRemoved useless specialization. Specialized handlers called not specialized helpers.
Dmitry Stogov [Thu, 30 May 2019 21:15:25 +0000 (00:15 +0300)]
Removed useless specialization. Specialized handlers called not specialized helpers.

5 years agoReduce register pressure by reloading values on CPUs with few general purpose registers
Dmitry Stogov [Thu, 30 May 2019 21:14:10 +0000 (00:14 +0300)]
Reduce register pressure by reloading values on CPUs with few general purpose registers

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Craig Duncan [Thu, 30 May 2019 18:14:04 +0000 (19:14 +0100)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Add a test for bug #65672
  Ensure the internal properties cannot be overwritten

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Craig Duncan [Thu, 30 May 2019 17:55:55 +0000 (18:55 +0100)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Add a test for bug #65672
  Ensure the internal properties cannot be overwritten

5 years agoAdd a test for bug #65672
Craig Duncan [Tue, 20 Feb 2018 21:12:43 +0000 (21:12 +0000)]
Add a test for bug #65672

5 years agoEnsure the internal properties cannot be overwritten
Craig Duncan [Tue, 20 Feb 2018 21:11:03 +0000 (21:11 +0000)]
Ensure the internal properties cannot be overwritten

5 years agoDisable "bad" optimisations only for emulation loop
Dmitry Stogov [Thu, 30 May 2019 17:35:30 +0000 (20:35 +0300)]
Disable "bad" optimisations only for emulation loop

5 years ago[ci skip] Update libmagic.patch
Anatol Belski [Thu, 30 May 2019 12:09:00 +0000 (14:09 +0200)]
[ci skip] Update libmagic.patch

5 years ago[ci skip] Update year
Anatol Belski [Thu, 30 May 2019 12:02:54 +0000 (14:02 +0200)]
[ci skip] Update year

5 years ago[ci skip] Update NEWS
Anatol Belski [Thu, 30 May 2019 11:59:21 +0000 (13:59 +0200)]
[ci skip] Update NEWS

5 years agoAdd test for bug #78075, json detection
Anatol Belski [Thu, 30 May 2019 11:31:48 +0000 (13:31 +0200)]
Add test for bug #78075, json detection

5 years agohave parallel test runner respect NO_INTERACTION
Joe Watkins [Thu, 30 May 2019 05:46:31 +0000 (07:46 +0200)]
have parallel test runner respect NO_INTERACTION

5 years agoPartially reapply ba40f505e5804a5f62a1e220b0dce9d417a27f4d
Anatol Belski [Thu, 30 May 2019 00:48:01 +0000 (02:48 +0200)]
Partially reapply ba40f505e5804a5f62a1e220b0dce9d417a27f4d

5 years agoFix datatype
Anatol Belski [Thu, 30 May 2019 00:34:35 +0000 (02:34 +0200)]
Fix datatype

5 years agoPorted limagic 5.37
Anatol Belski [Thu, 30 May 2019 00:18:48 +0000 (02:18 +0200)]
Ported limagic 5.37

5 years agoRun sapi tests when running all tests
Nikita Popov [Wed, 29 May 2019 15:07:12 +0000 (17:07 +0200)]
Run sapi tests when running all tests

5 years agoUpdate phpdbg oplog test
Nikita Popov [Wed, 29 May 2019 15:05:01 +0000 (17:05 +0200)]
Update phpdbg oplog test

5 years agoUpdate cli reflection test
Nikita Popov [Wed, 29 May 2019 15:02:36 +0000 (17:02 +0200)]
Update cli reflection test

5 years agoRemove two zpp tests in sapi/cli/tests
Nikita Popov [Wed, 29 May 2019 15:00:12 +0000 (17:00 +0200)]
Remove two zpp tests in sapi/cli/tests

These fail on master -- apparently we're not running these tests...

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 29 May 2019 14:48:28 +0000 (16:48 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoSCCP: Fix leak when determining TYPE_CHECK from type info
Nikita Popov [Wed, 29 May 2019 14:47:19 +0000 (16:47 +0200)]
SCCP: Fix leak when determining TYPE_CHECK from type info

As TYPE_CHECK is the only opcode where we do something like this,
I'm adding this hack.

5 years agozend_assign_to_variable() optimization
Dmitry Stogov [Wed, 29 May 2019 10:58:37 +0000 (13:58 +0300)]
zend_assign_to_variable() optimization

5 years agoMark "cold" functions
Dmitry Stogov [Wed, 29 May 2019 08:31:46 +0000 (11:31 +0300)]
Mark "cold" functions

5 years agoBump API numbers
Derick Rethans [Wed, 29 May 2019 08:34:10 +0000 (09:34 +0100)]
Bump API numbers

5 years agoSpecify get_property_ptr_ptr handler for DatePeriod
Nikita Popov [Wed, 29 May 2019 07:51:15 +0000 (09:51 +0200)]
Specify get_property_ptr_ptr handler for DatePeriod

This handler is required on 7.4. Just return NULL from it to fall
back to read_property.

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 29 May 2019 07:47:54 +0000 (09:47 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 29 May 2019 07:47:43 +0000 (09:47 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoAdd tests for DatePeriod properties
Craig Duncan [Tue, 28 May 2019 19:49:14 +0000 (20:49 +0100)]
Add tests for DatePeriod properties

5 years agozend_do_fcall_overloaded() doesn't have to be exported
Dmitry Stogov [Wed, 29 May 2019 07:32:30 +0000 (10:32 +0300)]
zend_do_fcall_overloaded() doesn't have to be exported

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Christoph M. Becker [Wed, 29 May 2019 07:27:46 +0000 (09:27 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Update NEWS for 7.3.6

5 years agoUpdate NEWS for 7.3.6
Christoph M. Becker [Wed, 29 May 2019 07:27:23 +0000 (09:27 +0200)]
Update NEWS for 7.3.6

5 years agoRemove unused variable
Gabriel Caruso [Wed, 29 May 2019 01:48:31 +0000 (22:48 -0300)]
Remove unused variable

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Remi Collet [Wed, 29 May 2019 06:53:59 +0000 (08:53 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  add NEWS entries for sec fix

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Remi Collet [Wed, 29 May 2019 06:53:42 +0000 (08:53 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  add NEWS entries for sec fix

5 years agoadd NEWS entries for sec fix
Remi Collet [Wed, 29 May 2019 06:53:23 +0000 (08:53 +0200)]
add NEWS entries for sec fix

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Wed, 29 May 2019 06:30:55 +0000 (08:30 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  disabled functions must not have return type
  Restore the execute bit for run-tests.php

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Wed, 29 May 2019 06:30:41 +0000 (08:30 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  disabled functions must not have return type

5 years agodisabled functions must not have return type
Joe Watkins [Wed, 29 May 2019 06:30:08 +0000 (08:30 +0200)]
disabled functions must not have return type

5 years agoFix conditional compilation
Anatol Belski [Wed, 29 May 2019 00:40:09 +0000 (02:40 +0200)]
Fix conditional compilation

The new symbols are shared and don't need to depend on the availability
of __builtin_constant_p.

5 years agoThese macros should not expect any argument
Anatol Belski [Wed, 29 May 2019 00:29:02 +0000 (02:29 +0200)]
These macros should not expect any argument

5 years agoAvoid cold code duplication
Dmitry Stogov [Tue, 28 May 2019 22:43:27 +0000 (01:43 +0300)]
Avoid cold code duplication

5 years agoRestore the execute bit for run-tests.php
Craig Duncan [Tue, 28 May 2019 20:51:26 +0000 (21:51 +0100)]
Restore the execute bit for run-tests.php

It looks like this was accidentally removed in 03f15f705ad30ce2dde7f7b2ab087a132b859ba0

5 years agoReplace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros
Dmitry Stogov [Tue, 28 May 2019 17:10:02 +0000 (20:10 +0300)]
Replace ZVAL_COPY() and ZVAL_COPY_VALUE() for IS_OBJECT by cheaper macros

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Tue, 28 May 2019 14:41:17 +0000 (16:41 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Tue, 28 May 2019 14:41:08 +0000 (16:41 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

5 years agoFix type inference of SEND_UNPACK with empty array
Nikita Popov [Tue, 28 May 2019 14:39:49 +0000 (16:39 +0200)]
Fix type inference of SEND_UNPACK with empty array

An empty array will not be turned into an array of references.
This violated the invariant than an array has values iff it has
keys.

5 years agoSCCP: Fix handling of ASSIGN_OBJ_REF
Nikita Popov [Tue, 28 May 2019 14:14:46 +0000 (16:14 +0200)]
SCCP: Fix handling of ASSIGN_OBJ_REF

The generic BOT handling is not away of OP_DATA, so need to handle
this opcode before we get to that.

5 years agoAvoid usage of internal get/set object handlers. They are going to be removed in...
Dmitry Stogov [Tue, 28 May 2019 14:08:35 +0000 (17:08 +0300)]
Avoid usage of internal get/set object handlers. They are going to be removed in PHP-8.
Scalar FFI values now should be accessed through special "cdata" property.

    $x = FFI::new("int");
    $x = 42;

    should be changed into

    $x = FFI::new("int");
    $x->cdata = 42;

5 years agoSCCP: Don't perform partial object propagation for typed props
Nikita Popov [Tue, 28 May 2019 13:45:19 +0000 (15:45 +0200)]
SCCP: Don't perform partial object propagation for typed props

5 years agoAvoid double copying
Dmitry Stogov [Tue, 28 May 2019 10:35:00 +0000 (13:35 +0300)]
Avoid double copying

5 years agoAllow array_merge() / array_merge_recursive() without arguments
Dik Takken [Thu, 16 May 2019 20:08:08 +0000 (22:08 +0200)]
Allow array_merge() / array_merge_recursive() without arguments

This allows writing

    array_merge(...$arrays)

instead of

    array_merge([], ...$arrays)

and is in line with similar changes to array_push() and array_unshift()
in PHP 7.3.

Closes GH-4175.

5 years agoPut phpinfo() related code into cold code segment
Dmitry Stogov [Tue, 28 May 2019 08:04:13 +0000 (11:04 +0300)]
Put phpinfo() related code into cold code segment

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Joe Watkins [Tue, 28 May 2019 07:54:47 +0000 (09:54 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  bump version after release

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Joe Watkins [Tue, 28 May 2019 07:54:15 +0000 (09:54 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  bump version after release

5 years agoMerge branch 'PHP-7.1' into PHP-7.2
Joe Watkins [Tue, 28 May 2019 07:53:32 +0000 (09:53 +0200)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  bump version after release

5 years agobump version after release
Joe Watkins [Tue, 28 May 2019 07:52:52 +0000 (09:52 +0200)]
bump version after release

5 years agoMerge branch 'PHP-7.3' into PHP-7.4
Stanislav Malyshev [Tue, 28 May 2019 04:36:10 +0000 (21:36 -0700)]
Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
  Fix bug #77967 - Bypassing open_basedir restrictions via file uris

5 years agoMerge branch 'PHP-7.2' into PHP-7.3
Stanislav Malyshev [Tue, 28 May 2019 04:36:05 +0000 (21:36 -0700)]
Merge branch 'PHP-7.2' into PHP-7.3

* PHP-7.2:
  Fix bug #77967 - Bypassing open_basedir restrictions via file uris

5 years agoMerge branch 'PHP-7.1' into PHP-7.2
Stanislav Malyshev [Tue, 28 May 2019 04:36:00 +0000 (21:36 -0700)]
Merge branch 'PHP-7.1' into PHP-7.2

* PHP-7.1:
  Fix bug #77967 - Bypassing open_basedir restrictions via file uris

5 years agoFix bug #77967 - Bypassing open_basedir restrictions via file uris
Stanislav Malyshev [Tue, 28 May 2019 01:04:00 +0000 (18:04 -0700)]
Fix bug #77967 - Bypassing open_basedir restrictions via file uris