aporat / store-receipt-validator

PHP receipt validator for Apple iTunes, Google Play and Amazon App Store
Apache License 2.0
633 stars 153 forks source link

Old and buggy google/apiclient #33

Closed lukaszmakuch closed 7 years ago

lukaszmakuch commented 7 years ago

Hello!

I've run into a problem with dependencies of this library. It depends on an old and buggy version of google/apiclient (lower than 2.0). Due to a bug in the Google_Cache_File class, it throws an exception when it is run by more than one user on the same machine.

The thrown exception is a Google_Cache_Exception and it's being thrown in the Google_Cache_File::getCacheDir method. It happens because when the code is run by the first user, it creates a directory for caching purpses and sets permissions to 0700. Then, when another user runs the code, it's not longer possible to write there anything.

It's a known bug an it was fixed in the 2.0 version of the google/apiclient library.

How do you think, how could this problem be addresed? Maybe the dependency could be updated to the newest version? But it seems there are no tests for Google Play, so I'm a little bit worried that it could introduce more bugs, as it's the next big release. Using a different cache object instead of the Google_Cache_File instance looks like another solution, if only other cache implementations are not buggy.

aporat commented 7 years ago

closed by #35