From dev-return-202973-archive-asf-public=cust-asf.ponee.io@tomcat.apache.org Fri Nov 1 17:31:46 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 357F4180626 for ; Fri, 1 Nov 2019 18:31:46 +0100 (CET) Received: (qmail 33181 invoked by uid 500); 1 Nov 2019 17:31:44 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 33169 invoked by uid 99); 1 Nov 2019 17:31:44 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 01 Nov 2019 17:31:44 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 4215BC07A1 for ; Fri, 1 Nov 2019 17:31:44 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.203 X-Spam-Level: * X-Spam-Status: No, score=1.203 tagged_above=-999 required=6.31 tests=[HTML_MESSAGE=0.2, KAM_LAZY_DOMAIN_SECURITY=1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-ec2-va.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id h_OUuo8ZAfkZ for ; Fri, 1 Nov 2019 17:31:42 +0000 (UTC) Received-SPF: None (mailfrom) identity=mailfrom; client-ip=81.169.162.220; helo=internetallee.de; envelope-from=felix.schumacher@internetallee.de; receiver= Received: from internetallee.de (internetallee.de [81.169.162.220]) by mx1-ec2-va.apache.org (ASF Mail Server at mx1-ec2-va.apache.org) with ESMTPS id A1176C1A2E for ; Fri, 1 Nov 2019 17:26:03 +0000 (UTC) Received: from [192.168.178.91] (muedsl-82-207-243-011.citykom.de [82.207.243.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by internetallee.de (Postfix) with ESMTPSA id D0E212C361B2B for ; Fri, 1 Nov 2019 18:26:00 +0100 (CET) Subject: Re: RewriteMap parsing To: dev@tomcat.apache.org References: <75b9fd2b-9031-66f1-fbff-2429b61d5859@internetallee.de> <4443f1bc-fa30-563c-0fed-b899667999a3@internetallee.de> <943942c4-2f56-bbed-9b9c-ad13f0a6302c@internetallee.de> From: Felix Schumacher Openpgp: preference=signencrypt Autocrypt: addr=felix.schumacher@internetallee.de; keydata= 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 Message-ID: Date: Fri, 1 Nov 2019 18:26:00 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/alternative; boundary="------------D53784696FF4B1592AF08049" Content-Language: en-US --------------D53784696FF4B1592AF08049 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Am 01.11.19 um 14:24 schrieb Romain Manni-Bucau: > > > Le ven. 1 nov. 2019 à 11:26, Felix Schumacher > > a écrit : > > > Am 01.11.19 um 11:11 schrieb Romain Manni-Bucau: >> Through the spi IMHO and if it can be ambiguous use an ordinal or >> priority to let it be overriden maybe? > > Do we want users to be able to overwrite our functions? Is the > "int:" namespace free for everyone? > > I think so, like enabling to enrich it (often implemented as a delegation) > > > > Should we break the context startup in case of duplicate functions > in the registry? > > > If they have the same priority I think so. I have submitted a PR that tries to implement the discussed features: https://github.com/apache/tomcat/pull/221 Felix > > > Felix > >> >> Le ven. 1 nov. 2019 à 10:46, Felix Schumacher >> > > a écrit : >> >> >> Am 28.10.19 um 23:06 schrieb Romain Manni-Bucau: >>> +1 for quotes >>> >>> Can the "function" support be pluggable either with an >>> explicit registry or a SPI? Would be awesome to enrich it in >>> "super tomcat" instances (thinking to meecrowave, tomee and >>> maybe spring boot). >> >> The function support is already pluggable (by the >> configuration file :), but I thought about adding SPI. >> >> It is unclear to me, how to determine the namespace ("int:" >> in the httpd example), should it be given by the Service >> Provider? Would "int" be reserved for our own functions? How >> could we achieve such a reservation mechnism? >> >> Felix >> >>> >>> Le lun. 28 oct. 2019 à 21:43, Mark Thomas >> > a écrit : >>> >>> >>> >>> On 27/10/2019 11:27, Felix Schumacher wrote: >>> > Hi all, >>> > >>> > while looking at the RewriteMap configuration, I >>> noticed, that parsing >>> > of the RewriteMap directive is a bit minimal. >>> Parameters are split at >>> > whitespace (no quotes will be recognized) and only the >>> first of the >>> > optional parameters will be used. >>> > >>> > Should this be changed? If so, should we introduce >>> quoting capabilities >>> > to gather the "one" optional parameter, or allow >>> multiple parameters? >>> > >>> > Version "quote": >>> > >>> > RewriteMap m1 example.MyMap "some params" >>> > >>> > Version "multiple" >>> > >>> > RewriteMap m2 example.OtherMap one two three >>> > >>> > Or should it be a combination? >>> >>> That is probably the most flexible option. I'd lean >>> towards this option >>> but would be happy to support the majority view if >>> different. >>> >>> > "quote" would be sort of compatible with the current >>> interface, as we >>> > still have only one parameter. "multiple" would be a >>> nicer interface for >>> > the implementer of the map. >>> > >>> > Another thing I noticed, is that the httpd rewrite map >>> feature has a few >>> > builtin maps, that could be useful to supply with our >>> implementation. >>> > Any thoughts on supplying those? (I thought about the maps >>> > int:[toupper,tolower,escape,unescape], txt:, rnd: and >>> possibly a new one >>> > called jdbc:{jndi-connection}:{sql statement with >>> placeholder}. For >>> > these elements a quote detection would be a must) >>> >>> I don't recall any requests for these on the users list >>> but maybe that >>> is because the feature isn't that well known. >>> >>> Mark >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: >>> dev-unsubscribe@tomcat.apache.org >>> >>> For additional commands, e-mail: >>> dev-help@tomcat.apache.org >>> >>> --------------D53784696FF4B1592AF08049 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 8bit


Am 01.11.19 um 14:24 schrieb Romain Manni-Bucau:


Le ven. 1 nov. 2019 à 11:26, Felix Schumacher <felix.schumacher@internetallee.de> a écrit :


Am 01.11.19 um 11:11 schrieb Romain Manni-Bucau:
Through the spi IMHO and if it can be ambiguous use an ordinal or priority to let it be overriden maybe?

Do we want users to be able to overwrite our functions? Is the "int:" namespace free for everyone?

I think so, like enabling to enrich it (often implemented as a delegation)



Should we break the context startup in case of duplicate functions in the registry?


If they have the same priority I think so.


I have submitted a PR that tries to implement the discussed features: https://github.com/apache/tomcat/pull/221

Felix



Felix


Le ven. 1 nov. 2019 à 10:46, Felix Schumacher <felix.schumacher@internetallee.de> a écrit :


Am 28.10.19 um 23:06 schrieb Romain Manni-Bucau:
+1 for quotes

Can the "function" support be pluggable either with an explicit registry or a SPI? Would be awesome to enrich it in "super tomcat" instances (thinking to meecrowave, tomee and maybe spring boot).

The function support is already pluggable (by the configuration file :), but I thought about adding SPI.

It is unclear to me, how to determine the namespace ("int:" in the httpd example), should it be given by the Service Provider? Would "int" be reserved for our own functions? How could we achieve such a reservation mechnism?

Felix


Le lun. 28 oct. 2019 à 21:43, Mark Thomas <markt@apache.org> a écrit :


On 27/10/2019 11:27, Felix Schumacher wrote:
> Hi all,
>
> while looking at the RewriteMap configuration, I noticed, that parsing
> of the RewriteMap directive is a bit minimal. Parameters are split at
> whitespace (no quotes will be recognized) and only the first of the
> optional parameters will be used.
>
> Should this be changed? If so, should we introduce quoting capabilities
> to gather the "one" optional parameter, or allow multiple parameters?
>
> Version "quote":
>
> RewriteMap m1 example.MyMap "some params"
>
> Version "multiple"
>
> RewriteMap m2 example.OtherMap one two three
>
> Or should it be a combination?

That is probably the most flexible option. I'd lean towards this option
but would be happy to support the majority view if different.

> "quote" would be sort of compatible with the current interface, as we
> still have only one parameter. "multiple" would be a nicer interface for
> the implementer of the map.
>
> Another thing I noticed, is that the httpd rewrite map feature has a few
> builtin maps, that could be useful to supply with our implementation.
> Any thoughts on supplying those? (I thought about the maps
> int:[toupper,tolower,escape,unescape], txt:, rnd: and possibly a new one
> called jdbc:{jndi-connection}:{sql statement with placeholder}. For
> these elements a quote detection would be a must)

I don't recall any requests for these on the users list but maybe that
is because the feature isn't that well known.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org

--------------D53784696FF4B1592AF08049--