View | Details | Raw Unified | Return to bug 53386
Collapse All | Expand All

(-)url.cgi (-6 / +17 lines)
Lines 69-83 Link Here
69
    print &short_html_header($file);
69
    print &short_html_header($file);
70
}
70
}
71
71
72
my $validfilename = $file =~ m%^ports/[\w-]+/\w[\w-+.]*/pkg-descr%;
73
my $atticfile = $file;
74
$atticfile =~ s%^(.*)/([^/]+)$%$1/Attic/$2%;
75
72
# do cvs checkout 
76
# do cvs checkout 
73
my($cvsroot) = '/usr/local/www/cvsroot/FreeBSD';
77
my($cvsroot) = '/usr/local/www/cvsroot/FreeBSD';
74
if ($file =~ m%^ports/[\w-]+/\w[\w-+.]*/pkg-descr% && -f "$cvsroot/$file,v") {
78
my $realfile;
75
    open(CO, "-|") || 
79
if ($validfilename && -f "$cvsroot/$file,v") {
76
	exec ('/usr/bin/co', '-p', '-q', "$cvsroot/$file,v") ||
80
    $realfile = $file;
77
	die "exec co -pq $cvsroot/$file,v: $!\n";
81
} elsif ($validfilename && -f "$cvsroot/$atticfile,v") {
78
} 
82
    $realfile = $atticfile;
83
} else {
84
    $validfilename = 0;
85
}
79
86
80
else {
87
if($validfilename) {
88
    open(CO, "-|") ||
89
	exec ('/usr/bin/co', '-p', '-q', "$cvsroot/$realfile,v") ||
90
	die "exec co -pq $cvsroot/$realfile,v: $!\n";
91
} else {
81
    print "<p>The port specified does not exist, or has an invalid name: <p>",
92
    print "<p>The port specified does not exist, or has an invalid name: <p>",
82
	  "<blockquote>$file</blockquote>\n";
93
	  "<blockquote>$file</blockquote>\n";

Return to bug 53386