Commit Graph

278 Commits

Author SHA1 Message Date
Akhil Mohan
e5ad0d0a0e
update build to go1.23.7, test go1.24.1
- go1.23.7 (released 2025-03-04) includes security fixes to the net/http
package, as well as bug fixes to cgo, the compiler, and the reflect,
runtime, and syscall packages. See the Go 1.23.7 milestone on our issue
tracker for details

- go1.24.1 (released 2025-03-04) includes security fixes to the net/http
package, as well as bug fixes to cgo, the compiler, the go command, and
the reflect, runtime, and syscall packages. See the Go 1.24.1 milestone
on our issue tracker for details.

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2025-03-09 19:06:40 +05:30
Akhil Mohan
4d19a6adfe
update build to go1.23.6, test go1.24.0
Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2025-02-19 20:40:03 +05:30
Akihiro Suda
6b5df746e4
Merge pull request #11357 from k8s-infra-cherrypick-robot/cherry-pick-11019-to-release/2.0
[release/2.0] Update install-imgcrypt to allow change install repo
2025-02-18 19:03:14 +09:00
Austin Vazquez
697c59c635 Update runc binary to v1.2.5
This is the fifth patch release in the 1.2.z series of runc. It
primarily fixes an issue caused by an upstream systemd bug.

There was a regression in systemd v230 which made the way we define device
rule restrictions require a systemctl daemon-reload for our transient
units. This caused issues for workloads using NVIDIA GPUs. Workaround the
upstream regression by re-arranging how the unit properties are defined.
Dependency github.com/cyphar/filepath-securejoin is updated to v0.4.1,
to allow projects that vendor runc to bump it as well.
CI: fixed criu-dev compilation.
Dependency golang.org/x/net is updated to 0.33.0.

diff: opencontainers/runc@v1.2.4...v1.2.5

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2025-02-17 22:20:04 +00:00
Jing Xu
0785bd8cc6 Update install-imgcrypt to allow change install repo
Add repo env similar to other install script

Signed-off-by: Jing Xu <jinxu@google.com>
2025-02-07 21:52:14 +00:00
Akhil Mohan
1f4e5688ef update to go1.23.5 / go1.22.11
- go1.23.5 (released 2025-01-16) includes security fixes to the
crypto/x509 and net/http packages, as well as bug fixes to the compiler,
the runtime, and the net package. See the Go 1.23.5 milestone on our
issue tracker for details.

- go1.22.11 (released 2025-01-16) includes security fixes to the
crypto/x509 and net/http packages, as well as bug fixes to the runtime.
See the Go 1.22.11 milestone on our issue tracker for details.

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2025-01-22 05:12:48 +00:00
Akhil Mohan
7373ddd70b update runc binary to v1.2.4
This is the fourth patch release of the 1.2.z release branch of runc. It
includes a fix for a regression introduced in 1.2.0 related to the
default device list.

- Re-add tun/tap devices to built-in allowed devices lists.

  In runc 1.2.0 we removed these devices from the default allow-list
(which were added seemingly by accident early in Docker's history) as
a precaution in order to try to reduce the attack surface of device
inodes available to most containers. At the time we thought
that the vast majority of users using tun/tap would already be
specifying what devices they need (such as by using --device with
Docker/Podman) as opposed to doing the mknod manually, and thus
there would've been no user-visible change.

  Unfortunately, it seems that this regressed a noticeable number of
users (and not all higher-level tools provide easy ways to specify
devices to allow) and so this change needed to be reverted. Users
that do not need these devices are recommended to explicitly disable
them by adding deny rules in their container configuration.

diff: https://github.com/opencontainers/runc/compare/v1.2.3...v1.2.4

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2025-01-09 02:44:11 +00:00
Sebastiaan van Stijn
a53eff53d9
update runc binary to v1.2.3
This is the third patch release of the 1.2.z release branch of runc. It
primarily fixes some minor regressions introduced in 1.2.0.

- Fixed a regression in use of securejoin.MkdirAll, where multiple
  runc processes racing to create the same mountpoint in a shared rootfs
  would result in spurious EEXIST errors. In particular, this regression
  caused issues with BuildKit.
- Fixed a regression in eBPF support for pre-5.6 kernels after upgrading
  Cilium's eBPF library version to 0.16 in runc.

full diff: https://github.com/opencontainers/runc/compare/v1.2.2...v1.2.3
release notes: https://github.com/opencontainers/runc/releases/tag/v1.2.3

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
(cherry picked from commit 981414521baf578a313c7b7af034ade6cb92b10d)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-12-11 21:31:32 +01:00
Akhil Mohan
290e8bc704 update to go1.23.4 / go1.22.10
- go1.23.4 (released 2024-12-03) includes fixes to the compiler, the runtime,
the trace command, and the syscall package. See the Go 1.23.4 milestone on
our issue tracker for details.
https://github.com/golang/go/issues?q=milestone%3AGo1.23.4+label%3ACherryPickApproved

- go1.22.10 (released 2024-12-03) includes fixes to the runtime and the
syscall package. See the Go 1.22.10 milestone on our issue tracker for details.
https://github.com/golang/go/issues?q=milestone%3AGo1.22.10+label%3ACherryPickApproved

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-12-06 02:48:11 +00:00
Austin Vazquez
9081e979f7
update runc binary to 1.2.2
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
(cherry picked from commit 9a7bc5423ef5f477705802e45c0b06869764caca)
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2024-11-18 17:59:03 +00:00
Akhil Mohan
5b879f30c0 update to go1.23.3 / go1.22.9
- go1.23.3 (released 2024-11-06) includes fixes to the linker, the
runtime, and the net/http, os, and syscall packages. See the
Go 1.23.3 milestone on our issue tracker for details.

- go1.22.9 (released 2024-11-06) includes fixes to the linker. See
the Go 1.22.9 milestone on our issue tracker for details

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-11-08 09:04:33 +00:00
Akihiro Suda
edb980ac0f
update runc binary to 1.2.1
https://github.com/opencontainers/runc/releases/tag/v1.2.0
https://github.com/opencontainers/runc/releases/tag/v1.2.1

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-11-02 07:34:02 +09:00
Kirtana Ashok
77d783e2ce Update hcsshim to v0.12.9
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-10-30 07:22:06 -07:00
Akihiro Suda
0208cb58ca
go.mod: github.com/containerd/imgcrypt v2.0.0-rc-1
https://github.com/containerd/imgcrypt/compare/v1.2.0-rc1...v2.0.0-rc.1

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-10-29 01:21:57 +09:00
Mike Brown
ce3acc4692
Merge pull request #10878 from AkihiroSuda/crun-1.17
CI: bump up crun to 1.17
2024-10-22 13:44:16 +00:00
Akihiro Suda
a1ce18816d
CI: bump up crun to 1.17
https://github.com/containers/crun/releases/tag/1.17

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-10-22 19:56:25 +09:00
Kirtana Ashok
0218959859 Update hcsshim version to v0.12.8
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-10-22 02:43:29 -07:00
Samuel Karp
b7c333ce24
Revert "update runc binary to 1.1.15"
This reverts commit f0f1bfca07.

runc 1.1.15 appears to have incresed chances for causing OOMs for
containers with small memory limits.  Revert the change in containerd
to unblock CI while the upstream runc issue is resolved.

Dependency-issue: https://github.com/opencontainers/runc/issues/4427
Signed-off-by: Samuel Karp <samuelkarp@google.com>
2024-10-15 09:28:04 -07:00
Akihiro Suda
179b8d9b3c
Merge pull request #10772 from austinvazquez/update-golang-1.23.2
update to go1.23.2,go1.22.8
2024-10-08 06:41:34 +00:00
Samuel Karp
f0f1bfca07
update runc binary to 1.1.15
diff: https://github.com/opencontainers/runc/compare/v1.1.14...v1.1.15

Release notes:

- The -ENOSYS seccomp stub is now always generated for the native
  architecture that runc is running on. This is needed to work around some
  arguably specification-incompliant behaviour from Docker on architectures
  such as ppc64le, where the allowed architecture list is set to null. This
  ensures that we always generate at least one -ENOSYS stub for the native
  architecture even with these weird configs. (#4391)
- On a system with older kernel, reading /proc/self/mountinfo may skip some
  entries, as a consequence runc may not properly set mount propagation,
  causing container mounts leak onto the host mount namespace. (#2404, #4425)
- In order to fix performance issues in the "lightweight" bindfd protection
  against [CVE-2019-5736], the temporary ro bind-mount of /proc/self/exe
  has been removed. runc now creates a binary copy in all cases. (#4392, #2532)

Signed-off-by: Samuel Karp <samuelkarp@google.com>
2024-10-07 15:41:26 -07:00
Austin Vazquez
46f5a0d939
update to go1.23.2,go1.22.8
Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2024-10-07 15:09:53 +00:00
Gabriela Cervantes
24fe444eb6 script/setup/install-runc: Add trap statement to clean up tmp files
This PR adds the trap statement in the install runc script to clean
up the temporary files and ensure we are not leaving them.

Signed-off-by: Gabriela Cervantes <gabriela.cervantes.tellez@intel.com>
2024-10-02 19:52:02 +00:00
Kirtana Ashok
0d4e606bbc Update hcsshim to v0.12.7
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-09-30 17:38:28 -07:00
Sebastiaan van Stijn
9037069da8
update to go1.23.1, go1.22.7
- https://github.com/golang/go/issues?q=milestone%3AGo1.23.1+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.23.0...go1.23.1

These minor releases include 3 security fixes following the security policy:

- go/parser: stack exhaustion in all Parse* functions

    Calling any of the Parse functions on Go source code which contains
    deeply nested literals can cause a panic due to stack exhaustion.

    This is CVE-2024-34155 and Go issue https://go.dev/issue/69138.

- encoding/gob: stack exhaustion in Decoder.Decode

    Calling Decoder.Decode on a message which contains deeply nested
    structures can cause a panic due to stack exhaustion.

    This is a follow-up to CVE-2022-30635.

    Thanks to Md Sakib Anwar of The Ohio State University for reporting
    this issue.

    This is CVE-2024-34156 and Go issue https://go.dev/issue/69139.

- go/build/constraint: stack exhaustion in Parse

    Calling Parse on a "// +build" build tag line with deeply nested
    expressions can cause a panic due to stack exhaustion.

    This is CVE-2024-34158 and Go issue https://go.dev/issue/69141.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.23.1

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-09-06 16:12:28 +02:00
Akhil Mohan
299a9717fe
update runc binary to 1.1.14
diff: https://github.com/opencontainers/runc/compare/v1.1.13...v1.1.14

Release Notes:

- Fix CVE-2024-45310, a low-severity attack that allowed
  maliciously configured containers to create empty files and directories on
  the host.
- Add support for Go 1.23.
- Revert "allow overriding VERSION value in Makefile" and add EXTRA_VERSION.
- rootfs: consolidate mountpoint creation logic.

Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-09-03 10:15:17 +05:30
bo.jiang
def477b07f Bump crun to 1.16
Signed-off-by: bo.jiang <bo.jiang@daocloud.io>
2024-09-02 16:46:20 +08:00
Kirtana Ashok
93abc2fdda Update hcsshim to v0.12.6
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-08-19 15:30:51 -07:00
Phil Estes
219df0e7a2
Merge pull request #10604 from thaJeztah/openssf_happiness
script/setup/install-dev-tools: update protoc-gen-go-ttrpc to v1.2.5, specify patch versions
2024-08-16 13:44:20 +00:00
Sebastiaan van Stijn
66817fccc3
script/setup/install-dev-tools: include patch version in versions
The OpenSSF scorecard is complaining about these two dependencies being
installed without a patch version specified;

    Warn: goCommand not pinned by hash: script/setup/install-dev-tools:27
    Warn: goCommand not pinned by hash: script/setup/install-dev-tools:28

While the error indicates it expects a hash, it looks like it's fine
with other modules in the same file, the difference being that those
specify a full version, including path version, e.g.;
919beb1cf7/script/setup/install-dev-tools (L26)

This patch updates `protoc-gen-go` and `protoc-gen-go-grpc` to the latest
patch release for the specified versions.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-16 10:54:17 +02:00
Sebastiaan van Stijn
cd4e24ef71
script/setup/install-dev-tools: update protoc-gen-go-ttrpc to v1.2.5
The current version was updated in 65031eadec,
and looks to be

- 1 commit ahead of v1.2.3; https://github.com/containerd/ttrpc/compare/v1.2.3...faba5896a9c4d7b65495cb9b2c02531feb1434d6
- slightly behind of v1.2.4; faba5896a9...v1.2.4

This patch upstreas it to the current (v1.2.5) version, aligning it with
the version used in `go.mod`;
faba5896a9...v1.2.5

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-16 10:53:37 +02:00
Akhil Mohan
fb8cd045b8
add go1.23.0
Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-08-14 12:30:37 +05:30
Sebastiaan van Stijn
a100b055cb
update to go1.22.6
- https://github.com/golang/go/issues?q=milestone%3AGo1.22.6+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.22.5...go1.22.6

go1.22.6 (released 2024-08-06) includes fixes to the go command, the compiler,
the linker, the trace command, the covdata command, and the bytes, go/types,
and os/exec packages. See the Go 1.22.6 milestone on our issue tracker for
details.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-09 17:02:18 +02:00
Sebastiaan van Stijn
349d2b5c15
script/setup/install-runc: fix runc using incorrect version
runc v1.1.13 introduced an option to customize the version (as printed by the
`--version` flag) through a `VERSION` Make variable / environment variable
(see [1]).

This variable collided with the `VERSION` environment variable used by
containerd for the same purpose, which lead to `runc` binaries built
using the version of containerd;

    runc --version
    runc version 1.7.20
    commit: v1.1.13-0-g58aa9203
    ...

This patch unsets the `VERSION` variable to bring prevent it from being
inherited and to bring back the previous behavior.

Before this patch:

    docker build -t containerd-test -f contrib/Dockerfile.test .
    docker run -it --rm --env VERSION=1.7.20 containerd-test sh -c 'script/setup/install-runc && /usr/local/sbin/runc --version'
    # ....
    HEAD is now at 58aa9203 VERSION: release 1.1.13
    go build -trimpath "-buildmode=pie"  -tags "seccomp" -ldflags "-X main.gitCommit=v1.1.13-0-g58aa9203 -X main.version=1.7.20 " -o runc .
    install -D -m0755 runc /usr/local/sbin/runc
    /go/src/github.com/containerd/containerd
    runc version 1.7.20
    commit: v1.1.13-0-g58aa9203
    spec: 1.0.2-dev
    go: go1.22.5
    libseccomp: 2.5.4

With this patch:

    docker build -t containerd-test -f contrib/Dockerfile.test .
    docker run -it --rm --env VERSION=1.7.20 containerd-test sh -c 'script/setup/install-runc && /usr/local/sbin/runc --version'
    # ....
    HEAD is now at 58aa9203 VERSION: release 1.1.13
    go build -trimpath "-buildmode=pie"  -tags "seccomp" -ldflags "-X main.gitCommit=v1.1.13-0-g58aa9203 -X main.version=v1.1.13 " -o runc .
    install -D -m0755 runc /usr/local/sbin/runc
    /go/src/github.com/containerd/containerd
    runc version v1.1.13
    commit: v1.1.13-0-g58aa9203
    spec: 1.0.2-dev
    go: go1.22.5
    libseccomp: 2.5.4

[1]: 6f4d975c40

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-08-06 16:52:15 +02:00
Kazuyoshi Kato
b31d3fdcef
Merge pull request #10357 from ktock/script-setup-imgcrypt-version-1.1.11
script: bump up imgcrypt version to v1.2.0-rc1
2024-07-16 18:50:36 +00:00
Rodrigo Campos
7c4de28210 Update cri-tools to v1.30.1
This patch release includes just a fix to skip userns tests on host that
don't support the feature. See:

	https://github.com/kubernetes-sigs/cri-tools/releases/tag/v1.30.1

This is needed for CI to work fine when we update to runc 1.2 (not yet
released). It is also a blocker for the final runc release to make sure
it works in all known downstreams. This makes it work fine here :)

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-07-11 14:58:44 +02:00
Rodrigo Campos
e1adfaeb92 script/setup/config-containerd: Use slow_chown
slow_chown is safe to add on all kernels, and when running in old
kernels (as some CI distros on purpose are), we want the expensive
fallback.

Vagrant setup and others use this script to config containerd. This
fixes userns tests with runc 1.2.0-rc.2 when running with old kernels.

Signed-off-by: Rodrigo Campos <rodrigoca@microsoft.com>
2024-07-10 17:26:31 +02:00
Kohei Tokunaga
203cb303e0
script: bump up imgcrypt version to v1.2.0-rc1
Signed-off-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>
2024-07-08 19:25:39 +09:00
Akhil Mohan
56495b404d
update go version to 1.22.5
Signed-off-by: Akhil Mohan <akhilerm@gmail.com>
2024-07-03 11:55:48 +05:30
Sebastiaan van Stijn
96352ad226
update runhcs binary to v0.12.4
commit 149ca6880a updated the hcsshim
module to v0.12.4, but did not add a commit to also update the runhcs
binary version.

full diff: https://github.com/microsoft/hcsshim/compare/v0.12.3...v0.12.4

These versions are decoupled since 15b13fb3ea
to allow updating the binary version without updating the module, in cases
where the module doesn't require updates.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-06-29 00:46:30 +02:00
Sebastiaan van Stijn
cc2cedae06
Revert "install-runc: pin Go to 1.21"
Now that we're on runc v1.1.13, we no longer need to pin the
go version fo runc to go1.21

This reverts commit fef78c1024.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-06-13 18:38:31 +02:00
Sebastiaan van Stijn
3c097352af
update runc binary to v1.1.13
full diff: https://github.com/opencontainers/runc/compare/v1.1.12...v1.1.13

Release notes:

* If building with Go 1.22.x, make sure to use 1.22.4 or a later version.

* Support go 1.22.4+.
* runc list: fix race with runc delete.
* Fix set nofile rlimit error.
* libct/cg/fs: fix setting rt_period vs rt_runtime.
* Fix a debug msg for user ns in nsexec.
* script/*: fix gpg usage wrt keyboxd.
* CI fixes and misc backports.
* Fix codespell warnings.

* Silence security false positives from golang/net.
* libcontainer: allow containers to make apps think fips is enabled/disabled for testing.
* allow overriding VERSION value in Makefile.
* Vagrantfile.fedora: bump Fedora to 39.
* ci/cirrus: rm centos stream 8.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-06-13 18:38:25 +02:00
Derek McGowan
1c123efb41
Update Go version to 1.22.4
Includes fix for a symlink race on remove.
Updates 1.21 to 1.21.11 for runc install which also includes the
symlink fix.

Signed-off-by: Derek McGowan <derek@mcg.dev>
2024-06-04 15:46:09 -07:00
Austin Vazquez
25c2f690a8
Update toolchain to Go 1.22.3
Go 1.22.3 release includes bug fixes for the core net/http package.

Full release notes: https://go.dev/doc/devel/release#go1.22.minor

Signed-off-by: Austin Vazquez <macedonv@amazon.com>
2024-05-10 15:49:18 +00:00
Akihiro Suda
6c3c5376fc
critools-version: v1.30.0
Pulls in kubernetes-sigs/cri-tools PR 1344 (`KEP-3857: Recursive Read-only (RRO) mounts`)
to test PR 9787

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-05-07 21:23:51 +09:00
Akihiro Suda
3fb84403b1
CI: bump up crun to 1.15
Changes:
- https://github.com/containers/crun/releases/tag/1.14.4
- https://github.com/containers/crun/releases/tag/1.15

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-05-04 14:12:23 +09:00
Akihiro Suda
2d5689434d
CI: use Go 1.22 by default
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-04-30 11:52:36 +09:00
Akihiro Suda
fef78c1024
install-runc: pin Go to 1.21
runc is incompatible with Go 1.22 on glibc-based distros
(opencontainers/runc issue 4233)

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-04-30 11:52:32 +09:00
Sebastiaan van Stijn
13e6b2b686
update to go1.21.9, go1.22.2
go1.21.9 (released 2024-04-03) includes a security fix to the net/http
package, as well as bug fixes to the linker, and the go/types and
net/http packages. See the Go 1.21.9 milestone for more details;
https://github.com/golang/go/issues?q=milestone%3AGo1.21.9+label%3ACherryPickApproved

These minor releases include 1 security fixes following the security policy:

- http2: close connections when receiving too many headers

Maintaining HPACK state requires that we parse and process all HEADERS
and CONTINUATION frames on a connection. When a request's headers exceed
MaxHeaderBytes, we don't allocate memory to store the excess headers but
we do parse them. This permits an attacker to cause an HTTP/2 endpoint
to read arbitrary amounts of header data, all associated with a request
which is going to be rejected. These headers can include Huffman-encoded
data which is significantly more expensive for the receiver to decode
than for an attacker to send.

Set a limit on the amount of excess header frames we will process before
closing a connection.

Thanks to Bartek Nowotarski (https://nowotarski.info/) for reporting this issue.

This is CVE-2023-45288 and Go issue https://go.dev/issue/65051.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.22.2

- https://github.com/golang/go/issues?q=milestone%3AGo1.21.9+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.21.8...go1.21.9

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2024-04-22 19:43:32 +02:00
Kirtana Ashok
a6a82c1023 Update hcsshim to v0.12.3
Signed-off-by: Kirtana Ashok <kiashok@microsoft.com>
2024-04-19 15:26:47 -07:00
Akihiro Suda
7ecdebff93
update to go 1.21.8, 1.22.1
See https://groups.google.com/g/golang-announce/c/5pwGVUPoMbg

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2024-03-07 08:32:40 +09:00