diff options
author | Alexey Shchepin <alexey@process-one.net> | 2004-07-06 21:34:50 +0000 |
---|---|---|
committer | Alexey Shchepin <alexey@process-one.net> | 2004-07-06 21:34:50 +0000 |
commit | b88da95b514780a673e38fc1fb3c5124364c9fb7 (patch) | |
tree | 9c2ceb10e578e105abd093d3be68e780da886ca2 /src | |
parent | * src/ejabberd_auth.erl: Minor fix (diff) |
* 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
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.in | 5 | ||||
-rw-r--r-- | src/Makefile.win32 | 1 | ||||
-rw-r--r-- | src/web/ejabberd_http.erl | 30 |
3 files changed, 25 insertions, 11 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 70e49f54..b6eaa886 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -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 diff --git a/src/Makefile.win32 b/src/Makefile.win32 index d03ffcfd..57fd239b 100644 --- a/src/Makefile.win32 +++ b/src/Makefile.win32 @@ -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) diff --git a/src/web/ejabberd_http.erl b/src/web/ejabberd_http.erl index 0723fd57..ddd164fc 100644 --- a/src/web/ejabberd_http.erl +++ b/src/web/ejabberd_http.erl @@ -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; _ -> |