Running Apache httpd on a mobile phone
Running Apache httpd on a mobile phone
Running Apache httpd on a mobile phone
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
!!"<br />
# $%&' !!"( ()
)<br />
!<br />
!"##$%<br />
&'(#%<br />
)##!
*$<br />
*+$#+#,!-#<br />
"'(#./<br />
&'(('$.<br />
-#$ -0<br />
1#-(-+$,##0<br />
#$+#+#'#- 0<br />
'2+"'##(- 0
+$ ,+-!<br />
!"#3+$22#2"'!"+(!(#,0<br />
)44&50<br />
!"'$$!#(#+#20<br />
6+##'#72-(!+$ 0<br />
8($+''$7+'"!!+(+$+'"+ #,<br />
2"- -($ #$<br />
#((+0<br />
($+#$""!"#,"## #9#- #,#$2!"<br />
'$$+$0<br />
:$+## #$+#$'+,#0<br />
,'#,2"- '$$0<br />
,(2-$!+-#0<br />
%!;5#$< =>!#'2!"#0<br />
)##(2+##!-0
.<br />
!"#(2"#!!($*#$$/ )!0<br />
@+"$0<br />
A+,,!<br />
>'-"'"#$#'20<br />
#, $!#'2!"###+<br />
-+$(#'(!"#+"#,0<br />
5#('#,27 -#$+$0<br />
&,#2#(2(2+###!'*
+$ ,+-!<br />
%
+$ ,+-!<br />
+H<br />
A+$##"#<br />
I+#"++<br />
JB'#,:<br />
5"'#,$+<br />
+!$<br />
&2(("'!$22##+''$# !"#0
0+$ ,+-!<br />
G
0+$ ,+-!<br />
A+$##"#'"!##$-0<br />
"B'"#+$##"##
+<br />
&#!(#,((+$+##( ,+#$7#$'#$#!2;57"+<br />
+#$#!"#0<br />
'0<br />
)#!0<br />
,'0<br />
)#!'$,+)44&57+#,-((#''###-(<br />
(0<br />
!#(#+!!#(#+!0<br />
A(#$(#7(!"'"#(&5!#$#,",(0<br />
)#&''<br />
)#
* +$ +1<br />
+#&'(('$$!#!"#0<br />
JB#"$2#-+$#$$0<br />
5#$7('$+##'($#$(!"#0<br />
>"(+$7(''',+!"#0<br />
>"'#2-7(##"#-(++!0<br />
;5<br />
('$0$<br />
,<br />
<br />
('$0B<br />
, '(L"#<br />
"#''###2('##,(-0<br />
RHttpd hHttpd;<br />
hHttpd.C<strong>on</strong>nect();<br />
8(('0<br />
-7('$2#$2StartServer() $0<br />
hHttpd.StartServer();<br />
&('##$!($$#-((('$"#$0<br />
#if defined(__SYMBIAN32__)<br />
int apache_main(int argc, c<strong>on</strong>st char * c<strong>on</strong>st argv[])<br />
#else<br />
int main(int argc, c<strong>on</strong>st char * c<strong>on</strong>st argv[])<br />
#endif
23 <br />
8(+2+##!2&'(('$'$$!(($<br />
7 #$<br />
!(C#$#!"'$"$+E""+#+#,, 0<br />
5#'#,!"#'!"#K07:
23 +$ 4%<br />
>"#K0#-$7!"#+''$#:
3 23 <br />
8B'7!+$-("$+'2'2B0<br />
APU_DECLARE_DATA extern apr_pool_t *apr_hook_global_pool;<br />
O#"'2"7('2B$2#$$22#!$'#$#,#-((<br />
#("$+$2##,($(#,"'$0<br />
8(7-(((!"(+$B'$"'$0<br />
•APU_DECLARE_EXPORT $2#-((0<br />
:2#$MN("$+2(#,"'$0<br />
;#$2#$MN"$(+(!"(#,"'$0
3 23 +$ <br />
#if defined(APU_DECLARE_EXPORT)<br />
APU_DECLARE_DATA extern apr_pool_t *apr_hook_global_pool;<br />
#else<br />
#define apr_hook_global_pool (*_apr_hook_global_pool())<br />
#endif<br />
APU_DECLARE(apr_pool_t **) _apr_hook_global_pool();<br />
52("$+$2##,((#,"'$7(#-+<br />
$(0<br />
(#("$+(#$$!0<br />
O(-7-$2#"(B'#$#$2#$2+##0<br />
5#(-$2+##(+#($$2(0<br />
G
3023 <br />
8($2## ("#!"#-(0<br />
APU_DECLARE_DATA apr_pool_t *apr_hook_global_pool = NULL;<br />
5#$$#-($$(2+##+##,($$2 (0<br />
APU_DECLARE(apr_pool_t **) _apr_hook_global_pool()<br />
{<br />
return &apr_hook_global_pool;<br />
}<br />
K
$ $ <br />
:#<br />
APU_DECLARE_EXPORTED_DATA(apr_pool_t *, apr_hook_global_pool);<br />
:2##<br />
APU_DEFINE_EXPORTED_DATA(apr_pool_t *, apr_hook_global_pool) = NULL;<br />
5#(+!"#(#B'#$#(+#$2##0
. #
. <br />
5#,#7""$+#+#('$7+$$ +#"<br />
$#,#+##0<br />
>("$+$$#('0<br />
8(#!" $+'!#"0<br />
O#!"#7!"2":
2+$<br />
8!'!"$+B'+#2-module ++(##<br />
2+##'###B'$2+##0<br />
""$+P 0,0:P B'2+##0<br />
A!B'#,2"("$+2+##(-(#,##"#+#<br />
($$2('#$#,!"7-#'$-!2 #,+'<br />
!"!#"0<br />
apr_status_t ap_lookup_symbol(c<strong>on</strong>st char* name, void** symbol);<br />
>+(72(2+## B'$+#,("$#7-#<br />
" (#'#(!"72"('$'#2-7#<br />
$$!#"+!-(0<br />
J!#,!+#,("B'$2##22"$+0<br />
$+B'#,$$#2+###$'2$2##20
5+$<br />
&!'#!2<str<strong>on</strong>g>httpd</str<strong>on</strong>g>.c<strong>on</strong>f ",(<br />
LoadModule access_module modules/mod_access.so<br />
O#!"#7#"+#$Q!QA#0<br />
J#2$!(!"#'2"+!0<br />
8(7"##,('(0<br />
A+2"'!-(<str<strong>on</strong>g>httpd</str<strong>on</strong>g>.c<strong>on</strong>f #(##"#7'(-$<br />
#$,#$0<br />
5#&'(mod_so.c #$&I!"#'2dso.cpp #-$,+<br />
(#,"##$0<br />
>+##-(('2$# $+'0<br />
8(2+##$-(('$$#"C*L"$+/E0<br />
8(2!(#,+ #!('2"0
# +<br />
678)6%6+9#/8.: 6;<br />
JB'#$#H<br />
static c<strong>on</strong>st ap_export_entry ap_export_entries[] = {<br />
{ “access_module”, &access_module }<br />
};<br />
static c<strong>on</strong>st int ap_export_entries_count =<br />
sizeof(ap_export_entries)/sizeof(ap_export_entries[0]);<br />
EXPORT_C int ap_lookup_symbol(c<strong>on</strong>st char* name, void** symbol) {<br />
}<br />
return ap_lookup_table_symbol(ap_export_entries,<br />
ap_export_entries_count,<br />
name, symbol);<br />
•ap_lookup_table_symbol() ('( +'(!"2"(<br />
'$!2++0<br />
%
0+$
8(+!"$2!"#3+$22#"'$(2(<br />
##"#0<br />
JB+#$:
3 <br />
J!''#('$!2-#0<br />
(''##2#($!0<br />
2'2#2,+#2.<br />
•<str<strong>on</strong>g>httpd</str<strong>on</strong>g>.c<strong>on</strong>f7users70<br />
5#'#'!7+(--+$!+$("#(.<br />
&#$-(2'0<br />
>"+##,($!+#,:&R7(#$#,2"#("'+0<br />
>("#,7&'($#('+-((#<br />
'#2#! #$0<br />
8 !+7+-(2"# -+$"$2!(#2,+#2#$<br />
,2+"''.<br />
I$!+7-(!+#$-(!+72#$+!+-(+<br />
#$'B'##+"0<br />
K
)/ <br />
8(&8>--#("##$(5##0<br />
8(7("#$#(#"#$!+#(0<br />
?<br />
Browser<br />
0?S<br />
Operator<br />
Firewall<br />
5##<br />
Web Server
)5<br />
5#(#B2#,-7("'(#''(<br />
$"##"08(7(-#('(#(;I(--7(-#$('#-#,7''2<br />
(-+$$###0<br />
#2"'#0<br />
*8("'(#"2+""2(-0/<br />
Webserver<br />
Browser<br />
0?S<br />
Operator<br />
Firewall<br />
5##
)< $<br />
I+##"'+-(5#(5##0<br />
5#+000%0<br />
&:"''#,*.at.openlaboratory.net -> 212.213.221.2460<br />
•john.at.openlaboratory.net -> 212.213.221.246<br />
•bob.at.openlaboratory.net -> 212.213.221.246<br />
Webserver<br />
Browser<br />
0?S<br />
Operator<br />
Firewall<br />
Gateway<br />
DNS<br />
5##
;I< ('HT00'#!0# (5$$2(<br />
,-!"'+CE0<br />
883+$$(,-!CE0<br />
>"( 883+($7(,-!#$$+-((3+<br />
##$$20<br />
8(,-!(#$(3+2(###'#$!(<br />
"#CE0<br />
Webserver<br />
<br />
<br />
Browser<br />
<br />
0?S<br />
Operator<br />
Firewall<br />
Gateway<br />
DNS<br />
5##<br />
?
#= #<br />
%
#<br />
#'(<br />
#0<br />
(!+<br />
"<br />
#-0<br />
&$H<br />
8B",0<br />
)#$<br />
)#<br />
A!+!2<br />
,("U'BG"$0"
#<br />
5#,#2(<br />
"'(##$<br />
(-0<br />
2"2<br />
#$#,",<br />
$!(#B<br />
2('(#0<br />
5#!<br />
,#$##0<br />
A!+!2<br />
,("U'BG"$0"<br />
G
+9. <br />
(# #-<br />
!+#0<br />
'2"<br />
S,0<br />
A!+!2<br />
,("U'BG"$0"<br />
K
5 1<br />
)+#!(+#$-##$'#$#!#(<br />
#'+'"2(3+#$""($#!2(<br />
#-#,0<br />
O2#$!#"+(!'!#B'(+"#''##(<br />
##,##0<br />
(#(-'##$$#$(<br />
$#,2"2("7(+#$22#0<br />
8($"#-!#!#$#''#(<br />
##,##0
5 1& 2
2(. )3<br />
5#$#-(,,'(#2(-<br />
"##,##(#,#$(#"'<br />
#(+#$##0<br />
("(##,((+#$##<br />
"!$'#$#(,,'(##$(++#$#,<br />
#B0
.$2$= #*<br />
&#--!2# #,-P (!$+(!<br />
,,'(!#!((0
# <br />
)"#$2""-($2"(+0<br />
('H#0'#!0<br />
#I#O#'
5<br />
"'(#;5'!+2#$!7+3+##$ -(#"'$<br />
-((,$'!#$'' !$2)0<br />
A+()!-(P ("7#(227#(5##2V0<br />
52JA5#2$2(''#2"'(#H<br />
(#!+()P #!)7#+!+-#P !++$+!+<br />
'(#+#,(,$'!#$'' !$2()0<br />
6+#+#!)(''(2!+'(#0<br />
;5+$"+"'#(#;50<br />
&$$$#+P !++$72##7$#$#-<br />
-(#!+2,#!+'(#("0<br />
?
#,!+#$+#,#!-0<br />
A!+!2<br />
,("U'BG"$0"<br />
%
+1<br />
"'-0<br />
(2(--#22+##!2(<br />
"'(#.<br />
&#$#!+2++#!+#" (''0<br />
I+##('-$-(#F$0<br />
&-#2(#$-+$" '<br />
$+$''#$''#-(+#!#F$0<br />
8(#$-+$+$$#!""##,2+#(#B22#$(<br />
2"!0<br />
5#,()#$("'(#0
= 5 <br />
(#-4-'+,#M"+2'(#2"-0<br />
&2'+,###7<br />
'(##+"<br />
" 0<br />
)7#$#$$<br />
#-(+<br />
#,!+-0<br />
('H(0# 0"('#-'+,##$B0("<br />
G
# <br />
)+#!("#2""+##,-(('(#!$2#$<br />
!#$$7'(#"#+2+#$'7<br />
)7#$7#$0<br />
3++"#0<br />
(,# 88'#-",#,#'<br />
-(+#$2'#$$F#+''2"('0<br />
&(##$#$$--0<br />
5##,2"''-0<br />
52!+$!(0?SP 2##72-#,(-P<br />
2+##!"(2#'$$#! 220<br />
K
+( ?@<br />
A<br />
?
03 ) 0<br />
8-!'P "#!#$!0<br />
#!,#+!-!!2$.<br />
>"#,"""#7+-(7(""0<br />
A!#,#,#!-(#(""$2++0<br />
)""#(((""#22#(-"$7(<br />
7#2($("-0<br />
;#,
I,+#"(#"#''$+(7,(.<br />
<br />
8("$!23+("+0<br />
&#"+#$2(3+#(-"$0<br />
8(#2#(#,0<br />
('!+$#-(#!+',7+!+",(#-#+<br />
#!$!$#!+!0<br />
>+(7(##$$!""!#B$'#$#0<br />
8(#"!(#B$'#$#-0<br />
?
+$ 1 $<br />
(#+#"''P !+#B'(""-<br />
$"#0<br />
#,+##$*#-+''/ -(#"(2,#(<br />
'-$0<br />
6+$#-#(+#3+,#'-$!"!+0<br />
5"+#'$#!('#$0<br />
A+!2!+-#0<br />
8($#!2"##,#,!+'$$!( !"0<br />
6+(+$'$"2+-(#("(<br />
-0<br />
"#,,##"(#"#$$0<br />
?
1 $<br />
($#!-7$"#,,#,(#$#+<br />
(-!+'0<br />
("7(+"'####,((--!<br />
0<br />
'+#22('(#0<br />
6++#+2!0<br />
:22+$-(2"'(#-$!$$7+!-(#<br />
!+(##,#,-!#-#0<br />
5#27##"$,-!'$##-"#!3+#0<br />
?
.)<br />
<br />
<br />
<br />
(+,$#-'('!+(+$#'$000<br />
8(#,#7#"#B,$#-",(P <br />
<br />
??
0<br />
)+#!"?4<br />
"#-0<br />
8"-#$$#<br />
?"#".<br />
--$#"#$'#$0<br />
:#"'!("##,2+##-+$$0<br />
8(#$-$("#+P ("$"+#20<br />
8("#+P !+'!272##"#!"(##<br />
"2!#+"'#0<br />
8(-#B"#+P (2#$(#,##!0<br />
8("#,"#+P (##($$#B?"#+,#$<br />
-#B?"#+2"#-0<br />
8(#!"#+P ###,#$#!#$$<br />
#B2 $20<br />
8((2(#,(#,P !+##$B##($#!B0<br />
?%
)+0 <br />
J!(#,P "##$,-!2-P '#+$+#$(&'(<br />
#0<br />
('H- 0'#+0# 0"'LL<br />
('H'#+0# 0""L-L<br />
('H(0# 0""L-L<br />
('H+2,0"'#<br />
('(''-'!+#$-((#'0<br />
?
) 9<br />
@+#.<br />
"H(#0- "#U# 0"<br />
?G