Commit Graph

37821 Commits

Author SHA1 Message Date
Fabien Potencier 5e28ac3150 minor #27931 [SecurityBundle] fix tests (xabbuh)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[SecurityBundle] fix tests

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27878
| License       | MIT
| Doc PR        |

Commits
-------

e69fac4c89 [SecurityBundle] fix tests
2018-07-12 11:49:17 +02:00
Samuel ROZE ec4b04b2d5 Supports nested "abstract" object while serializing and de-serializing 2018-07-12 09:11:46 +01:00
Christian Flothmann e69fac4c89 [SecurityBundle] fix tests 2018-07-12 10:05:19 +02:00
Fabien Potencier 20070b72ac feature #27807 Added new methods submitForm and clickLink to Client class (nowiko)
This PR was squashed before being merged into the 4.2-dev branch (closes #27807).

Discussion
----------

Added new methods submitForm and clickLink to Client class

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| License       | MIT

Added new methods to BrowserKit/Client to simplify work with links and forms.
Related to https://github.com/symfony/symfony/issues/27627

Commits
-------

e098eddc96 Added new methods submitForm and clickLink to Client class
2018-07-12 09:05:27 +02:00
Viktor Novikov e098eddc96 Added new methods submitForm and clickLink to Client class 2018-07-12 09:05:20 +02:00
Fabien Potencier 3f663fdfbb minor #27878 improve deprecation messages (xabbuh)
This PR was merged into the 4.2-dev branch.

Discussion
----------

improve deprecation messages

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

1657b82c19 improve deprecation messages
2018-07-12 08:18:35 +02:00
Fabien Potencier 3b90bc71c1 minor #27929 [HttpFoundation] Fixed phpdoc for get method of HeaderBag (JanHort)
This PR was submitted for the master branch but it was merged into the 2.8 branch instead (closes #27929).

Discussion
----------

[HttpFoundation] Fixed phpdoc for get method of HeaderBag

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | none
| License       | MIT
| Doc PR        | none

Method `\Symfony\Component\HttpFoundation\HeaderBag::get` return type was declared only as `string|string[]` but there is also possibility of returning of `null` value since the `null` is the default value for second parameter.

Commits
-------

a72f4ecb3a [HttpFoundation] Fixed phpdoc for get method of HeaderBag
2018-07-12 08:13:53 +02:00
Jan Hort a72f4ecb3a [HttpFoundation] Fixed phpdoc for get method of HeaderBag 2018-07-12 08:13:47 +02:00
Fabien Potencier 10f7dcc5dc bug #27913 [EventDispatcher] Clear orphaned events on reset (acasademont)
This PR was merged into the 4.1 branch.

Discussion
----------

[EventDispatcher] Clear orphaned events on reset

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | NA
| License       | MIT
| Doc PR        | NA

When the Orphaned Events feature was added in #24392 it was forgotten to also clear them when the `reset` method on the `TraceableEventDispatcher` is called. This makes the Orphaned Events tab on the Event profiler an evergrowing list when using PHP-PM (or other event loop implementations).

Commits
-------

d3260dfdcd [EventDispatcher] Clear orphaned events on TraceableEventDispatcher::reset
2018-07-12 08:09:16 +02:00
Fabien Potencier 4f1647e6a5 minor #27915 [DependencyInjection] add missing test for #27710 (xabbuh)
This PR was merged into the 4.1 branch.

Discussion
----------

[DependencyInjection] add missing test for #27710

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | https://github.com/symfony/symfony/pull/27710#pullrequestreview-131904804
| License       | MIT
| Doc PR        |

Commits
-------

a265caf041 [DependencyInjection] add missing test for #27710
2018-07-12 08:07:56 +02:00
Fabien Potencier 44ce4dd625 bug #27923 [Form/Profiler] Massively reducing memory footprint of form profiling pages... (VincentChalnot)
This PR was merged into the 3.4 branch.

Discussion
----------

[Form/Profiler] Massively reducing memory footprint of form profiling pages...

… by removing redundant 'form' variable from view variables.

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

## Problem
When trying to profile large forms in web profiler, the page can get so big that the memory footprint of the web browser excedes 1Gb making everything unusable and sometimes crashing the browser.

This is especially true for "deep" forms as every node of the form also contains its children in the debugging infos.

## Solution
When removing the "form" view variable that actually contains duplicated contents of everything already displayed in the page, the memory footprint massively decrease making the page usable again even form very complex and deep forms.

By using CutStub, we keep a necessary level of information by providing the information that the variable is indeed here but not directly accessible in the dump.

Commits
-------

5f5077f4fc [Form/Profiler] Massively reducing memory footprint of form profiling pages by removing redundant 'form' variable from view variables.
2018-07-12 08:05:38 +02:00
Fabien Potencier 137753db66 bug #27918 [Console] correctly return parameter's default value on "--" (seschwar)
This PR was merged into the 3.4 branch.

Discussion
----------

[Console] correctly return parameter's default value on "--"

Fixes #27916

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27916
| License       | MIT
| Doc PR        | n/a

The tests have been adjusted to use a default value different from the one in `A*Input::getParameterOption()`'s signature. This would have detected the bug in the first place and should prevent future regressions.

Commits
-------

d78dcc0615 [Console] correctly return parameter's default value on "--"
2018-07-12 08:01:07 +02:00
Fabien Potencier c85134c9c1 feature #27879 [Routing] deprecate non string requirement names (xabbuh)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Routing] deprecate non string requirement names

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Basically, this will help catching wrong `@Route` annotation configurations like the following which can lead to hard to debug issues:

```php
@Route("/{foo}", requirements={"foo", "bar"})
```

Commits
-------

8bb5266553 deprecate non string requirement names
2018-07-11 17:44:02 +02:00
Fabien Potencier fc41042008 minor #27922 [DependencyInjection] fix typo in ContainerBuilder docblock (xabbuh)
This PR was merged into the 2.8 branch.

Discussion
----------

[DependencyInjection] fix typo in ContainerBuilder docblock

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

559cdb01bd fix typo in ContainerBuilder docblock
2018-07-11 13:22:56 +02:00
Christian Flothmann 559cdb01bd fix typo in ContainerBuilder docblock 2018-07-11 12:26:22 +02:00
Fabien Potencier df26feaa22 feature #26933 [Console] Add title table (maidmaid)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Console] Add title table

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | /
| License       | MIT
| Doc PR        | /

Why not just add a title to console tables? Inspired by the famous file manager [Midnight Commander](https://en.wikipedia.org/wiki/Midnight_Commander).

![screenshot from 2018-04-15 20-16-26](https://user-images.githubusercontent.com/4578773/38777361-eb6aaa72-40e9-11e8-8ae4-055fe80272c3.png)

Commits
-------

6bf9eeb14e Add title table
2018-07-11 11:58:49 +02:00
Dany Maillard 6bf9eeb14e Add title table 2018-07-11 11:50:52 +02:00
Vincent Chalnot 5f5077f4fc [Form/Profiler] Massively reducing memory footprint of form profiling pages by removing redundant 'form' variable from view variables. 2018-07-11 11:08:35 +02:00
Nicolas Grekas 898203649f Added symfony/contracts: a set of abstractions extracted out of the components 2018-07-11 10:17:42 +02:00
Christian Flothmann 039c4d4f6b fix typo 2018-07-11 09:48:45 +02:00
Sebastian Schwarz d78dcc0615 [Console] correctly return parameter's default value on "--"
Fixes #27916
2018-07-10 16:02:11 +02:00
Christian Flothmann a265caf041 [DependencyInjection] add missing test for #27710 2018-07-10 15:15:49 +02:00
Albert Casdemont d3260dfdcd [EventDispatcher] Clear orphaned events on TraceableEventDispatcher::reset 2018-07-10 13:02:47 +02:00
Nicolas Grekas 3cfdc9e9d7 minor fixes 2018-07-09 17:54:21 +02:00
Fabien Potencier a5709ee9ba feature #27697 [ProxyManagerBridge][DI] allow proxifying interfaces with "lazy: Some\ProxifiedInterface" (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[ProxyManagerBridge][DI] allow proxifying interfaces with "lazy: Some\ProxifiedInterface"

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #20656
| License       | MIT
| Doc PR        | -

By adding `<tag name="proxy" interface="Some\ProxifiedInterface" />` to your service definitions, this PR allows generating interface-based proxies.

This would allow two things:
- generating lazy proxies for final classes
- wrapping a service into such proxy to forbid using the methods that are on a specific implementation but not on some interface - the proxy acting as a safe guard.

The generated proxies are always lazy, so that lazy=true/false makes no difference.

As a shortcut, you can also use `lazy: Some\ProxifiedInterface` to do the same (yaml example this time.)

Commits
-------

1d9f1d1b70 [ProxyManagerBridge][DI] allow proxifying interfaces with "lazy: Some\ProxifiedInterface"
2018-07-09 16:47:21 +02:00
Nicolas Grekas 1d9f1d1b70 [ProxyManagerBridge][DI] allow proxifying interfaces with "lazy: Some\ProxifiedInterface" 2018-07-09 16:45:45 +02:00
Fabien Potencier f20eaf26c2 feature #27645 [Cache] Add `MarshallerInterface` allowing to change the serializer, providing a default one that automatically uses igbinary when available (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Cache] Add `MarshallerInterface` allowing to change the serializer, providing a default one that automatically uses igbinary when available

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #19895
| License       | MIT
| Doc PR        | -

With this PR, when igbinary is available, it is automatically used to serialize values.
This provides faster and smaller cache payloads.
The unserializing logic is autoadaptative:
- when an igbinary-serialized value is unserialized but the extension is missing, a cache miss is triggered
- when a natively-serialized value is unserialized and the extension is available, the native `unserialize()` is used

Ping @palex-fpt since you provided very useful comments on the topic and might be interested in reviewing here also.

Commits
-------

9c328c4894 [Cache] Add `MarshallerInterface` allowing to change the serializer, providing a default one that automatically uses igbinary when available
2018-07-09 16:39:33 +02:00
Nicolas Grekas 2345d0c2cf [Cache] update docblock of PdoAdapter/PdoCache 2018-07-09 16:30:01 +02:00
Fabien Potencier cbda6a3c72 feature #27694 [FrameworkBundle][Cache] Allow configuring PDO-based cache pools, with table auto-creation on first use (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle][Cache] Allow configuring PDO-based cache pools, with table auto-creation on first use

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

* Allowed configuring PDO-based cache pools via a new `cache.adapter.pdo` abstract service
* added automatic table creation when using Doctrine DBAL with PDO-based backends

Commits
-------

1484117430 [FrameworkBundle][Cache] Allow configuring PDO-based cache pools, with table auto-creation on first use
2018-07-09 16:21:08 +02:00
Fabien Potencier 254f4c8f7f feature #27774 [FrameworkBundle] allow turning routes to utf8 mode by default (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[FrameworkBundle] allow turning routes to utf8 mode by default

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This allows building optimized routers that match in a single regexp instead of an alternate of utf8/non-utf8 set of routes.

Commits
-------

8f359cc047 [FrameworkBundle] allow turning routes to utf8 mode by default
2018-07-09 16:14:24 +02:00
Fabien Potencier 10e15dca66 feature #27821 [Process][Console] deprecated defining commands as strings (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[Process][Console] deprecated defining commands as strings

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | yes
| Tests pass?   | yes
| Fixed tickets | #27796
| License       | MIT
| Doc PR        | -

 * Added the `Process::fromShellCommandline()` static constructor to define shell command-lines
 * Allowed passing commands as `array($process, 'ENV_VAR' => 'value')` to `ProcessHelper::run()`
 * Deprecated passing commands as strings when creating a `Process` instance.
 * Deprecated the `Process::setCommandline()` and the `PhpProcess::setPhpBinary()` methods.
 * Deprecated passing a command as a string to `ProcessHelper::run()`, pass it the command as an array of arguments instead.
 * Made the `ProcessHelper` class final

Commits
-------

8895bc1b5b [Process][Console] deprecated defining commands as strings
2018-07-09 16:07:29 +02:00
Fabien Potencier 8d35af4a51 minor #27845 [DI] Improve exception messages by hiding the hidden ids they contain (nicolas-grekas)
This PR was merged into the 4.2-dev branch.

Discussion
----------

[DI] Improve exception messages by hiding the hidden ids they contain

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27822
| License       | MIT
| Doc PR        | -

This PR improves error messages containing hidden ids, especially the ones mentioning service locators.

Right now, when a service subscriber is incomplete, we get:
> The service ".service_locator.G69Xsbl.App\Controller\MyRouter" has a dependency on a non-existent service "Symfony\Component\Config\Loader\LoaderInterface".

With this PR we get this instead:
> The service "routing.loader" in the container provided to "App\Controller\MyRouter" has a dependency on a non-existent service "Symfony\Component\Config\Loader\LoaderInterface".

When no locators are involved, the hidden service is swallowed:
> The service "App\Controller\MyRouter" has a dependency on a non-existent service "Symfony\Component\Config\Loader\LoaderInterface".

This PR also improves runtime exceptions thrown in service locators.

Before:
> Cannot autowire service ".service_locator.Z1jvVrN": it references interface "Symfony\Component\Config\Loader\LoaderInterface" but no such service exists. You should maybe alias this interface to one of these existing services: [...].

After:
> Cannot autowire service "routing.loader" required by "App\Controller\MyRouter": it references interface "Symfony\Component\Config\Loader\LoaderInterface" but no such service exists. You should maybe alias this interface to one of these existing services: [...].

TODO:
- [x] add tests.

Commits
-------

d2b4901a43 [DI] Improve exception messages by hiding the hidden ids they contain
2018-07-09 16:06:18 +02:00
Christian Flothmann 8bb5266553 deprecate non string requirement names 2018-07-09 15:38:45 +02:00
Nicolas Grekas a552e849d5 bug #27826 [Serializer] Fix serialization of items with groups across entities and discrimination map (sroze)
This PR was merged into the 4.1 branch.

Discussion
----------

[Serializer] Fix serialization of items with groups across entities and discrimination map

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #27816, #27641
| License       | MIT
| Doc PR        | ø

I believe this approach is better than the one taken in #27816. At least, it's an alternative :)

Commits
-------

c648b938b2 Fix serialization of abstract items with groups across multiple entities
2018-07-09 15:37:26 +02:00
Nicolas Grekas 88f063ddb4 Merge branch '4.1'
* 4.1:
  [Filesystem] fix lock file mode
  [Console] fix typo in phpdoc
  improve deprecation messages
2018-07-09 15:30:59 +02:00
Nicolas Grekas bbe3ce88d7 minor #27877 improve deprecation messages (xabbuh)
This PR was merged into the 4.1 branch.

Discussion
----------

improve deprecation messages

| Q             | A
| ------------- | ---
| Branch?       | 4.1
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets |
| License       | MIT
| Doc PR        |

Commits
-------

e4ae5a4ca9 improve deprecation messages
2018-07-09 15:27:57 +02:00
Nicolas Grekas 2b860d515f Merge branch '4.0' into 4.1
* 4.0:
  [Filesystem] fix lock file mode
  [Console] fix typo in phpdoc
2018-07-09 15:27:18 +02:00
Nicolas Grekas dd16e10a7b Merge branch '3.4' into 4.0
* 3.4:
  [Filesystem] fix lock file mode
  [Console] fix typo in phpdoc
2018-07-09 15:26:23 +02:00
Nicolas Grekas 08b7874a08 Merge branch '2.8' into 3.4
* 2.8:
  [Filesystem] fix lock file mode
  [Console] fix typo in phpdoc
2018-07-09 15:25:43 +02:00
Nicolas Grekas 881c46aadd [Filesystem] fix lock file mode 2018-07-09 15:24:25 +02:00
Nicolas Grekas b67c26c2ef Merge branch '4.1'
* 4.1:
  [Filesystem] fix lock file permissions
  [Lock] fix lock file permissions
  [Form] Removed .form-control-label class.
  Removed .mb-0 in errors.
  Fix the detection of the Process new argument
  add @xabbuh as a code owner of the Yaml component
  improve deprecation messages
  Replace .initialism with .text-uppercase.
2018-07-09 15:05:12 +02:00
Nicolas Grekas e3bdbed513 minor #27777 [Console] fix typo in phpdoc (Tobion)
This PR was merged into the 2.8 branch.

Discussion
----------

[Console] fix typo in phpdoc

| Q             | A
| ------------- | ---
| Branch?       | 4.1 (#26847)
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

Commits
-------

7aa45579d5 [Console] fix typo in phpdoc
2018-07-09 14:59:54 +02:00
Tobias Schultze 7aa45579d5 [Console] fix typo in phpdoc 2018-07-09 14:58:09 +02:00
Nicolas Grekas cfe319c4e8 Merge branch '4.0' into 4.1
* 4.0:
  [Filesystem] fix lock file permissions
  [Lock] fix lock file permissions
  [Form] Removed .form-control-label class.
  Removed .mb-0 in errors.
  Fix the detection of the Process new argument
  add @xabbuh as a code owner of the Yaml component
  improve deprecation messages
  Replace .initialism with .text-uppercase.
2018-07-09 14:52:53 +02:00
Nicolas Grekas 72141443ad Merge branch '3.4' into 4.0
* 3.4:
  [Filesystem] fix lock file permissions
  [Lock] fix lock file permissions
  [Form] Removed .form-control-label class.
  Removed .mb-0 in errors.
  Fix the detection of the Process new argument
  add @xabbuh as a code owner of the Yaml component
  Replace .initialism with .text-uppercase.
2018-07-09 14:50:05 +02:00
Nicolas Grekas 69509728c4 Merge branch '2.8' into 3.4
* 2.8:
  [Filesystem] fix lock file permissions
  add @xabbuh as a code owner of the Yaml component
2018-07-09 14:47:47 +02:00
Nicolas Grekas 66b9ebcda5 bug #27904 [Filesystem] fix lock file permissions (fritzmg)
This PR was squashed before being merged into the 2.8 branch (closes #27904).

Discussion
----------

[Filesystem] fix lock file permissions

| Q             | A
| ------------- | ---
| Branch?       | 2.8
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | see linked discussion
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

See https://github.com/symfony/symfony/pull/27903

Commits
-------

7a68fea2af [Filesystem] fix lock file permissions
2018-07-09 14:47:26 +02:00
fritzmg 7a68fea2af [Filesystem] fix lock file permissions 2018-07-09 14:47:20 +02:00
Nicolas Grekas 608cf7f1b7 bug #27903 [Lock] fix lock file permissions (fritzmg)
This PR was squashed before being merged into the 3.4 branch (closes #27903).

Discussion
----------

[Lock] fix lock file permissions

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | see discussion below
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

See [this comment](https://github.com/symfony/symfony/pull/27668#issuecomment-403392924). Since we are using `r+` now to fix an issue on Solaris, we also need to change the file permissions when the lock file is created for the first time. Otherwise
```php
fopen($fileName, 'r+')
```
will fail due to the file permissions and while
```php
fopen($fileName, 'r')
```
will work, the subsequent locking will again fail on Solaris.

Changing the file permissions to `0666` fixes this issue. __However__ any lock file that was generated _prior_ to this change will still cause issues and would need to be manually deleted. Usually the default `sys_get_temp_dir()` location is used for the lock files and _usually_ these files are purged periodically, so it probably won't matter that much. But it still might cause some confusion since it will not be transparent, why the file lock failed on Solaris systems.

Commits
-------

23481a112e [Lock] fix lock file permissions
2018-07-09 14:45:49 +02:00
fritzmg 23481a112e [Lock] fix lock file permissions 2018-07-09 14:45:36 +02:00