Commit Graph

503 Commits

Author SHA1 Message Date
semantic-release-bot
ada208f9bc chore(release): 0.39.1 [skip ci]
## [0.39.1](https://github.com/saltstack-formulas/apache-formula/compare/v0.39.0...v0.39.1) (2019-12-20)

### Bug Fixes

* **mod_mpm:** cast to int to avoid Jinja type mismatch error ([21045c7](21045c7a7b))
2019-12-20 16:59:57 +00:00
Imran Iqbal
e5579930e7
Merge pull request #272 from dimitry-unified-streaming/fix-mpm_prefork-jinja
fix(mod_mpm): cast to int to avoid Jinja type mismatch error
2019-12-20 16:52:13 +00:00
semantic-release-bot
76bfb1b2d2 chore(release): 0.39.0 [skip ci]
# [0.39.0](https://github.com/saltstack-formulas/apache-formula/compare/v0.38.2...v0.39.0) (2019-12-20)

### Continuous Integration

* **gemfile:** restrict `train` gem version until upstream fix [skip ci] ([13be6f9](13be6f9fac))
* **travis:** apply changes from build config validation [skip ci] ([0aac479](0aac479c25))
* **travis:** opt-in to `dpl v2` to complete build config validation ([19e90ea](19e90ea2d6))
* **travis:** quote pathspecs used with `git ls-files` [skip ci] ([6608ddf](6608ddf8c5))
* **travis:** run `shellcheck` during lint job [skip ci] ([2ff6b2f](2ff6b2f17e))
* **travis:** use build config validation (beta) [skip ci] ([73160b2](73160b2491))

### Features

* **server-status:** allow remote servers to reach server-status page ([a3c0022](a3c0022d79))
2019-12-20 16:51:40 +00:00
Imran Iqbal
d78d0cc166
Merge pull request #273 from mcarlton00/server-status-sources
Allow remote servers to access server status page
2019-12-20 16:43:11 +00:00
mcarlton00
a3c0022d79 feat(server-status): allow remote servers to reach server-status page 2019-12-20 11:20:26 -05:00
Dimitry Andric
21045c7a7b fix(mod_mpm): cast to int to avoid Jinja type mismatch error
This fixes the following error when Jinja tries to process
`mpm_prefork.conf.jinja` or `00-mpm.conf.jinja`, when it processes the
`max_request_workers` comparison:

```
Unable to manage file: Jinja error: '>=' not supported between instances of 'str' and 'int'
[...]
<IfModule mpm_prefork_module>
  StartServers {{ mpm_param['start_servers'] | d('5') }}
  MaxRequestWorkers {{ mpm_param['max_request_workers'] | d('150') }}
{%- if mpm_param['max_request_workers'] | d('150') >= 256 %}    <======================
  ServerLimit {{ mpm_param['max_request_workers'] | d('150') }}
{%- endif %}
  MinSpareServers {{ mpm_param['min_spare_servers'] | d('5') }}
  MaxSpareServers {{ mpm_param['max_spare_servers'] | d('10') }}
  MaxConnectionsPerChild {{ mpm_param['max_connections_per_child'] | d('0') }}
```

Add filters that convert the values to an int first.
2019-12-20 13:24:37 +01:00
Imran Iqbal
13be6f9fac ci(gemfile): restrict train gem version until upstream fix [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/110
2019-12-16 13:35:22 +00:00
Imran Iqbal
6608ddf8c5 ci(travis): quote pathspecs used with git ls-files [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/107
2019-11-27 21:48:33 +00:00
Imran Iqbal
2ff6b2f17e ci(travis): run shellcheck during lint job [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/106
2019-11-27 21:01:16 +00:00
Imran Iqbal
19e90ea2d6 ci(travis): opt-in to dpl v2 to complete build config validation
* Automated using https://github.com/myii/ssf-formula/pull/100
2019-11-18 13:42:18 +00:00
Imran Iqbal
0aac479c25 ci(travis): apply changes from build config validation [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/98
2019-11-16 20:08:52 +00:00
Imran Iqbal
73160b2491 ci(travis): use build config validation (beta) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/97
2019-11-13 16:42:36 +00:00
semantic-release-bot
c763e1edce chore(release): 0.38.2 [skip ci]
## [0.38.2](https://github.com/saltstack-formulas/apache-formula/compare/v0.38.1...v0.38.2) (2019-11-07)

### Bug Fixes

* **apache/modules.sls:** fix duplicated ID ([57afd71](57afd71627))
2019-11-07 17:00:14 +00:00
Niels Abspoel
505ce0332b
Merge pull request #269 from scambra/patch-modules
fix duplicated ID
2019-11-07 17:49:43 +01:00
semantic-release-bot
24a4a24cdc chore(release): 0.38.1 [skip ci]
## [0.38.1](https://github.com/saltstack-formulas/apache-formula/compare/v0.38.0...v0.38.1) (2019-11-05)

### Bug Fixes

* **mod_perl2.sls:** fix a2enmod perl2 error ([fba8d21](fba8d21794))
* **release.config.js:** use full commit hash in commit link [skip ci] ([dc5593c](dc5593cfdf))

### Continuous Integration

* **kitchen:** use `debian-10-master-py3` instead of `develop` [skip ci] ([09d82a5](09d82a581c))
* **kitchen:** use `develop` image until `master` is ready (`amazonlinux`) [skip ci] ([d0bf6f3](d0bf6f3796))
* **kitchen+travis:** upgrade matrix after `2019.2.2` release [skip ci] ([fc0f869](fc0f869b78))
* **travis:** update `salt-lint` config for `v0.0.10` [skip ci] ([2622d48](2622d48b4c))

### Performance Improvements

* **travis:** improve `salt-lint` invocation [skip ci] ([bf75770](bf75770220))
2019-11-05 08:20:16 +00:00
Imran Iqbal
3a7e89024c
Merge pull request #271 from SynPrime/perl2-fix
fix(mod_perl2.sls): fix a2enmod perl2 error
2019-11-05 08:09:32 +00:00
Gino Naumann
fba8d21794 fix(mod_perl2.sls): fix a2enmod perl2 error 2019-11-04 17:23:25 +01:00
Imran Iqbal
d0bf6f3796 ci(kitchen): use develop image until master is ready (amazonlinux) [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/93
2019-11-03 11:39:29 +00:00
Imran Iqbal
bf75770220 perf(travis): improve salt-lint invocation [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/90
2019-11-02 08:29:44 +00:00
Imran Iqbal
dc5593cfdf fix(release.config.js): use full commit hash in commit link [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/89
2019-10-31 10:24:01 +00:00
Sergio Cambra
57afd71627 fix(apache/modules.sls): fix duplicated ID 2019-10-30 12:53:39 +01:00
Imran Iqbal
fc0f869b78 ci(kitchen+travis): upgrade matrix after 2019.2.2 release [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/86
2019-10-30 04:50:25 +00:00
Imran Iqbal
09d82a581c ci(kitchen): use debian-10-master-py3 instead of develop [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/84
2019-10-24 18:02:17 +01:00
Imran Iqbal
2622d48b4c ci(travis): update salt-lint config for v0.0.10 [skip ci]
* Automated using https://github.com/myii/ssf-formula/pull/82
2019-10-23 17:22:41 +01:00
semantic-release-bot
f9dcbdd659 chore(release): 0.38.0 [skip ci]
# [0.38.0](https://github.com/saltstack-formulas/apache-formula/compare/v0.37.4...v0.38.0) (2019-10-20)

### Bug Fixes

* **apache-2.2.config.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/f4045ef))
* **apache-2.4.config.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/e2c1c2e))
* **flags.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/a146c59))
* **init.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/8465eb4))
* **map.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/d011324))
* **mod_geoip.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/e55ef9b))
* **modsecurity.conf.jinja:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/2a79d05))
* **modules.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/55d11f8))
* **server_status.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/da9a592))
* **uninstall.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/ed7dc7b))
* **vhosts/cleanup.sls:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/b0bbd0b))
* **vhosts/minimal.tmpl:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/146dc67))
* **vhosts/proxy.tmpl:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/e7c9fbb))
* **vhosts/redirect.tmpl:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/0a41b19))
* **vhosts/standard.tmpl:** fix `salt-lint` errors ([](https://github.com/saltstack-formulas/apache-formula/commit/1bad58d))
* **yamllint:** fix all errors ([](https://github.com/saltstack-formulas/apache-formula/commit/97f6ead))

### Documentation

* **formula:** use standard structure ([](https://github.com/saltstack-formulas/apache-formula/commit/701929d))
* **readme:** move to `docs/` directory and modify accordingly ([](https://github.com/saltstack-formulas/apache-formula/commit/6933f0e))

### Features

* **semantic-release:** implement for this formula ([](https://github.com/saltstack-formulas/apache-formula/commit/34d1f7c))

### Tests

* **mod_security_spec:** convert from Serverspec to InSpec ([](https://github.com/saltstack-formulas/apache-formula/commit/68b971b))
2019-10-20 12:05:29 +00:00
Niels Abspoel
34324bd2c6
Merge pull request #270 from myii/feat/implement-semantic-release
feat(semantic-release): implement for this formula
2019-10-20 13:55:10 +02:00
Imran Iqbal
6933f0e427
docs(readme): move to docs/ directory and modify accordingly 2019-10-17 09:12:49 +01:00
Imran Iqbal
701929d616
docs(formula): use standard structure 2019-10-17 09:12:48 +01:00
Imran Iqbal
1bad58d899
fix(vhosts/standard.tmpl): fix salt-lint errors
```bash
Examining apache/vhosts/standard.tmpl of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/standard.tmpl:46
<VirtualHost {% for intf in vals.interfaces %} {{intf}}:{{ vals.port }}{% endfor -%}>

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/standard.tmpl:70
    {% if site.get('SSLCertificateChainFile') %}SSLCertificateChainFile {{ site.SSLCertificateChainFile}}{% endif %}

[201] Trailing whitespace
apache/vhosts/standard.tmpl:72

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/standard.tmpl:96
        {% if dvals.get('Require') != False %}Require {{dvals.Require}}{% endif %}

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/standard.tmpl:120
        {%- if lvals.get('Require') != False %}Require {{lvals.Require}}{% endif %}
```
2019-10-17 08:32:32 +01:00
Imran Iqbal
0a41b193da
fix(vhosts/redirect.tmpl): fix salt-lint errors
```bash
Examining apache/vhosts/redirect.tmpl of type state
[201] Trailing whitespace
apache/vhosts/redirect.tmpl:23

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/redirect.tmpl:28
<VirtualHost {%- for intf in vals.interfaces %} {{intf}}:{{ vals.port }}{% endfor -%}>

[201] Trailing whitespace
apache/vhosts/redirect.tmpl:47
```
2019-10-17 08:32:32 +01:00
Imran Iqbal
e7c9fbb152
fix(vhosts/proxy.tmpl): fix salt-lint errors
```bash
Examining apache/vhosts/proxy.tmpl of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/proxy.tmpl:38
<VirtualHost {%- for intf in vals.interfaces %} {{intf}}:{{ vals.port }}{% endfor -%}>

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/proxy.tmpl:53
    {% if site.get('SSLCertificateChainFile') %}SSLCertificateChainFile {{ site.SSLCertificateChainFile}}{% endif %}

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/proxy.tmpl:85
      {%- if lvals.get('Require') != False %}Require {{lvals.Require}}{% endif %}

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/proxy.tmpl:102
      {%- if lmvals.get('Require') != False %}Require {{lmvals.Require}}{% endif %}
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
146dc6702a
fix(vhosts/minimal.tmpl): fix salt-lint errors
```bash
Examining apache/vhosts/minimal.tmpl of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/minimal.tmpl:25
<VirtualHost {% for intf in vals.interfaces %} {{intf}}:{{ vals.port }}{% endfor -%}>
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
b0bbd0b91d
fix(vhosts/cleanup.sls): fix salt-lint errors
```bash
Examining apache/vhosts/cleanup.sls of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/vhosts/cleanup.sls:29
    - onlyif: "test -L {{ dirpath}}/{{ filename }} || test -f {{ dirpath}}/{{ filename }}"
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
ed7dc7b411
fix(uninstall.sls): fix salt-lint errors
```bash
Examining apache/uninstall.sls of type state
[201] Trailing whitespace
apache/uninstall.sls:2
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
da9a59225a
fix(server_status.sls): fix salt-lint errors
```bash
Examining apache/server_status.sls of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/server_status.sls:7
{{apache.confdir}}/server-status{{apache.confext}}:
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
55d11f8293
fix(modules.sls): fix salt-lint errors
```bash
Examining apache/modules.sls of type state
[201] Trailing whitespace
apache/modules.sls:49

[201] Trailing whitespace
apache/modules.sls:84
```
2019-10-17 08:32:31 +01:00
Imran Iqbal
e55ef9b3ee
fix(mod_geoip.sls): fix salt-lint errors
```bash
Examining apache/mod_geoip.sls of type state
[201] Trailing whitespace
apache/mod_geoip.sls:30
    - source:
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
d011324bd2
fix(map.jinja): fix salt-lint errors
```bash
Examining apache/map.jinja of type state
[209] Jinja comment should have spaces before and after: {# comment #}
apache/map.jinja:22
{## Merge the apache pillar ##}
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
8465eb47e0
fix(init.sls): fix salt-lint errors
```bash
Examining apache/init.sls of type state
[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/init.sls:15
  service.{{apache.service_state}}:

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/init.sls:30
    - cmd: {{apache.custom_reload_command|default('apachectl graceful')}}

[206] Jinja variables should have spaces before and after: {{ var_name }}
apache/init.sls:41
    - cmd: {{apache.custom_reload_command|default('apachectl graceful')}}
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
a146c59763
fix(flags.sls): fix salt-lint errors
```bash
Examining apache/flags.sls of type state
[201] Trailing whitespace
apache/flags.sls:7
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
2a79d05945
fix(modsecurity.conf.jinja): fix salt-lint errors
```bash
Examining apache/files/RedHat/modsecurity.conf.jinja of type state
[201] Trailing whitespace
apache/files/RedHat/modsecurity.conf.jinja:26
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
e2c1c2e66f
fix(apache-2.4.config.jinja): fix salt-lint errors
```bash
Examining apache/files/FreeBSD/apache-2.4.config.jinja of type state
[201] Trailing whitespace
apache/files/FreeBSD/apache-2.4.config.jinja:171
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
f4045efeff
fix(apache-2.2.config.jinja): fix salt-lint errors
```bash
Examining apache/files/Debian/apache-2.2.config.jinja of type state
[201] Trailing whitespace
apache/files/Debian/apache-2.2.config.jinja:119
    MaxSpareThreads      75

[201] Trailing whitespace
apache/files/Debian/apache-2.2.config.jinja:136
    MaxSpareThreads      75
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
97f6ead9f4
fix(yamllint): fix all errors
```bash
apache-formula$ yamllint -s .
./pillar.example
  2:1       warning  missing document start "---"  (document-start)
  5:26      warning  truthy value should be one of [false, true]  (truthy)
  50:18     warning  too few spaces before comment  (comments)
  51:16     warning  truthy value should be one of [false, true]  (truthy)
  52:57     warning  too few spaces before comment  (comments)
  52:89     error    line too long (104 > 88 characters)  (line-length)
  67:33     warning  truthy value should be one of [false, true]  (truthy)
  67:38     warning  too few spaces before comment  (comments)
  69:31     warning  too few spaces before comment  (comments)
  70:8      warning  missing starting space in comment  (comments)
  75:53     warning  too few spaces before comment  (comments)
  75:89     error    line too long (98 > 88 characters)  (line-length)
  76:55     warning  too few spaces before comment  (comments)
  76:89     error    line too long (101 > 88 characters)  (line-length)
  78:50     warning  too few spaces before comment  (comments)
  79:89     error    line too long (95 > 88 characters)  (line-length)
  82:47     warning  too few spaces before comment  (comments)
  83:54     warning  too few spaces before comment  (comments)
  83:89     error    line too long (100 > 88 characters)  (line-length)
  84:58     warning  too few spaces before comment  (comments)
  84:89     error    line too long (109 > 88 characters)  (line-length)
  93:32     warning  too few spaces before comment  (comments)
  100:89    error    line too long (105 > 88 characters)  (line-length)
  101:33    error    trailing spaces  (trailing-spaces)
  102:16    warning  truthy value should be one of [false, true]  (truthy)
  231:20    warning  truthy value should be one of [false, true]  (truthy)
  242:32    warning  too few spaces before comment  (comments)
  249:20    warning  truthy value should be one of [false, true]  (truthy)
  254:20    warning  truthy value should be one of [false, true]  (truthy)
  260:21    warning  truthy value should be one of [false, true]  (truthy)
  283:8     warning  missing starting space in comment  (comments)
  284:8     warning  missing starting space in comment  (comments)
  297:15    warning  too few spaces before comment  (comments)
  328:18    warning  truthy value should be one of [false, true]  (truthy)
  330:20    warning  truthy value should be one of [false, true]  (truthy)
  342:15    error    empty value in block mapping  (empty-values)
  345:18    warning  truthy value should be one of [false, true]  (truthy)
  348:18    warning  truthy value should be one of [false, true]  (truthy)
  355:18    warning  truthy value should be one of [false, true]  (truthy)
  358:89    error    line too long (91 > 88 characters)  (line-length)
  359:26    warning  truthy value should be one of [false, true]  (truthy)
  362:89    error    line too long (99 > 88 characters)  (line-length)
  365:89    error    line too long (267 > 88 characters)  (line-length)
  367:21    warning  truthy value should be one of [false, true]  (truthy)
  369:26    warning  truthy value should be one of [false, true]  (truthy)
  371:1     error    too many blank lines (1 > 0)  (empty-lines)

./apache/osfingermap.yaml
  3:1       warning  missing document start "---"  (document-start)

./apache/modsecurity.yaml
  4:1       warning  missing document start "---"  (document-start)
  6:18      warning  truthy value should be one of [false, true]  (truthy)
  7:20      warning  truthy value should be one of [false, true]  (truthy)
  14:18     warning  truthy value should be one of [false, true]  (truthy)
  15:20     warning  truthy value should be one of [false, true]  (truthy)
  22:18     warning  truthy value should be one of [false, true]  (truthy)
  23:20     warning  truthy value should be one of [false, true]  (truthy)

./apache/defaults.yaml
  4:1       warning  missing document start "---"  (document-start)
  5:26      warning  truthy value should be one of [false, true]  (truthy)
  7:19      warning  truthy value should be one of [false, true]  (truthy)
  10:18     warning  truthy value should be one of [false, true]  (truthy)
  11:20     warning  truthy value should be one of [false, true]  (truthy)

./apache/oscodenamemap.yaml
  4:1       warning  missing document start "---"  (document-start)
  4:8       error    trailing spaces  (trailing-spaces)
  9:8       error    trailing spaces  (trailing-spaces)
  14:7      error    trailing spaces  (trailing-spaces)
  19:6      error    trailing spaces  (trailing-spaces)
  24:8      error    trailing spaces  (trailing-spaces)
  29:9      error    trailing spaces  (trailing-spaces)
  34:7      error    trailing spaces  (trailing-spaces)
  39:8      error    trailing spaces  (trailing-spaces)
  44:8      error    trailing spaces  (trailing-spaces)
  50:9      error    trailing spaces  (trailing-spaces)
  61:1      error    too many blank lines (1 > 0)  (empty-lines)

./apache/osfamilymap.yaml
  4:1       warning  missing document start "---"  (document-start)
  16:89     error    line too long (104 > 88 characters)  (line-length)
  43:89     error    line too long (105 > 88 characters)  (line-length)
  56:16     warning  truthy value should be one of [false, true]  (truthy)
  114:11    error    empty value in block mapping  (empty-values)
  114:11    error    trailing spaces  (trailing-spaces)

./test/salt/pillar/default.sls
  5:26      warning  truthy value should be one of [false, true]  (truthy)
  7:18      warning  truthy value should be one of [false, true]  (truthy)
  8:20      warning  truthy value should be one of [false, true]  (truthy)
```
2019-10-17 08:32:30 +01:00
Imran Iqbal
68b971bd77
test(mod_security_spec): convert from Serverspec to InSpec 2019-10-17 08:32:29 +01:00
Imran Iqbal
34d1f7cf15
feat(semantic-release): implement for this formula
* Automated using https://github.com/myii/ssf-formula/pull/79
2019-10-17 08:18:11 +01:00
Imran Iqbal
93c8d1ffe7
docs(pr): remove PR template to use org-wide template instead [skip ci] 2019-10-17 03:55:18 +01:00
Sergio Cambra
9a1b1d9b26 Patch upload progress (#267)
* Include the mod_* states in apache.modules for Debian hosts

* upload progress module for debian
2019-09-26 17:57:24 +02:00
Sergio Cambra
d660abfe70 fix server_status state (#268) 2019-09-25 20:03:49 +02:00
Andreas Thienemann
0c1423f8f1 Fix mod_remoteip for Red Hat family OS (#260)
The source template was missing for RH based systems, only the Debian
file was packaged.

Fix this.
2019-04-20 09:32:44 +02:00