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' , "" }, /* 7 Digit 7 */
{ '8' , "" }, /* 8 Digit 8 */
{ '9' , "" }, /* 9 Digit 9 */
- { ':' , "%3A" }, /* : Colon */
+/* We should escape this according to the rfc, but this would make troubles inside
+ of urls, so will don' escape it { ':' , "%3A" }, /* : Colon */
+ { ':' , "" }, /* : Colon */
{ ';' , "%3B" }, /* ; Semicolon */
{ '<' , "%3C" }, /* Less than */
{ '=' , "%3D" }, /* = 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' , "" }, /* 7 Digit 7 */
{ '8' , "" }, /* 8 Digit 8 */
{ '9' , "" }, /* 9 Digit 9 */
- { ':' , "%3A" }, /* : Colon */
+/* We should escape this according to the rfc, but this would make troubles inside
+ of urls, so will don' escape it
+ { ':' , "%3A" }, */ /* : Colon */
+ { ':' , "" }, /* : Colon */
{ ';' , "%3B" }, /* ; Semicolon */
{ '<' , "%3C" }, /* Less than */
{ '=' , "%3D" }, /* = 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' , "" }, /* 7 Digit 7 */
{ '8' , "" }, /* 8 Digit 8 */
{ '9' , "" }, /* 9 Digit 9 */
- { ':' , "%3A" }, /* : Colon */
+/* We should escape this according to the rfc, but this would make troubles inside
+ of urls, so will don' escape it
+ { ':' , "%3A" }, */ /* : Colon */
+ { ':' , "" }, /* : Colon */
{ ';' , "%3B" }, /* ; Semicolon */
{ '<' , "%3C" }, /* Less than */
{ '=' , "%3D" }, /* = 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