* src/Makefile.win32: Updated (thanks to Sergei Golovan)

* src/Makefile.in: Added installation of ejabberd.cfg (thanks to
Sergei Golovan)

* src/web/ejabberd_http.erl: Fixed support for HTTP/1.0 clients

* doc/guide.tex: Updated (thanks to Sergei Golovan)

SVN Revision: 240
This commit is contained in:
Alexey Shchepin 2004-07-06 21:34:50 +00:00
parent d35209561d
commit b88da95b51
6 changed files with 985 additions and 630 deletions

View File

@ -1,5 +1,16 @@
2004-07-07 Alexey Shchepin <alexey@sevcom.net>
* src/Makefile.win32: Updated (thanks to Sergei Golovan)
* src/Makefile.in: Added installation of ejabberd.cfg (thanks to
Sergei Golovan)
* src/web/ejabberd_http.erl: Fixed support for HTTP/1.0 clients
2004-07-06 Alexey Shchepin <alexey@sevcom.net>
* doc/guide.tex: Updated (thanks to Sergei Golovan)
* src/ejabberd_auth.erl: Minor fix
* src/ejabberd_c2s.erl: Fixed sending of presence to own resources

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -23,6 +23,8 @@ BEAMDIR = $(EJABBERDDIR)/ebin
PRIVDIR = $(EJABBERDDIR)/priv
SODIR = $(PRIVDIR)/lib
MSGSDIR = $(PRIVDIR)/msgs
LOGDIR = $(DESTDIR)/var/log/ejabberd
ETCDIR = $(DESTDIR)/etc/ejabberd
all: $(ERLSHLIBS) compile-beam all-recursive
@ -57,6 +59,9 @@ install: all
install -m 644 *.so $(SODIR)
install -d $(MSGSDIR)
install -m 644 msgs/*.msg $(MSGSDIR)
install -d $(ETCDIR)
install -b -m 644 ejabberd.cfg.example $(ETCDIR)/ejabberd.cfg
install -d $(LOGDIR)
clean: clean-recursive clean-local

View File

@ -33,6 +33,7 @@ release : build release_clean
mkdir $(EREL)
mkdir $(EBIN_DIR)
copy *.beam $(EBIN_DIR)
@erase $(EBIN_DIR)\configure.beam
copy *.app $(EBIN_DIR)
mkdir $(PRIV_DIR)
mkdir $(SO_DIR)

View File

@ -22,6 +22,7 @@
-record(state, {sockmod,
socket,
request_method,
request_version,
request_path,
request_auth,
request_content_length,
@ -72,8 +73,9 @@ receive_headers(State) ->
Data = SockMod:recv(Socket, 0, 300000),
?DEBUG("recv: ~p~n", [Data]),
case Data of
{ok, {http_request, Method, Path, _Version}} ->
{ok, {http_request, Method, Path, Version}} ->
receive_headers(State#state{request_method = Method,
request_version = Version,
request_path = Path});
{ok, {http_header, _, 'Authorization', _, Auth}} ->
receive_headers(State#state{request_auth = parse_auth(Auth)});
@ -95,16 +97,22 @@ receive_headers(State) ->
element(2, State#state.request_path)]),
Out = process_request(State),
send_text(State, Out),
case SockMod of
gen_tcp ->
inet:setopts(Socket, [{packet, http}]);
ssl ->
ssl:setopts(Socket, [{packet, http}])
end,
receive_headers(#state{sockmod = SockMod,
socket = Socket,
use_http_poll = State#state.use_http_poll,
use_web_admin = State#state.use_web_admin});
case State#state.request_version of
{1,1} ->
case SockMod of
gen_tcp ->
inet:setopts(Socket, [{packet, http}]);
ssl ->
ssl:setopts(Socket, [{packet, http}])
end,
receive_headers(
#state{sockmod = SockMod,
socket = Socket,
use_http_poll = State#state.use_http_poll,
use_web_admin = State#state.use_web_admin});
_ ->
ok
end;
{error, _Reason} ->
ok;
_ ->