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 2003/01/07 21:43:01 UTC

cvs commit: embperl/test/conf httpd.conf.src

richter     2003/01/07 12:43:01

  Modified:    .        Changes.pod Embperl.pm IntroEmbperl2.pod epchar.c
                        epchar.c.iso-latin-2 epchar.c.min mod_embperl.c
               Embperl  Mail.pm
               Embperl/Syntax Mail.pm
               eg/web   menuleft.epl
               eg/web/db epwebapp.pl updateditem.mail
               test/conf httpd.conf.src
  Log:
  - keep spaces in mail:send
  - encode headers in Embperl::Mail
  - don't escape : in urls
  
  Revision  Changes    Path
  1.195     +3 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.194
  retrieving revision 1.195
  diff -u -r1.194 -r1.195
  --- Changes.pod	2 Jan 2003 07:39:43 -0000	1.194
  +++ Changes.pod	7 Jan 2003 20:42:59 -0000	1.195
  @@ -51,6 +51,9 @@
      - Fix make test to ignore different idention of newer versions of
        libxslt.
      - Added server_addr to the request param object.
  +   - Keep spaces and newlines in <mail:send> tag.
  +   - Embperl::Mail now encodes all header fields that contains characters between
  +     128 and 255. Use headerencoding parameter to turn of or tell Embperl your charset.
   
   =head1 2.0b8  (BETA)  25. Juni 2002
   
  
  
  
  1.180     +2 -2      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.179
  retrieving revision 1.180
  diff -u -r1.179 -r1.180
  --- Embperl.pm	15 Nov 2002 06:17:36 -0000	1.179
  +++ Embperl.pm	7 Jan 2003 20:42:59 -0000	1.180
  @@ -46,7 +46,7 @@
   
   @ISA = qw(Exporter DynaLoader);
   
  -$VERSION = '2.0b9_dev-5' ;
  +$VERSION = '2.0b9_dev-6' ;
   
   
   if ($modperl  = $ENV{MOD_PERL})
  
  
  
  1.2       +1 -1      embperl/IntroEmbperl2.pod
  
  Index: IntroEmbperl2.pod
  ===================================================================
  RCS file: /home/cvs/embperl/IntroEmbperl2.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- IntroEmbperl2.pod	20 Nov 2002 06:56:26 -0000	1.1
  +++ IntroEmbperl2.pod	7 Jan 2003 20:42:59 -0000	1.2
  @@ -695,7 +695,7 @@
   format and run an XSL-transformation
   to make it look nicely into your layout.
   
  -=head1 Finaly
  +=head1 Finally
   
   This text has only touched some of the most important features
   of Embperl, but should have give you an impression of what is
  
  
  
  1.18      +4 -2      embperl/epchar.c
  
  Index: epchar.c
  ===================================================================
  RCS file: /home/cvs/embperl/epchar.c,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- epchar.c	22 Oct 2002 05:29:04 -0000	1.17
  +++ epchar.c	7 Jan 2003 20:42:59 -0000	1.18
  @@ -351,7 +351,9 @@
           { '7' ,   ""         },    /* 	&#55;		Digit 7  */
           { '8' ,   ""         },    /* 	&#56;		Digit 8  */
           { '9' ,   ""         },    /* 	&#57;		Digit 9  */
  -        { ':' ,   "%3A"      },    /* 	&#58;		Colon  */
  +/* We should escape this according to the rfc, but this would make troubles inside
  +   of urls, so will don' escape it        { ':' ,   "%3A"      },    /* 	&#58;		Colon  */
  +        { ':' ,   ""      },    /* 	&#58;		Colon  */
           { ';' ,   "%3B"      },    /* 	&#59;		Semicolon  */
           { '<' ,   "%3C"      },    /* 	Less than  */
           { '=' ,   "%3D"      },    /* 	&#61;		Equals sign  */
  
  
  
  1.7       +4 -1      embperl/epchar.c.iso-latin-2
  
  Index: epchar.c.iso-latin-2
  ===================================================================
  RCS file: /home/cvs/embperl/epchar.c.iso-latin-2,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- epchar.c.iso-latin-2	22 Oct 2002 05:29:04 -0000	1.6
  +++ epchar.c.iso-latin-2	7 Jan 2003 20:42:59 -0000	1.7
  @@ -349,7 +349,10 @@
           { '7' ,   ""         },    /* 	&#55;		Digit 7  */
           { '8' ,   ""         },    /* 	&#56;		Digit 8  */
           { '9' ,   ""         },    /* 	&#57;		Digit 9  */
  -        { ':' ,   "%3A"      },    /* 	&#58;		Colon  */
  +/* We should escape this according to the rfc, but this would make troubles inside
  +   of urls, so will don' escape it   
  +        { ':' ,   "%3A"      },   */ /* 	&#58;		Colon  */
  +        { ':' ,   ""      },    /* 	&#58;		Colon  */
           { ';' ,   "%3B"      },    /* 	&#59;		Semicolon  */
           { '<' ,   "%3C"      },    /* 	Less than  */
           { '=' ,   "%3D"      },    /* 	&#61;		Equals sign  */
  
  
  
  1.6       +4 -1      embperl/epchar.c.min
  
  Index: epchar.c.min
  ===================================================================
  RCS file: /home/cvs/embperl/epchar.c.min,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- epchar.c.min	22 Oct 2002 05:29:05 -0000	1.5
  +++ epchar.c.min	7 Jan 2003 20:42:59 -0000	1.6
  @@ -353,7 +353,10 @@
           { '7' ,   ""         },    /* 	&#55;		Digit 7  */
           { '8' ,   ""         },    /* 	&#56;		Digit 8  */
           { '9' ,   ""         },    /* 	&#57;		Digit 9  */
  -        { ':' ,   "%3A"      },    /* 	&#58;		Colon  */
  +/* We should escape this according to the rfc, but this would make troubles inside
  +   of urls, so will don' escape it   
  +        { ':' ,   "%3A"      },   */ /* 	&#58;		Colon  */
  +        { ':' ,   ""      },    /* 	&#58;		Colon  */
           { ';' ,   "%3B"      },    /* 	&#59;		Semicolon  */
           { '<' ,   "%3C"      },    /* 	Less than  */
           { '=' ,   "%3D"      },    /* 	&#61;		Equals sign  */
  
  
  
  1.5       +9 -7      embperl/mod_embperl.c
  
  Index: mod_embperl.c
  ===================================================================
  RCS file: /home/cvs/embperl/mod_embperl.c,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- mod_embperl.c	2 Jan 2003 07:39:44 -0000	1.4
  +++ mod_embperl.c	7 Jan 2003 20:43:00 -0000	1.5
  @@ -926,6 +926,7 @@
       struct addcookie s ;
       char buf[20] ;
       char * scheme ;
  +    short  port ;
   
       s.pApp = a ;
       s.pParam = pParam ;
  @@ -949,26 +950,27 @@
       ap_table_do (embperl_AddCookie, &s, r -> headers_in, "Cookie", NULL) ;
   
       buf[0] = '\0' ;
  +    port   = ntohs(r -> connection -> local_addr.sin_port) ;
   #ifdef EAPI
       if (ap_ctx_get (r -> connection -> client -> ctx, "ssl"))
           {
   	scheme = "https" ;
  -	if (r -> server -> port != 443)
  -	    sprintf (buf, ":%d", r -> server -> port) ;
  +	if (port != 443)
  +	    sprintf (buf, ":%d", port) ;
   	}
       else
   #endif
           {
   	scheme = "http" ;
  -	if (r -> server -> port != 80)
  -	    sprintf (buf, ":%d", r -> server -> port) ;
  +	if (port != 80)
  +	    sprintf (buf, ":%d", port) ;
   	}
   
   
       pParam -> sServerAddr = ep_pstrcat (pPool, scheme, "://", 
  -		    r -> hostname?r -> hostname:r -> server -> server_hostname, buf,  "//", NULL) ;
  +		    r -> hostname?r -> hostname:r -> server -> server_hostname, buf, NULL) ;
  +
   
  -    
       return ok ;
       }
   
  
  
  
  1.35      +36 -8     embperl/Embperl/Mail.pm
  
  Index: Mail.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Mail.pm,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- Mail.pm	22 Oct 2002 05:29:09 -0000	1.34
  +++ Mail.pm	7 Jan 2003 20:43:00 -0000	1.35
  @@ -33,7 +33,25 @@
   @ISA = qw(Embperl);
   
   
  -$VERSION = '2.0b7';
  +$VERSION = '2.0b9';
  +
  +
  +sub _quote_hdr
  +    {
  +    my $chunk    = shift;
  +    my $encoding = shift ;
  +
  +    return $chunk unless ($encoding && ($chunk =~ /[\x80-\xff]/)) ;
  +
  +    $chunk =~ s{
  +		([^0-9A-Za-z])
  +	       }{
  +		   join("" => map {sprintf "=%02X", $_} unpack("C*", $1))
  +	       }egox;
  +    return "=?$encoding?Q?$chunk?=";
  +    }
  +
  +
   
   
   
  @@ -112,20 +130,22 @@
               @$bcc = split (/\s*;\s*/, $req -> {'bcc'}) if ($req -> {'bcc'}) ;
               }
   
  +        my $enc     = $req->{headerencoding} || 'iso-8859-1';
           my $headers = $req->{mailheaders} ;        
           $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: " . _quote_hdr($req->{'reply-to'}, $enc) . "\n") or die "smtp data failed"  if ($req->{'reply-to'}) ;
  +        $smtp->datasend("From: " . _quote_hdr($from, $enc) . "\n") if ($from) ;
  +        $smtp->datasend("To: " . _quote_hdr(join (', ', @$to), $enc) . "\n")  or die "smtp datasend failed" ;
  +        $smtp->datasend("Cc: " . _quote_hdr(join (', ', @$cc), $enc) . "\n")  or die "smtp datasend failed" if ($req -> {'cc'}) ;
  +        $smtp->datasend("Subject: " . _quote_hdr($req->{subject}, $enc) . "\n") or die "smtp datasend failed" ;
           if (ref ($headers) eq 'ARRAY')
               {
               foreach (@$headers)
                   {
  -                $smtp->datasend("$_\n") or die "smtp datasend failed" ;
  +                next unless (/^(.*?):\s*(.*?)$/) ;
  +                $smtp->datasend("$1: " . _quote_hdr($2, $enc) . "\n") or die "smtp datasend failed" ;
                   }
               }
           $smtp->datasend("\n")  or die "smtp datasend failed" ;
  @@ -209,6 +229,14 @@
   =item mailheaders
   
   Array ref of additional mail headers
  +
  +
  +=item headerencoding (2.0b9+)
  +
  +Tells Embperl::Mail which charset definition to include in any header
  +that contains character code 128-255 and therfore needs encoding. 
  +Defaults to iso-8859-1. Pass
  +empty string to turn encoding of header fields of.
   
   =item mailhost
   
  
  
  
  1.3       +9 -1      embperl/Embperl/Syntax/Mail.pm
  
  Index: Mail.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl/Syntax/Mail.pm,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- Mail.pm	22 Oct 2002 05:39:49 -0000	1.2
  +++ Mail.pm	7 Jan 2003 20:43:00 -0000	1.3
  @@ -71,6 +71,14 @@
                                           'mailhost', 'mailhelo', 'maildebug'], undef, undef, 
                   { 
                   removenode  =>  42,
  +		compiletimeperlcode => q{
  +			$_ep_mail_opt_save = $Embperl::req->component->config->options ;
  +			$Embperl::req->component->config->options (Embperl::Constant::optKeepSpaces | $_ep_mail_opt_save) ;
  +			},
  +		compiletimeperlcodeend => q{
  +			$Embperl::req->component->config->options ($_ep_mail_opt_save) ;
  +			},
  +
                   perlcodeend =>  q{
                       {
                       use Embperl::Mail ;
  
  
  
  1.4       +1 -1      embperl/eg/web/menuleft.epl
  
  Index: menuleft.epl
  ===================================================================
  RCS file: /home/cvs/embperl/eg/web/menuleft.epl,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- menuleft.epl	26 Nov 2002 10:03:44 -0000	1.3
  +++ menuleft.epl	7 Jan 2003 20:43:01 -0000	1.4
  @@ -76,7 +76,7 @@
       <tr> 
           <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
       </tr>
  -    [- menuitem ('pod/doc/Embperl.-page-13-.htm', 'Stable 1.3.4', 0, 1) -]
  +    [- menuitem ('pod/doc/Embperl.-page-13-.htm', 'Stable 1.3.5', 0, 1) -]
       <tr> 
           <td><img src="[+ $r -> {imageuri} +]linie-nav.gif" width="152" height="1"></td>
       </tr>
  
  
  
  1.7       +23 -4     embperl/eg/web/db/epwebapp.pl
  
  Index: epwebapp.pl
  ===================================================================
  RCS file: /home/cvs/embperl/eg/web/db/epwebapp.pl,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- epwebapp.pl	2 Jan 2003 09:07:19 -0000	1.6
  +++ epwebapp.pl	7 Jan 2003 20:43:01 -0000	1.7
  @@ -281,7 +281,7 @@
   			"New Embperl website user: $fdat{user_email}"),
   	    errors => \@errors_admin});
   
  -	if ($adminemail)
  +	if ($adminmail)
   	    {
   	    $r->{error} = 'err_user_admin_mail';
   	    $r->{error_details} = join('; ',@errors_admin);
  @@ -633,6 +633,25 @@
               }
           }
   
  +    if (!$udat{user_admin}) 
  +        {
  +	my @errors;
  +	$r->{is_update} = -1;
  +	my $newitemmail = Embperl::Mail::Execute ({
  +	    inputfile   => 'updateditem.mail', 
  +	    from        => $r->{config}->{emailfrom},
  +	    to          => $r->{config}->{adminemail},
  +	    subject     => 'Delete item on Embperl Website (Category '.$r->{category_set}{category}.')'.($udat{user_email}?" by $udat{user_email}":''),
  +	    errors      => \@errors});
  +	if ($newitemmail)
  +            {
  +	    $r->{error} = 'err_item_admin_mail';
  +	    $r->{error_details} = join('; ',@errors);
  +	    
  +	    return;
  +            }
  +        }
  +
       $r->{success} = 'suc_item_deleted' ;
   
       return $self -> redir_to_show ($r) ;
  @@ -660,10 +679,10 @@
       my $dest = join ('&', map { $_ . '=' . $r -> Escape (ref ($params{$_})?join("\t", @{$params{$_}}):$params{$_} , 2) } keys %params) ;
   
       #$http_headers_out{'location'} = "show.epl?$dest";
  -#    Apache -> request -> err_header_out('location', $r -> param -> server_addr . dirname ($r -> param -> uri) ."/show.epl?$dest") ;
  -    Apache -> request -> err_header_out('location', 'http://www.ecos.de:8766' . dirname ($r -> param -> uri) ."/show.epl?$dest") ;
  +    Apache -> request -> err_header_out('location', $r -> param -> server_addr . dirname ($r -> param -> uri) ."/show.epl?$dest") ;
  +    #Apache -> request -> err_header_out('location', 'http://www.ecos.de:8766' . dirname ($r -> param -> uri) ."/show.epl?$dest") ;
       
  -    return 301 ;
  +    return 302 ;
       }
   
   
  
  
  
  1.4       +1 -1      embperl/eg/web/db/updateditem.mail
  
  Index: updateditem.mail
  ===================================================================
  RCS file: /home/cvs/embperl/eg/web/db/updateditem.mail,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- updateditem.mail	2 Jan 2003 07:39:44 -0000	1.3
  +++ updateditem.mail	7 Jan 2003 20:43:01 -0000	1.4
  @@ -4,7 +4,7 @@
   There occured the following errors during item [+ $r->{is_update} ? 'update' : 'creation' +] by [+ $udat{user_email} || '[Unknown user]' +]:
   [+ $r->{error} +]
   [$ else $]
  -There's a [+ $r->{is_update} ? 'updated' : 'new' +] item on your Embperl Website by [+ $udat{user_email} || '[Unknown user]' +].
  +There's a [+ $r->{is_update} < 0 ? 'deleted' : $r->{is_update} ? 'updated' : 'new' +] item on your Embperl Website by [+ $udat{user_email} || '[Unknown user]' +].
   [$ endif $]
   For details see http://[+ $ENV{SERVER_NAME} +][#:[+ $ENV{SERVER_PORT} +]#][+ $r->{config}->{baseuri} +]db/add.epl?[+ $r->{category_set}{table_type} +]_id=[+ $fdat{item_id} +]&-edit_item=1&category_id=[+ $fdat{category_id} +]
   
  
  
  
  1.50      +1 -7      embperl/test/conf/httpd.conf.src
  
  Index: httpd.conf.src
  ===================================================================
  RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
  retrieving revision 1.49
  retrieving revision 1.50
  diff -u -r1.49 -r1.50
  --- httpd.conf.src	26 Nov 2002 10:03:45 -0000	1.49
  +++ httpd.conf.src	7 Jan 2003 20:43:01 -0000	1.50
  @@ -547,13 +547,7 @@
   PerlHandler Embperl
   Options ExecCGI FollowSymLinks
   EMBPERL_INPUT_ESCMODE 7
  -
  -EMBPERL_SYNTAX "Embperl III::RandomTag"
  -
   EMBPERL_OPTIONS 262288
  -
  -
  -
   </Location>
   
   
  
  
  

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