#!/usr/bin/perl -w # -*- perl -*- use P4CGI ; use strict ; # ################################################################# # CONFIGURATION INFORMATION # All config info should be in P4CGI.pm # ################################################################# # # P4 special file viewer for HTML, JPEG and GIF files # View a "special" file # ################################################################# use viewConfig ; $| = 1 ; # Turn output buffering off # Get type arg my $type = P4CGI::cgi()->param("TYPE") ; &P4CGI::bail("No file type specified") unless defined $type ; # Get file spec argument my $file = P4CGI::cgi()->param("FSPC") ; &P4CGI::bail("No file specified") unless defined $file ; $file = &P4CGI::htmlEncode($file) ; # protect against malicious parameters my $revision = P4CGI::cgi()->param("REV") ; $revision = "#$revision" if defined $revision ; $revision="" unless defined $revision ; my ($url,$desc,$content,$about) = @{$viewConfig::TypeData{$type}} ; &P4CGI::bail("Undefined type code") unless defined $url ; my $filename=$file ; $filename =~ s/^.*\///; print "Content-Type: $content\n", "Content-Disposition: filename=$filename\n", "\n" ; local *P4 ; &P4CGI::p4call( *P4, "print -q \"$file$revision\"" ); while(<P4>) { print ; } ; # # That's all folks #
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#2 | 4306 | Fredric Fredricson |
P4DB: Hardened P4DB against malicious parameters (cross site scripting), performed some cleanup and increased version to 3.1.1. |
||
#1 | 1638 | Fredric Fredricson | P4DB: Added all (I think) files for P4DB |