Compare commits

..

17 Commits
1.4.5 ... 1.4.7

Author SHA1 Message Date
Jean-Philippe Lang
640d85e6a4 tagged version 1.4.7
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/tags/1.4.7@11238 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-20 18:20:48 +00:00
Jean-Philippe Lang
fd7354ac06 Updates for 1.4.7 release.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11237 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-20 18:20:19 +00:00
Toshi MARUYAMA
5c077abb0e 1.4-stable: add a link to a mail posted on 14 Jan 2013 about Rails 2.3 CVE-2013-0155
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11208 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-20 11:48:54 +00:00
Toshi MARUYAMA
a1614e5e53 1.4-stable: add the patch for CVE-2013-0155 in Rails 2.3.15
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11197 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-17 00:36:07 +00:00
Jean-Philippe Lang
284ee1080b Removed Rails patch.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11154 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-09 15:18:37 +00:00
Jean-Philippe Lang
190fc8d9db Changes for 1.4.6 release.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11149 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-09 13:43:38 +00:00
Jean-Philippe Lang
cf5e29a83b Upgrade to Rails 2.3.15.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11148 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-01-09 13:42:30 +00:00
Toshi MARUYAMA
2acfd0847c Merged r11051 from trunk to 1.4-stable (#12630)
Russian "x_hours" translation updated by Mikhail Velkin.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11055 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-12-19 00:05:11 +00:00
Toshi MARUYAMA
2f2f360311 Merged r11035 from trunk to 1.4-stable (#12615)
Russian translation updated by Kirill Bezrukov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11039 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-12-17 23:54:47 +00:00
Toshi MARUYAMA
29b64fce8e Merged r11022 from trunk to 1.4-stable (#12614)
Dutch translation updated.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11025 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-12-17 12:45:09 +00:00
Toshi MARUYAMA
759a3321f4 Merged r11014 from trunk to 1.4-stable (#12605)
Norwegian translation for 1.4-stable updated by Ketil Mehl.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@11020 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-12-16 07:42:04 +00:00
Jean-Philippe Lang
b5c0a3313b Reverts r10896 (#12472).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10899 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-30 10:26:02 +00:00
Jean-Philippe Lang
ca73f99056 Reverts r10896 (#12472).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10898 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-30 10:25:48 +00:00
Jean-Philippe Lang
8312fec63f Merged r10893 into 1.4-stable (#12472).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10896 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-30 08:59:57 +00:00
Toshi MARUYAMA
68c2588f85 Merged r10862 from trunk to 1.4-stable (#12409)
scm: git: change extra_report_last_commit type at unit test to string.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10864 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-22 01:18:23 +00:00
Toshi MARUYAMA
31e714f2db Merged r10856 and r10857 from trunk to 1.4-stable (#12409)
scm: git: fix changesets aren't read after clear_changesets call.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10859 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-21 09:59:22 +00:00
Toshi MARUYAMA
886d6f006b Merged r10840 from trunk to 1.4-stable
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/branches/1.4-stable@10849 e93f8b46-1217-0410-a6f0-8f06a7374b81
2012-11-18 22:47:32 +00:00
10 changed files with 146 additions and 76 deletions

View File

@@ -1,6 +1,6 @@
source :rubygems
gem "rails", "2.3.14"
gem "rails", "2.3.15"
gem "i18n", "~> 0.4.2"
gem "coderay", "~> 1.0.6"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
@@ -39,7 +39,7 @@ end
platforms :mri_18, :mingw_18 do
group :mysql do
gem "mysql"
gem "mysql", "~> 2.8.1"
end
end

View File

@@ -415,5 +415,9 @@ class Repository < ActiveRecord::Base
connection.delete("DELETE FROM #{ci} WHERE #{ci}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
connection.delete("DELETE FROM #{cp} WHERE #{cp}.changeset_id IN (SELECT #{cs}.id FROM #{cs} WHERE #{cs}.repository_id = #{id})")
connection.delete("DELETE FROM #{cs} WHERE #{cs}.repository_id = #{id}")
clear_extra_info_of_changesets
end
def clear_extra_info_of_changesets
end
end

View File

@@ -255,4 +255,15 @@ class Repository::Git < Repository
:order => 'committed_on DESC'
)
end
def clear_extra_info_of_changesets
return if extra_info.nil?
v = extra_info["extra_report_last_commit"]
write_attribute(:extra_info, nil)
h = {}
h["extra_report_last_commit"] = v
merge_extra_info(h)
self.save
end
private :clear_extra_info_of_changesets
end

View File

@@ -116,14 +116,19 @@ module ActionController
end
end
# CVE-2012-2695
# https://groups.google.com/group/rubyonrails-security/browse_thread/thread/9782f44c4540cf59
# Fix for CVE-2013-0155
# https://groups.google.com/d/msg/rubyonrails-security/c7jT-EeN9eI/L0u4e87zYGMJ
# https://groups.google.com/d/msg/rubyonrails-security/kKGNeMrnmiY/r2yM7xy-G48J
# https://github.com/rails/rails/blob/v2.3.15/activerecord/lib/active_record/base.rb#L2340
module ActiveRecord
class Base
class << self
def sanitize_sql_hash_for_conditions(attrs, default_table_name = quoted_table_name, top_level = true)
protected
def self.sanitize_sql_hash_for_conditions(attrs, default_table_name = quoted_table_name, top_level = true)
attrs = expand_hash_conditions_for_aggregates(attrs)
return '1 = 2' if !top_level && attrs.is_a?(Hash) && attrs.empty?
conditions = attrs.map do |attr, value|
table_name = default_table_name

View File

@@ -49,7 +49,7 @@ nl:
one: "ongeveer 1 uur"
other: "ongeveer %{count} uren"
x_hours:
one: "1 hour"
one: "1 uur"
other: "%{count} hours"
x_days:
one: "1 dag"
@@ -990,34 +990,37 @@ nl:
description_all_columns: Alle kolommen
button_export: Exporteren
label_export_options: "%{export_format} export opties"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
error_attachment_too_big: Dit bestand kan niet worden geupload omdat het de maximaal toegestane grootte overschrijd (%{max_size})
notice_failed_to_save_time_entries: "Opslaan gefaald voor %{count} tijdsnotatie(s) van %{total} geselecteerde: %{ids}."
label_x_issues:
zero: 0 issue
one: 1 issue
other: "%{count} issues"
label_repository_new: New repository
field_repository_is_default: Main repository
label_copy_attachments: Copy attachments
zero: 0 incidenten
one: 1 incidenten
other: "%{count} incidenten"
label_repository_new: Nieuw repository
field_repository_is_default: Hoofd repository
label_copy_attachments: Copieer bijlage(n)
label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions
field_multiple: Multiple values
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
permission_manage_related_issues: Manage related issues
label_completed_versions: Versies compleet
field_multiple: Meerdere waardes
setting_commit_cross_project_ref: Sta toe om incidenten van alle projecten te refereren en oplossen
text_issue_conflict_resolution_add_notes: Voeg mijn notities toe en annuleer andere wijzigingen
text_issue_conflict_resolution_overwrite: Voeg mijn wijzigingen alsnog toe (voorgaande notities worden bewaard, maar sommige kunnen overschreden worden)
notice_issue_update_conflict: Dit incident is reeds geupdate door een andere gebruiker terwijl jij bezig was
text_issue_conflict_resolution_cancel: Annuleer mijn wijzigingen en geef pagina opnieuw weer %{link}
permission_manage_related_issues: Beheer gerelateerde incidenten
field_ldap_filter: LDAP filter
label_search_for_watchers: Search for watchers to add
notice_account_deleted: Your account has been permanently deleted.
setting_unsubscribe: Allow users to delete their own account
button_delete_my_account: Delete my account
label_search_for_watchers: Zoek om monitoorders toe te voegen
notice_account_deleted: Uw account is permanent verwijderd
setting_unsubscribe: Sta gebruikers toe hun eigen account te verwijderen
button_delete_my_account: Verwijder mijn account
text_account_destroy_confirmation: |-
Are you sure you want to proceed?
Your account will be permanently deleted, with no way to reactivate it.
error_session_expired: Your session has expired. Please login again.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
setting_session_lifetime: Session maximum lifetime
setting_session_timeout: Session inactivity timeout
label_session_expiration: Session expiration
Weet u zeker dat u door wilt gaan?
Uw account wordt permanent verwijderd zonder mogelijkheid deze te heractiveren.
error_session_expired: Uw sessie is verlopen. U dient opnieuw in te loggen.
text_session_expiration_settings: "Waarschuwing: door deze instelling te wijzigen kan sessies laten verlopen inclusief de uwe"
setting_session_lifetime: Maximale sessieduur
setting_session_timeout: Sessie inactiviteit timeout
label_session_expiration: Sessie verlopen

View File

@@ -971,61 +971,61 @@
setting_issue_group_assignment: Tillat tildeling av saker til grupper
label_diff: diff
description_query_sort_criteria_direction: Sort direction
description_query_sort_criteria_direction: Sorteringsretning
description_project_scope: Search scope
description_filter: Filter
description_user_mail_notification: Mail notification settings
description_date_from: Enter start date
description_message_content: Message content
description_available_columns: Available Columns
description_date_range_interval: Choose range by selecting start and end date
description_date_from: Oppgi startdato
description_message_content: Meldingsinnhold
description_available_columns: Tilgjengelige kolonner
description_date_range_interval: Velg datointervall ved å spesifisere start- og sluttdato
description_issue_category_reassign: Choose issue category
description_search: Searchfield
description_search: Søkefelt
description_notes: Notes
description_date_range_list: Choose range from list
description_choose_project: Projects
description_date_to: Enter end date
description_choose_project: Prosjekter
description_date_to: Oppgi sluttdato
description_query_sort_criteria_attribute: Sort attribute
description_wiki_subpages_reassign: Choose new parent page
description_selected_columns: Selected Columns
label_parent_revision: Parent
label_child_revision: Child
description_wiki_subpages_reassign: Velg ny overordnet side
description_selected_columns: Valgte kolonner
label_parent_revision: Overordnet
label_child_revision: Underordnet
error_scm_annotate_big_text_file: The entry cannot be annotated, as it exceeds the maximum text file size.
setting_default_issue_start_date_to_creation_date: Use current date as start date for new issues
button_edit_section: Edit this section
setting_default_issue_start_date_to_creation_date: Bruk dagens dato som startdato for nye saker
button_edit_section: Rediger denne seksjonen
setting_repositories_encodings: Attachments and repositories encodings
description_all_columns: All Columns
button_export: Export
label_export_options: "%{export_format} export options"
error_attachment_too_big: This file cannot be uploaded because it exceeds the maximum allowed file size (%{max_size})
description_all_columns: Alle kolonnene
button_export: Eksporter
label_export_options: "%{export_format} eksportvalg"
error_attachment_too_big: Filen overstiger maksimum filstørrelse (%{max_size}) og kan derfor ikke lastes opp
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
label_x_issues:
zero: 0 sak
one: 1 sak
other: "%{count} saker"
label_repository_new: New repository
field_repository_is_default: Main repository
label_copy_attachments: Copy attachments
label_repository_new: Nytt depot
field_repository_is_default: Hoveddepot
label_copy_attachments: Kopier vedlegg
label_item_position: "%{position}/%{count}"
label_completed_versions: Completed versions
text_project_identifier_info: Only lower case letters (a-z), numbers, dashes and underscores are allowed.<br />Once saved, the identifier cannot be changed.
field_multiple: Multiple values
text_project_identifier_info: Kun små bokstaver (a-z), tall, bindestrek (-) og "underscore" (_) er tillatt.<br />Etter lagring er det ikke mulig å gjøre endringer.
field_multiple: Flere verdier
setting_commit_cross_project_ref: Allow issues of all the other projects to be referenced and fixed
text_issue_conflict_resolution_add_notes: Add my notes and discard my other changes
text_issue_conflict_resolution_overwrite: Apply my changes anyway (previous notes will be kept but some changes may be overwritten)
notice_issue_update_conflict: The issue has been updated by an other user while you were editing it.
text_issue_conflict_resolution_cancel: Discard all my changes and redisplay %{link}
notice_issue_update_conflict: Saken ble oppdatert av en annen bruker mens du redigerte den.
text_issue_conflict_resolution_cancel: Forkast alle endringen mine og vis %{link} på nytt
permission_manage_related_issues: Manage related issues
field_ldap_filter: LDAP filter
label_search_for_watchers: Search for watchers to add
notice_account_deleted: Your account has been permanently deleted.
setting_unsubscribe: Allow users to delete their own account
button_delete_my_account: Delete my account
notice_account_deleted: Din konto er ugjenkallelig slettet.
setting_unsubscribe: Tillat brukere å slette sin egen konto
button_delete_my_account: Slett kontoen min
text_account_destroy_confirmation: |-
Are you sure you want to proceed?
Your account will be permanently deleted, with no way to reactivate it.
error_session_expired: Your session has expired. Please login again.
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
setting_session_lifetime: Session maximum lifetime
setting_session_timeout: Session inactivity timeout
label_session_expiration: Session expiration
Er du sikker på at du ønsker å fortsette?
Kontoen din vil bli ugjenkallelig slettet uten mulighet for å reaktiveres igjen.
error_session_expired: Økten har gått ut på tid. Vennligst logg på igjen.
text_session_expiration_settings: "Advarsel: ved å endre disse innstillingene kan aktive økter gå ut på tid, inkludert din egen."
setting_session_lifetime: Øktenes makslengde
setting_session_timeout: Økten er avsluttet på grunn av inaktivitet
label_session_expiration: Økten er avsluttet

View File

@@ -117,8 +117,8 @@ ru:
many: "около %{count} часов"
other: "около %{count} часа"
x_hours:
one: "1 hour"
other: "%{count} hours"
one: "1 час"
other: "%{count} часов"
x_days:
one: "%{count} день"
few: "%{count} дня"
@@ -1121,7 +1121,7 @@ ru:
button_export: Экспорт
label_export_options: "%{export_format} параметры экспорта"
error_attachment_too_big: Этот файл нельзя загрузить из-за превышения максимального размера файла (%{max_size})
notice_failed_to_save_time_entries: "Failed to save %{count} time entrie(s) on %{total} selected: %{ids}."
notice_failed_to_save_time_entries: "Невозможно сохранить %{count} затраченное время для %{total} выбранных: %{ids}."
label_x_issues:
zero: 0 Задач
one: 1 Задача
@@ -1147,8 +1147,8 @@ ru:
setting_unsubscribe: "Разрешить пользователям удалять свои учетные записи"
button_delete_my_account: "Удалить мою учетную запись"
text_account_destroy_confirmation: "Ваша учетная запись будет полностью удалена без возможности восстановления.\nВы уверены, что хотите продолжить?"
error_session_expired: Your session has expired. Please login again.
error_session_expired: Срок вашей сессии истек. Пожалуйста войдите еще раз
text_session_expiration_settings: "Warning: changing these settings may expire the current sessions including yours."
setting_session_lifetime: Session maximum lifetime
setting_session_timeout: Session inactivity timeout
label_session_expiration: Session expiration
setting_session_lifetime: Максимальная продолжительность сессии
setting_session_timeout: Таймут сессии
label_session_expiration: Срок истечения сессии

View File

@@ -4,6 +4,19 @@ Redmine - project management software
Copyright (C) 2006-2012 Jean-Philippe Lang
http://www.redmine.org/
== 2013-01-20 v1.4.7
* Patch for Rails vulnerability CVE-2013-0155
== 2013-01-09 v1.4.6
* Upgrade to Rails 2.3.15
* Defect #12409: Git: changesets aren't read after clear_changesets call
* Patch #12605: Norwegian translation for 1.4-stable update
* Patch #12614: Dutch translation
* Patch #12615: Russian translation
* Patch #12630: Russian "x_hours" translation
== 2012-11-17 v1.4.5
* Defect #10818: Running rake in test environment causes exception

View File

@@ -4,7 +4,7 @@ module Redmine
module VERSION #:nodoc:
MAJOR = 1
MINOR = 4
TINY = 5
TINY = 7
# Branch values:
# * official release: nil

View File

@@ -212,6 +212,40 @@ class RepositoryGitTest < ActiveSupport::TestCase
assert_equal h1, h2
end
def test_keep_extra_report_last_commit_in_clear_changesets
assert_nil @repository.extra_info
h = {}
h["extra_report_last_commit"] = "1"
@repository.merge_extra_info(h)
@repository.save
@project.reload
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets
@project.reload
assert_equal NUM_REV, @repository.changesets.count
@repository.send(:clear_changesets)
assert_equal 1, @repository.extra_info.size
assert_equal "1", @repository.extra_info["extra_report_last_commit"]
end
def test_refetch_after_clear_changesets
assert_nil @repository.extra_info
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets
@project.reload
assert_equal NUM_REV, @repository.changesets.count
@repository.send(:clear_changesets)
@project.reload
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets
@project.reload
assert_equal NUM_REV, @repository.changesets.count
end
def test_parents
assert_equal 0, @repository.changesets.count
@repository.fetch_changesets