Paweł Chmielowski
431c34709c
Make Safari happy use value from Host in WebSocket-Location header
...
Safari aborts connection if WebSocket-Location contains port number when
Host didn't have it, this change uses value sent by browser directly
instead of making in manually.
2012-04-11 18:12:36 +02:00
Paweł Chmielowski
cf6d67ceed
Always normalize case of http header names and use that fact in websocket handler
...
Native http parser code don't normalize header names when name is 19 or
more characters long. In websocket header module headers like that are
used, by having those headers in consistent form, code for finding
header with mixed case can be dropped.
2012-04-11 17:59:57 +02:00
Paweł Chmielowski
ef0cf5d3d7
Parse and encode https header names like native http parser does
...
This code adds case normalization step to https headers parsing, making
it correctly use atoms for some special header no matter how upper/lower
case letters are used in input string
2012-04-11 17:24:36 +02:00
Paweł Chmielowski
e99ecf6d06
Fix websocket on Safari
2012-04-11 16:07:35 +02:00
Paweł Chmielowski
83c7da3831
Handle all draft-hybi handshake in this same way
2012-04-11 16:07:29 +02:00
Paweł Chmielowski
8dc4dd7f3b
Add support for newer websocket versions
2012-04-11 16:07:22 +02:00
Paweł Chmielowski
66b7caafe0
Don't use binary:match to extract lines from binaries
...
This was added in R13B3, lets roll our own implementation to make sure it
works on older erlang versions.
2012-04-11 16:04:05 +02:00
Paweł Chmielowski
7c0b2f5425
Parse correctly https request split into multiple packets
...
This fixes case when SockMod:recv() calls returns only part of first line
of http request (GET/POST/OPTION/HEAD line). Before that change request
like that (and if keep-alive was active, all further request) were dropped.
This fixes EJAB-1537.
2012-04-11 16:04:05 +02:00
Paweł Chmielowski
4645885180
Properly handle HEAD request in mod_http_bind (this fixes EJAB-1538)
2012-04-11 16:01:14 +02:00
Alexey Shchepin
92feebd0fa
Merge branch '2.2.x' of git+ssh://git@gitorious.process-one.net/+ejabberd-developers/ejabberd/maincustomers.git into 2.2.x
2012-03-07 16:20:25 +02:00
Alexey Shchepin
0b423eb287
Don't ignore Length parameter in tls:recv
2012-03-07 16:19:59 +02:00
Christophe Romain
7d7c739cb3
Merge remote-tracking branch 'mainline/2.1.x' into 2.2.x
2012-02-23 16:59:22 +01:00
Alexey Shchepin
b1e2538488
Update copyright dates
2012-02-23 17:52:34 +02:00
Alexey Shchepin
52df4fa024
Merge branch '2.1.x' of git+ssh://git@gitorious.process-one.net/ejabberd/mainline.git into 2.2.x
...
Conflicts:
src/configure
src/ejabberd.app
src/ejabberd_receiver.erl
src/tls/tls_drv.c
src/web/ejabberd_http.erl
2012-02-20 17:29:18 +02:00
Christophe Romain
f7ffdfa15d
Fix typo in xep number, bosh is xep0206 (thanks to Ludovic Bocquet)
2012-02-20 14:15:08 +01:00
Badlop
7d623d5eb4
Option default_host for handling HTTP requests with ambiguous Host (EJAB-1261)
2012-02-14 11:35:52 +01:00
Alexey Shchepin
1ecc9ac48c
Fixed ejabberd_http:get_line
2012-01-19 12:20:48 +02:00
Alexey Shchepin
eaecb9b65c
Fixed ejabberd_http:get_line
2012-01-19 12:20:02 +02:00
Christophe Romain
e0781d9217
merge from 2.1.10 and resolve conflicts
2011-12-30 11:33:34 +01:00
Evgeniy Khramtsov
21c75ebce5
Process "xmlns:xmpp" and "xmlns:stream" correctly (thanks to Pawel)
2011-12-16 20:10:44 +10:00
Badlop
48308042b6
Use the regexp frontend module (EJAB-921)
2011-12-08 12:40:04 +01:00
Alexey Shchepin
bd91e2da16
Handle invalid input in ejabberd_websocket
2011-12-01 15:43:56 +02:00
Evgeniy Khramtsov
7b0174a626
Replace dont_concat with max_concat option
2011-10-18 23:44:00 +10:00
Evgeniy Khramtsov
2270df86d9
Use queue instead of a list in order to avoid O(N) complexity
2011-10-18 15:34:11 +10:00
Evgeniy Khramtsov
96800e9b75
Get rid of useless mnesia transaction (EJAB-1502)
2011-10-14 16:57:51 +10:00
Evgeniy Khramtsov
e5830253b9
New BOSH option: dont_concat (EJABS-1688)
2011-10-14 15:57:15 +10:00
Christophe Romain
adf56dedf3
fix merge conflicts from 2.1.9
2011-09-30 14:28:40 +02:00
Badlop
9f4ae07100
added svg mimetype to default content types (thanks to Markus Kohlhase)
2011-09-20 16:50:22 +02:00
Evgeniy Khramtsov
86f0a9790d
Do not crash on sync_send_all_state_event errors (part of EJABS-1708)
2011-09-16 16:44:24 +10:00
Evgeniy Khramtsov
7ae7d6315f
Remove useless clauses
2011-09-05 18:07:50 +10:00
Evgeniy Khramtsov
f1a91108ef
Correct some function clauses and value types
2011-09-05 16:31:58 +10:00
Evgeniy Khramtsov
b0b371d23a
Get rid of useless function clause
2011-09-05 15:06:43 +10:00
Badlop
dd772404c5
Merge branch '2.1.x' into 2.2.x
...
Conflicts:
src/configure
src/ejabberd.app
src/ejabberd_auth_anonymous.erl
src/ejabberd_c2s.erl
src/ejabberd_sm.erl
2011-08-24 18:29:25 +02:00
Badlop
abebabc487
Fix ODBC account counting (thanks to Artem Sh)(EJAB-1491)
2011-08-16 19:33:22 +02:00
Evgeniy Khramtsov
5bef1a8f77
Now it is possible to migrate C2S/BOSH/MUC sessions.
...
Example usage:
$ ejabberdctl stop_migrate 30
This will migrate c2s/bosh/muc processes smoothly within 30 seconds and stop ejabberd.
The commit also resolves EJABS-1661
2011-08-13 19:05:21 +10:00
Evgeniy Khramtsov
4f1637fa40
Implement BOSH session migration
2011-08-12 23:48:39 +10:00
Evgeniy Khramtsov
796cb6634b
Get rid of sync call in send/2, process send_xml/2 failure gracefully
2011-08-05 18:10:56 +10:00
Evgeniy Khramtsov
bb5480756a
Get rid of "ip" state value
2011-08-05 18:04:01 +10:00
Evgeniy Khramtsov
edb030f49a
Get rid of "socket" state value
2011-08-05 17:58:02 +10:00
Evgeniy Khramtsov
0ed4ceebea
Complete API functions
2011-08-05 17:52:49 +10:00
Evgeniy Khramtsov
31f7eadfca
Use ?GEN_FSM macro whenever possible
2011-08-05 17:02:47 +10:00
Evgeniy Khramtsov
1c72c45404
Add shaper support
2011-08-05 15:53:57 +10:00
Evgeniy Khramtsov
f8fd9969e1
Return valid "inactivity" in session creation response
2011-07-28 16:39:17 +10:00
Evgeniy Khramtsov
8d09655a89
Reply on stream:start immediately if XMPP version is lower than 1.0
2011-07-28 16:31:10 +10:00
Evgeniy Khramtsov
a06b627631
Fix try/catch branch
2011-07-28 16:04:02 +10:00
Badlop
e690afc33b
Verify username provided in registration web form
2011-07-27 12:25:51 +02:00
Badlop
493b664f19
Handle case when ejabberd_auth_* says the account exists
2011-07-27 11:44:35 +02:00
Evgeniy Khramtsov
cb41c8ef80
Make work with buffers more abstract
2011-07-27 13:14:10 +10:00
Evgeniy Khramtsov
d4cea0f78f
Fix possible function clause
2011-07-27 12:12:44 +10:00
Evgeniy Khramtsov
4d20abd7b6
Process max_inactivity and max_pause config options
2011-07-26 21:44:35 +10:00