]> source.dussan.org Git - nextcloud-server.git/log
nextcloud-server.git
10 years ago5.0.15 RC1 v5.0.15RC1
Frank Karlitschek [Tue, 25 Feb 2014 13:07:17 +0000 (14:07 +0100)]
5.0.15 RC1

10 years agoMerge pull request #7387 from owncloud/stable5-fixhostnamewithport
Vincent Petry [Tue, 25 Feb 2014 11:32:36 +0000 (12:32 +0100)]
Merge pull request #7387 from owncloud/stable5-fixhostnamewithport

Fix case where port is missing

10 years agoMerge pull request #7268 from owncloud/stable5-fix-ocspriv
Frank Karlitschek [Tue, 25 Feb 2014 11:31:55 +0000 (12:31 +0100)]
Merge pull request #7268 from owncloud/stable5-fix-ocspriv

Use separate table for privatedata attributes

10 years agoFix case where port is missing
Vincent Petry [Tue, 25 Feb 2014 10:22:53 +0000 (11:22 +0100)]
Fix case where port is missing

10 years agoMerge pull request #7365 from owncloud/backport-7305
Vincent Petry [Mon, 24 Feb 2014 10:29:54 +0000 (11:29 +0100)]
Merge pull request #7365 from owncloud/backport-7305

Added extra checks for ext storage class (Backport to stable5)

10 years agoMerge pull request #7362 from owncloud/fix-7259-5
Björn Schießle [Mon, 24 Feb 2014 10:23:20 +0000 (11:23 +0100)]
Merge pull request #7362 from owncloud/fix-7259-5

Backport #7259 to stable5

10 years agoAdded extra checks for ext storage class
Lukas Reschke [Sun, 23 Feb 2014 10:50:53 +0000 (11:50 +0100)]
Added extra checks for ext storage class

Backport of #7305

10 years agoChange to using OC_User::setUserID() instead of OC::'
tomneedham [Sat, 22 Feb 2014 17:57:48 +0000 (17:57 +0000)]
Change to using OC_User::setUserID() instead of OC::'

10 years agoBackport #7259 to stable5
Lukas Reschke [Sat, 22 Feb 2014 07:07:57 +0000 (08:07 +0100)]
Backport #7259 to stable5

10 years agoRevert "Partially backport #7305 to stable5"
Lukas Reschke [Sat, 22 Feb 2014 07:18:22 +0000 (08:18 +0100)]
Revert "Partially backport #7305 to stable5"

This reverts commit 258997471e919be3e992fc78432397a546417a56.

10 years agoRevert "Backport #7259 to stable5"
Lukas Reschke [Sat, 22 Feb 2014 07:18:10 +0000 (08:18 +0100)]
Revert "Backport #7259 to stable5"

This reverts commit 7bc69c7ea5ca73883ed1b8869929789bf7e85cd7.

10 years agoPartially backport #7305 to stable5
Lukas Reschke [Sat, 22 Feb 2014 07:15:58 +0000 (08:15 +0100)]
Partially backport #7305 to stable5

10 years agoBackport #7259 to stable5
Lukas Reschke [Sat, 22 Feb 2014 07:07:57 +0000 (08:07 +0100)]
Backport #7259 to stable5

10 years agoLDAP: improve compilation of filters
Arthur Schiwon [Wed, 19 Feb 2014 12:13:01 +0000 (13:13 +0100)]
LDAP: improve compilation of filters

10 years agoMerge pull request #7313 from owncloud/stable5_fix_folder_delete
Vincent Petry [Thu, 20 Feb 2014 17:20:49 +0000 (18:20 +0100)]
Merge pull request #7313 from owncloud/stable5_fix_folder_delete

don't send delete for every single file if a folder gets deleted

10 years agoMerge pull request #7185 from owncloud/backport_6777_mobile_style_for_public_pages_st...
Jan-Christoph Borchardt [Thu, 20 Feb 2014 14:27:18 +0000 (15:27 +0100)]
Merge pull request #7185 from owncloud/backport_6777_mobile_style_for_public_pages_stable5

initial backport of #6777 - mobile public pages - to stable5

10 years agodon't send delete for every single file if a folder gets deleted
Bjoern Schiessle [Thu, 20 Feb 2014 13:08:17 +0000 (14:08 +0100)]
don't send delete for every single file if a folder gets deleted

10 years agoMerge pull request #6733 from owncloud/stable5-files-filenameescapingfixes
Lukas Reschke [Thu, 20 Feb 2014 12:04:54 +0000 (13:04 +0100)]
Merge pull request #6733 from owncloud/stable5-files-filenameescapingfixes

[stable5] Backport: Fixed various file name escaping issues in core apps

10 years agoCheck whether the app is set
Lukas Reschke [Tue, 18 Feb 2014 13:12:49 +0000 (14:12 +0100)]
Check whether the app is set

10 years agoCheck whether the Key is set
Lukas Reschke [Tue, 18 Feb 2014 11:47:05 +0000 (12:47 +0100)]
Check whether the Key is set

10 years agoAn admin should not be able to add remote and public services on its own. This should...
Lukas Reschke [Tue, 18 Feb 2014 11:32:57 +0000 (12:32 +0100)]
An admin should not be able to add remote and public services on its own. This should only be possible programmatically.
This change is due the fact that an admin may not be expected to execute arbitrary code in every environment.

10 years agofix scrolling for mobile browsers
Jörn Friedrich Dreyer [Wed, 19 Feb 2014 14:20:30 +0000 (15:20 +0100)]
fix scrolling for mobile browsers

10 years agounset box-shadow for mobile devices, unsupported in all but the latest mobile browsers
Jörn Friedrich Dreyer [Wed, 19 Feb 2014 12:09:52 +0000 (13:09 +0100)]
unset box-shadow for mobile devices, unsupported in all but the latest mobile browsers

10 years agoMerge pull request #4782 from owncloud/tune_legacy_cache_webdav_properties_prefixing
Vincent Petry [Tue, 18 Feb 2014 17:56:21 +0000 (18:56 +0100)]
Merge pull request #4782 from owncloud/tune_legacy_cache_webdav_properties_prefixing

Tune legacy cache webdav properties prefixing

10 years agotesting update and delete
Thomas Müller [Thu, 31 Oct 2013 10:09:52 +0000 (11:09 +0100)]
testing update and delete

10 years agoadding unit tests for delete
Thomas Müller [Thu, 31 Oct 2013 09:21:42 +0000 (10:21 +0100)]
adding unit tests for delete

10 years agounit tests for set added
Thomas Müller [Thu, 31 Oct 2013 09:14:31 +0000 (10:14 +0100)]
unit tests for set added

10 years agofirst two tests
Thomas Müller [Thu, 31 Oct 2013 09:01:04 +0000 (10:01 +0100)]
first two tests

10 years agoMake google drive client secret and dropbox api secret a password field
Joas Schilling [Fri, 7 Feb 2014 17:12:01 +0000 (18:12 +0100)]
Make google drive client secret and dropbox api secret a password field

Fix issue #5794

Backport of 828985d

10 years agoGet rid of the SELECT query. Try UPDATE, on failure INSERT.
Andreas Fischer [Thu, 31 Oct 2013 14:44:19 +0000 (15:44 +0100)]
Get rid of the SELECT query. Try UPDATE, on failure INSERT.

10 years agofixing undefined index in delete()
Thomas Müller [Thu, 31 Oct 2013 09:24:28 +0000 (10:24 +0100)]
fixing undefined index in delete()

10 years agoPHPDoc comment updated - checkLoggedIn() removed
Thomas Müller [Thu, 31 Oct 2013 09:21:17 +0000 (10:21 +0100)]
PHPDoc comment updated - checkLoggedIn() removed

10 years agono need to check if the user is logged in
Thomas Müller [Thu, 31 Oct 2013 09:14:06 +0000 (10:14 +0100)]
no need to check if the user is logged in

10 years agofixing php notice: Undefined index key
Thomas Müller [Thu, 31 Oct 2013 09:02:18 +0000 (10:02 +0100)]
fixing php notice: Undefined index key

10 years agono need to check if the user is logged in - this is already done in the ocs dispatche...
Thomas Müller [Thu, 31 Oct 2013 08:58:18 +0000 (09:58 +0100)]
no need to check if the user is logged in - this is already done in the ocs dispatcher itself
adding @return

10 years agofix the privatedata key value store
Frank Karlitschek [Wed, 30 Oct 2013 18:36:29 +0000 (19:36 +0100)]
fix the privatedata key value store

10 years agoUse the proper content-type
Lukas Reschke [Mon, 17 Feb 2014 15:45:22 +0000 (16:45 +0100)]
Use the proper content-type

We should use the proper content-type `application/xml` instead of the default `text/html` here.

Backport requested.

10 years agoMerge pull request #7227 from owncloud/stable5-removeunusedversionsmd5
Vincent Petry [Mon, 17 Feb 2014 13:39:07 +0000 (14:39 +0100)]
Merge pull request #7227 from owncloud/stable5-removeunusedversionsmd5

Removed unused versions md5 code

10 years agoRemoved unused versions md5 code
Vincent Petry [Mon, 17 Feb 2014 11:03:16 +0000 (12:03 +0100)]
Removed unused versions md5 code

It looks like md5 was used previously to identify the most recent file
in the versions list, which seem to be old code, as now the versions
list doesn't contain the current file any more.

This fix removes the md5 code which caused performance issues with big
files.

10 years agoMerge pull request #7188 from owncloud/fix_gitignore_stable5
Thomas Müller [Fri, 14 Feb 2014 23:09:16 +0000 (00:09 +0100)]
Merge pull request #7188 from owncloud/fix_gitignore_stable5

fix .gitignore for stable5

10 years agofix undefined index
Jörn Friedrich Dreyer [Thu, 13 Feb 2014 15:52:49 +0000 (16:52 +0100)]
fix undefined index

10 years agofix .gitignore for stable5
Jörn Friedrich Dreyer [Thu, 13 Feb 2014 13:51:58 +0000 (14:51 +0100)]
fix .gitignore for stable5

10 years agoadd missing mobile.css
Jörn Friedrich Dreyer [Thu, 13 Feb 2014 13:46:47 +0000 (14:46 +0100)]
add missing mobile.css

10 years agoinitial backport of #6777 - mobile public pages - to stable5
Jörn Friedrich Dreyer [Thu, 13 Feb 2014 10:41:46 +0000 (11:41 +0100)]
initial backport of #6777 - mobile public pages - to stable5

10 years agogetData() always needs to return an array, backport of #6988
Bjoern Schiessle [Mon, 10 Feb 2014 14:55:47 +0000 (15:55 +0100)]
getData() always needs to return an array, backport of #6988

10 years agoremove needless element tag
Bjoern Schiessle [Thu, 30 Jan 2014 12:34:41 +0000 (13:34 +0100)]
remove needless element tag

10 years agouse more accurate error codes
Bjoern Schiessle [Tue, 28 Jan 2014 10:25:12 +0000 (11:25 +0100)]
use more accurate error codes

10 years agoMerge pull request #6859 from owncloud/always_log_db_error_verbose_stable5
Jörn Friedrich Dreyer [Tue, 21 Jan 2014 12:53:35 +0000 (04:53 -0800)]
Merge pull request #6859 from owncloud/always_log_db_error_verbose_stable5

always be verbose when logging db error

10 years agoMerge pull request #6860 from owncloud/neutral_download_zip_default_name_stable5
Thomas Müller [Tue, 21 Jan 2014 12:19:41 +0000 (04:19 -0800)]
Merge pull request #6860 from owncloud/neutral_download_zip_default_name_stable5

use 'download.zip' as default name for zip downloads instead of 'owncloud.zip'

10 years agouse 'download.zip' as default name for zip downloads instead of 'owncloud.zip'
Jörn Friedrich Dreyer [Tue, 21 Jan 2014 11:31:36 +0000 (12:31 +0100)]
use 'download.zip' as default name for zip downloads instead of 'owncloud.zip'

10 years agoalways be verbose when logging db error
Jörn Friedrich Dreyer [Tue, 21 Jan 2014 11:20:10 +0000 (12:20 +0100)]
always be verbose when logging db error

10 years agoMerge pull request #6821 from owncloud/backport_5601
Thomas Müller [Fri, 17 Jan 2014 15:44:39 +0000 (07:44 -0800)]
Merge pull request #6821 from owncloud/backport_5601

Fix mimetype detection

10 years agoFix mimetype detection
Jörn Friedrich Dreyer [Fri, 17 Jan 2014 14:05:43 +0000 (15:05 +0100)]
Fix mimetype detection

10 years agodon't unshare on delete
Bjoern Schiessle [Mon, 13 Jan 2014 14:25:59 +0000 (15:25 +0100)]
don't unshare on delete

10 years agoFixed various file name escaping issues in core apps
Vincent Petry [Fri, 10 Jan 2014 14:02:26 +0000 (15:02 +0100)]
Fixed various file name escaping issues in core apps

- Refactored file tr lookup into FileList.findFileEl that uses
  filterAttr to avoid escaping issues in jQuery selectors
- Fixed versions and sharing app to properly escape file names in
  attributes
- Prevent uploading file name with invalid characters

Backport to stable5 of 1042733

10 years agoMerge pull request #6665 from owncloud/fix_empty_mimetypes_stable5
Thomas Müller [Tue, 7 Jan 2014 15:31:54 +0000 (07:31 -0800)]
Merge pull request #6665 from owncloud/fix_empty_mimetypes_stable5

remove duplicate exe mimetype, add correct msi mimetype

10 years agoremove duplicate exe mimetype, add correct msi mimetype
Jörn Friedrich Dreyer [Tue, 7 Jan 2014 14:58:49 +0000 (15:58 +0100)]
remove duplicate exe mimetype, add correct msi mimetype

10 years ago5.0.14a v5.0.14a
Frank Karlitschek [Wed, 18 Dec 2013 10:55:42 +0000 (11:55 +0100)]
5.0.14a

10 years ago5.0.14 v5.0.14
Frank Karlitschek [Tue, 17 Dec 2013 13:11:18 +0000 (14:11 +0100)]
5.0.14

10 years agoMerge pull request #6447 from owncloud/fix_home_storage_quota
Thomas Müller [Mon, 16 Dec 2013 20:07:53 +0000 (12:07 -0800)]
Merge pull request #6447 from owncloud/fix_home_storage_quota

fix quota calculation for Home Storage

10 years agoadd getOwner to Home Storage
Jörn Friedrich Dreyer [Mon, 16 Dec 2013 15:58:01 +0000 (16:58 +0100)]
add getOwner to Home Storage

10 years ago5.0.14 RC1
Frank Karlitschek [Fri, 13 Dec 2013 12:07:51 +0000 (13:07 +0100)]
5.0.14 RC1

10 years agoMerge pull request #6258 from owncloud/stable5_enc_fix_public_access
Björn Schießle [Mon, 9 Dec 2013 12:57:34 +0000 (04:57 -0800)]
Merge pull request #6258 from owncloud/stable5_enc_fix_public_access

don't check migration status if a file is accessed by a public link

10 years agoMerge pull request #6232 from owncloud/stable5-backgroundscan-reuse-etag
Vincent Petry [Mon, 9 Dec 2013 12:38:31 +0000 (04:38 -0800)]
Merge pull request #6232 from owncloud/stable5-backgroundscan-reuse-etag

Stable5 backgroundscan reuse etag

10 years agodon't check migration status if a file is accessed by a public link
Bjoern Schiessle [Mon, 9 Dec 2013 11:45:19 +0000 (12:45 +0100)]
don't check migration status if a file is accessed by a public link

10 years agoget rid of failing test that don't cause additional downloads
Robin Appelman [Fri, 6 Dec 2013 17:26:38 +0000 (18:26 +0100)]
get rid of failing test that don't cause additional downloads

10 years agoextend test case for etag preservation
Robin Appelman [Fri, 6 Dec 2013 12:00:58 +0000 (13:00 +0100)]
extend test case for etag preservation

10 years agoreuse etags when doing a background scan
Robin Appelman [Thu, 5 Dec 2013 14:23:34 +0000 (15:23 +0100)]
reuse etags when doing a background scan

10 years agoMerge pull request #6207 from owncloud/stable5_unshare_vs_delete
Björn Schießle [Fri, 6 Dec 2013 11:06:21 +0000 (03:06 -0800)]
Merge pull request #6207 from owncloud/stable5_unshare_vs_delete

Stable5 unshare vs delete

10 years agoit is not possible to unshare files in OC5
Bjoern Schiessle [Thu, 5 Dec 2013 16:41:19 +0000 (17:41 +0100)]
it is not possible to unshare files in OC5

10 years agomake rmdir recursive for mappellocal storage backend
Robin Appelman [Sun, 30 Jun 2013 15:44:49 +0000 (17:44 +0200)]
make rmdir recursive for mappellocal storage backend

Backported from d051d6f9252de915a13e1b053c54f69bcd83f5ee

10 years agoMake rmdir recursive for local storage
Robin Appelman [Thu, 6 Jun 2013 18:47:20 +0000 (20:47 +0200)]
Make rmdir recursive for local storage

Backport of 63c898c0

10 years agoReturn true when touch succeeds
Vincent Petry [Tue, 26 Nov 2013 11:47:00 +0000 (12:47 +0100)]
Return true when touch succeeds

Backported from c2fc0cb8191d1de80058f6572e8e10f5dbda01b2

10 years agoAdd trailing slash in FTP root path when missing
Vincent Petry [Thu, 28 Nov 2013 10:45:26 +0000 (11:45 +0100)]
Add trailing slash in FTP root path when missing

Fixes #6093

Backport of 84f3dd15a63fb80f33e61f6056e142b0443329d5

10 years agoFixed FTP and SMB to use rmdir() when deleting folders
Vincent Petry [Fri, 29 Nov 2013 11:58:57 +0000 (12:58 +0100)]
Fixed FTP and SMB to use rmdir() when deleting folders

Some storages need to use different calls for deleting files or folders,
usually unlink() and rmdir().

Fixes #4532 (SMB dir deletion)
Fixes #5941 (FTP dir deletion)

Note that the extra is_dir() should be fast because it's read from the
stat cache.

Backport of d69243e

10 years agoMerge pull request #6147 from owncloud/fix-ajax-getstoragestats-stable5
Vincent Petry [Mon, 2 Dec 2013 09:50:07 +0000 (01:50 -0800)]
Merge pull request #6147 from owncloud/fix-ajax-getstoragestats-stable5

fixing ajax call to getstoragestats.php

10 years agofixing ajax call to getstoragestats.php
Thomas Müller [Mon, 2 Dec 2013 09:30:55 +0000 (10:30 +0100)]
fixing ajax call to getstoragestats.php

10 years agoAdd post hooks for filesystem scanner
Robin Appelman [Thu, 7 Nov 2013 15:22:29 +0000 (16:22 +0100)]
Add post hooks for filesystem scanner

10 years agoFix getRawPathInfo for the '/' edge case
Robin Appelman [Wed, 27 Nov 2013 20:28:54 +0000 (21:28 +0100)]
Fix getRawPathInfo for the '/' edge case

10 years agofix custom routes defined by apps
Robin Appelman [Wed, 27 Nov 2013 14:35:49 +0000 (15:35 +0100)]
fix custom routes defined by apps

10 years agoMerge pull request #6082 from owncloud/themable_realm_stable5
Morris Jobke [Wed, 27 Nov 2013 13:38:10 +0000 (05:38 -0800)]
Merge pull request #6082 from owncloud/themable_realm_stable5

use defaults to determine webdav realm name

10 years agouse defaults to determine webdav realm name
Jörn Friedrich Dreyer [Wed, 27 Nov 2013 13:00:13 +0000 (14:00 +0100)]
use defaults to determine webdav realm name

10 years agoMerge pull request #6042 from owncloud/backport-6035-oc5
Morris Jobke [Wed, 27 Nov 2013 09:23:47 +0000 (01:23 -0800)]
Merge pull request #6042 from owncloud/backport-6035-oc5

Backport 6035 oc5

10 years agofixing failing unit test
Thomas Müller [Tue, 26 Nov 2013 15:52:33 +0000 (16:52 +0100)]
fixing failing unit test

10 years agofixes #6050
Thomas Müller [Tue, 26 Nov 2013 13:13:33 +0000 (14:13 +0100)]
fixes #6050

10 years agoReturn plausible isReadable() default impl for ext storage
Vincent Petry [Thu, 21 Nov 2013 18:15:11 +0000 (19:15 +0100)]
Return plausible isReadable() default impl for ext storage

When an ext storage doesn't implement isReadable(), always returning
true made the file scanner believe that the file exists and creates a
cache entry with the size zero.

This fix makes the default impl of isReadable() use file_exists().

Backport of a49e873d3fa513136bfdf1d71bbc2bbcd61d3650

10 years agoMerge pull request #5962 from owncloud/clean_permissions_cache_on_filescan
Morris Jobke [Tue, 26 Nov 2013 07:37:42 +0000 (23:37 -0800)]
Merge pull request #5962 from owncloud/clean_permissions_cache_on_filescan

clean permissions cache on filescan

10 years agoin case uri and script name don't match we better throw an exception
Thomas Müller [Mon, 25 Nov 2013 13:42:34 +0000 (14:42 +0100)]
in case uri and script name don't match we better throw an exception

10 years agohandle duplicate slashes in case of reverse proxy configuration
Thomas Müller [Mon, 25 Nov 2013 13:21:51 +0000 (14:21 +0100)]
handle duplicate slashes in case of reverse proxy configuration

Conflicts:
tests/lib/request.php

10 years agoclear permissions cache when scanning a file
Robin Appelman [Thu, 19 Sep 2013 19:37:52 +0000 (21:37 +0200)]
clear permissions cache when scanning a file

Conflicts:
lib/files/cache/scanner.php

11 years agoMerge pull request #5934 from owncloud/stable5-excludeextstoragefromquota
Vincent Petry [Fri, 22 Nov 2013 16:34:58 +0000 (08:34 -0800)]
Merge pull request #5934 from owncloud/stable5-excludeextstoragefromquota

[Stable5] Exclude ext storage from quota

11 years agoMerge pull request #4957 from owncloud/fixing-4866-stable5
Thomas Müller [Fri, 22 Nov 2013 16:09:59 +0000 (08:09 -0800)]
Merge pull request #4957 from owncloud/fixing-4866-stable5

Backport of #4869 to stable5 (recreate an etag within the scanner if the cache contains an empty etag)

11 years agoMerge branch 'fixing-4866-stable5' of github.com:owncloud/core into fixing-4866-stable5
Thomas Müller [Fri, 22 Nov 2013 14:45:27 +0000 (15:45 +0100)]
Merge branch 'fixing-4866-stable5' of github.com:owncloud/core into fixing-4866-stable5

11 years agoMerge branch 'stable5' into fixing-4866-stable5
Thomas Müller [Fri, 22 Nov 2013 14:44:59 +0000 (15:44 +0100)]
Merge branch 'stable5' into fixing-4866-stable5

11 years agoFixed testTouch unit test to work with stable5
Vincent Petry [Fri, 22 Nov 2013 13:53:56 +0000 (14:53 +0100)]
Fixed testTouch unit test to work with stable5

Calling getFileInfo() would trigger checkUpdate() and would return the
real file mtime because the test value 500 was in the past.

This fix makes this test work with the stable5 behavior.

Removed "storage_mtime" references which don't exist in stable5.

11 years agoEmulate touch() for backends that don't support it
Robin Appelman [Sun, 10 Feb 2013 11:44:27 +0000 (12:44 +0100)]
Emulate touch() for backends that don't support it

Backport of 9738fae3cf1ad18593d21eb62e138e00c01f5f36

11 years ago<default></default> and <notnull>true</notnull> contradict each other
Jörn Friedrich Dreyer [Thu, 21 Nov 2013 14:34:35 +0000 (15:34 +0100)]
<default></default> and <notnull>true</notnull> contradict each other

11 years agoCherry-pick of 5d671a8 onto stable5.
Andreas Fischer [Mon, 23 Sep 2013 14:13:12 +0000 (07:13 -0700)]
Cherry-pick of 5d671a8 onto stable5.

recreate an etag within the scanner if the cache contains an empty etag

Conflicts:
lib/files/cache/cache.php
tests/lib/files/cache/scanner.php

11 years agoMerge pull request #5893 from owncloud/stable5-extstorage-smbfixes
Vincent Petry [Tue, 19 Nov 2013 15:09:11 +0000 (07:09 -0800)]
Merge pull request #5893 from owncloud/stable5-extstorage-smbfixes

[stable5] External storage SMB fixes for stat and unlink backport

11 years agoFixed storage stats to be based on current directory
Vincent Petry [Wed, 6 Nov 2013 09:55:19 +0000 (10:55 +0100)]
Fixed storage stats to be based on current directory

Previously, the storage statistics were always for the root dir.
This means that the upload button would always show the limit for the
root dir, even when uploading to a shared dir or external storage.

This fix adds a "dir" argument to getstoragestats.php.

Partial backport of 31181e4348b9af2625cf4d6ad38cf4cd81db3c1f