Hi,

compiled and tested - works as expected.

On 3/23/06, Alexander Malysh <[EMAIL PROTECTED]> wrote:
> Hi,
>
> how about attached patch? it should work ok but untested.
>
> Thanks,
> Alex
>
> Dziugas Baltrunas wrote:
>
> > Hi,
> >
> > ok, what about putting simple return statement instead of goto error?
> >
> > In case of queued for sending, http_send_reply() will register a
> > callback to receive_request() with a state sending_reply which will
> > close the connection afterwards. So it means that http_send_reply()
> > will destroy the connection anyway.
> >
> > However, above will not work, i.e. client will get a 400 reply but the
> > connection won't be closed because we have p->persistent_conn = 1 as
> > default in client_create() which I think has to be changed into 0. Who
> > said that HTTP 1.1 connection should default to keep-alive anyway?
> >
> > Btw, in order for others to understand what this is all about, given
> > that localhost:13013 is your smsbox up and running, try the following:
> >
> >> telnet localhost 13013
> > Trying 127.0.0.1...
> > Connected to localhost.
> > Escape character is '^]'.
> > asdf
> > Connection closed by foreign host.
> >
> > Which means that it violates http, gives no indication to client, etc.
> > etc., so this should definitely be changed. Proposed way is the
> > following:
> >
> >> telnet localhost 13013
> > Trying 127.0.0.1...
> > Connected to localhost.
> > Escape character is '^]'.
> > asdf
> > HTTP/1.1 400 Bad Request
> > Server: Kannel/cvs-20060308
> > Content-Length: 0
> >
> > Connection closed by foreign host.
> >
> > On 3/23/06, Alexander Malysh <[EMAIL PROTECTED]> wrote:
> >> Hi,
> >>
> >> no go with your patch. http_send_reply is a queuing function. that means
> >> when response could not be sent at once (e.g. client too slow) response
> >> sending will be registered (queued) in fdset. but in your patch you will
> >> destroy httpclient with goto error statement.
> >>
> >> You should split http_send_reply function in a helper function which
> >> just prepare response and main function that send response queued as
> >> earlier. Then here instead of sending through http_send_reply you do
> >> something like:
> >>
> >> Octstr *resp = http_prepare_reply(...)
> >> conn_send(resp);
> >> goto error;
> >>
> >> Thanks,
> >> Alex
> >>
> >> Dziugas Baltrunas schrieb:
> >> > Hi list,
> >> >
> >> > in case of client sends us malformed URL (such as
> >> > /cgi-bin/sendsms?user=test&pass=test&to=12345 &text=test), attached
> >> > patch sends a HTTP 400 Bad request error instead of simply closing the
> >> > socket thus giving no indication to the client.
> >> >
> >> > --
> >> > Dziugas
> >> >
> >> >
> >> >
>
>


--
Dziugas

Reply via email to