~clint-fewbar/ubuntu/precise/erlang/merge-15b

« back to all changes in this revision

Viewing changes to lib/inets/test/httpd_SUITE.erl

  • Committer: Package Import Robot
  • Author(s): Sergei Golovan
  • Date: 2011-12-15 19:20:10 UTC
  • mfrom: (1.1.18) (3.5.15 sid)
  • mto: (3.5.16 sid)
  • mto: This revision was merged to the branch mainline in revision 33.
  • Revision ID: package-import@ubuntu.com-20111215192010-jnxcfe3tbrpp0big
Tags: 1:15.b-dfsg-1
* New upstream release.
* Upload to experimental because this release breaks external drivers
  API along with ABI, so several applications are to be fixed.
* Removed SSL patch because the old SSL implementation is removed from
  the upstream distribution.
* Removed never used patch which added native code to erlang beam files.
* Removed the erlang-docbuilder binary package because the docbuilder
  application was dropped by upstream.
* Documented dropping ${erlang-docbuilder:Depends} substvar in
  erlang-depends(1) manpage.
* Made erlang-base and erlang-base-hipe provide virtual package
  erlang-abi-15.b (the number means the first erlang version, which
  provides current ABI).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
%%
2
2
%% %CopyrightBegin%
3
3
%%
4
 
%% Copyright Ericsson AB 2005-2010. All Rights Reserved.
 
4
%% Copyright Ericsson AB 2005-2011. All Rights Reserved.
5
5
%%
6
6
%% The contents of this file are subject to the Erlang Public License,
7
7
%% Version 1.1, (the "License"); you may not use this file except in
20
20
 
21
21
-module(httpd_SUITE).
22
22
 
23
 
-include("test_server.hrl").
 
23
-include_lib("test_server/include/test_server.hrl").
24
24
-include("test_server_line.hrl").
25
25
-include("inets_test_lib.hrl").
26
26
 
27
27
-include_lib("kernel/include/file.hrl").
28
28
 
29
29
%% Test server specific exports
30
 
-export([all/1]).
 
30
-export([all/0, suite/0,groups/0,init_per_group/2,end_per_group/2]).
31
31
-export([init_per_testcase/2, end_per_testcase/2,
32
32
         init_per_suite/1, end_per_suite/1]).
33
33
 
34
 
%% Test cases must be exported.
35
 
-export([
36
 
         ip/1, 
37
 
         ssl/1, pssl/1, ossl/1, essl/1, 
38
 
         http_1_1_ip/1, 
39
 
         http_1_0_ip/1, 
40
 
         http_0_9_ip/1,
41
 
         ipv6/1, 
42
 
         tickets/1
43
 
        ]).
44
 
 
45
34
%% Core Server tests
46
35
-export([
47
36
         ip_mod_alias/1, 
79
68
 
80
69
-export([
81
70
         pssl_mod_alias/1, 
82
 
         ossl_mod_alias/1, 
83
71
         essl_mod_alias/1, 
84
72
         
85
73
         pssl_mod_actions/1, 
86
 
         ossl_mod_actions/1, 
87
74
         essl_mod_actions/1, 
88
75
         
89
76
         pssl_mod_security/1, 
90
 
         ossl_mod_security/1, 
91
77
         essl_mod_security/1, 
92
78
         
93
79
         pssl_mod_auth/1, 
94
 
         ossl_mod_auth/1, 
95
80
         essl_mod_auth/1, 
96
81
 
97
82
         pssl_mod_auth_api/1,  
98
 
         ossl_mod_auth_api/1,  
99
83
         essl_mod_auth_api/1,  
100
84
         
101
85
         pssl_mod_auth_mnesia_api/1, 
102
 
         ossl_mod_auth_mnesia_api/1, 
103
86
         essl_mod_auth_mnesia_api/1, 
104
87
         
105
88
         pssl_mod_htaccess/1, 
106
 
         ossl_mod_htaccess/1, 
107
89
         essl_mod_htaccess/1, 
108
90
         
109
91
         pssl_mod_cgi/1, 
110
 
         ossl_mod_cgi/1, 
111
92
         essl_mod_cgi/1,
112
93
 
113
94
         pssl_mod_esi/1, 
114
 
         ossl_mod_esi/1, 
115
95
         essl_mod_esi/1, 
116
96
 
117
97
         pssl_mod_get/1, 
118
 
         ossl_mod_get/1, 
119
98
         essl_mod_get/1, 
120
99
 
121
100
         pssl_mod_head/1, 
122
 
         ossl_mod_head/1, 
123
101
         essl_mod_head/1, 
124
102
         
125
103
         pssl_mod_all/1, 
126
 
         ossl_mod_all/1, 
127
104
         essl_mod_all/1, 
128
105
         
129
106
         pssl_load_light/1, 
130
 
         ossl_load_light/1, 
131
107
         essl_load_light/1, 
132
108
         
133
109
         pssl_load_medium/1, 
134
 
         ossl_load_medium/1, 
135
110
         essl_load_medium/1, 
136
111
 
137
112
         pssl_load_heavy/1, 
138
 
         ossl_load_heavy/1, 
139
113
         essl_load_heavy/1, 
140
114
 
141
115
         pssl_dos_hostname/1, 
142
 
         ossl_dos_hostname/1, 
143
116
         essl_dos_hostname/1, 
144
117
 
145
118
         pssl_time_test/1, 
146
 
         ossl_time_test/1, 
147
119
         essl_time_test/1,
148
120
         
149
121
         pssl_restart_no_block/1, 
150
 
         ossl_restart_no_block/1, 
151
122
         essl_restart_no_block/1, 
152
123
         
153
124
         pssl_restart_disturbing_block/1, 
154
 
         ossl_restart_disturbing_block/1, 
155
125
         essl_restart_disturbing_block/1,
156
126
         
157
127
         pssl_restart_non_disturbing_block/1, 
158
 
         ossl_restart_non_disturbing_block/1, 
159
128
         essl_restart_non_disturbing_block/1, 
160
129
         
161
130
         pssl_block_disturbing_idle/1, 
162
 
         ossl_block_disturbing_idle/1, 
163
131
         essl_block_disturbing_idle/1, 
164
132
 
165
133
         pssl_block_non_disturbing_idle/1, 
166
 
         ossl_block_non_disturbing_idle/1, 
167
134
         essl_block_non_disturbing_idle/1, 
168
135
         
169
136
         pssl_block_503/1, 
170
 
         ossl_block_503/1, 
171
137
         essl_block_503/1, 
172
138
 
173
139
         pssl_block_disturbing_active/1, 
174
 
         ossl_block_disturbing_active/1, 
175
140
         essl_block_disturbing_active/1, 
176
141
 
177
142
         pssl_block_non_disturbing_active/1, 
178
 
         ossl_block_non_disturbing_active/1, 
179
143
         essl_block_non_disturbing_active/1, 
180
144
 
181
145
         pssl_block_disturbing_active_timeout_not_released/1, 
182
 
         ossl_block_disturbing_active_timeout_not_released/1, 
183
146
         essl_block_disturbing_active_timeout_not_released/1, 
184
147
 
185
148
         pssl_block_disturbing_active_timeout_released/1, 
186
 
         ossl_block_disturbing_active_timeout_released/1, 
187
149
         essl_block_disturbing_active_timeout_released/1, 
188
150
 
189
151
         pssl_block_non_disturbing_active_timeout_not_released/1, 
190
 
         ossl_block_non_disturbing_active_timeout_not_released/1, 
191
152
         essl_block_non_disturbing_active_timeout_not_released/1, 
192
153
         
193
154
         pssl_block_non_disturbing_active_timeout_released/1, 
194
 
         ossl_block_non_disturbing_active_timeout_released/1, 
195
155
         essl_block_non_disturbing_active_timeout_released/1, 
196
156
 
197
157
         pssl_block_disturbing_blocker_dies/1, 
198
 
         ossl_block_disturbing_blocker_dies/1, 
199
158
         essl_block_disturbing_blocker_dies/1, 
200
159
 
201
160
         pssl_block_non_disturbing_blocker_dies/1, 
202
 
         ossl_block_non_disturbing_blocker_dies/1, 
203
161
         essl_block_non_disturbing_blocker_dies/1
204
162
        ]).
205
163
 
218
176
-export([ticket_5775/1,ticket_5865/1,ticket_5913/1,ticket_6003/1,
219
177
         ticket_7304/1]).
220
178
 
221
 
%%% Misc
222
 
-export([ipv6_hostname/1, ipv6_address/1]).
 
179
%%% IPv6 tests
 
180
-export([ipv6_hostname_ipcomm/0, ipv6_hostname_ipcomm/1, 
 
181
         ipv6_address_ipcomm/0,  ipv6_address_ipcomm/1, 
 
182
         ipv6_hostname_essl/0,   ipv6_hostname_essl/1,   
 
183
         ipv6_address_essl/0,    ipv6_address_essl/1]).
223
184
 
224
185
%% Help functions 
225
186
-export([cleanup_mnesia/0, setup_mnesia/0, setup_mnesia/1]).
249
210
%% Description: Returns documentation/test cases in this test suite
250
211
%%              or a skip tuple if the platform is not supported.  
251
212
%%--------------------------------------------------------------------
252
 
all(doc) ->
253
 
    ["Test the http server in the intes application."];
254
 
all(suite) ->
 
213
suite() -> [{ct_hooks,[ts_install_cth]}].
 
214
 
 
215
all() -> 
255
216
    [
256
 
     ip, 
257
 
     ssl, 
258
 
     http_1_1_ip, 
259
 
     http_1_0_ip, 
260
 
     http_0_9_ip, 
261
 
     %% ipv6, 
262
 
     tickets
 
217
     {group, ip}, 
 
218
     {group, ssl}, 
 
219
     {group, http_1_1_ip},
 
220
     {group, http_1_0_ip}, 
 
221
     {group, http_0_9_ip},
 
222
     {group, ipv6}, 
 
223
     {group, tickets}
263
224
    ].
264
 
 
 
225
 
 
226
groups() -> 
 
227
    [{ip, [],
 
228
      [ip_mod_alias, ip_mod_actions, ip_mod_security,
 
229
       ip_mod_auth, ip_mod_auth_api, ip_mod_auth_mnesia_api,
 
230
       ip_mod_htaccess, ip_mod_cgi, ip_mod_esi, ip_mod_get,
 
231
       ip_mod_head, ip_mod_all, ip_load_light, ip_load_medium,
 
232
       ip_load_heavy, ip_dos_hostname, ip_time_test,
 
233
       ip_restart_no_block, ip_restart_disturbing_block,
 
234
       ip_restart_non_disturbing_block,
 
235
       ip_block_disturbing_idle, ip_block_non_disturbing_idle,
 
236
       ip_block_503, ip_block_disturbing_active,
 
237
       ip_block_non_disturbing_active,
 
238
       ip_block_disturbing_active_timeout_not_released,
 
239
       ip_block_disturbing_active_timeout_released,
 
240
       ip_block_non_disturbing_active_timeout_not_released,
 
241
       ip_block_non_disturbing_active_timeout_released,
 
242
       ip_block_disturbing_blocker_dies,
 
243
       ip_block_non_disturbing_blocker_dies]},
 
244
     {ssl, [], [{group, pssl}, {group, essl}]},
 
245
     {pssl, [],
 
246
      [pssl_mod_alias, pssl_mod_actions, pssl_mod_security,
 
247
       pssl_mod_auth, pssl_mod_auth_api,
 
248
       pssl_mod_auth_mnesia_api, pssl_mod_htaccess,
 
249
       pssl_mod_cgi, pssl_mod_esi, pssl_mod_get, pssl_mod_head,
 
250
       pssl_mod_all, pssl_load_light, pssl_load_medium,
 
251
       pssl_load_heavy, pssl_dos_hostname, pssl_time_test,
 
252
       pssl_restart_no_block, pssl_restart_disturbing_block,
 
253
       pssl_restart_non_disturbing_block,
 
254
       pssl_block_disturbing_idle,
 
255
       pssl_block_non_disturbing_idle, pssl_block_503,
 
256
       pssl_block_disturbing_active,
 
257
       pssl_block_non_disturbing_active,
 
258
       pssl_block_disturbing_active_timeout_not_released,
 
259
       pssl_block_disturbing_active_timeout_released,
 
260
       pssl_block_non_disturbing_active_timeout_not_released,
 
261
       pssl_block_non_disturbing_active_timeout_released,
 
262
       pssl_block_disturbing_blocker_dies,
 
263
       pssl_block_non_disturbing_blocker_dies]},
 
264
     {essl, [],
 
265
      [essl_mod_alias, essl_mod_actions, essl_mod_security,
 
266
       essl_mod_auth, essl_mod_auth_api,
 
267
       essl_mod_auth_mnesia_api, essl_mod_htaccess,
 
268
       essl_mod_cgi, essl_mod_esi, essl_mod_get, essl_mod_head,
 
269
       essl_mod_all, essl_load_light, essl_load_medium,
 
270
       essl_load_heavy, essl_dos_hostname, essl_time_test,
 
271
       essl_restart_no_block, essl_restart_disturbing_block,
 
272
       essl_restart_non_disturbing_block,
 
273
       essl_block_disturbing_idle,
 
274
       essl_block_non_disturbing_idle, essl_block_503,
 
275
       essl_block_disturbing_active,
 
276
       essl_block_non_disturbing_active,
 
277
       essl_block_disturbing_active_timeout_not_released,
 
278
       essl_block_disturbing_active_timeout_released,
 
279
       essl_block_non_disturbing_active_timeout_not_released,
 
280
       essl_block_non_disturbing_active_timeout_released,
 
281
       essl_block_disturbing_blocker_dies,
 
282
       essl_block_non_disturbing_blocker_dies]},
 
283
     {http_1_1_ip, [],
 
284
      [ip_host, ip_chunked, ip_expect, ip_range, ip_if_test,
 
285
       ip_http_trace, ip_http1_1_head,
 
286
       ip_mod_cgi_chunked_encoding_test]},
 
287
     {http_1_0_ip, [],
 
288
      [ip_head_1_0, ip_get_1_0, ip_post_1_0]},
 
289
     {http_0_9_ip, [], [ip_get_0_9]},
 
290
     {ipv6, [], [ipv6_hostname_ipcomm, ipv6_address_ipcomm, 
 
291
                 ipv6_hostname_essl,   ipv6_address_essl]},
 
292
     {tickets, [],
 
293
      [ticket_5775, ticket_5865, ticket_5913, ticket_6003,
 
294
       ticket_7304]}].
 
295
 
 
296
init_per_group(_GroupName, Config) ->
 
297
    Config.
 
298
 
 
299
end_per_group(_GroupName, Config) ->
 
300
    Config.
 
301
 
 
302
 
265
303
%%--------------------------------------------------------------------
266
304
%% Function: init_per_suite(Config) -> Config
267
305
%% Config - [tuple()]
329
367
              "~n   Config: ~p"
330
368
              "~n", [?MODULE, Case, Config]),
331
369
 
332
 
    IpNormal   = integer_to_list(?IP_PORT)    ++ ".conf",
333
 
    IpHtacess  = integer_to_list(?IP_PORT)   ++ "htacess.conf",
334
 
    SslNormal  = integer_to_list(?SSL_PORT)  ++ ".conf",
335
 
    SslHtacess = integer_to_list(?SSL_PORT) ++ "htacess.conf",
 
370
    IpNormal    = integer_to_list(?IP_PORT)    ++ ".conf",
 
371
    IpHtaccess  = integer_to_list(?IP_PORT)   ++ "htaccess.conf",
 
372
    SslNormal   = integer_to_list(?SSL_PORT)  ++ ".conf",
 
373
    SslHtaccess = integer_to_list(?SSL_PORT) ++ "htaccess.conf",
336
374
 
337
375
    DataDir     = ?config(data_dir, Config),
338
376
    SuiteTopDir = ?config(suite_top_dir, Config),
392
430
    io:format(user, "~w:init_per_testcase2(~w) -> ip testcase setups~n", 
393
431
              [?MODULE, Case]),
394
432
    create_config([{port, ?IP_PORT}, {sock_type, ip_comm} | NewConfig], 
395
 
                  normal_acess, IpNormal), 
 
433
                  normal_access, IpNormal), 
396
434
    create_config([{port, ?IP_PORT}, {sock_type, ip_comm} | NewConfig], 
397
 
                  mod_htaccess, IpHtacess), 
 
435
                  mod_htaccess, IpHtaccess), 
398
436
 
399
437
    %% To be used by SSL test cases
400
438
    io:format(user, "~w:init_per_testcase2(~w) -> ssl testcase setups~n", 
404
442
            [X, $s, $s, $l | _] ->
405
443
                case X of
406
444
                    $p -> ssl;
407
 
                    $o -> ossl;
408
445
                    $e -> essl
409
446
                end;
410
447
            _ ->
412
449
        end,
413
450
 
414
451
    create_config([{port, ?SSL_PORT}, {sock_type, SocketType} | NewConfig], 
415
 
                  normal_acess, SslNormal),
 
452
                  normal_access, SslNormal),
416
453
    create_config([{port, ?SSL_PORT}, {sock_type, SocketType} | NewConfig],
417
 
                  mod_htaccess, SslHtacess),  
 
454
                  mod_htaccess, SslHtaccess),  
418
455
  
419
456
    %% To be used by IPv6 test cases. Case-clause is so that
420
457
    %% you can do ts:run(inets, httpd_SUITE, <test case>)
422
459
    %% on  'test_host_ipv6_only' that will only be present
423
460
    %% when you run the whole test suite due  to shortcomings
424
461
    %% of the test server.
425
 
    %% case (catch ?config(test_host_ipv6_only, Config)) of
426
 
    %%  {_,IPv6Host,IPv6Adress,_,_} ->
427
 
    %%      create_ipv6_config([{port, ?IP_PORT}, 
428
 
    %%                          {sock_type, ip_comm} | NewConfig],
429
 
    %%                         "ipv6_hostname.conf", IPv6Host),
430
 
    %%      create_ipv6_config([{port, ?IP_PORT}, 
431
 
    %%                          {sock_type, ip_comm} | NewConfig],
432
 
    %%                         "ipv6_address.conf", IPv6Adress);
433
 
    %%  _ ->
434
 
    %%      ok
435
 
    %%     end,
436
 
    
 
462
 
 
463
    io:format(user, "~w:init_per_testcase2(~w) -> "
 
464
              "maybe generate IPv6 config file(s)", [?MODULE, Case]),
 
465
    NewConfig2 = 
 
466
        case atom_to_list(Case) of
 
467
            "ipv6_" ++ _ ->
 
468
                case (catch inets_test_lib:has_ipv6_support(NewConfig)) of
 
469
                    {ok, IPv6Address0} ->
 
470
                        {ok, Hostname} = inet:gethostname(), 
 
471
                        IPv6Address = http_transport:ipv6_name(IPv6Address0), 
 
472
                        create_ipv6_config([{port, ?IP_PORT}, 
 
473
                                            {sock_type, ip_comm},
 
474
                                            {ipv6_host, IPv6Address} | 
 
475
                                            NewConfig],
 
476
                                           "ipv6_hostname_ipcomm.conf", 
 
477
                                           Hostname),
 
478
                        create_ipv6_config([{port, ?IP_PORT}, 
 
479
                                            {sock_type, ip_comm},
 
480
                                            {ipv6_host, IPv6Address} | 
 
481
                                            NewConfig],
 
482
                                           "ipv6_address_ipcomm.conf",  
 
483
                                           IPv6Address),
 
484
                        create_ipv6_config([{port, ?SSL_PORT}, 
 
485
                                            {sock_type, essl},
 
486
                                            {ipv6_host, IPv6Address} | 
 
487
                                            NewConfig],
 
488
                                           "ipv6_hostname_essl.conf", 
 
489
                                           Hostname),
 
490
                        create_ipv6_config([{port, ?SSL_PORT}, 
 
491
                                            {sock_type, essl},
 
492
                                            {ipv6_host, IPv6Address} | 
 
493
                                            NewConfig],
 
494
                                           "ipv6_address_essl.conf",  
 
495
                                           IPv6Address),
 
496
                        [{ipv6_host, IPv6Address} | NewConfig];
 
497
                    _ ->
 
498
                        NewConfig
 
499
                end;
 
500
 
 
501
            _ ->
 
502
                NewConfig
 
503
        end,
 
504
 
437
505
    io:format(user, "~w:init_per_testcase2(~w) -> done~n", 
438
506
              [?MODULE, Case]),
439
507
 
440
 
    NewConfig.
 
508
    NewConfig2.
441
509
 
442
510
 
443
511
init_per_testcase3(Case, Config) ->
461
529
    application:stop(ssl),
462
530
    cleanup_mnesia(),
463
531
 
464
 
    %% Set trace
 
532
    %% Set trace level
465
533
    case lists:reverse(atom_to_list(Case)) of
466
534
        "tset_emit" ++ _Rest -> % test-cases ending with time_test
467
535
            io:format(user, "~w:init_per_testcase3(~w) -> disabling trace", 
468
536
                      [?MODULE, Case]),
469
537
            inets:disable_trace();
470
538
        _ ->
471
 
            %% TraceLevel = max, 
472
539
            io:format(user, "~w:init_per_testcase3(~w) -> enabling trace", 
473
540
                      [?MODULE, Case]),
474
 
            TraceLevel = 70, 
 
541
            %% TraceLevel = 70, 
 
542
            TraceLevel = max, 
475
543
            TraceDest  = io, 
476
544
            inets:enable_trace(TraceLevel, TraceDest, httpd)
477
545
    end,
490
558
                inets_test_lib:start_http_server(
491
559
                  filename:join(TcTopDir,
492
560
                                integer_to_list(?IP_PORT) ++
493
 
                                "htacess.conf")),
 
561
                                "htaccess.conf")),
494
562
                "mod_htaccess";
495
563
            "ip_" ++ Rest ->
496
564
                inets_test_lib:start_http_server(
514
582
                Rest;
515
583
 
516
584
            [X, $s, $s, $l, $_, $m, $o, $d, $_, $h, $t, $a, $c, $c, $e, $s, $s] ->
 
585
                ?ENSURE_STARTED([crypto, public_key, ssl]),             
517
586
                SslTag = 
518
587
                    case X of
519
 
                        $p -> ssl;  % plain
520
 
                        $o -> ossl; % OpenSSL based ssl
 
588
                        $p -> ssl;  % Plain
521
589
                        $e -> essl  % Erlang based ssl
522
590
                    end,
523
591
                case inets_test_lib:start_http_server_ssl(
524
592
                       filename:join(TcTopDir,
525
593
                                     integer_to_list(?SSL_PORT) ++ 
526
 
                                     "htacess.conf"), SslTag) of
 
594
                                     "htaccess.conf"), SslTag) of
527
595
                    ok ->
528
596
                        "mod_htaccess";
529
597
                    Other ->
530
 
                        error_logger:info_report("Other: ~p~n", [Other]),
 
598
                        error_logger:info_msg("Other: ~p~n", [Other]),
531
599
                        {skip, "SSL does not seem to be supported"}
532
600
                end;
533
601
            [X, $s, $s, $l, $_ | Rest] ->
 
602
                ?ENSURE_STARTED([crypto, public_key, ssl]),             
534
603
                SslTag = 
535
604
                    case X of
536
605
                        $p -> ssl;
537
 
                        $o -> ossl;
538
606
                        $e -> essl
539
607
                    end,
540
608
                case inets_test_lib:start_http_server_ssl(
544
612
                    ok ->
545
613
                        Rest;
546
614
                    Other ->
547
 
                        error_logger:info_report("Other: ~p~n", [Other]),
 
615
                        error_logger:info_msg("Other: ~p~n", [Other]),
548
616
                        {skip, "SSL does not seem to be supported"}
549
617
                end;
550
618
            "ipv6_" ++ _  = TestCaseStr ->
551
 
                {ok, Hostname} = inet:gethostname(),
552
 
                
553
 
                case lists:member(list_to_atom(Hostname), 
554
 
                                  ?config(ipv6_hosts, Config)) of
555
 
                    true ->
 
619
                case inets_test_lib:has_ipv6_support() of
 
620
                    {ok, _} ->
556
621
                        inets_test_lib:start_http_server(
557
622
                          filename:join(TcTopDir,
558
623
                                        TestCaseStr ++ ".conf"));
559
624
                    
560
 
                    false ->
 
625
                    _ ->
561
626
                        {skip, "Host does not support IPv6"}
562
627
                end
563
628
        end,
571
636
        "mod_htaccess" ->
572
637
            ServerRoot = ?config(server_root, Config), 
573
638
            Path = filename:join([ServerRoot, "htdocs"]),
574
 
            catch remove_htacess(Path),
575
 
            create_htacess_data(Path, ?config(address, Config)),
 
639
            catch remove_htaccess(Path),
 
640
            create_htaccess_data(Path, ?config(address, Config)),
576
641
            [{watchdog, Dog} | NewConfig];
577
642
        "range" ->
578
643
            ServerRoot = ?config(server_root, Config), 
615
680
%%-------------------------------------------------------------------------
616
681
%% Test cases starts here.
617
682
%%-------------------------------------------------------------------------
618
 
ip(doc) ->
619
 
    ["HTTP tests using TCP/IP"];
620
 
ip(suite) ->
621
 
    [
622
 
     ip_mod_alias, 
623
 
     ip_mod_actions, 
624
 
     ip_mod_security, 
625
 
     ip_mod_auth,
626
 
     ip_mod_auth_api, 
627
 
     ip_mod_auth_mnesia_api,
628
 
     ip_mod_htaccess, 
629
 
     ip_mod_cgi, 
630
 
     ip_mod_esi, 
631
 
     ip_mod_get,
632
 
     ip_mod_head, 
633
 
     ip_mod_all, 
634
 
     ip_load_light, 
635
 
     ip_load_medium, 
636
 
     ip_load_heavy,
637
 
     ip_dos_hostname, 
638
 
     ip_time_test, 
639
 
     ip_restart_no_block, 
640
 
     ip_restart_disturbing_block, 
641
 
     ip_restart_non_disturbing_block, 
642
 
     ip_block_disturbing_idle, 
643
 
     ip_block_non_disturbing_idle, 
644
 
     ip_block_503, 
645
 
     ip_block_disturbing_active, 
646
 
     ip_block_non_disturbing_active, 
647
 
     ip_block_disturbing_active_timeout_not_released, 
648
 
     ip_block_disturbing_active_timeout_released, 
649
 
     ip_block_non_disturbing_active_timeout_not_released, 
650
 
     ip_block_non_disturbing_active_timeout_released, 
651
 
     ip_block_disturbing_blocker_dies, 
652
 
     ip_block_non_disturbing_blocker_dies
653
 
    ].
654
 
 
655
 
%%-------------------------------------------------------------------------
656
 
ssl(doc) ->
657
 
    ["HTTP test using SSL"];
658
 
ssl(suite) ->
659
 
    [
660
 
     pssl, 
661
 
     ossl, 
662
 
     essl
663
 
    ].
664
 
 
665
 
 
666
 
pssl(doc) ->
667
 
    ["HTTP test using SSL - using old way of configuring SSL"];
668
 
pssl(suite) ->
669
 
    [
670
 
     pssl_mod_alias, 
671
 
     pssl_mod_actions, 
672
 
     pssl_mod_security, 
673
 
     pssl_mod_auth,
674
 
     pssl_mod_auth_api, 
675
 
     pssl_mod_auth_mnesia_api,
676
 
     pssl_mod_htaccess, 
677
 
     pssl_mod_cgi, 
678
 
     pssl_mod_esi,
679
 
     pssl_mod_get, 
680
 
     pssl_mod_head, 
681
 
     pssl_mod_all, 
682
 
     pssl_load_light, 
683
 
     pssl_load_medium,
684
 
     pssl_load_heavy, 
685
 
     pssl_dos_hostname, 
686
 
     pssl_time_test,
687
 
     pssl_restart_no_block, 
688
 
     pssl_restart_disturbing_block,
689
 
     pssl_restart_non_disturbing_block, 
690
 
     pssl_block_disturbing_idle, 
691
 
     pssl_block_non_disturbing_idle, 
692
 
     pssl_block_503,
693
 
     pssl_block_disturbing_active, 
694
 
     pssl_block_non_disturbing_active, 
695
 
     pssl_block_disturbing_active_timeout_not_released, 
696
 
     pssl_block_disturbing_active_timeout_released, 
697
 
     pssl_block_non_disturbing_active_timeout_not_released, 
698
 
     pssl_block_non_disturbing_active_timeout_released, 
699
 
     pssl_block_disturbing_blocker_dies,
700
 
     pssl_block_non_disturbing_blocker_dies
701
 
    ].
702
 
 
703
 
ossl(doc) ->
704
 
    ["HTTP test using SSL - using new way of configuring usage of old SSL"];
705
 
ossl(suite) ->
706
 
    [
707
 
     ossl_mod_alias, 
708
 
     ossl_mod_actions, 
709
 
     ossl_mod_security,  
710
 
     ossl_mod_auth,
711
 
     ossl_mod_auth_api, 
712
 
     ossl_mod_auth_mnesia_api,
713
 
     ossl_mod_htaccess, 
714
 
     ossl_mod_cgi, 
715
 
     ossl_mod_esi,
716
 
     ossl_mod_get, 
717
 
     ossl_mod_head, 
718
 
     ossl_mod_all, 
719
 
     ossl_load_light, 
720
 
     ossl_load_medium,
721
 
     ossl_load_heavy, 
722
 
     ossl_dos_hostname, 
723
 
     ossl_time_test,
724
 
     ossl_restart_no_block, 
725
 
     ossl_restart_disturbing_block,
726
 
     ossl_restart_non_disturbing_block, 
727
 
     ossl_block_disturbing_idle, 
728
 
     ossl_block_non_disturbing_idle, 
729
 
     ossl_block_503,
730
 
     ossl_block_disturbing_active, 
731
 
     ossl_block_non_disturbing_active, 
732
 
     ossl_block_disturbing_active_timeout_not_released, 
733
 
     ossl_block_disturbing_active_timeout_released, 
734
 
     ossl_block_non_disturbing_active_timeout_not_released, 
735
 
     ossl_block_non_disturbing_active_timeout_released, 
736
 
     ossl_block_disturbing_blocker_dies,
737
 
     ossl_block_non_disturbing_blocker_dies
738
 
    ].
739
 
 
740
 
essl(doc) ->
741
 
    ["HTTP test using SSL - using new way of configuring usage of new SSL"];
742
 
essl(suite) ->
743
 
    [
744
 
     essl_mod_alias, 
745
 
     essl_mod_actions, 
746
 
     essl_mod_security, 
747
 
     essl_mod_auth,
748
 
     essl_mod_auth_api, 
749
 
     essl_mod_auth_mnesia_api,
750
 
     essl_mod_htaccess, 
751
 
     essl_mod_cgi, 
752
 
     essl_mod_esi,
753
 
     essl_mod_get, 
754
 
     essl_mod_head, 
755
 
     essl_mod_all, 
756
 
     essl_load_light, 
757
 
     essl_load_medium,
758
 
     essl_load_heavy, 
759
 
     essl_dos_hostname, 
760
 
     essl_time_test,
761
 
     essl_restart_no_block, 
762
 
     essl_restart_disturbing_block,
763
 
     essl_restart_non_disturbing_block, 
764
 
     essl_block_disturbing_idle, 
765
 
     essl_block_non_disturbing_idle, 
766
 
     essl_block_503,
767
 
     essl_block_disturbing_active, 
768
 
     essl_block_non_disturbing_active, 
769
 
     essl_block_disturbing_active_timeout_not_released, 
770
 
     essl_block_disturbing_active_timeout_released, 
771
 
     essl_block_non_disturbing_active_timeout_not_released, 
772
 
     essl_block_non_disturbing_active_timeout_released, 
773
 
     essl_block_disturbing_blocker_dies,
774
 
     essl_block_non_disturbing_blocker_dies
775
 
    ].
776
 
 
777
 
 
778
 
%%-------------------------------------------------------------------------
779
 
http_1_1_ip(doc) ->
780
 
    ["HTTP/1.1"];
781
 
http_1_1_ip(suite) ->
782
 
    [
783
 
     ip_host, 
784
 
     ip_chunked, 
785
 
     ip_expect, 
786
 
     ip_range, 
787
 
     ip_if_test, 
788
 
     ip_http_trace,
789
 
     ip_http1_1_head, 
790
 
     ip_mod_cgi_chunked_encoding_test
791
 
    ].
792
 
 
793
 
%%-------------------------------------------------------------------------
794
 
http_1_0_ip(doc) ->
795
 
    ["HTTP/1.0"];
796
 
http_1_0_ip(suite) ->
797
 
    [
798
 
     ip_head_1_0, 
799
 
     ip_get_1_0, 
800
 
     ip_post_1_0
801
 
    ].
802
 
 
803
 
%%-------------------------------------------------------------------------
804
 
http_0_9_ip(doc) ->
805
 
    ["HTTP/0.9"];
806
 
http_0_9_ip(suite) ->
807
 
    [
808
 
     ip_get_0_9
809
 
    ].
810
 
 
811
 
%%-------------------------------------------------------------------------
812
 
ipv6(doc) ->
813
 
    ["Tests ipv6 functionality."];
814
 
ipv6(suite) ->
815
 
    [
816
 
     ipv6_hostname, 
817
 
     ipv6_address
818
 
    ].
819
 
 
820
 
%%-------------------------------------------------------------------------
821
 
tickets(doc) ->
822
 
    ["Test cases for reported bugs."];
823
 
tickets(suite) ->
824
 
    [
825
 
     ticket_5775, 
826
 
     ticket_5865, 
827
 
     ticket_5913, 
828
 
     ticket_6003, 
829
 
     ticket_7304
830
 
    ].
831
683
 
832
684
%%-------------------------------------------------------------------------
833
685
ip_mod_alias(doc) -> 
838
690
    httpd_mod:alias(ip_comm, ?IP_PORT, 
839
691
                    ?config(host, Config), ?config(node, Config)),
840
692
    ok.
 
693
 
841
694
%%-------------------------------------------------------------------------
842
695
ip_mod_actions(doc) -> 
843
696
    ["Module test: mod_actions"];
847
700
    httpd_mod:actions(ip_comm, ?IP_PORT, 
848
701
                      ?config(host, Config), ?config(node, Config)),
849
702
    ok.
 
703
 
850
704
%%-------------------------------------------------------------------------
851
705
ip_mod_security(doc) -> 
852
706
    ["Module test: mod_security"];
1238
1092
pssl_mod_alias(Config) when is_list(Config) ->
1239
1093
    ssl_mod_alias(ssl, Config).
1240
1094
 
1241
 
ossl_mod_alias(doc) -> 
1242
 
    ["Module test: mod_alias - using new of configure old SSL"];
1243
 
ossl_mod_alias(suite) -> 
1244
 
    [];
1245
 
ossl_mod_alias(Config) when is_list(Config) ->
1246
 
    ssl_mod_alias(ossl, Config).
1247
 
 
1248
1095
essl_mod_alias(doc) -> 
1249
1096
    ["Module test: mod_alias - using new of configure new SSL"];
1250
1097
essl_mod_alias(suite) -> 
1268
1115
pssl_mod_actions(Config) when is_list(Config) ->
1269
1116
    ssl_mod_actions(ssl, Config).
1270
1117
 
1271
 
ossl_mod_actions(doc) -> 
1272
 
    ["Module test: mod_actions - using new of configure old SSL"];
1273
 
ossl_mod_actions(suite) -> 
1274
 
    [];
1275
 
ossl_mod_actions(Config) when is_list(Config) ->
1276
 
    ssl_mod_actions(ossl, Config).
1277
 
 
1278
1118
essl_mod_actions(doc) -> 
1279
1119
    ["Module test: mod_actions - using new of configure new SSL"];
1280
1120
essl_mod_actions(suite) -> 
1300
1140
pssl_mod_security(Config) when is_list(Config) ->
1301
1141
    ssl_mod_security(ssl, Config).
1302
1142
 
1303
 
ossl_mod_security(doc) -> 
1304
 
    ["Module test: mod_security - using new of configure old SSL"];
1305
 
ossl_mod_security(suite) -> 
1306
 
    [];
1307
 
ossl_mod_security(Config) when is_list(Config) ->
1308
 
    ssl_mod_security(ossl, Config).
1309
 
 
1310
1143
essl_mod_security(doc) -> 
1311
1144
    ["Module test: mod_security - using new of configure new SSL"];
1312
1145
essl_mod_security(suite) -> 
1333
1166
pssl_mod_auth(Config) when is_list(Config) ->
1334
1167
    ssl_mod_auth(ssl, Config).
1335
1168
 
1336
 
ossl_mod_auth(doc) -> 
1337
 
    ["Module test: mod_auth - using new of configure old SSL"];
1338
 
ossl_mod_auth(suite) -> 
1339
 
    [];
1340
 
ossl_mod_auth(Config) when is_list(Config) ->
1341
 
    ssl_mod_auth(ossl, Config).
1342
 
 
1343
1169
essl_mod_auth(doc) -> 
1344
1170
    ["Module test: mod_auth - using new of configure new SSL"];
1345
1171
essl_mod_auth(suite) -> 
1364
1190
pssl_mod_auth_api(Config) when is_list(Config) ->
1365
1191
    ssl_mod_auth_api(ssl, Config).
1366
1192
 
1367
 
ossl_mod_auth_api(doc) -> 
1368
 
    ["Module test: mod_auth - using new of configure old SSL"];
1369
 
ossl_mod_auth_api(suite) -> 
1370
 
    [];
1371
 
ossl_mod_auth_api(Config) when is_list(Config) ->
1372
 
    ssl_mod_auth_api(ossl, Config).
1373
 
 
1374
1193
essl_mod_auth_api(doc) -> 
1375
1194
    ["Module test: mod_auth - using new of configure new SSL"];
1376
1195
essl_mod_auth_api(suite) -> 
1397
1216
pssl_mod_auth_mnesia_api(Config) when is_list(Config) ->
1398
1217
    ssl_mod_auth_mnesia_api(ssl, Config).
1399
1218
 
1400
 
ossl_mod_auth_mnesia_api(doc) -> 
1401
 
    ["Module test: mod_auth_mnesia_api - using new of configure old SSL"];
1402
 
ossl_mod_auth_mnesia_api(suite) -> 
1403
 
    [];
1404
 
ossl_mod_auth_mnesia_api(Config) when is_list(Config) ->
1405
 
    ssl_mod_auth_mnesia_api(ossl, Config).
1406
 
 
1407
1219
essl_mod_auth_mnesia_api(doc) -> 
1408
1220
    ["Module test: mod_auth_mnesia_api - using new of configure new SSL"];
1409
1221
essl_mod_auth_mnesia_api(suite) -> 
1428
1240
pssl_mod_htaccess(Config) when is_list(Config) ->
1429
1241
    ssl_mod_htaccess(ssl, Config).
1430
1242
 
1431
 
ossl_mod_htaccess(doc) -> 
1432
 
    ["Module test: mod_htaccess - using new of configure old SSL"];
1433
 
ossl_mod_htaccess(suite) -> 
1434
 
    [];
1435
 
ossl_mod_htaccess(Config) when is_list(Config) ->
1436
 
    ssl_mod_htaccess(ossl, Config).
1437
 
 
1438
1243
essl_mod_htaccess(doc) -> 
1439
1244
    ["Module test: mod_htaccess - using new of configure new SSL"];
1440
1245
essl_mod_htaccess(suite) -> 
1459
1264
pssl_mod_cgi(Config) when is_list(Config) ->
1460
1265
    ssl_mod_cgi(ssl, Config).
1461
1266
 
1462
 
ossl_mod_cgi(doc) ->
1463
 
    ["Module test: mod_cgi - using new of configure old SSL"];
1464
 
ossl_mod_cgi(suite) ->
1465
 
    [];
1466
 
ossl_mod_cgi(Config) when is_list(Config) ->
1467
 
    ssl_mod_cgi(ossl, Config).
1468
 
 
1469
1267
essl_mod_cgi(doc) ->
1470
1268
    ["Module test: mod_cgi - using new of configure new SSL"];
1471
1269
essl_mod_cgi(suite) ->
1495
1293
pssl_mod_esi(Config) when is_list(Config) ->
1496
1294
    ssl_mod_esi(ssl, Config).
1497
1295
 
1498
 
ossl_mod_esi(doc) ->
1499
 
    ["Module test: mod_esi - using new of configure old SSL"];
1500
 
ossl_mod_esi(suite) ->
1501
 
    [];
1502
 
ossl_mod_esi(Config) when is_list(Config) ->
1503
 
    ssl_mod_esi(ossl, Config).
1504
 
 
1505
1296
essl_mod_esi(doc) ->
1506
1297
    ["Module test: mod_esi - using new of configure new SSL"];
1507
1298
essl_mod_esi(suite) ->
1526
1317
pssl_mod_get(Config) when is_list(Config) ->
1527
1318
    ssl_mod_get(ssl, Config).
1528
1319
 
1529
 
ossl_mod_get(doc) ->
1530
 
    ["Module test: mod_get - using new of configure old SSL"];
1531
 
ossl_mod_get(suite) ->
1532
 
    [];
1533
 
ossl_mod_get(Config) when is_list(Config) ->
1534
 
    ssl_mod_get(ossl, Config).
1535
 
 
1536
1320
essl_mod_get(doc) ->
1537
1321
    ["Module test: mod_get - using new of configure new SSL"];
1538
1322
essl_mod_get(suite) ->
1557
1341
pssl_mod_head(Config) when is_list(Config) ->
1558
1342
    ssl_mod_head(ssl, Config).
1559
1343
 
1560
 
ossl_mod_head(doc) ->
1561
 
    ["Module test: mod_head - using new of configure old SSL"];
1562
 
ossl_mod_head(suite) ->
1563
 
    [];
1564
 
ossl_mod_head(Config) when is_list(Config) ->
1565
 
    ssl_mod_head(ossl, Config).
1566
 
 
1567
1344
essl_mod_head(doc) ->
1568
1345
    ["Module test: mod_head - using new of configure new SSL"];
1569
1346
essl_mod_head(suite) ->
1588
1365
pssl_mod_all(Config) when is_list(Config) ->
1589
1366
    ssl_mod_all(ssl, Config).
1590
1367
 
1591
 
ossl_mod_all(doc) ->
1592
 
    ["All modules test - using new of configure old SSL"];
1593
 
ossl_mod_all(suite) ->
1594
 
    [];
1595
 
ossl_mod_all(Config) when is_list(Config) ->
1596
 
    ssl_mod_all(ossl, Config).
1597
 
 
1598
1368
essl_mod_all(doc) ->
1599
1369
    ["All modules test - using new of configure new SSL"];
1600
1370
essl_mod_all(suite) ->
1619
1389
pssl_load_light(Config) when is_list(Config) ->
1620
1390
    ssl_load_light(ssl, Config).
1621
1391
 
1622
 
ossl_load_light(doc) ->
1623
 
    ["Test light load - using new of configure old SSL"];
1624
 
ossl_load_light(suite) ->
1625
 
    [];
1626
 
ossl_load_light(Config) when is_list(Config) ->
1627
 
    ssl_load_light(ossl, Config).
1628
 
 
1629
1392
essl_load_light(doc) ->
1630
1393
    ["Test light load - using new of configure new SSL"];
1631
1394
essl_load_light(suite) ->
1651
1414
pssl_load_medium(Config) when is_list(Config) ->
1652
1415
    ssl_load_medium(ssl, Config).
1653
1416
 
1654
 
ossl_load_medium(doc) ->
1655
 
    ["Test medium load - using new of configure old SSL"];
1656
 
ossl_load_medium(suite) ->
1657
 
    [];
1658
 
ossl_load_medium(Config) when is_list(Config) ->
1659
 
    ssl_load_medium(ossl, Config).
1660
 
 
1661
1417
essl_load_medium(doc) ->
1662
1418
    ["Test medium load - using new of configure new SSL"];
1663
1419
essl_load_medium(suite) ->
1689
1445
pssl_load_heavy(Config) when is_list(Config) ->
1690
1446
    ssl_load_heavy(ssl, Config).
1691
1447
 
1692
 
ossl_load_heavy(doc) ->
1693
 
    ["Test heavy load - using new of configure old SSL"];
1694
 
ossl_load_heavy(suite) ->
1695
 
    [];
1696
 
ossl_load_heavy(Config) when is_list(Config) ->
1697
 
    ssl_load_heavy(ossl, Config).
1698
 
 
1699
1448
essl_load_heavy(doc) ->
1700
1449
    ["Test heavy load - using new of configure new SSL"];
1701
1450
essl_load_heavy(suite) ->
1727
1476
pssl_dos_hostname(Config) when is_list(Config) ->
1728
1477
    ssl_dos_hostname(ssl, Config).
1729
1478
 
1730
 
ossl_dos_hostname(doc) ->
1731
 
    ["Denial Of Service (DOS) attack test case - using new of configure old SSL"];
1732
 
ossl_dos_hostname(suite) ->
1733
 
    [];
1734
 
ossl_dos_hostname(Config) when is_list(Config) ->
1735
 
    ssl_dos_hostname(ossl, Config).
1736
 
 
1737
1479
essl_dos_hostname(doc) ->
1738
1480
    ["Denial Of Service (DOS) attack test case - using new of configure new SSL"];
1739
1481
essl_dos_hostname(suite) ->
1759
1501
pssl_time_test(Config) when is_list(Config) ->
1760
1502
    ssl_time_test(ssl, Config).
1761
1503
 
1762
 
ossl_time_test(doc) ->
1763
 
    ["using new of configure old SSL"];
1764
 
ossl_time_test(suite) ->
1765
 
    [];
1766
 
ossl_time_test(Config) when is_list(Config) ->
1767
 
    ssl_time_test(ossl, Config).
1768
 
 
1769
1504
essl_time_test(doc) ->
1770
1505
    ["using new of configure new SSL"];
1771
1506
essl_time_test(suite) ->
1805
1540
pssl_block_503(Config) when is_list(Config) ->
1806
1541
    ssl_block_503(ssl, Config).
1807
1542
 
1808
 
ossl_block_503(doc) ->
1809
 
    ["Check that you will receive status code 503 when the server"
1810
 
     " is blocked and 200 when its not blocked - using new of configure old SSL."];
1811
 
ossl_block_503(suite) ->
1812
 
    [];
1813
 
ossl_block_503(Config) when is_list(Config) ->
1814
 
    ssl_block_503(ossl, Config).
1815
 
 
1816
1543
essl_block_503(doc) ->
1817
1544
    ["Check that you will receive status code 503 when the server"
1818
1545
     " is blocked and 200 when its not blocked - using new of configure new SSL."];
1840
1567
pssl_block_disturbing_idle(Config) when is_list(Config) ->
1841
1568
    ssl_block_disturbing_idle(ssl, Config).
1842
1569
 
1843
 
ossl_block_disturbing_idle(doc) ->
1844
 
    ["Check that you can block/unblock an idle server. The strategy " 
1845
 
     "distribing does not really make a difference in this case." 
1846
 
     "Using new of configure old SSL"];
1847
 
ossl_block_disturbing_idle(suite) ->
1848
 
    [];
1849
 
ossl_block_disturbing_idle(Config) when is_list(Config) ->
1850
 
    ssl_block_disturbing_idle(ossl, Config).
1851
 
 
1852
1570
essl_block_disturbing_idle(doc) ->
1853
1571
    ["Check that you can block/unblock an idle server. The strategy " 
1854
1572
     "distribing does not really make a difference in this case." 
1877
1595
pssl_block_non_disturbing_idle(Config) when is_list(Config) ->
1878
1596
    ssl_block_non_disturbing_idle(ssl, Config).
1879
1597
 
1880
 
ossl_block_non_disturbing_idle(doc) ->
1881
 
    ["Check that you can block/unblock an idle server. The strategy " 
1882
 
     "non distribing does not really make a difference in this case." 
1883
 
     "Using new of configure old SSL"];
1884
 
ossl_block_non_disturbing_idle(suite) ->
1885
 
    [];
1886
 
ossl_block_non_disturbing_idle(Config) when is_list(Config) ->
1887
 
    ssl_block_non_disturbing_idle(ossl, Config).
1888
 
 
1889
1598
essl_block_non_disturbing_idle(doc) ->
1890
1599
    ["Check that you can block/unblock an idle server. The strategy " 
1891
1600
     "non distribing does not really make a difference in this case." 
1914
1623
pssl_block_disturbing_active(Config) when is_list(Config) ->
1915
1624
    ssl_block_disturbing_active(ssl, Config).
1916
1625
 
1917
 
ossl_block_disturbing_active(doc) ->
1918
 
    ["Check that you can block/unblock an active server. The strategy " 
1919
 
     "distribing means ongoing requests should be terminated." 
1920
 
     "Using new of configure old SSL"];
1921
 
ossl_block_disturbing_active(suite) ->
1922
 
    [];
1923
 
ossl_block_disturbing_active(Config) when is_list(Config) ->
1924
 
    ssl_block_disturbing_active(ossl, Config).
1925
 
 
1926
1626
essl_block_disturbing_active(doc) ->
1927
1627
    ["Check that you can block/unblock an active server. The strategy " 
1928
1628
     "distribing means ongoing requests should be terminated." 
1951
1651
pssl_block_non_disturbing_active(Config) when is_list(Config) ->
1952
1652
    ssl_block_non_disturbing_active(ssl, Config).
1953
1653
 
1954
 
ossl_block_non_disturbing_active(doc) ->
1955
 
    ["Check that you can block/unblock an idle server. The strategy " 
1956
 
     "non distribing means the ongoing requests should be compleated." 
1957
 
     "Using new of configure old SSL"];
1958
 
ossl_block_non_disturbing_active(suite) ->
1959
 
    [];
1960
 
ossl_block_non_disturbing_active(Config) when is_list(Config) ->
1961
 
    ssl_block_non_disturbing_active(ossl, Config).
1962
 
 
1963
1654
essl_block_non_disturbing_active(doc) ->
1964
1655
    ["Check that you can block/unblock an idle server. The strategy " 
1965
1656
     "non distribing means the ongoing requests should be compleated." 
1990
1681
  when is_list(Config) ->
1991
1682
    ssl_block_disturbing_active_timeout_not_released(ssl, Config).
1992
1683
 
1993
 
ossl_block_disturbing_active_timeout_not_released(doc) ->
1994
 
    ["Check that you can block an active server. The strategy " 
1995
 
     "distribing means ongoing requests should be compleated"
1996
 
     "if the timeout does not occur." 
1997
 
    "Using new of configure old SSL"];
1998
 
ossl_block_disturbing_active_timeout_not_released(suite) ->
1999
 
    [];
2000
 
ossl_block_disturbing_active_timeout_not_released(Config) 
2001
 
  when is_list(Config) ->
2002
 
    ssl_block_disturbing_active_timeout_not_released(ossl, Config).
2003
 
 
2004
1684
essl_block_disturbing_active_timeout_not_released(doc) ->
2005
1685
    ["Check that you can block an active server. The strategy " 
2006
1686
     "distribing means ongoing requests should be compleated"
2034
1714
  when is_list(Config) ->
2035
1715
    ssl_block_disturbing_active_timeout_released(ssl, Config).
2036
1716
 
2037
 
ossl_block_disturbing_active_timeout_released(doc) ->
2038
 
    ["Check that you can block an active server. The strategy " 
2039
 
     "distribing means ongoing requests should be terminated when"
2040
 
     "the timeout occurs." 
2041
 
    "Using new of configure old SSL"];
2042
 
ossl_block_disturbing_active_timeout_released(suite) ->
2043
 
    [];
2044
 
ossl_block_disturbing_active_timeout_released(Config) 
2045
 
  when is_list(Config) ->
2046
 
    ssl_block_disturbing_active_timeout_released(ossl, Config).
2047
 
 
2048
1717
essl_block_disturbing_active_timeout_released(doc) ->
2049
1718
    ["Check that you can block an active server. The strategy " 
2050
1719
     "distribing means ongoing requests should be terminated when"
2079
1748
  when is_list(Config) ->
2080
1749
    ssl_block_non_disturbing_active_timeout_not_released(ssl, Config).
2081
1750
 
2082
 
ossl_block_non_disturbing_active_timeout_not_released(doc) ->
2083
 
    ["Check that you can block an active server. The strategy " 
2084
 
     "non non distribing means ongoing requests should be completed." 
2085
 
    "Using new of configure old SSL"];
2086
 
ossl_block_non_disturbing_active_timeout_not_released(suite) ->
2087
 
    [];
2088
 
ossl_block_non_disturbing_active_timeout_not_released(Config)
2089
 
  when is_list(Config) ->
2090
 
    ssl_block_non_disturbing_active_timeout_not_released(ossl, Config).
2091
 
 
2092
1751
essl_block_non_disturbing_active_timeout_not_released(doc) ->
2093
1752
    ["Check that you can block an active server. The strategy " 
2094
1753
     "non non distribing means ongoing requests should be completed." 
2123
1782
  when is_list(Config) ->
2124
1783
    ssl_block_non_disturbing_active_timeout_released(ssl, Config).
2125
1784
 
2126
 
ossl_block_non_disturbing_active_timeout_released(doc) ->
2127
 
    ["Check that you can block an active server. The strategy " 
2128
 
     "non distribing means ongoing requests should be completed. "
2129
 
     "When the timeout occurs the block operation sohould be canceled." 
2130
 
     "Using new of configure old SSL"];
2131
 
ossl_block_non_disturbing_active_timeout_released(suite) ->
2132
 
    [];
2133
 
ossl_block_non_disturbing_active_timeout_released(Config)
2134
 
  when is_list(Config) ->
2135
 
    ssl_block_non_disturbing_active_timeout_released(ossl, Config).
2136
 
 
2137
1785
essl_block_non_disturbing_active_timeout_released(doc) ->
2138
1786
    ["Check that you can block an active server. The strategy " 
2139
1787
     "non distribing means ongoing requests should be completed. "
2167
1815
pssl_block_disturbing_blocker_dies(Config) when is_list(Config) ->
2168
1816
    ssl_block_disturbing_blocker_dies(ssl, Config).
2169
1817
 
2170
 
ossl_block_disturbing_blocker_dies(doc) ->
2171
 
    ["using new of configure old SSL"];
2172
 
ossl_block_disturbing_blocker_dies(suite) ->
2173
 
    [];
2174
 
ossl_block_disturbing_blocker_dies(Config) when is_list(Config) ->
2175
 
    ssl_block_disturbing_blocker_dies(ossl, Config).
2176
 
 
2177
1818
essl_block_disturbing_blocker_dies(doc) ->
2178
1819
    ["using new of configure new SSL"];
2179
1820
essl_block_disturbing_blocker_dies(suite) ->
2198
1839
pssl_block_non_disturbing_blocker_dies(Config) when is_list(Config) ->
2199
1840
    ssl_block_non_disturbing_blocker_dies(ssl, Config).
2200
1841
 
2201
 
ossl_block_non_disturbing_blocker_dies(doc) ->
2202
 
    ["using new of configure old SSL"];
2203
 
ossl_block_non_disturbing_blocker_dies(suite) ->
2204
 
    [];
2205
 
ossl_block_non_disturbing_blocker_dies(Config) when is_list(Config) ->
2206
 
    ssl_block_non_disturbing_blocker_dies(ossl, Config).
2207
 
 
2208
1842
essl_block_non_disturbing_blocker_dies(doc) ->
2209
1843
    ["using new of configure new SSL"];
2210
1844
essl_block_non_disturbing_blocker_dies(suite) ->
2229
1863
pssl_restart_no_block(Config) when is_list(Config) ->
2230
1864
    ssl_restart_no_block(ssl, Config).
2231
1865
 
2232
 
ossl_restart_no_block(doc) ->
2233
 
    ["using new of configure old SSL"];
2234
 
ossl_restart_no_block(suite) ->
2235
 
    [];
2236
 
ossl_restart_no_block(Config) when is_list(Config) ->
2237
 
    ssl_restart_no_block(ossl, Config).
2238
 
 
2239
1866
essl_restart_no_block(doc) ->
2240
1867
    ["using new of configure new SSL"];
2241
1868
essl_restart_no_block(suite) ->
2260
1887
pssl_restart_disturbing_block(Config) when is_list(Config) ->
2261
1888
    ssl_restart_disturbing_block(ssl, Config).
2262
1889
 
2263
 
ossl_restart_disturbing_block(doc) ->
2264
 
    ["using new of configure old SSL"];
2265
 
ossl_restart_disturbing_block(suite) ->
2266
 
    [];
2267
 
ossl_restart_disturbing_block(Config) when is_list(Config) ->
2268
 
    ssl_restart_disturbing_block(ossl, Config).
2269
 
 
2270
1890
essl_restart_disturbing_block(doc) ->
2271
1891
    ["using new of configure new SSL"];
2272
1892
essl_restart_disturbing_block(suite) ->
2324
1944
pssl_restart_non_disturbing_block(Config) when is_list(Config) ->
2325
1945
    ssl_restart_non_disturbing_block(ssl, Config).
2326
1946
 
2327
 
ossl_restart_non_disturbing_block(doc) ->
2328
 
    ["using new of configure old SSL"];
2329
 
ossl_restart_non_disturbing_block(suite) ->
2330
 
    [];
2331
 
ossl_restart_non_disturbing_block(Config) when is_list(Config) ->
2332
 
    ssl_restart_non_disturbing_block(ossl, Config).
2333
 
 
2334
1947
essl_restart_non_disturbing_block(doc) ->
2335
1948
    ["using new of configure new SSL"];
2336
1949
essl_restart_non_disturbing_block(suite) ->
2526
2139
    ok.
2527
2140
 
2528
2141
%------------------------------------------------------------------------- 
2529
 
ipv6_hostname(doc) ->  
 
2142
 
 
2143
ipv6_hostname_ipcomm() ->
 
2144
    [{require, ipv6_hosts}].
 
2145
ipv6_hostname_ipcomm(X) -> 
 
2146
    SocketType = ip_comm,
 
2147
    Port       = ?IP_PORT, 
 
2148
    ipv6_hostname(SocketType, Port, X).
 
2149
 
 
2150
ipv6_hostname_essl() ->
 
2151
    [{require, ipv6_hosts}].
 
2152
ipv6_hostname_essl(X) -> 
 
2153
    SocketType = essl, 
 
2154
    Port       = ?SSL_PORT, 
 
2155
    ipv6_hostname(SocketType, Port, X).
 
2156
 
 
2157
ipv6_hostname(_SocketType, _Port, doc) ->  
2530
2158
    ["Test standard ipv6 address"];
2531
 
ipv6_hostname(suite)->
 
2159
ipv6_hostname(_SocketType, _Port, suite)->
2532
2160
    [];
2533
 
ipv6_hostname(Config) when is_list(Config) -> 
 
2161
ipv6_hostname(SocketType, Port, Config) when is_list(Config) -> 
 
2162
    tsp("ipv6_hostname -> entry with"
 
2163
        "~n   SocketType: ~p"
 
2164
        "~n   Port:       ~p"
 
2165
        "~n   Config:     ~p", [SocketType, Port, Config]),
2534
2166
    Host = ?config(host, Config),
2535
 
    httpd_test_lib:verify_request(ip_comm, Host, ?IP_PORT, node(), 
2536
 
                                  "GET / HTTP/1.1\r\n\r\n",
2537
 
                                  [{statuscode, 200},
2538
 
                                   {version, "HTTP/1.1"}]),
 
2167
    URI  = "GET HTTP://" ++ 
 
2168
        Host ++ ":" ++ integer_to_list(Port) ++ "/ HTTP/1.1\r\n\r\n", 
 
2169
    tsp("ipv6_hostname -> Host: ~p", [Host]),
 
2170
    httpd_test_lib:verify_request(SocketType, Host, Port, [inet6], 
 
2171
                                  node(), 
 
2172
                                  URI, 
 
2173
                                  [{statuscode, 200}, {version, "HTTP/1.1"}]),
2539
2174
    ok.
2540
2175
 
2541
2176
%%------------------------------------------------------------------------- 
2542
 
ipv6_address(doc) ->  
 
2177
 
 
2178
ipv6_address_ipcomm() ->
 
2179
    [{require, ipv6_hosts}].
 
2180
ipv6_address_ipcomm(X) ->
 
2181
    SocketType = ip_comm,
 
2182
    Port       = ?IP_PORT, 
 
2183
    ipv6_address(SocketType, Port, X).
 
2184
 
 
2185
ipv6_address_essl() ->
 
2186
    [{require, ipv6_hosts}].
 
2187
ipv6_address_essl(X) ->
 
2188
    SocketType = essl,
 
2189
    Port       = ?SSL_PORT, 
 
2190
    ipv6_address(SocketType, Port, X).
 
2191
 
 
2192
ipv6_address(_SocketType, _Port, doc) ->
2543
2193
    ["Test standard ipv6 address"];
2544
 
ipv6_address(suite)->
 
2194
ipv6_address(_SocketType, _Port, suite)->
2545
2195
    [];
2546
 
ipv6_address(Config) when is_list(Config) ->   
2547
 
    httpd_test_lib:verify_request(ip_comm, ?IPV6_LOCAL_HOST, ?IP_PORT, 
2548
 
                                  node(), "GET / HTTP/1.1\r\n\r\n",
2549
 
                                  [{statuscode, 200},
2550
 
                                   {version, "HTTP/1.1"}]),
 
2196
ipv6_address(SocketType, Port, Config) when is_list(Config) ->   
 
2197
    tsp("ipv6_address -> entry with"
 
2198
        "~n   SocketType: ~p"
 
2199
        "~n   Port:       ~p"
 
2200
        "~n   Config:     ~p", [SocketType, Port, Config]),
 
2201
    Host = ?config(host, Config),
 
2202
    tsp("ipv6_address -> Host: ~p", [Host]),
 
2203
    URI = "GET HTTP://" ++ 
 
2204
        Host ++ ":" ++ integer_to_list(Port) ++ "/ HTTP/1.1\r\n\r\n", 
 
2205
    httpd_test_lib:verify_request(SocketType, Host, Port, [inet6], 
 
2206
                                  node(), 
 
2207
                                  URI, 
 
2208
                                  [{statuscode, 200}, {version, "HTTP/1.1"}]),
2551
2209
    ok.
2552
2210
 
 
2211
 
2553
2212
%%--------------------------------------------------------------------
2554
2213
ticket_5775(doc) ->
2555
2214
    ["Tests that content-length is correct"];
2605
2264
    ["Tests that a header without last-modified is handled"];
2606
2265
ticket_5913(suite) -> [];
2607
2266
ticket_5913(Config) ->
2608
 
    ok=httpd_test_lib:verify_request(ip_comm, ?config(host, Config),
2609
 
                                     ?IP_PORT, ?config(node, Config),
 
2267
    ok = httpd_test_lib:verify_request(ip_comm, ?config(host, Config),
 
2268
                                       ?IP_PORT, ?config(node, Config),
2610
2269
                                       "GET /cgi-bin/erl/httpd_example:get_bin "
2611
2270
                                       "HTTP/1.0\r\n\r\n", 
2612
2271
                                       [{statuscode, 200},
2613
 
                                       {version, "HTTP/1.0"}]),
 
2272
                                        {version, "HTTP/1.0"}]),
2614
2273
    ok.
2615
2274
 
2616
2275
ticket_6003(doc) ->
2617
2276
    ["Tests that a URI with a bad hexadecimal code is handled"];
2618
2277
ticket_6003(suite) -> [];
2619
2278
ticket_6003(Config) ->
2620
 
    ok=httpd_test_lib:verify_request(ip_comm, ?config(host, Config),
2621
 
                                     ?IP_PORT, ?config(node, Config),
2622
 
                                     "GET http://www.erlang.org/%skalle "
2623
 
                                     "HTTP/1.0\r\n\r\n",
2624
 
                                     [{statuscode, 400},
2625
 
                                      {version, "HTTP/1.0"}]),
 
2279
    ok = httpd_test_lib:verify_request(ip_comm, ?config(host, Config),
 
2280
                                       ?IP_PORT, ?config(node, Config),
 
2281
                                       "GET http://www.erlang.org/%skalle "
 
2282
                                       "HTTP/1.0\r\n\r\n",
 
2283
                                       [{statuscode, 400},
 
2284
                                        {version, "HTTP/1.0"}]),
2626
2285
    ok.
2627
2286
 
2628
2287
ticket_7304(doc) ->
2680
2339
    SSL =
2681
2340
        if
2682
2341
            (Type =:= ssl)  orelse 
2683
 
            (Type =:= ossl) orelse 
2684
2342
            (Type =:= essl) ->
2685
2343
                [cline(["SSLCertificateFile ", 
2686
2344
                        filename:join(ServerRoot, "ssl/ssl_server.pem")]),
2922
2580
    mnesia:delete_schema([node()]),
2923
2581
    ok.
2924
2582
 
2925
 
create_htacess_data(Path, IpAddress)->
2926
 
    create_htacess_dirs(Path),
 
2583
create_htaccess_data(Path, IpAddress)->
 
2584
    create_htaccess_dirs(Path),
2927
2585
    
2928
2586
    create_html_file(filename:join([Path,"ht/open/dummy.html"])),
2929
2587
    create_html_file(filename:join([Path,"ht/blocknet/dummy.html"])),
2930
2588
    create_html_file(filename:join([Path,"ht/secret/dummy.html"])),
2931
2589
    create_html_file(filename:join([Path,"ht/secret/top_secret/dummy.html"])),
2932
2590
    
2933
 
    create_htacess_file(filename:join([Path,"ht/open/.htaccess"]),
 
2591
    create_htaccess_file(filename:join([Path,"ht/open/.htaccess"]),
2934
2592
                         Path, "user one Aladdin"),
2935
 
    create_htacess_file(filename:join([Path,"ht/secret/.htaccess"]),
 
2593
    create_htaccess_file(filename:join([Path,"ht/secret/.htaccess"]),
2936
2594
                         Path, "group group1 group2"),
2937
 
    create_htacess_file(filename:join([Path,
 
2595
    create_htaccess_file(filename:join([Path,
2938
2596
                                       "ht/secret/top_secret/.htaccess"]),
2939
2597
                        Path, "user four"),
2940
 
    create_htacess_file(filename:join([Path,"ht/blocknet/.htaccess"]),
 
2598
    create_htaccess_file(filename:join([Path,"ht/blocknet/.htaccess"]),
2941
2599
                        Path, nouser, IpAddress),
2942
2600
   
2943
2601
    create_user_group_file(filename:join([Path,"ht","users.file"]),
2952
2610
         "<html><head><title>test</title></head>
2953
2611
         <body>testar</body></html>")).
2954
2612
 
2955
 
create_htacess_file(PathAndFileName, BaseDir, RequireData)->
 
2613
create_htaccess_file(PathAndFileName, BaseDir, RequireData)->
2956
2614
    file:write_file(PathAndFileName,
2957
2615
                    list_to_binary(
2958
2616
                      "AuthUserFile "++ BaseDir ++
2961
2619
                      " Basic\n<Limit>\nrequire " ++ RequireData ++
2962
2620
                      "\n</Limit>")).
2963
2621
 
2964
 
create_htacess_file(PathAndFileName, BaseDir, nouser, IpAddress)->
 
2622
create_htaccess_file(PathAndFileName, BaseDir, nouser, IpAddress)->
2965
2623
    file:write_file(PathAndFileName,list_to_binary(
2966
2624
                                      "AuthUserFile "++ BaseDir ++
2967
2625
                                      "/ht/users.file\nAuthGroupFile " ++ 
2975
2633
create_user_group_file(PathAndFileName, Data)->
2976
2634
    file:write_file(PathAndFileName, list_to_binary(Data)).
2977
2635
 
2978
 
create_htacess_dirs(Path)->
 
2636
create_htaccess_dirs(Path)->
2979
2637
    ok = file:make_dir(filename:join([Path,"ht"])),
2980
2638
    ok = file:make_dir(filename:join([Path,"ht/open"])),
2981
2639
    ok = file:make_dir(filename:join([Path,"ht/blocknet"])),
2982
2640
    ok = file:make_dir(filename:join([Path,"ht/secret"])),
2983
2641
    ok = file:make_dir(filename:join([Path,"ht/secret/top_secret"])).
2984
2642
 
2985
 
remove_htacess_dirs(Path)->
 
2643
remove_htaccess_dirs(Path)->
2986
2644
    file:del_dir(filename:join([Path,"ht/secret/top_secret"])),
2987
2645
    file:del_dir(filename:join([Path,"ht/secret"])),
2988
2646
    file:del_dir(filename:join([Path,"ht/blocknet"])),
3005
2663
format_ip(IpAddress, _Pos)->
3006
2664
    "1" ++ IpAddress.
3007
2665
 
3008
 
remove_htacess(Path)->
 
2666
remove_htaccess(Path)->
3009
2667
    file:delete(filename:join([Path,"ht/open/dummy.html"])),
3010
2668
    file:delete(filename:join([Path,"ht/secret/dummy.html"])),
3011
2669
    file:delete(filename:join([Path,"ht/secret/top_secret/dummy.html"])),
3016
2674
    file:delete(filename:join([Path,"ht/secret/top_secret/.htaccess"])),
3017
2675
    file:delete(filename:join([Path,"ht","users.file"])),
3018
2676
    file:delete(filename:join([Path,"ht","groups.file"])),
3019
 
    remove_htacess_dirs(Path).
 
2677
    remove_htaccess_dirs(Path).
3020
2678
 
3021
2679
 
3022
2680
dos_hostname_poll(Type, Host, Port, Node, Hosts) ->
3056
2714
                                                   "12345678901234567890",
3057
2715
                                                   "12345678901234567890"])).
3058
2716
 
3059
 
%% create_ipv6_config(Config, FileName, Ipv6Address) ->
3060
 
%%     ServerRoot = ?config(server_root, Config),
3061
 
%%     TcTopDir = ?config(tc_top_dir, Config),
3062
 
%%     Port =  ?config(port, Config),
3063
 
%%     SockType = ?config(sock_type, Config),
3064
 
%%
3065
 
%%     MaxHdrSz     = io_lib:format("~p", [256]),
3066
 
%%     MaxHdrAct    = io_lib:format("~p", [close]),
3067
 
%%   
3068
 
%%     Mod_order = "Modules mod_alias mod_auth mod_esi mod_actions mod_cgi" 
3069
 
%%      " mod_include mod_dir mod_get mod_head" 
3070
 
%%      " mod_log mod_disk_log mod_trace",
3071
 
%%          
3072
 
%%     HttpConfig = [cline(["BindAddress ", "[" ++ Ipv6Address ++"]|inet6"]),
3073
 
%%                cline(["Port ", integer_to_list(Port)]),
3074
 
%%                cline(["ServerName ", "httpc_test"]),
3075
 
%%                cline(["SocketType ", atom_to_list(SockType)]),
3076
 
%%                cline([Mod_order]),
3077
 
%%                cline(["ServerRoot ", ServerRoot]),
3078
 
%%                cline(["DocumentRoot ",  
3079
 
%%                       filename:join(ServerRoot, "htdocs")]),
3080
 
%%                cline(["MaxHeaderSize ",MaxHdrSz]),
3081
 
%%                cline(["MaxHeaderAction ",MaxHdrAct]),
3082
 
%%                cline(["DirectoryIndex ", "index.html "]),
3083
 
%%                cline(["DefaultType ", "text/plain"])],
3084
 
%%     ConfigFile = filename:join([TcTopDir,FileName]),
3085
 
%%     {ok, Fd} = file:open(ConfigFile, [write]),
3086
 
%%     ok = file:write(Fd, lists:flatten(HttpConfig)),
3087
 
%%     ok = file:close(Fd).
 
2717
create_ipv6_config(Config, FileName, Ipv6Address) ->
 
2718
    ServerRoot = ?config(server_root, Config),
 
2719
    TcTopDir   = ?config(tc_top_dir,  Config),
 
2720
    Port       = ?config(port,        Config),
 
2721
    SockType   = ?config(sock_type,   Config),
 
2722
    Mods       = io_lib:format("~p",  [httpd_mod]),
 
2723
    Funcs      = io_lib:format("~p",  [ssl_password_cb]),
 
2724
    Host       = ?config(ipv6_host,   Config),
 
2725
 
 
2726
    MaxHdrSz     = io_lib:format("~p", [256]),
 
2727
    MaxHdrAct    = io_lib:format("~p", [close]),
 
2728
  
 
2729
    Mod_order = "Modules mod_alias mod_auth mod_esi mod_actions mod_cgi" 
 
2730
        " mod_include mod_dir mod_get mod_head" 
 
2731
        " mod_log mod_disk_log mod_trace",
 
2732
            
 
2733
    SSL =
 
2734
        if
 
2735
            (SockType =:= ssl)  orelse 
 
2736
            (SockType =:= essl) ->
 
2737
                [cline(["SSLCertificateFile ", 
 
2738
                        filename:join(ServerRoot, "ssl/ssl_server.pem")]),
 
2739
                 cline(["SSLCertificateKeyFile ",
 
2740
                        filename:join(ServerRoot, "ssl/ssl_server.pem")]),
 
2741
                 cline(["SSLCACertificateFile ",
 
2742
                        filename:join(ServerRoot, "ssl/ssl_server.pem")]),
 
2743
                 cline(["SSLPasswordCallbackModule ", Mods]),
 
2744
                 cline(["SSLPasswordCallbackFunction ", Funcs]),
 
2745
                 cline(["SSLVerifyClient 0"]),
 
2746
                 cline(["SSLVerifyDepth 1"])];
 
2747
            true ->
 
2748
                []
 
2749
        end,
 
2750
 
 
2751
    BindAddress = "[" ++ Ipv6Address ++"]|inet6", 
 
2752
 
 
2753
    HttpConfig = 
 
2754
        [cline(["BindAddress ", BindAddress]),
 
2755
         cline(["Port ", integer_to_list(Port)]),
 
2756
         cline(["ServerName ", Host]),
 
2757
         cline(["SocketType ", atom_to_list(SockType)]),
 
2758
         cline([Mod_order]),
 
2759
         cline(["ServerRoot ", ServerRoot]),
 
2760
         cline(["DocumentRoot ", filename:join(ServerRoot, "htdocs")]),
 
2761
         cline(["MaxHeaderSize ",MaxHdrSz]),
 
2762
         cline(["MaxHeaderAction ",MaxHdrAct]),
 
2763
         cline(["DirectoryIndex ", "index.html "]),
 
2764
         cline(["DefaultType ", "text/plain"]), 
 
2765
         SSL],
 
2766
    ConfigFile = filename:join([TcTopDir,FileName]),
 
2767
    {ok, Fd} = file:open(ConfigFile, [write]),
 
2768
    ok = file:write(Fd, lists:flatten(HttpConfig)),
 
2769
    ok = file:close(Fd).
 
2770
 
 
2771
 
 
2772
%% tsp(F) ->
 
2773
%%     inets_test_lib:tsp(F).
 
2774
tsp(F, A) ->
 
2775
    inets_test_lib:tsp(F, A).
3088
2776
 
3089
2777
tsf(Reason) ->
3090
 
    test_server:fail(Reason).
 
2778
    inets_test_lib:tsf(Reason).