Subject: | corrected: IPv6 CGI forms issue |
Date: | Mon, 9 Aug 2010 14:29:57 -0500 |
To: | <bug-cgi [...] rt.cpan.org> |
From: | Robert Davis <robert-davis [...] uiowa.edu> |
bug-folk:
I have some simple perl scripts that use the most basic functions of
the CGI module. I have many scripts that present simple forms to a
users to collect basic input and then generate graphs or present
requested data from mysql databases. Very basic stuff. These
scripts have been run for years in both MS windows and Linux environments.
Recently we have begun to implement IPv6 on our campus and I began to
make these scripts available from IPv6. Currently I am having some
trouble in the following environment:
o OS: Windows 2008 server 32bit
o HTTPd : IIS7
o Perl : v5.10.1 built for MSWin32-x86-multi-thread Binary build
1006 [291086] provided by ActiveState
CGI Handle Common Gateway Interface requests and responses
Version: 3.45
Released: 2009-08-14
o Bowser: Firefox 3.68 on Windows 7 host
Static pages and some CGI applications (rrdcgi as part of the
rrdtools stuff) all work from IPv6 so I think the security and
modular stuff from IIS7 are all OK w/r IPv6. What I think is
happening is that the "action" as presented in the form output is a
problem with the browser when using the IPv6 address format.
Not really sure if this is a ActiveState-perl, CGI module problem or
poor understanding of script creator (me). Sorry if this is a silly
question but any help would be greatly appreciated.
-Robert
https://[fd9a:2c75:7d0c:1006::10]:8124/tools/dc-port-attribs.pl?switchANDport=lc-6@1/13
<<- works
https://%5Bfd9a:2c75:7d0c:1006::10%5D:8121/tools/dc-port-attribs.pl?switchANDport=lc-6@1/13
<<-does not work
### basic script
if (param())
{ # the form has already been filled out
#do stuff here
} # the form has already been filled out
else { #first time through
print h1("data center ethernet device port attributes");
print hr();
print start_form();
print p("Enter the device and port of interest.");
print p("use format rtr-jh | rtr-jh-2 | ucc-1 | lc-8 | lc-x \@
card/port | PoX , examples -> rtr-jh-2\@4/5 or lc-8\@Po3");
print p(textfield(-name=>"switchANDport", -default=>'',
-size=>30, -maxlength=>40));
print p(submit("submit"));
print end_form(), hr();
} #first time through
### basic script
form output
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Get DC port attributes</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<h1>data center ethernet device port attributes</h1><hr /><form
method="post"
action="https://%5Bfd9a:2c75:7d0c:1006::10%5D:8121/tools/dc-port-attribs.pl"
enctype="multipart/form-data">
<p>Enter the device and port of interest.</p><p>use format rtr-jh |
rtr-jh-2 | ucc-1 | lc-8 | lc-x @ card/port | PoX , examples ->
rtr-jh-2@4/5 or lc-8@Po3</p><p><input type="text"
name="switchANDport" size="30" maxlength="40" /></p><p><input
type="submit" name="submit" value="submit" /></p></form><hr />
</body>
</html>
-------------------------------------------------------
Robert Davis
Network Engineering Group, ITS
University of Iowa
(319) 335-5603 voice
(319) 335-2951 fax
robert-davis@uiowa.edu
-------------------------------------------------------