coquelicot.git
8 years agouse consistent indentation accross javascript files
Lunar [Tue, 14 Feb 2012 17:41:07 +0000 (18:41 +0100)]
use consistent indentation accross javascript files

8 years agoAdd 'thin' to development environment
Lunar [Tue, 14 Feb 2012 17:37:00 +0000 (18:37 +0100)]
Add 'thin' to development environment

To start the webapp localy using thin, one can now issue:

  bin/rackup -s thin config-development.ru

Thin handles streaming when Webrick does not.

8 years agosimplify parameters handling in authentication modules
Lunar [Tue, 14 Feb 2012 17:28:17 +0000 (18:28 +0100)]
simplify parameters handling in authentication modules

Previously authentication data was either given through:
 - an Hash in 'upload_token' serialized by jQuery.ajax();
 - a JSON blob in 'upload_token' after the initial Javascript authentication;
 - directly through POST parameters when Javascript is disabled.

We simplify all this and always pass those fields as POST paraters in those
three cases. We thus get rid of the 'upload_token' intermediate field
completely.

Form fiels are also properly reset when authentication fails.

8 years agorefactor specs related to AJAX password verification
Lunar [Tue, 14 Feb 2012 12:35:43 +0000 (13:35 +0100)]
refactor specs related to AJAX password verification

8 years agoproperly use Bundler in rackup files
Lunar [Tue, 14 Feb 2012 11:45:20 +0000 (12:45 +0100)]
properly use Bundler in rackup files

8 years agoscrap home made config system to use Sinatra::ConfigFile
Lunar [Tue, 14 Feb 2012 11:43:17 +0000 (12:43 +0100)]
scrap home made config system to use Sinatra::ConfigFile

This adds a dependency to sinatra-contrib (>= 1.3).

8 years agomove requires where they belong
Lunar [Mon, 13 Feb 2012 19:33:52 +0000 (20:33 +0100)]
move requires where they belong

8 years agomerge StoredFile app specific methods with the rest of the class definition
Lunar [Mon, 13 Feb 2012 19:30:01 +0000 (20:30 +0100)]
merge StoredFile app specific methods with the rest of the class definition

There is not much added value in spreading the code. Separating concerns is
nice, but there is no problem if another consumer calls these methods anyway.

8 years agomove Coquelicot::Depot to its own file
Lunar [Mon, 13 Feb 2012 19:21:56 +0000 (20:21 +0100)]
move Coquelicot::Depot to its own file

8 years agomove Coquelicot::StoredFile to its own file
Lunar [Mon, 13 Feb 2012 19:21:00 +0000 (20:21 +0100)]
move Coquelicot::StoredFile to its own file

8 years agomove coquelicot_app.rb to lib/coquelicot/app.rb
Lunar [Mon, 13 Feb 2012 19:18:48 +0000 (20:18 +0100)]
move coquelicot_app.rb to lib/coquelicot/app.rb

8 years agoadd spec for imap authentication
Lunar [Mon, 13 Feb 2012 19:04:10 +0000 (20:04 +0100)]
add spec for imap authentication

8 years agogroup specs using simpleauth authentication
Lunar [Mon, 13 Feb 2012 19:03:55 +0000 (20:03 +0100)]
group specs using simpleauth authentication

8 years agouse app.set and not apply_configuration
Lunar [Mon, 13 Feb 2012 18:43:37 +0000 (19:43 +0100)]
use app.set and not apply_configuration

8 years agouse an around block instead of before/after to create temporary depot in specs
Lunar [Mon, 13 Feb 2012 17:31:13 +0000 (18:31 +0100)]
use an around block instead of before/after to create temporary depot in specs

8 years agorework part of configure mechanism
Lunar [Sun, 29 Jan 2012 17:57:42 +0000 (18:57 +0100)]
rework part of configure mechanism

We can now use `app.set :authentication_method, ...` which is useful for
tests.

8 years agoimplement pluggable authentication using classes instead of modules
Lunar [Mon, 13 Feb 2012 23:17:22 +0000 (00:17 +0100)]
implement pluggable authentication using classes instead of modules

It will be less hacky pocky and work better for testing. Otherwise, switching
from one authentication mechanism to another during the same test suite does
not really work well.

8 years agoupdate sinatra to version 1.3
Lunar [Tue, 14 Feb 2012 11:42:03 +0000 (12:42 +0100)]
update sinatra to version 1.3

Adjustments needed:

 * Update reference value for the Content-type header in specs.

8 years agoadd some more notes about development in README
Lunar [Sun, 29 Jan 2012 16:47:47 +0000 (17:47 +0100)]
add some more notes about development in README

8 years agoupdate test suite for RSpec 2.x and Bundler
Lunar [Sun, 29 Jan 2012 16:36:46 +0000 (17:36 +0100)]
update test suite for RSpec 2.x and Bundler

8 years agomove RSpec tests to more idiomatic location
Lunar [Sun, 29 Jan 2012 15:55:04 +0000 (16:55 +0100)]
move RSpec tests to more idiomatic location

8 years agoreword some parts of the README
Lunar [Sun, 29 Jan 2012 15:48:33 +0000 (16:48 +0100)]
reword some parts of the README

8 years agodisplay a nicer 'Not found' message
Lunar [Sun, 29 Jan 2012 15:25:00 +0000 (16:25 +0100)]
display a nicer 'Not found' message

8 years agofixing em vs. px problem on chrome
mh [Thu, 11 Aug 2011 11:07:27 +0000 (13:07 +0200)]
fixing em vs. px problem on chrome

8 years agoimprove css to work properly on more browsers
mh [Thu, 11 Aug 2011 10:55:14 +0000 (12:55 +0200)]
improve css to work properly on more browsers

8 years agoignore 3rd party layouts
mh [Thu, 11 Aug 2011 10:53:19 +0000 (12:53 +0200)]
ignore 3rd party layouts

8 years agodisplay about text also on the js login, hide submit button for jslogin on non js...
mh [Wed, 10 Aug 2011 18:15:26 +0000 (20:15 +0200)]
display about text also on the js login, hide submit button for jslogin on non js browsers

8 years agoadd info that upload is forbidden
mh [Wed, 10 Aug 2011 18:03:35 +0000 (20:03 +0200)]
add info that upload is forbidden

8 years agodocument gc
mh [Tue, 9 Aug 2011 07:32:01 +0000 (09:32 +0200)]
document gc

8 years agorequire bundle/setup so bundler gets loaded
mh [Tue, 9 Aug 2011 07:23:50 +0000 (09:23 +0200)]
require bundle/setup so bundler gets loaded

8 years agomake gc executable
mh [Tue, 9 Aug 2011 07:01:57 +0000 (09:01 +0200)]
make gc executable

8 years agojson is also required
mh [Tue, 9 Aug 2011 06:40:47 +0000 (08:40 +0200)]
json is also required

8 years agomove jquery into the repo, depending on your os the link can be different
mh [Tue, 9 Aug 2011 06:38:57 +0000 (08:38 +0200)]
move jquery into the repo, depending on your os the link can be different

8 years agoprovide a development .ru and a production .ru
mh [Tue, 9 Aug 2011 06:37:43 +0000 (08:37 +0200)]
provide a development .ru and a production .ru

8 years agoadd a script to run gc in a cronjob
mh [Sun, 7 Aug 2011 14:24:28 +0000 (16:24 +0200)]
add a script to run gc in a cronjob

9 years agofix imap login
mh [Mon, 2 May 2011 15:57:33 +0000 (17:57 +0200)]
fix imap login

Somehow forms containing multiple input fields have the problem, that
pressing enter does not submit the form. -> Add a submit button, so
the user can click on login, but also to regain the "Press Enter"
functionality.

9 years agoextend layout capailities
mh [Mon, 2 May 2011 15:54:53 +0000 (17:54 +0200)]
extend layout capailities

You can now:
* set an own clone url, without the default own
* set an additional css to be included to override/extend the basic
  css

Furthermore, some css fixes have been done.

9 years agominor css fix
mh [Mon, 2 May 2011 14:52:24 +0000 (16:52 +0200)]
minor css fix

9 years agoAdd configuration mechanism
mh [Mon, 2 May 2011 14:06:15 +0000 (16:06 +0200)]
Add configuration mechanism

It is now possible to configure Coquelicot according to your needs
without touching any application code at all.

Examples and default configuration settings can be found in conf/

9 years agoimplement imap authentication
mh [Mon, 2 May 2011 11:57:04 +0000 (13:57 +0200)]
implement imap authentication

We are now able to authenticate agains an imap server. A possible
setting would look like:

  authentication_method :imap, :imap_server => 'imap.example.com', \
    :imap_port => 993

9 years agoremove unnecessary check
mh [Mon, 2 May 2011 11:28:27 +0000 (13:28 +0200)]
remove unnecessary check

If the hash is nil or false, the comparition fails anyway.

9 years agoMake some methods more failsafe if some things are missing
mh [Mon, 2 May 2011 11:25:33 +0000 (13:25 +0200)]
Make some methods more failsafe if some things are missing

9 years agoadd utf8 header
mh [Mon, 2 May 2011 11:24:16 +0000 (13:24 +0200)]
add utf8 header

As we will send down UTF-8 encoded data we should note that in our
header, otherwise we might see funny characters.

9 years agointroduce authentication mechanism framework
mh [Mon, 2 May 2011 10:31:37 +0000 (12:31 +0200)]
introduce authentication mechanism framework

We can now implement additional authentication methods, to
authenticate against other authentication mechanisms.

The requirements for these authentication mechanisms and how they work
is documented in the README file.

9 years agoadd Gemfile for bundler
mh [Mon, 7 Feb 2011 19:18:21 +0000 (20:18 +0100)]
add Gemfile for bundler

9 years agoremove special loading
mh [Mon, 7 Feb 2011 18:43:25 +0000 (19:43 +0100)]
remove special loading

this kind of loading is an ugly workaround and one should actually
have them installed in the right path.

9 years agofix handling of special chars in translations using to_json
Lunar [Mon, 13 Dec 2010 18:02:19 +0000 (19:02 +0100)]
fix handling of special chars in translations using to_json

9 years agoMerge remote branch 'nadir/translations/de'
Lunar [Mon, 13 Dec 2010 17:30:25 +0000 (18:30 +0100)]
Merge remote branch 'nadir/translations/de'

9 years agoGerman translation.
Jake Santee [Mon, 13 Dec 2010 11:35:18 +0000 (12:35 +0100)]
German translation.

9 years agorework, rephrase, refactor tests
Lunar [Wed, 8 Sep 2010 10:48:17 +0000 (12:48 +0200)]
rework, rephrase, refactor tests

9 years agoreorganize one time download tests
Lunar [Mon, 6 Sep 2010 13:08:47 +0000 (15:08 +0200)]
reorganize one time download tests

9 years agodon't accept empty files
Lunar [Mon, 6 Sep 2010 12:56:24 +0000 (14:56 +0200)]
don't accept empty files

9 years agoOnly use AJAX authentication in upload template
Lunar [Wed, 1 Sep 2010 20:40:25 +0000 (22:40 +0200)]
Only use AJAX authentication in upload template

9 years agoGet back to use Sinatra settings
Lunar [Wed, 1 Sep 2010 18:35:12 +0000 (20:35 +0200)]
Get back to use Sinatra settings

And this time, do it right!

9 years agouse Sinatra::Base instead of require 'sinatra'
Lunar [Wed, 1 Sep 2010 17:47:48 +0000 (19:47 +0200)]
use Sinatra::Base instead of require 'sinatra'

Using Sinatra in the modular way offers more flexibility and paves the way for
some cleanups.

9 years agomore i18n in javascript
Lunar [Sun, 29 Aug 2010 16:21:07 +0000 (18:21 +0200)]
more i18n in javascript

9 years agomove javascript i18n strings in a dedicated object
Lunar [Sun, 29 Aug 2010 16:12:20 +0000 (18:12 +0200)]
move javascript i18n strings in a dedicated object

9 years agoexplicitely require 'sass'
Lunar [Sun, 29 Aug 2010 16:05:20 +0000 (18:05 +0200)]
explicitely require 'sass'

9 years agouse a lightbox when available to enter upload password
Lunar [Sun, 29 Aug 2010 16:04:48 +0000 (18:04 +0200)]
use a lightbox when available to enter upload password

9 years agofix some wordings in README
Lunar [Sun, 29 Aug 2010 15:30:30 +0000 (17:30 +0200)]
fix some wordings in README

9 years agouse a password field instead of text in enter_file_key
Lunar [Tue, 17 Aug 2010 18:03:49 +0000 (20:03 +0200)]
use a password field instead of text in enter_file_key

9 years agoalso use maximum_expire setting in Jyraphe migration site
Lunar [Mon, 16 Aug 2010 14:48:42 +0000 (16:48 +0200)]
also use maximum_expire setting in Jyraphe migration site

9 years agoadd a note about encrypted storage and HTTPS
Lunar [Mon, 16 Aug 2010 14:44:01 +0000 (16:44 +0200)]
add a note about encrypted storage and HTTPS

9 years agoimpliment an upper-bound expiration time
Lunar [Mon, 16 Aug 2010 14:05:22 +0000 (16:05 +0200)]
impliment an upper-bound expiration time

9 years agoadd Jyraphe migration script
Lunar [Sun, 8 Aug 2010 15:45:19 +0000 (17:45 +0200)]
add Jyraphe migration script

9 years agoadd test: should have files zero'ed after 'one time' download
Lunar [Sun, 8 Aug 2010 15:31:06 +0000 (17:31 +0200)]
add test: should have files zero'ed after 'one time' download

9 years agorework and fix one-time download
Lunar [Sun, 8 Aug 2010 15:23:32 +0000 (17:23 +0200)]
rework and fix one-time download

9 years agofix default depot path for webapp
Lunar [Sun, 8 Aug 2010 10:59:44 +0000 (12:59 +0200)]
fix default depot path for webapp

9 years agoreshuffle code around
Lunar [Sun, 8 Aug 2010 10:56:12 +0000 (12:56 +0200)]
reshuffle code around

Code that other scripts might want now lies in 'lib/coquelicot.rb', which
defines a Coquelicot module.

Web application lies in 'coquelicot_app.rb' for distinction.

Move away from Sinatra options for Coquelicot specific settings.

9 years agoupdate french translation
Lunar [Sat, 7 Aug 2010 13:24:28 +0000 (15:24 +0200)]
update french translation

9 years agosupport one-time download
Lunar [Sat, 7 Aug 2010 13:18:59 +0000 (15:18 +0200)]
support one-time download

9 years agoGet nicer behaviour wrt. '410 Gone' and expiration
Lunar [Sat, 7 Aug 2010 11:02:25 +0000 (13:02 +0200)]
Get nicer behaviour wrt. '410 Gone' and expiration

Once a file has expired, it is now truncated to zero length and the
URL is still kept. This allows to return '410 Gone' messages for a configurable
period of time (1 week by default).

9 years agostore upload time in stored file and test Last-Modified header
Lunar [Sat, 7 Aug 2010 09:23:55 +0000 (11:23 +0200)]
store upload time in stored file and test Last-Modified header

9 years agorefactor tests
Lunar [Sat, 7 Aug 2010 08:58:45 +0000 (10:58 +0200)]
refactor tests

9 years agoimplement i18n and add french translation
Lunar [Tue, 3 Aug 2010 17:15:04 +0000 (19:15 +0200)]
implement i18n and add french translation

9 years agostop using :inline_templates
Lunar [Tue, 3 Aug 2010 15:13:53 +0000 (17:13 +0200)]
stop using :inline_templates

i18n is easier if haml templates are in separate files

9 years agomention i18n in future plans
Lunar [Tue, 3 Aug 2010 11:15:13 +0000 (13:15 +0200)]
mention i18n in future plans

9 years agofirst shot at a README
Lunar [Tue, 3 Aug 2010 11:16:27 +0000 (13:16 +0200)]
first shot at a README

9 years agostore 'Expire-at' as integer instead of string
Lunar [Tue, 3 Aug 2010 10:52:33 +0000 (12:52 +0200)]
store 'Expire-at' as integer instead of string

9 years agouse 'coquelicot.git' instead of 'git' for easier cloning
Lunar [Mon, 2 Aug 2010 21:00:09 +0000 (23:00 +0200)]
use 'coquelicot.git' instead of 'git' for easier cloning

9 years agominor style change
Lunar [Mon, 2 Aug 2010 20:54:13 +0000 (22:54 +0200)]
minor style change

9 years agoadd LICENSE, footer and git symlink
Lunar [Mon, 2 Aug 2010 20:51:57 +0000 (22:51 +0200)]
add LICENSE, footer and git symlink

9 years agoimplement random password generation through ajax
Lunar [Mon, 2 Aug 2010 14:17:02 +0000 (16:17 +0200)]
implement random password generation through ajax

9 years agoimprove user interface
Lunar [Mon, 2 Aug 2010 13:38:25 +0000 (15:38 +0200)]
improve user interface

9 years agofix default depot_path
Lunar [Mon, 2 Aug 2010 12:20:46 +0000 (14:20 +0200)]
fix default depot_path

9 years agoadd missing fields to '/' page
Lunar [Mon, 2 Aug 2010 12:17:06 +0000 (14:17 +0200)]
add missing fields to '/' page

9 years agoimplement 'should map extra base32 characters to filenames'
Lunar [Mon, 2 Aug 2010 10:55:43 +0000 (12:55 +0200)]
implement 'should map extra base32 characters to filenames'

9 years agosplit get '/:link' with or without embedded pass
Lunar [Mon, 2 Aug 2010 10:47:55 +0000 (12:47 +0200)]
split get '/:link' with or without embedded pass

9 years agoimplement garbage collection
Lunar [Mon, 2 Aug 2010 10:47:30 +0000 (12:47 +0200)]
implement garbage collection

9 years agoimplement file expiration
Lunar [Mon, 2 Aug 2010 09:59:29 +0000 (11:59 +0200)]
implement file expiration

9 years agoremove extra 'get' in wrong key test
Lunar [Mon, 2 Aug 2010 09:20:18 +0000 (11:20 +0200)]
remove extra 'get' in wrong key test

9 years agoadd another pending test
Lunar [Sun, 1 Aug 2010 22:50:58 +0000 (00:50 +0200)]
add another pending test

9 years agoimplement 'should not allow retrieval of a password protected file with a wrong password'
Lunar [Sun, 1 Aug 2010 22:50:44 +0000 (00:50 +0200)]
implement 'should not allow retrieval of a password protected file with a wrong password'

9 years agoimplement 'should not allow retrieval of a password protected file without the password'
Lunar [Sun, 1 Aug 2010 22:39:56 +0000 (00:39 +0200)]
implement 'should not allow retrieval of a password protected file without the password'

9 years agoimplement 'should allow retrieval of a password protected file'
Lunar [Sun, 1 Aug 2010 22:25:08 +0000 (00:25 +0200)]
implement 'should allow retrieval of a password protected file'

9 years agoimplement 'should not encode the encryption key in URL when a password has been speci...
Lunar [Sun, 1 Aug 2010 22:18:19 +0000 (00:18 +0200)]
implement 'should not encode the encryption key in URL when a password has been specified'

9 years agogenerate and encode a pass in URLs
Lunar [Sun, 1 Aug 2010 21:55:18 +0000 (23:55 +0200)]
generate and encode a pass in URLs

9 years agoimplement 'should store files with a different name than then one in URL'
Lunar [Sun, 1 Aug 2010 21:45:23 +0000 (23:45 +0200)]
implement 'should store files with a different name than then one in URL'

9 years agogenerate random URLs to retrieve uploaded files
Lunar [Sun, 1 Aug 2010 17:15:47 +0000 (19:15 +0200)]
generate random URLs to retrieve uploaded files

9 years agoimplement 'should not store an uploaded file in cleartext' test
Lunar [Sun, 1 Aug 2010 16:32:40 +0000 (18:32 +0200)]
implement 'should not store an uploaded file in cleartext' test