54 Commits

Author SHA1 Message Date
Brad Dutton
e3dc6b0102 handle full URL comparison better for proxy access checks 2021-02-15 13:42:58 -08:00
Bharat Mediratta
74532b9c94 Remove stray line of debug output. 2013-03-05 13:20:12 -05:00
shadlaws
251e9d5c8f #2010 - Revise item::find_by_path to search for jpg-converted items.
- added extra $var_subdir argument to item::find_by_path.
- changed item::find_by_path to use $var_subdir to detect if we should look for a jpg-converted item or not (e.g. movie thumbs)
- moved the album thumb detection to item::find_by_path to ensure it knows to look for an exact album match.
- added more sanity checks to item::find_by_path (now has fewer false positive possibilities).

- updated file_proxy to remove the need to guess different movie files.
- updated File_Proxy_Controller - new sanity checks catch previously undetected bug.
- added additional unit tests for item::find_by_path.
2013-02-26 18:39:59 +01:00
Bharat Mediratta
86a2759062 If profiling is enabled, dump out profiling data instead of proxied
images so that we can see how efficient our proxying is.  Follow-on
for #1959.
2013-01-24 18:14:14 -05:00
shadlaws
8436e16b2f #1954 - Skip buffer calls for unit tests of file_proxy and data_rest.
Moved the "if (TEST_MODE)" statement before the buffer calls in file_proxy and data_rest.
This has no impact on normal use, but will make the unit tests more compatible with different server/PHP configurations.
Note: We do not have to skip setting the headers, which means we can build unit tests around them if we wish.
2013-01-21 10:45:34 +01:00
Bharat Mediratta
d45a737779 Update copyright to 2013. Fixes #1953. 2013-01-21 01:22:01 -05:00
Bharat Mediratta
f1d2a8e871 Add a long overdue test for File_Proxy_Controller that tests all the various
edge case behaviors.  It doesn't cover the various headers, but it does cover
the permission based code paths.
2013-01-20 23:54:01 -05:00
shadlaws
1927dd00e4 #1949 - Fix album thumb mime types given by data_rest and file_proxy
Correct result: always "image/jpeg"
Old data_rest result: mime of cover item
Old file_proxy result: mime of album item (null)
2013-01-20 08:34:12 +01:00
shadlaws
592eff0e5a #1942 - Make data_rest and file_proxy more consistent - several minor documentation/formatting changes.
No actual functionality changed here.
2013-01-19 08:40:19 +01:00
shadlaws
549630219f bug fix: updated file_proxy.php to use legal_file helper instead of hard-coded list of movie file extensions.
bug fix: updated uploader.php to use legal_file helper instead of hard-coded list of movie file extensions.

Fixes #1926
2012-12-10 11:15:02 -08:00
Bharat Mediratta
9e1f975e7b Fix up syntax in the last change. Follow-on for #1879. 2012-06-05 14:08:15 -07:00
Tony Fung
6fbea19b35 Force Turn off the compress as most image file already compressed. 2012-06-05 11:16:37 +08:00
Bharat Mediratta
3fbe07078f Second attempt to fix #1821 - first attempt caused an infinite loop in some cases
when zlib.output_compression is enabled.
2012-06-04 19:54:01 -07:00
Bharat Mediratta
b512734b9d Close all buffers, not just the ones that Kohana opened. Fixes #1821,
thanks to pvalsecc.
2012-05-08 18:23:33 -07:00
Bharat Mediratta
bf2bb3e1ea Update copyright to 2012. #1822 2012-02-27 09:48:23 -08:00
Bharat Mediratta
423daa52d5 Update copyright to 2011. 2011-01-21 23:01:06 -08:00
Bharat Mediratta
09d34696a1 Update comments to annotate what data is where during the process.
Follow-on for #1518.
2011-01-11 17:54:33 -08:00
Bharat Mediratta
e3df9c1611 Merge branch 'Ticket#1518' of git://github.com/Joe7/gallery3 2011-01-11 17:53:16 -08:00
Joe7
7f6d87166d Removed check as input value is compared against dataset of validated values, and request is only processed further in case of a match. => this is unnecessary 2011-01-11 23:16:05 +01:00
Bharat Mediratta
d557b2a63e Allow File_Proxy_Controller to run in private gallery mode since it
does all the right permission checks.  This prevents a hotlink to a
private photo in a private gallery from kicking the user out to a
login page.  Fixes #1594.
2011-01-10 14:50:30 -08:00
Joe7
9364f0d931 Allow '..' segment in photo/album paths through file_proxy (as is not forbidden in other places like add album/item) and explitely look for /../ instead
Note: directory path can't end in '.' forcibly so this shall be fine
Fixes Ticket #1518
2011-01-07 19:42:57 +01:00
Bharat Mediratta
c5ede5881b Updated to use the new item::find_by_path() API. 2010-12-21 19:36:23 -08:00
Bharat Mediratta
524554c65b Send back the content length of files. This fixes streaming movies. Fixes ticket #974. 2010-08-11 21:02:57 -07:00
Bharat Mediratta
f0d8aef0ea "Content-type" --> "Content-Type". 2010-08-09 22:51:14 -07:00
Bharat Mediratta
a8bb046209 Use readfile() instead of fopen()/fpassthru()/fclose() for brevity.
I've done some tests on a 60M flv and found that there's no difference
in memory consumption with these three approaches:

  public function test() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    if ($fd = fopen($file, "rb")) {
      while (true) {
        $bits = fread($fd, 65535);
        if (strlen($bits) == 0) {
          break;
        }
        print $bits;
        set_time_limit(30);
      }
      fclose($fd);
    }
    Kohana_Log::add("error","test: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }

  public function test2() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    $fd = fopen($file, "rb");
    fpassthru($fd);
    fclose($fd);
    Kohana_Log::add("error","test2: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }

  public function test3() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    readfile($file);
    Kohana_Log::add("error","test3: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }
2010-07-31 11:51:18 -07:00
Romain LE DISEZ
39962eaddc Accept extension .m4v as video/mp4 2010-07-10 08:09:04 -07:00
Tim Almdal
a03e3d1dc1 Fix for ticket #1110. Need to use the encode_path with a movie extension to find the item. Thanks to samdavidoff for the initial fix. 2010-06-17 09:38:36 -07:00
Bharat Mediratta
c3c2b45280 Update the copyright to 2010. It's only 3 months into the year :-) 2010-03-03 10:15:34 -08:00
Bharat Mediratta
c050acf30a Fix lots of warnings that pop up when we're in E_STRICT mode. They're
mostly issues around uninitialized variables, calling non-static
functions in a static context, calling Session functions directly
instead of on its singleton, passing non-variables by reference, and
subclasses not using the same interface as the parent class.
2010-01-31 16:07:41 -08:00
Tim Almdal
2ab6eda728 Change file proxy to url encode the path components instead of the entire path. Otherwise, we will encode the slashes and won't find the item. 2010-01-08 12:18:46 -08:00
Tim Almdal
58620c5faa Use rawurlencode to remove any encoding that the browser may have added. Fixes ticket #954. 2010-01-07 10:55:43 -08:00
Tim Almdal
cbf9754922 Send an empty Pragma header and use the item-updated time in the last-modified header 2010-01-04 09:10:12 -08:00
Tim Almdal
55eeb8336f Change the file proxy to use the expires helper to manage content expiration. Fixes ticket #953. 2009-12-30 09:55:28 -08:00
Bharat Mediratta
057e8d09af Convert a bunch of leftover kohana::show_404 calls to throw
Kohana_404_Exception instead.  These are the ones where we used a
lower-case 'k' so my previous filter didn't catch it.
2009-12-23 20:51:33 -08:00
Bharat Mediratta
8b9a02084a Updates for the latest version of Kohana 2.4:
1) Controller::$input is gone -- use Input::instance() now
2) Handle new 'database.<default>.connection.params' parameter
3) Handle new 'cache.<default>.prefix' parameter
2009-12-21 21:27:43 -08:00
Bharat Mediratta
c803cb2909 Merge branch 'master' of git@github.com:gallery/gallery3 into bharat_dev 2009-12-01 19:44:29 -08:00
Bharat Mediratta
6fa880777c Beter fix for #925. 2009-12-01 13:37:07 -08:00
Bharat Mediratta
f9ebe009c3 Use the real mime type for movies when we're requesting the full movie
instead of a thumbnail.  Fixes ticket #925, thanks to lsowen.
2009-12-01 13:34:40 -08:00
Bharat Mediratta
1fd0e14359 Convert all DB where() calls to take 3 arguments.
Convert all open_paren() calls to and_open() or or_open() as appropriate.
2009-11-26 12:09:04 -08:00
Bharat Mediratta
2e420522ec Preliminary work to cut over to Kohana 2.4
- Kohana::log() -> Kohana_Log::add()
- Kohana::config_XXX -> Kohana_Config::instance()->XXX
- Implement View::set_global in MY_View
- Updated Cache_Database_Driver to latest APIs
- ORM::$loaded -> ORM::loaded()
- Updated item::viewable() to use K2.4 parenthesization
2009-11-25 13:22:24 -08:00
Tim Almdal
051a7ae27a Refix #812, by removing the decoding in file_proxy instead of not encoding in Item_Model when creating the relative_path_cache. 2009-10-27 20:20:32 -07:00
Tim Almdal
2da7f93784 Fix the setting of the mime type header. as per
http://gallery.menalto.com/node/90306
Thanks rWatcher

Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-08-20 12:26:47 +08:00
Bharat Mediratta
f83db99d39 Properly display thumbnails for private movies by backtracking from
the thumbnail to the movie and then showing it as a JPG.  Fixes ticket
#570.
2009-07-21 12:26:16 -07:00
Bharat Mediratta
8f1bca7459 Remove the fallback code. It should trigger extremely rarely and seems highly inefficient to me, so let's see if we can live without it. 2009-07-21 12:18:49 -07:00
Bharat Mediratta
9588e8604d Use %27 instead of &#039; (the latter is the wrong form of escaping for urls). 2009-07-12 20:08:02 -07:00
Bharat Mediratta
9809238399 Unescape &#039; also (single quote) 2009-07-11 19:17:12 -07:00
Bharat Mediratta
132bd8306e Re-add Session::abort_save(). It was reverted as part of the earlier
change, but this is the part that we want to keep.
2009-06-30 20:51:02 -07:00
Bharat Mediratta
666c807fcc Revert "Add Session::abort_save() to Kohana."
Obsoleted by upstream fix.

This reverts commit 06f066164f.
2009-06-30 20:47:51 -07:00
Bharat Mediratta
06f066164f Add Session::abort_save() to Kohana.
Filed upstream as: http://dev.kohanaphp.com/issues/1801
2009-06-21 15:09:32 -07:00
Bharat Mediratta
3b6567f38c Unescape %20 into " " also. 2009-06-01 23:20:36 -07:00