You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2001/08/13 12:53:45 UTC

cvs commit: embperl/test/html/sidurl getnourlsess.htm geturlsess.htm seturlsess.htm

richter     01/08/13 03:53:45

  Modified:    .        Embperl.pm epcmd.c epmain.c test.pl
               Embperl  Mail.pm
               test/cmp execgetsess.htm getsess.htm setsess.htm
               test/conf httpd.conf.src
               test/html getsess.htm setsess.htm
  Added:       test/cmp getnourlsess.htm geturlsess.htm seturlsess.htm
               test/html/sidurl getnourlsess.htm geturlsess.htm
                        seturlsess.htm
  Log:
  -
  
  Revision  Changes    Path
  1.168     +3 -7      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.167
  retrieving revision 1.168
  diff -u -r1.167 -r1.168
  --- Embperl.pm	2001/08/12 19:13:29	1.167
  +++ Embperl.pm	2001/08/13 10:53:44	1.168
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Embperl.pm,v 1.167 2001/08/12 19:13:29 richter Exp $
  +#   $Id: Embperl.pm,v 1.168 2001/08/13 10:53:44 richter Exp $
   #
   ###################################################################################
   
  @@ -681,7 +681,9 @@
       $$req{'filesmatch'}  = $ENV{EMBPERL_FILESMATCH}  if (exists ($ENV{EMBPERL_FILESMATCH})) ;
       $$req{'decline'}     = $ENV{EMBPERL_DECLINE}     if (exists ($ENV{EMBPERL_DECLINE})) ;
       $$req{'debug'}       = $ENV{EMBPERL_DEBUG}   || 0 ;
  +    $$req{'debug'} = oct($$req{'debug'}) if ($$req{'debug'} =~ /^0/) ; 
       $$req{'options'}     = $ENV{EMBPERL_OPTIONS} || 0 ;
  +    $$req{'options'} = oct($$req{'options'}) if ($$req{'options'} =~ /^0/) ; 
       $$req{'log'}         = $ENV{EMBPERL_LOG}     || $DefaultLog ;
       $$req{'path'}        = $ENV{EMBPERL_PATH}    || '' ;
   
  @@ -731,12 +733,6 @@
           { $req_rec = $$req{'req_rec'} }
       elsif (exists $INC{'Apache.pm'})
           { $req_rec = Apache->request }
  -
  -    if (exists $$req{'debug'})
  -	{ $$req{'debug'} = oct($$req{'debug'}) if ($$req{'debug'} =~ /^0/) ; }
  -    if (exists $$req{'options'})
  -	{ $$req{'options'} = oct($$req{'options'}) if ($$req{'options'} =~ /^0/) ; }
  -
   
       if (defined ($$req{'virtlog'}) && $$req{'virtlog'} eq $$req{'uri'})
           {
  
  
  
  1.45      +64 -10    embperl/epcmd.c
  
  Index: epcmd.c
  ===================================================================
  RCS file: /home/cvs/embperl/epcmd.c,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- epcmd.c	2001/08/10 14:06:42	1.44
  +++ epcmd.c	2001/08/13 10:53:44	1.45
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epcmd.c,v 1.44 2001/08/10 14:06:42 richter Exp $
  +#   $Id: epcmd.c,v 1.45 2001/08/13 10:53:44 richter Exp $
   #
   ###################################################################################*/
   
  @@ -82,8 +82,12 @@
   			/*in*/ const char *   sArg) ;
   static int HtmlIMG (/*i/o*/ register req * r,
   			/*in*/ const char *   sArg) ;
  +static int HtmlASRC (/*i/o*/ register req * r,
  +			/*in*/ const char *   sArg) ;
   static int HtmlForm (/*i/o*/ register req * r,
   			/*in*/ const char *   sArg) ;
  +static int HtmlEndform (/*i/o*/ register req * r,
  +			/*in*/ const char *   sArg) ;
   static int HtmlMeta (/*i/o*/ register req * r,
   			/*in*/ const char *   sArg) ;
   
  @@ -94,6 +98,7 @@
           /* cmdname    function        push pop  type         scan save no          disable            bHtml  */
           { "/dir",     HtmlEndtable,     0, 1, cmdTable,         0, 0, cnDir    , optDisableTableScan, 1 } ,
           { "/dl",      HtmlEndtable,     0, 1, cmdTable,         0, 0, cnDl     , optDisableTableScan, 1 } ,
  +        { "/form",    HtmlEndform,      0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "/menu",    HtmlEndtable,     0, 1, cmdTable,         0, 0, cnMenu   , optDisableTableScan, 1 } ,
           { "/ol",      HtmlEndtable,     0, 1, cmdTable,         0, 0, cnOl     , optDisableTableScan, 1 } ,
           { "/select",  HtmlEndtable,     0, 1, cmdTable,         0, 0, cnSelect , optDisableSelectScan, 1 } ,
  @@ -108,20 +113,20 @@
           { "do",       CmdDo,            1, 0, cmdDo,            0, 0, cnNop    , 0                  , 0 } ,
           { "else",     CmdElse,          0, 0, cmdIf,            0, 0, cnNop    , 0                  , 0 } ,
           { "elsif",    CmdElsif,         0, 0, cmdIf,            0, 0, cnNop    , 0                  , 0 } ,
  -        { "embed",    HtmlIMG,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
  +        { "embed",    HtmlASRC,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "endforeach", CmdEndforeach,  0, 1, cmdForeach,       0, 0, cnNop    , 0                  , 0 } ,
           { "endif",    CmdEndif,         0, 1, (enum tCmdType)(cmdIf | cmdEndif), 0, 0, cnNop    , 0,  0 } ,
           { "endsub",   CmdEndsub,        0, 1, cmdSub,           0, 0, cnNop    , 0                  , 0 } ,
           { "endwhile", CmdEndwhile,      0, 1, cmdWhile,         0, 0, cnNop    , 0                  , 0 } ,
           { "foreach",  CmdForeach,       1, 0, cmdForeach,       0, 1, cnNop    , 0                  , 0 } ,
           { "form",     HtmlForm,         0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
  -        { "frame",    HtmlIMG,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
  +        { "frame",    HtmlASRC,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "hidden",   CmdHidden,        0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 0 } ,
           { "if",       CmdIf,            1, 0, (enum tCmdType)(cmdIf | cmdEndif), 0, 0, cnNop    , 0,  0 } ,
  -        { "iframe",   HtmlIMG,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
  +        { "iframe",   HtmlASRC,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "img",      HtmlIMG,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "input",    HtmlInput,        0, 0, cmdNorm,          1, 0, cnNop    , optDisableInputScan, 1 } ,
  -        { "layer",    HtmlIMG,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
  +        { "layer",    HtmlASRC,          0, 0, cmdNorm,          0, 0, cnNop    , 0                  , 1 } ,
           { "menu",     HtmlTable,        1, 0, cmdTable,         1, 0, cnMenu   , optDisableTableScan, 1 } ,
           { "meta",     HtmlMeta,         0, 0, cmdNorm,          1, 0, cnNop    , optDisableMetaScan , 1 } ,
           { "ol",       HtmlTable,        1, 0, cmdTable,         1, 0, cnOl     , optDisableTableScan, 1 } ,
  @@ -1064,7 +1069,8 @@
   
   static int URLEscape   (/*i/o*/ register req * r,
   			/*in*/  const char *   sArg,
  -			/*in*/  const char *   sAttrName)
  +			/*in*/  const char *   sAttrName,
  +			/*in*/  int            bAppendSessionID)
       {
       int    rc ;
       char * pArgBuf  = NULL ;
  @@ -1128,7 +1134,7 @@
   	    oputs (r, pArgBuf) ;
   
   	    
  -	    if (r -> sSessionID)
  +	    if (bAppendSessionID && r -> sSessionID)
                   {
                   if (strchr(pArgBuf, '?'))
                       {
  @@ -1205,7 +1211,7 @@
       {
       EPENTRY (HtmlA) ;
   
  -    return URLEscape (r, sArg, "HREF") ;
  +    return URLEscape (r, sArg, "HREF", 1) ;
       }
   
   /* ---------------------------------------------------------------------------- */
  @@ -1220,10 +1226,25 @@
       {
       EPENTRY (HtmlIMG) ;
   
  -    return URLEscape (r, sArg, "SRC") ;
  +    return URLEscape (r, sArg, "SRC", 0) ;
       }
   
  +/* ---------------------------------------------------------------------------- */
  +/*                                                                              */
  +/* tag with SRC attribute...                                                    */
  +/*                                                                              */
  +/* ---------------------------------------------------------------------------- */
  +
   
  +static int HtmlASRC     (/*i/o*/ register req * r,
  +			/*in*/ const char *   sArg)
  +    {
  +    EPENTRY (HtmlASRC) ;
  +
  +    return URLEscape (r, sArg, "SRC", 1) ;
  +    }
  +
  +
   /* ---------------------------------------------------------------------------- */
   /*                                                                              */
   /* Form tag ...                                                                 */
  @@ -1236,7 +1257,40 @@
       {
       EPENTRY (HtmlForm) ;
   
  -    return URLEscape (r, sArg, "ACTION") ;
  +    return URLEscape (r, sArg, "ACTION", 0) ;
  +    }
  +
  +/* ---------------------------------------------------------------------------- */
  +/*                                                                              */
  +/* /Form tag ...                                                                 */
  +/*                                                                              */
  +/* ---------------------------------------------------------------------------- */
  +
  +
  +static int HtmlEndform (/*i/o*/ register req * r,
  +			/*in*/ const char *   sArg)
  +    {
  +    char * sid = r -> sSessionID ;
  +
  +    EPENTRY (HtmlFormEnd) ;
  +
  +
  +    if (sid)
  +        {
  +	char * val = strchr (sid, '=') ;
  +	if (val)
  +	    {
  +	    oputs(r, "<input type=\"hidden\" name=\"") ;
  +	    owrite(r, sid, val - sid) ;
  +	    val++ ;
  +	    oputs(r, "\" value=\"") ;
  +	    oputs (r, val) ;
  +	    oputs(r, "\">") ;
  +	    }
  +        }
  +
  +
  +    return ok ;
       }
   
   
  
  
  
  1.112     +31 -22    embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.111
  retrieving revision 1.112
  diff -u -r1.111 -r1.112
  --- epmain.c	2001/08/12 12:19:32	1.111
  +++ epmain.c	2001/08/13 10:53:44	1.112
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epmain.c,v 1.111 2001/08/12 12:19:32 richter Exp $
  +#   $Id: epmain.c,v 1.112 2001/08/13 10:53:44 richter Exp $
   #
   ###################################################################################*/
   
  @@ -479,32 +479,41 @@
               
                   if (nKey > 0 && (nVal > 0 || (r -> bOptions & optAllFormData)))
                       {
  -                    if (pVal > pKey)
  -                        pVal[-1] = '\0' ;
  +                    char * sid = r -> pConf -> sCookieName ;
  +		    if (sid)
  +			{ /* remove session id  */
  +			if (strncmp (pKey, sid, nKey) != 0)
  +			    sid = NULL ;
  +			}
  +
  +		    if (sid == NULL)
  +			{ /* field is not the session id */
  +			if (pVal > pKey)
  +			    pVal[-1] = '\0' ;
                       
  -                    if ((ppSV = hv_fetch (r -> pFormHash, pKey, nKey, 0)))
  -                        { /* Field exists already -> append separator and field value */
  -                        sv_catpvn (*ppSV, &r ->  pConf -> cMultFieldSep, 1) ;
  -                        sv_catpvn (*ppSV, pVal, nVal) ;
  -                        }
  -                    else
  -                        { /* New Field -> store it */
  -                        pSVV = newSVpv (pVal, nVal) ;
  -                        if (hv_store (r -> pFormHash, pKey, nKey, pSVV, 0) == NULL)
  -                            {
  -                            _free (r, pMem) ;
  -                            return rcHashError ;
  -                            }
  +			if ((ppSV = hv_fetch (r -> pFormHash, pKey, nKey, 0)))
  +			    { /* Field exists already -> append separator and field value */
  +			    sv_catpvn (*ppSV, &r ->  pConf -> cMultFieldSep, 1) ;
  +			    sv_catpvn (*ppSV, pVal, nVal) ;
  +			    }
  +			else
  +			    { /* New Field -> store it */
  +			    pSVV = newSVpv (pVal, nVal) ;
  +			    if (hv_store (r -> pFormHash, pKey, nKey, pSVV, 0) == NULL)
  +				{
  +				_free (r, pMem) ;
  +				return rcHashError ;
  +				}
   
  -			pSVK = newSVpv (pKey, nKey) ;
  +			    pSVK = newSVpv (pKey, nKey) ;
   
  -			av_push (r -> pFormArray, pSVK) ;
  -                        }
  +			    av_push (r -> pFormArray, pSVK) ;
  +			    }
   
                   
  -                    if (r -> bDebug & dbgForm)
  -                        lprintf (r, "[%d]FORM: %s=%s\n", r -> nPid, pKey, pVal) ; 
  -
  +			if (r -> bDebug & dbgForm)
  +			    lprintf (r, "[%d]FORM: %s=%s\n", r -> nPid, pKey, pVal) ; 
  +			}
                       }
                   pKey = pVal = p ;
                   nKey = nVal = 0 ;
  
  
  
  1.110     +66 -4     embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.109
  retrieving revision 1.110
  diff -u -r1.109 -r1.110
  --- test.pl	2001/06/03 18:15:45	1.109
  +++ test.pl	2001/08/13 10:53:44	1.110
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.109 2001/06/03 18:15:45 richter Exp $
  +#   $Id: test.pl,v 1.110 2001/08/13 10:53:44 richter Exp $
   #
   ###################################################################################
   
  @@ -500,6 +500,42 @@
           'query_info' => 'val=3',
           'cookie'     => 'expectnew,cookie=1234567890abcdefABCDEF',
           },
  +    'uidurl/seturlsess.htm' => { 
  +        'offline'    => 0,
  +        'query_info' => 'a=1',
  +        'cookie'     => 'expectnew,url',
  +        'aliasdir'   => 1,
  +        },
  +    'uidurl/getnourlsess.htm' => { 
  +        'offline'    => 0,
  +        'query_info' => 'nocookie=2',
  +        'cookie'     => 'nocookie,nosave,url',
  +        'aliasdir'   => 1,
  +        },
  +    'uidurl/geturlsess.htm' => {
  +        'offline'    => 0,
  +        'cookie'     => 'expectsame,url',
  +        'query_info' => 'foo=1',
  +        'aliasdir'   => 1,
  +        },
  +    'suidurl/seturlsess.htm' => { 
  +        'offline'    => 0,
  +        'query_info' => 'a=1',
  +        'cookie'     => 'expectnew,url,nocookie',
  +        'aliasdir'   => 1,
  +        },
  +    'suidurl/getnourlsess.htm' => { 
  +        'offline'    => 0,
  +        'query_info' => 'nocookie=2',
  +        'cookie'     => 'nocookie,nosave,url',
  +        'aliasdir'   => 1,
  +        },
  +    'suidurl/geturlsess.htm' => {
  +        'offline'    => 0,
  +        'cookie'     => 'url',
  +        'query_info' => 'foo=1',
  +        'aliasdir'   => 1,
  +        },
       'EmbperlObject/epopage1.htm' => {
           'offline'    => 0,
           'repeat'     => 2,
  @@ -1008,13 +1044,27 @@
   	{
   	$url = new URI::URL("http://$host:$port/$loc/$file?$query");
   
  +        if ($cookie && ($cookieaction =~ /url/) && !($cookieaction =~ /nocookie/) ) 
  +            {
  +            if ($url =~ /\?/)
  +                {
  +                $url .= "&$cookie" ;
  +                }
  +            else
  +                {
  +                $url .= "?$cookie" ;
  +                }
  +            $sendcookie = $cookie ;
  +            }
  +
  +        
   	$request = new HTTP::Request($content?'POST':'GET', $url);
           if ($cookieaction =~ /cookie=(.*?)$/)
               {
               $request -> header ('Cookie' => $1) ;
               $sendcookie = $1 ;
               }
  -        elsif ($cookie && !($cookieaction =~ /nocookie/)) 
  +        elsif ($cookie && !($cookieaction =~ /nocookie/) && !($cookieaction =~ /url/)) 
               {             
               $request -> header ('Cookie' => $cookie) ;
               $sendcookie = $cookie ;
  @@ -1044,7 +1094,16 @@
       print FH $response -> content ;
       close FH ;
   
  -    my $c = $response -> header ('Set-Cookie') || '' ;
  +    my $c ;
  +    if ($cookieaction =~ /url/)
  +        {
  +        $response -> content =~ /(EMBPERL_UID=.*?)\"/ ;
  +        $c = $1 || '' ;
  +        }
  +    else
  +        {
  +        $c = $response -> header ('Set-Cookie') || '' ;
  +        }
       $cookie = $c if (($c =~ /EMBPERL_UID/) && !($cookieaction =~ /nosave/)) ;  
       $cookie = undef if (($c =~ /EMBPERL_UID=;/) && !($cookieaction =~ /nosave/)) ;  
   
  @@ -1892,6 +1951,9 @@
   
       if (($loc ne '' && $err == 0 && $loopcnt == 0 && !$opt_nostart) || $opt_start || $opt_startinter)
   	{
  +
  +        system "kill `cat $tmppath/httpd.pid`  2> /dev/null" if (!$EPWIN32 && $opt_start) ;
  +
   	#### Configure httpd conf file
   	$EPDEBUG = $defaultdebug ;
   
  @@ -2075,7 +2137,7 @@
   		$upload = "f1=abc1\r\n&f2=1234567890&f3=" . 'X' x 8192 ;
   		}
   
  -            if (!$EPWIN32 && $loc eq $embploc && !($file =~ /notfound\.htm/))
  +            if (!$EPWIN32 && !$test -> {aliasdir} && $loc eq $embploc && !($file =~ /notfound\.htm/))
                   {
                   print "ERROR: Missing read permission for file $inpath/$file\n" if (!-r $page) ;
                   local $> = $httpduid ;
  
  
  
  1.32      +12 -10    embperl/Embperl/Mail.pm
  
  Index: Mail.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Mail.pm,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- Mail.pm	2001/02/13 05:39:40	1.31
  +++ Mail.pm	2001/08/13 10:53:45	1.32
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Mail.pm,v 1.31 2001/02/13 05:39:40 richter Exp $
  +#   $Id: Mail.pm,v 1.32 2001/08/13 10:53:45 richter Exp $
   #
   ###################################################################################
   
  @@ -32,7 +32,7 @@
   @ISA = qw(HTML::Embperl);
   
   
  -$VERSION = '1.3.1';
  +$VERSION = '1.3.4';
   
   
   
  @@ -108,20 +108,22 @@
           $smtp -> to (@$to, @$cc, @$bcc) ;
   
           $smtp->data() or die "smtp data failed" ;
  -        $smtp->datasend("Reply-To: $req->{'reply-to'}\n") or die "smtp data failed"  if ($req->{'reply-to'}) ;
  -        $smtp->datasend("From: $from\n") if ($from) ;
  -        $smtp->datasend("To: " . join (', ', @$to) . "\n")  or die "smtp datasend failed" ;
  -        $smtp->datasend("Cc: " . join (', ', @$cc) . "\n")  or die "smtp datasend failed" if ($req -> {'cc'}) ;
  -        $smtp->datasend("Subject: $req->{subject}\n") or die "smtp datasend failed" ;
  +        $smtp->datasend("Reply-To: $req->{'reply-to'}\r\n") or die "smtp data failed"  if ($req->{'reply-to'}) ;
  +        $smtp->datasend("From: $from\r\n") if ($from) ;
  +        $smtp->datasend("To: " . join (', ', @$to) . "�r\n")  or die "smtp datasend failed" ;
  +        $smtp->datasend("Cc: " . join (', ', @$cc) . "\r\n")  or die "smtp datasend failed" if ($req -> {'cc'}) ;
  +        $smtp->datasend("Subject: $req->{subject}\r\n") or die "smtp datasend failed" ;
           if (ref ($headers) eq 'ARRAY')
               {
               foreach (@$headers)
                   {
  -                $smtp->datasend("$_\n") or die "smtp datasend failed" ;
  +                $smtp->datasend("$_\r\n") or die "smtp datasend failed" ;
                   }
               }
  -        $smtp->datasend("\n")  or die "smtp datasend failed" ;
  -        $smtp->datasend($data)  or die "smtp datasend failed" ;
  +        $smtp->datasend("\r\n")  or die "smtp datasend failed" ;
  +	# make sure we have correct \r\n line endings
  +        $data =~ s/((?<!\r)\n)|(\r(?!\n))/\r\n/g ;
  +	$smtp->datasend($data)  or die "smtp datasend failed" ;
           $smtp->quit or die "smtp quit failed" ; 
           } ;
   
  
  
  
  1.4       +12 -0     embperl/test/cmp/execgetsess.htm
  
  Index: execgetsess.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/execgetsess.htm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- execgetsess.htm	1999/10/05 06:02:05	1.3
  +++ execgetsess.htm	2001/08/13 10:53:45	1.4
  @@ -53,6 +53,12 @@
   ^-			<td>.*?<\/td><td>HASH.*?<\/td>
   ^-		<\/tr>
   ^-	<\/table>
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
   
  @@ -119,6 +125,12 @@
   ^-			<td>.*?<\/td><td>HASH.*?<\/td>
   ^-		<\/tr>
   ^-	<\/table>
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
   
  
  
  
  1.5       +6 -0      embperl/test/cmp/getsess.htm
  
  Index: getsess.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/getsess.htm,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- getsess.htm	2000/09/11 09:53:34	1.4
  +++ getsess.htm	2001/08/13 10:53:45	1.5
  @@ -45,6 +45,12 @@
   ^-			<td>.*?<\/td><td>HASH.*?<\/td>
   ^-		</tr>
   ^-	</table>
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
   
  
  
  
  1.4       +6 -0      embperl/test/cmp/setsess.htm
  
  Index: setsess.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/setsess.htm,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- setsess.htm	1999/10/05 06:02:20	1.3
  +++ setsess.htm	2001/08/13 10:53:45	1.4
  @@ -29,6 +29,12 @@
   ^-			<td>.*?<\/td><td>HASH.*?<\/td>
   ^-		</tr>
   ^-	</table>
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
   
  
  
  
  1.1                  embperl/test/cmp/getnourlsess.htm
  
  Index: getnourlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  
  
  	fdat:<br>
  	<table>
  		<tr>
  			<td>nocookie</td><td>2</td>
  		</tr>
  	</table>
  
  	udat:<br>
  	<table></table>
  
  	ok (num=1)<p>
  
  	sessions:
  	<table></table>
  </body>
  </html>
  
  
  
  
  1.1                  embperl/test/cmp/geturlsess.htm
  
  Index: geturlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  	
  	fdat:<br>
  	<table>
  		<tr>
  			<td>foo</td><td>1</td>
  		</tr>
  	</table>
  
  	udat:<br>
  	<table>
  		<tr>
  			<td>a</td><td>1</td>
  		</tr>
  	</table>
  
  	ok (num=1)<p>
  
  	$mdat{cnt} = -- <br>
          $udat{cnt} = -- <br>
  
  
  	sessions:
  	<table></table>
  
  ^ 	<a href=\"cont\.htm\?EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  ^	<a href=\"cont.htm\?q=1&EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  ^	<a href=\"cont.htm\?q=1&b=2&EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  	<form action="cont.htm">
  ^	<input type=\"hidden\" name=\"EMBPERL_UID\" value=\"[a-f0-9]*?:[a-f0-9]+\"></form>
  
  </body>
  </html>
  
  
  
  
  1.1                  embperl/test/cmp/seturlsess.htm
  
  Index: seturlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  
  
  	fdat:<br>
  	<table>
  		<tr>
  			<td>a</td><td>1</td>
  		</tr>
  	</table>
  
  	udat:<br> 
  	<table></table>
  
  	ok (num=1)<p>
  
  	sessions:
  	<table></table>
  
  ^ 	<a href=\"cont\.htm\?EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  ^	<a href=\"cont.htm\?q=1&EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  ^	<a href=\"cont.htm\?q=1&b=2&EMBPERL_UID=[a-f0-9]*?:[a-f0-9]+\">continue</a>
  	<form action="cont.htm">
  ^	<input type=\"hidden\" name=\"EMBPERL_UID\" value=\"[a-f0-9]*?:[a-f0-9]+\"></form>
  
  </body>
  </html>
  
  
  
  
  1.42      +19 -1     embperl/test/conf/httpd.conf.src
  
  Index: httpd.conf.src
  ===================================================================
  RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
  retrieving revision 1.41
  retrieving revision 1.42
  diff -u -r1.41 -r1.42
  --- httpd.conf.src	2001/08/10 19:33:06	1.41
  +++ httpd.conf.src	2001/08/13 10:53:45	1.42
  @@ -118,6 +118,8 @@
   AddType text/html .htm
   AddType text/html .xhtm
   
  +Alias /embperl/uidurl/ \"$EPPATH/test/html/sidurl/\"
  +Alias /embperl/suidurl/ \"$EPPATH/test/html/sidurl/\"
   Alias /embperl/sub/ \"$EPPATH/test/html/\"
   Alias /embperl/ \"$EPPATH/test/html/\"
   Alias /embperl2/ \"$EPPATH/test/html2/\"
  @@ -429,13 +431,29 @@
   if ($EPSESSIONVERSION)
   	{
   print OFH <<EOD ;
  +
  +
   <Location /embperl/sidurl>
   SetHandler perl-script
   PerlHandler HTML::Embperl
   Options ExecCGI
  -#PerlSetEnv EMBPERL_OPTIONS 0x7000000
   PerlSetEnv EMBPERL_OPTIONS 0x6000000
   </Location>
  +
  +<Location /embperl/uidurl>
  +SetHandler perl-script
  +PerlHandler HTML::Embperl
  +Options ExecCGI
  +PerlSetEnv EMBPERL_OPTIONS 0x5000000
  +</Location>
  +
  +<Location /embperl/suidurl>
  +SetHandler perl-script
  +PerlHandler HTML::Embperl
  +Options ExecCGI
  +PerlSetEnv EMBPERL_OPTIONS 0x7000000
  +</Location>
  +
   EOD
   
          }
  
  
  
  1.9       +6 -0      embperl/test/html/getsess.htm
  
  Index: getsess.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/getsess.htm,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- getsess.htm	2001/03/27 12:27:53	1.8
  +++ getsess.htm	2001/08/13 10:53:45	1.9
  @@ -68,5 +68,11 @@
   		</tr>
   	</table>
   
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
  
  
  
  1.10      +7 -0      embperl/test/html/setsess.htm
  
  Index: setsess.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/setsess.htm,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- setsess.htm	1999/11/04 05:30:28	1.9
  +++ setsess.htm	2001/08/13 10:53:45	1.10
  @@ -47,5 +47,12 @@
   			<td>[+ $ks[$row] +]</td><td>[+ $s -> {$ks[$row] || ''} +]</td>
   		</tr>
   	</table>
  +
  +	<a href="cont.htm">continue</a>
  +	<a href="cont.htm?q=1">continue</a>
  +	<a href="cont.htm?q=1&b=2">continue</a>
  +	<form action="cont.htm">
  +	</form>
  +
   </body>
   </html>
  
  
  
  1.1                  embperl/test/html/sidurl/getnourlsess.htm
  
  Index: getnourlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  
  
  	fdat:<br>
  	[- @ks = sort keys %fdat -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $fdat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	udat:<br>
  	[- $off = 0 ; $off-- if ($HTML::Embperl::SessionMgnt == 2 && !defined (tied (%udat) -> getid)) ; -]
  	[- @ks = grep (!/^_/, sort (keys %udat)) ; $num = keys (%udat) - $#ks - 1 + $off ; -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $udat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	[+ $num > 0?"ok (num=$num)":"Not a session hash (num=$num)" +]<p>
  
  	[- 
  	while (($k, $v) = each (%fdat))
  		{
  		$udat{$k} = $fdat{$k} ;
  		}
  	-]
  
  
  
  	[- $s = $Apache::Session::Win32::sessions  || $Apache::Session::MemoryStore::store -]
  
  	[- @ks = sort keys %$s -]
  
  	sessions:
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $s -> {$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  </body>
  </html>
  
  
  
  1.1                  embperl/test/html/sidurl/geturlsess.htm
  
  Index: geturlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  	
  	[#
  	[- $s = $Apache::Session::Win32::sessions  || $Apache::Session::MemoryStore::store  -]
  	[- @ks = sort keys %$s -]
  	sessions:
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $sh = $s -> {$ks[$row] || ''} +]</td><td>[$if ref($sh) eq 'HASH' $][+ do { my @tmp = map { "$_ = $sh->{$_}" } keys (%$sh) ; join (', ', @tmp) } +][$endif$]</td>
  		</tr>
  	</table>
  
  		tied (%mdat) [+ $m = tied (%mdat) +]  <br>
  		ref          [+ ref ($m) +]  <br>
  		content      [+ do { my @tmp = map { "$_ = $mdat{$_}" } keys (%mdat) ; join (', ', @tmp) } +]  <br>
  		tied (%udat) [+ $u = tied (%udat) +]  <br>
  		ref          [+ ref ($u) +]  <br>
  		content      [+ do { my @tmp = map { "$_ = $udat{$_}" } keys (%udat) ; join (', ', @tmp) } +]  <br>
  
  	a=[+ scalar (do {$udat{'a'}}) +][+ $aa +]
  	#]
  
  	fdat:<br>
  	[- @ks = sort keys %fdat -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $fdat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	udat:<br>
  	[- $off = 0 ; $off-- if ($HTML::Embperl::SessionMgnt == 2 && !defined (tied (%udat) -> getid)) ; -]
  	[- @ks = grep (!/^_/, sort (keys %udat)) ; $num = keys (%udat) - $#ks - 1 + $off ; -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $udat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	[+ $num > 0?"ok (num=$num)":"Not a session hash (num=$num)" +]<p>
  
  	[- 
  	while (($k, $v) = each (%fdat))
  		{
  		$udat{$k} = $fdat{$k} ;
  		}
  	-]
  
  
          $mdat{cnt} = -[+ $mdat{cnt}  +]- <br>
          $udat{cnt} = -[+ $udat{cnt}  +]- <br>
  
  
  	[- $s = $Apache::Session::Win32::sessions  || $Apache::Session::MemoryStore::store  -]
  	[- @ks = sort keys %$s -]
  	sessions:
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $sh = $s -> {$ks[$row] || ''} +]</td><td>[$if ref($sh) eq 'HASH' $][+ do { my @tmp = map { "$_ = $sh->{$_}" } keys (%$sh) ; join (', ', @tmp) } +][$endif$]</td>
  		</tr>
  	</table>
  
  	<a href="cont.htm">continue</a>
  	<a href="cont.htm?q=1">continue</a>
  	<a href="cont.htm?q=1&b=2">continue</a>
  	<form action="cont.htm">
  	</form>
  
  </body>
  </html>
  
  
  
  1.1                  embperl/test/html/sidurl/seturlsess.htm
  
  Index: seturlsess.htm
  ===================================================================
  <html>
  <head>
  <title>Tests for Embperl - Set Session Data</title>
  </head>
  
  
  <body>
  
  
  	fdat:<br>
  	[- @ks = sort keys %fdat -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $fdat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	udat:<br> 
  	[- $off = 0 ; $off-- if ($HTML::Embperl::SessionMgnt == 2 && !defined (tied (%udat) -> getid)) ; -]
  	[- @ks = grep (!/^_/, sort (keys %udat)) ; $num = keys (%udat) - $#ks - 1 + $off -]
  
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $udat{$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	[+ $num > 0?"ok (num=$num)":"Not a session hash (num=$num)" +]<p>
  
  	[- 
  	while (($k, $v) = each (%fdat))
  		{
  		$udat{$k} = $fdat{$k} ;
  		}
  	-]
  
  
  
  	[- $s = $Apache::Session::MemoryStore::store || $Apache::Session::Win32::sessions  -]
  
  	[- @ks = sort keys %$s -]
  
  	sessions:
  	<table>
  		<tr>
  			<td>[+ $ks[$row] +]</td><td>[+ $s -> {$ks[$row] || ''} +]</td>
  		</tr>
  	</table>
  
  	<a href="cont.htm">continue</a>
  	<a href="cont.htm?q=1">continue</a>
  	<a href="cont.htm?q=1&b=2">continue</a>
  	<form action="cont.htm">
  	</form>
  
  </body>
  </html>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org