Thu Jan 14 15:07:28 2010 UTC ()
Fix a small problem by precious webrick security fix from Ruby's
repositry (r26281).

Also use COMPILER_RPATH_FLAG in Makefile.

Bump PKGREVISION.


(taca)
diff -r1.53 -r1.54 pkgsrc/lang/ruby18-base/Makefile
diff -r1.41 -r1.42 pkgsrc/lang/ruby18-base/distinfo
diff -r1.1 -r1.2 pkgsrc/lang/ruby18-base/patches/patch-dw
diff -r1.1 -r1.2 pkgsrc/lang/ruby18-base/patches/patch-dy

cvs diff -r1.53 -r1.54 pkgsrc/lang/ruby18-base/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/Attic/Makefile 2010/01/10 15:33:28 1.53
+++ pkgsrc/lang/ruby18-base/Attic/Makefile 2010/01/14 15:07:28 1.54
@@ -1,21 +1,21 @@ @@ -1,21 +1,21 @@
1# $NetBSD: Makefile,v 1.53 2010/01/10 15:33:28 taca Exp $ 1# $NetBSD: Makefile,v 1.54 2010/01/14 15:07:28 taca Exp $
2# 2#
3 3
4DISTNAME= ${RUBY_DISTNAME} 4DISTNAME= ${RUBY_DISTNAME}
5PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_SUFFIX} 5PKGNAME= ${RUBY_PKGPREFIX}-base-${RUBY_VERSION_SUFFIX}
6CATEGORIES= lang ruby 6CATEGORIES= lang ruby
7MASTER_SITES= ${MASTER_SITE_RUBY} 7MASTER_SITES= ${MASTER_SITE_RUBY}
8PKGREVISION= 3 8PKGREVISION= 4
9 9
10MAINTAINER= taca@NetBSD.org 10MAINTAINER= taca@NetBSD.org
11HOMEPAGE= ${RUBY_HOMEPAGE} 11HOMEPAGE= ${RUBY_HOMEPAGE}
12COMMENT= Ruby 1.8 based release minimum package 12COMMENT= Ruby 1.8 based release minimum package
13 13
14RUBY_VERSION= ${RUBY18_VERSION} 14RUBY_VERSION= ${RUBY18_VERSION}
15 15
16CONFLICTS= ${RUBY_PKGPREFIX}-dbm-[0-9]* \ 16CONFLICTS= ${RUBY_PKGPREFIX}-dbm-[0-9]* \
17 ${RUBY_PKGPREFIX}-digest-[0-9]* \ 17 ${RUBY_PKGPREFIX}-digest-[0-9]* \
18 ${RUBY_PKGPREFIX}-iconv-[0-9]* \ 18 ${RUBY_PKGPREFIX}-iconv-[0-9]* \
19 ${RUBY_PKGPREFIX}-openssl-[0-9]* \ 19 ${RUBY_PKGPREFIX}-openssl-[0-9]* \
20 ${RUBY_PKGPREFIX}-tcltk-[0-9]* 20 ${RUBY_PKGPREFIX}-tcltk-[0-9]*
21 21
@@ -25,27 +25,27 @@ USE_LANGUAGES= c @@ -25,27 +25,27 @@ USE_LANGUAGES= c
25USE_TOOLS+= pax yacc 25USE_TOOLS+= pax yacc
26GNU_CONFIGURE= yes 26GNU_CONFIGURE= yes
27TEST_TARGET= test 27TEST_TARGET= test
28CONFIGURE_ARGS+= --enable-shared \ 28CONFIGURE_ARGS+= --enable-shared \
29 --with-ssl-include="${BUILDLINK_PREFIX.openssl}/include" \ 29 --with-ssl-include="${BUILDLINK_PREFIX.openssl}/include" \
30 --with-ssl-lib="${BUILDLINK_PREFIX.openssl}/lib" 30 --with-ssl-lib="${BUILDLINK_PREFIX.openssl}/lib"
31CONFIGURE_ENV+= PREFIX=${PREFIX} 31CONFIGURE_ENV+= PREFIX=${PREFIX}
32WRKSRC= ${RUBY_WRKSRC} 32WRKSRC= ${RUBY_WRKSRC}
33 33
34.include "../../mk/compiler.mk" 34.include "../../mk/compiler.mk"
35 35
36.if !empty(PKGSRC_COMPILER:Msunpro) 36.if !empty(PKGSRC_COMPILER:Msunpro)
37LIBS.SunOS+= -B static -lsunmath -B dynamic -lm 37LIBS.SunOS+= -B static -lsunmath -B dynamic -lm
38LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib -Wl,-R${SUNWSPROBASE}/lib 38LDFLAGS.SunOS+= -L${SUNWSPROBASE}/lib ${COMPILER_RPATH_FLAG}${SUNWSPROBASE}/lib
39CONFIGURE_ENV+= LDSHARED="${CC} -G" 39CONFIGURE_ENV+= LDSHARED="${CC} -G"
40.else 40.else
41LIBS.SunOS+= -lm 41LIBS.SunOS+= -lm
42.endif 42.endif
43 43
44# Ruby build process depends on config.status's content 44# Ruby build process depends on config.status's content
45CONFIG_STATUS_OVERRIDE= # empty 45CONFIG_STATUS_OVERRIDE= # empty
46 46
47MAKE_DIRS+= ${RUBY_SITERIDIR} 47MAKE_DIRS+= ${RUBY_SITERIDIR}
48FILES_SUBST+= DATE=${DATE:Q} 48FILES_SUBST+= DATE=${DATE:Q}
49 49
50.include "options.mk" 50.include "options.mk"
51 51

cvs diff -r1.41 -r1.42 pkgsrc/lang/ruby18-base/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/Attic/distinfo 2010/01/10 15:33:28 1.41
+++ pkgsrc/lang/ruby18-base/Attic/distinfo 2010/01/14 15:07:28 1.42
@@ -1,27 +1,27 @@ @@ -1,27 +1,27 @@
1$NetBSD: distinfo,v 1.41 2010/01/10 15:33:28 taca Exp $ 1$NetBSD: distinfo,v 1.42 2010/01/14 15:07:28 taca Exp $
2 2
3SHA1 (ruby-1.8.7-p174.tar.bz2) = 9e84b49ad545ad54b8e7dc3c227eaaefeb1041aa 3SHA1 (ruby-1.8.7-p174.tar.bz2) = 9e84b49ad545ad54b8e7dc3c227eaaefeb1041aa
4RMD160 (ruby-1.8.7-p174.tar.bz2) = f854d456003af1e31d50330c88c3cb152c434249 4RMD160 (ruby-1.8.7-p174.tar.bz2) = f854d456003af1e31d50330c88c3cb152c434249
5Size (ruby-1.8.7-p174.tar.bz2) = 4144807 bytes 5Size (ruby-1.8.7-p174.tar.bz2) = 4144807 bytes
6SHA1 (patch-aa) = 88e4a338c4ca40b32f9e3748eb825769631c3e76 6SHA1 (patch-aa) = 88e4a338c4ca40b32f9e3748eb825769631c3e76
7SHA1 (patch-ab) = 93a3dc95ee5e5cd6c7584240a285fa39b6f21efd 7SHA1 (patch-ab) = 93a3dc95ee5e5cd6c7584240a285fa39b6f21efd
8SHA1 (patch-ac) = 77c3ba81bb65d13475bf7ea64328fbc35fe788bf 8SHA1 (patch-ac) = 77c3ba81bb65d13475bf7ea64328fbc35fe788bf
9SHA1 (patch-bd) = fb1a6a6724210c2fd84464d028932e78890ad7da 9SHA1 (patch-bd) = fb1a6a6724210c2fd84464d028932e78890ad7da
10SHA1 (patch-be) = 79cd592267068820fa2225242034819ba38aa0b1 10SHA1 (patch-be) = 79cd592267068820fa2225242034819ba38aa0b1
11SHA1 (patch-dj) = 436c3c0704b878427d947b2e27e5ce0a057eebeb 11SHA1 (patch-dj) = 436c3c0704b878427d947b2e27e5ce0a057eebeb
12SHA1 (patch-dk) = 2d436ac4089aa7d818b337de81f405fc5836c9af 12SHA1 (patch-dk) = 2d436ac4089aa7d818b337de81f405fc5836c9af
13SHA1 (patch-dl) = 687803dc966594479467fc4b5e7bd45e767daa2b 13SHA1 (patch-dl) = 687803dc966594479467fc4b5e7bd45e767daa2b
14SHA1 (patch-dm) = ab3063fecee241420a66d5d6f4ef8bf37440e70d 14SHA1 (patch-dm) = ab3063fecee241420a66d5d6f4ef8bf37440e70d
15SHA1 (patch-dn) = f63e0cb7dbd86b4a2c022156fddd22c1ccdd5666 15SHA1 (patch-dn) = f63e0cb7dbd86b4a2c022156fddd22c1ccdd5666
16SHA1 (patch-do) = f9eda9e784da02dff203fd47e8f1ee6871a6a9d4 16SHA1 (patch-do) = f9eda9e784da02dff203fd47e8f1ee6871a6a9d4
17SHA1 (patch-dp) = 0b50909072159937c62944a38763fd18ce3181db 17SHA1 (patch-dp) = 0b50909072159937c62944a38763fd18ce3181db
18SHA1 (patch-dq) = f5a605c49afb29b2c3963a82d844ff4cdf3a8846 18SHA1 (patch-dq) = f5a605c49afb29b2c3963a82d844ff4cdf3a8846
19SHA1 (patch-dr) = e0fa1dc8674c6412d73bc4ccd2cfc8b4acad744a 19SHA1 (patch-dr) = e0fa1dc8674c6412d73bc4ccd2cfc8b4acad744a
20SHA1 (patch-ds) = 5344a63980b88d83e279cee50398312b90d5c2da 20SHA1 (patch-ds) = 5344a63980b88d83e279cee50398312b90d5c2da
21SHA1 (patch-dt) = 3dd34a91cbffcb8e432d926c9490372f238e7f2e 21SHA1 (patch-dt) = 3dd34a91cbffcb8e432d926c9490372f238e7f2e
22SHA1 (patch-du) = 55f021e2eb780743e35ecf70141f7738b04f4b62 22SHA1 (patch-du) = 55f021e2eb780743e35ecf70141f7738b04f4b62
23SHA1 (patch-dv) = 25e779444c16717c7aaf800ebf68988878ed636f 23SHA1 (patch-dv) = 25e779444c16717c7aaf800ebf68988878ed636f
24SHA1 (patch-dw) = 4937ee0f2b79cfc93f378b415d1a81cbf997b8d4 24SHA1 (patch-dw) = 51ad1f521713af85be9ae192049930285e89be41
25SHA1 (patch-dx) = d25267d700f997b951a65c016f45347a8b1a1517 25SHA1 (patch-dx) = d25267d700f997b951a65c016f45347a8b1a1517
26SHA1 (patch-dy) = 6c2f978b1803d2939377a4904cfc71e71a3b5fea 26SHA1 (patch-dy) = 7c57240a1447346c8e6f2e4e9c7104b1a7d9dbc9
27SHA1 (patch-dz) = 52af1fbf17b6e6df6112d08c291215d54a25af67 27SHA1 (patch-dz) = 52af1fbf17b6e6df6112d08c291215d54a25af67

cvs diff -r1.1 -r1.2 pkgsrc/lang/ruby18-base/patches/Attic/patch-dw (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/patches/Attic/patch-dw 2010/01/10 15:33:28 1.1
+++ pkgsrc/lang/ruby18-base/patches/Attic/patch-dw 2010/01/14 15:07:28 1.2
@@ -1,27 +1,27 @@ @@ -1,27 +1,27 @@
1$NetBSD: patch-dw,v 1.1 2010/01/10 15:33:28 taca Exp $ 1$NetBSD: patch-dw,v 1.2 2010/01/14 15:07:28 taca Exp $
2 2
3webrick security fix. 3webrick security fix.
4 4
5http://www.ruby-lang.org/en/news/2010/01/10/webrick-escape-sequence-injection/ 5http://www.ruby-lang.org/en/news/2010/01/10/webrick-escape-sequence-injection/
6 6
7--- lib/webrick/accesslog.rb.orig 2007-02-12 23:01:19.000000000 +0000 7--- lib/webrick/accesslog.rb.orig 2007-02-12 23:01:19.000000000 +0000
8+++ lib/webrick/accesslog.rb 8+++ lib/webrick/accesslog.rb
9@@ -53,15 +53,23 @@ module WEBrick 9@@ -53,15 +53,23 @@ module WEBrick
10 when ?e, ?i, ?n, ?o 10 when ?e, ?i, ?n, ?o
11 raise AccessLogError, 11 raise AccessLogError,
12 "parameter is required for \"#{spec}\"" unless param 12 "parameter is required for \"#{spec}\"" unless param
13- params[spec][param] || "-" 13- params[spec][param] || "-"
14+ param = params[spec][param] ? escape(param) : "-" 14+ (param = params[spec][param]) ? escape(param) : "-"
15 when ?t 15 when ?t
16 params[spec].strftime(param || CLF_TIME_FORMAT) 16 params[spec].strftime(param || CLF_TIME_FORMAT)
17 when ?% 17 when ?%
18 "%" 18 "%"
19 else 19 else
20- params[spec] 20- params[spec]
21+ escape(params[spec].to_s) 21+ escape(params[spec].to_s)
22 end 22 end
23 } 23 }
24 end 24 end
25+ 25+
26+ def escape(data) 26+ def escape(data)
27+ if data.tainted? 27+ if data.tainted?

cvs diff -r1.1 -r1.2 pkgsrc/lang/ruby18-base/patches/Attic/patch-dy (expand / switch to unified diff)

--- pkgsrc/lang/ruby18-base/patches/Attic/patch-dy 2010/01/10 15:33:28 1.1
+++ pkgsrc/lang/ruby18-base/patches/Attic/patch-dy 2010/01/14 15:07:28 1.2
@@ -1,49 +1,50 @@ @@ -1,49 +1,50 @@
1$NetBSD: patch-dy,v 1.1 2010/01/10 15:33:28 taca Exp $ 1$NetBSD: patch-dy,v 1.2 2010/01/14 15:07:28 taca Exp $
2 2
3webrick security fix. 3webrick security fix.
4 4
5http://www.ruby-lang.org/en/news/2010/01/10/webrick-escape-sequence-injection/ 5http://www.ruby-lang.org/en/news/2010/01/10/webrick-escape-sequence-injection/
6 6
7--- lib/webrick/httpstatus.rb.orig 2007-02-12 23:01:19.000000000 +0000 7--- lib/webrick/httpstatus.rb.orig 2007-02-12 23:01:19.000000000 +0000
8+++ lib/webrick/httpstatus.rb 8+++ lib/webrick/httpstatus.rb
9@@ -12,7 +12,17 @@ module WEBrick 9@@ -12,7 +12,18 @@ module WEBrick
10  10
11 module HTTPStatus 11 module HTTPStatus
12  12
13- class Status < StandardError; end 13- class Status < StandardError; end
14+ class Status < StandardError 14+ class Status < StandardError
15+ def initialize(message=self.class, *rest) 15+ def initialize(*args)
16+ super(AccessLog.escape(message), *rest) 16+ args[0] = AccessLog.escape(args[0]) unless args.empty?
 17+ super(*args)
17+ end 18+ end
18+ class << self 19+ class << self
19+ attr_reader :code, :reason_phrase 20+ attr_reader :code, :reason_phrase
20+ end 21+ end
21+ def code() self::class::code end 22+ def code() self::class::code end
22+ def reason_phrase() self::class::reason_phrase end 23+ def reason_phrase() self::class::reason_phrase end
23+ alias to_i code 24+ alias to_i code
24+ end 25+ end
25 class Info < Status; end 26 class Info < Status; end
26 class Success < Status; end 27 class Success < Status; end
27 class Redirect < Status; end 28 class Redirect < Status; end
28@@ -68,6 +78,7 @@ module WEBrick 29@@ -68,6 +79,7 @@ module WEBrick
29 CodeToError = {} 30 CodeToError = {}
30  31
31 StatusMessage.each{|code, message| 32 StatusMessage.each{|code, message|
32+ message.freeze 33+ message.freeze
33 var_name = message.gsub(/[ \-]/,'_').upcase 34 var_name = message.gsub(/[ \-]/,'_').upcase
34 err_name = message.gsub(/[ \-]/,'') 35 err_name = message.gsub(/[ \-]/,'')
35  36
36@@ -79,18 +90,12 @@ module WEBrick 37@@ -79,18 +91,12 @@ module WEBrick
37 when 500...600; parent = ServerError 38 when 500...600; parent = ServerError
38 end 39 end
39  40
40- eval %- 41- eval %-
41- RC_#{var_name} = #{code} 42- RC_#{var_name} = #{code}
42- class #{err_name} < #{parent} 43- class #{err_name} < #{parent}
43- def self.code() RC_#{var_name} end 44- def self.code() RC_#{var_name} end
44- def self.reason_phrase() StatusMessage[code] end 45- def self.reason_phrase() StatusMessage[code] end
45- def code() self::class::code end  46- def code() self::class::code end
46- def reason_phrase() self::class::reason_phrase end 47- def reason_phrase() self::class::reason_phrase end
47- alias to_i code 48- alias to_i code
48- end 49- end
49- - 50- -