comp.lang.ada
 help / color / mirror / Atom feed
* AWS vs encode '#'
@ 2016-12-20  0:14 Stephen Leake
  2016-12-20 15:55 ` Pascal Obry
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Leake @ 2016-12-20  0:14 UTC (permalink / raw)


I'm working on a web server that handles downloading music to my PDA, using AWS. One of the music file names is (in part):

01 The Dance #1.mp3

The "#" is part of the file name; it does _not_ indicate a "fragment" part of a URL.

However, if I send a properly encoded "GET" request to the AWS server:

GET .../01%20The%20Dance%20%231.mp3

it arrives in my Handle_Request subprogram with "#1.mp3" in the fragment part of the URL (just wrong!).

Tracing through the code, the socket is read in aws-server-http_utils.adb Get_Request_Line. That calls aws-server-http_utils.adb Parse_Request_Line, which _decodes_ the resource string, _then_ calls Status.Set.Request which calls URL.Set.Parse, which puts the "#.mp3" in the fragment.

URL.Decode should be called _after_ URL.Set.Parse, not before.

Has anyone else seen this? 

I find it hard to believe such a fundamental bug is in AWS; am I missing something?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-20  0:14 AWS vs encode '#' Stephen Leake
@ 2016-12-20 15:55 ` Pascal Obry
  2016-12-20 19:55   ` Stephen Leake
  0 siblings, 1 reply; 7+ messages in thread
From: Pascal Obry @ 2016-12-20 15:55 UTC (permalink / raw)


Hello Stephen,

> Has anyone else seen this? 

No, you're the first one to report.

> I find it hard to believe such a fundamental bug is in AWS; am I
> missing something?

I fear that indeed this is an AWS bug unnoticed since all this time.

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-20 15:55 ` Pascal Obry
@ 2016-12-20 19:55   ` Stephen Leake
  2016-12-20 21:20     ` Pascal Obry
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Leake @ 2016-12-20 19:55 UTC (permalink / raw)


On Tuesday, December 20, 2016 at 9:55:34 AM UTC-6, Pascal Obry wrote:
> Hello Stephen,
> 
> > Has anyone else seen this? 
> 
> No, you're the first one to report.
> 
> > I find it hard to believe such a fundamental bug is in AWS; am I
> > missing something?
> 
> I fear that indeed this is an AWS bug unnoticed since all this time.

Ok. I'll see if I can come up with a patch. I'm using GPL 2016; is there a public AWS source repository?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-20 19:55   ` Stephen Leake
@ 2016-12-20 21:20     ` Pascal Obry
  2016-12-22 20:17       ` Stephen Leake
  0 siblings, 1 reply; 7+ messages in thread
From: Pascal Obry @ 2016-12-20 21:20 UTC (permalink / raw)



Hi Stephen,

> Ok. I'll see if I can come up with a patch. I'm using GPL 2016; is
> there a public AWS source repository?

Yes on GitHub, see:
https://github.com/AdaCore/aws

-- 
  Pascal Obry /  Magny Les Hameaux (78)

  The best way to travel is by means of imagination

  http://www.obry.net

  gpg --keyserver keys.gnupg.net --recv-key F949BD3B


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-20 21:20     ` Pascal Obry
@ 2016-12-22 20:17       ` Stephen Leake
  2016-12-23  8:16         ` Simon Wright
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Leake @ 2016-12-22 20:17 UTC (permalink / raw)


On Tuesday, December 20, 2016 at 3:20:06 PM UTC-6, Pascal Obry wrote:
> Hi Stephen,
> 
> > Ok. I'll see if I can come up with a patch. I'm using GPL 2016; is
> > there a public AWS source repository?
> 
> Yes on GitHub, see:
> https://github.com/AdaCore/aws

I'm trying to make that work, in a Debian testing VM. "make setup" fails because the "templates_parser" directory is empty.

Is that supposed to be populated from some other git repository? Neither INSTALL nor readme.txt say that.

Is there a better mailing list to discuss this?

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-22 20:17       ` Stephen Leake
@ 2016-12-23  8:16         ` Simon Wright
  2016-12-23 21:21           ` Stephen Leake
  0 siblings, 1 reply; 7+ messages in thread
From: Simon Wright @ 2016-12-23  8:16 UTC (permalink / raw)


Stephen Leake <stephen_leake@stephe-leake.org> writes:

> On Tuesday, December 20, 2016 at 3:20:06 PM UTC-6, Pascal Obry wrote:
>> Hi Stephen,
>> 
>> > Ok. I'll see if I can come up with a patch. I'm using GPL 2016; is
>> > there a public AWS source repository?
>> 
>> Yes on GitHub, see:
>> https://github.com/AdaCore/aws
>
> I'm trying to make that work, in a Debian testing VM. "make setup"
> fails because the "templates_parser" directory is empty.

I think you are meant to clone using --recursive, because
templates_parser is a submodule.

  --recursive, --recurse-submodules
     After the clone is created, initialize all submodules within, using
     their default settings. This is equivalent to running git submodule
     update --init --recursive immediately after the clone is finished.
     This option is ignored if the cloned repository does not have a
     worktree/checkout (i.e. if any of --no-checkout/-n, --bare, or
     --mirror is given)

> Is that supposed to be populated from some other git repository?
> Neither INSTALL nor readme.txt say that.

Looks like an issue needs raising.

> Is there a better mailing list to discuss this?

At the bottom of readme.txt it suggests
http://lists.adacore.com/mailman/listinfo/aws


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: AWS vs encode '#'
  2016-12-23  8:16         ` Simon Wright
@ 2016-12-23 21:21           ` Stephen Leake
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Leake @ 2016-12-23 21:21 UTC (permalink / raw)


On Friday, December 23, 2016 at 2:16:22 AM UTC-6, Simon Wright wrote:
> Stephen Leake  writes:
> 
> > On Tuesday, December 20, 2016 at 3:20:06 PM UTC-6, Pascal Obry wrote:
> >> Hi Stephen,
> >> 
> >> > Ok. I'll see if I can come up with a patch. I'm using GPL 2016; is
> >> > there a public AWS source repository?
> >> 
> >> Yes on GitHub, see:
> >> https://github.com/AdaCore/aws
> >
> > I'm trying to make that work, in a Debian testing VM. "make setup"
> > fails because the "templates_parser" directory is empty.
> 
> I think you are meant to clone using --recursive, because
> templates_parser is a submodule.

Ok, that works.

> At the bottom of readme.txt it suggests
> http://lists.adacore.com/mailman/listinfo/aws

I posted my original issue, with a patch. I'll raise the issue of submodule checkout.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-12-23 21:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-20  0:14 AWS vs encode '#' Stephen Leake
2016-12-20 15:55 ` Pascal Obry
2016-12-20 19:55   ` Stephen Leake
2016-12-20 21:20     ` Pascal Obry
2016-12-22 20:17       ` Stephen Leake
2016-12-23  8:16         ` Simon Wright
2016-12-23 21:21           ` Stephen Leake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox