Mercurial > hg > nginx
annotate auto/module @ 9154:f6b6f3dd7ca0
QUIC: ignore path validation socket error (ticket #2532).
Previously, a socket error on a path being validated resulted in validation
error and subsequent QUIC connection closure. Now the error is ignored and
path validation proceeds as usual, with several retries and a timeout.
When validating the old path after an apparent migration, that path may already
be unavailable and sendmsg() may return an error, which should not result in
QUIC connection close.
When validating the new path, it's possible that the new client address is
spoofed (See RFC 9000, 9.3.2. On-Path Address Spoofing). This address may
as well be unavailable and should not trigger QUIC connection closure.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Thu, 31 Aug 2023 10:54:07 +0400 |
parents | 4b1299b1856a |
children |
rev | line source |
---|---|
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
1 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
2 # Copyright (C) Ruslan Ermilov |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
3 # Copyright (C) Nginx, Inc. |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
4 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
5 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
6 case $ngx_module_type in |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
7 HTTP_*) ngx_var=HTTP ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
8 *) ngx_var=$ngx_module_type ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
9 esac |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
10 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
11 |
6383 | 12 if [ "$ngx_module_link" = DYNAMIC ]; then |
13 | |
14 for ngx_module in $ngx_module_name; do | |
15 # extract the first name | |
16 break | |
17 done | |
18 | |
19 DYNAMIC_MODULES="$DYNAMIC_MODULES $ngx_module" | |
20 | |
21 eval ${ngx_module}_MODULES=\"$ngx_module_name\" | |
22 | |
23 if [ -z "$ngx_module_order" -a \ | |
24 \( "$ngx_module_type" = "HTTP_FILTER" \ | |
25 -o "$ngx_module_type" = "HTTP_AUX_FILTER" \) ] | |
26 then | |
27 eval ${ngx_module}_ORDER=\"$ngx_module_name \ | |
28 ngx_http_copy_filter_module\" | |
29 else | |
30 eval ${ngx_module}_ORDER=\"$ngx_module_order\" | |
31 fi | |
32 | |
7743
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
33 srcs= |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
34 shrd= |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
35 for src in $ngx_module_srcs |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
36 do |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
37 found=no |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
38 for old in $DYNAMIC_MODULES_SRCS |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
39 do |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
40 if [ $src = $old ]; then |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
41 found=yes |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
42 break |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
43 fi |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
44 done |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
45 |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
46 if [ $found = no ]; then |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
47 srcs="$srcs $src" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
48 else |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
49 shrd="$shrd $src" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
50 fi |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
51 done |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
52 eval ${ngx_module}_SRCS=\"$srcs\" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
53 eval ${ngx_module}_SHRD=\"$shrd\" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
54 |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
55 DYNAMIC_MODULES_SRCS="$DYNAMIC_MODULES_SRCS $srcs" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
56 |
6383 | 57 if test -n "$ngx_module_incs"; then |
58 CORE_INCS="$CORE_INCS $ngx_module_incs" | |
59 fi | |
60 | |
6804
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6603
diff
changeset
|
61 if test -n "$ngx_module_deps"; then |
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6603
diff
changeset
|
62 NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_module_deps" |
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6603
diff
changeset
|
63 fi |
2c7a2d75938a
Configure: honor dependencies of dynamic modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6603
diff
changeset
|
64 |
6383 | 65 libs= |
66 for lib in $ngx_module_libs | |
67 do | |
68 case $lib in | |
69 | |
6419 | 70 LIBXSLT | LIBGD | GEOIP | PERL) |
6383 | 71 libs="$libs \$NGX_LIB_$lib" |
72 | |
73 if eval [ "\$USE_${lib}" = NO ] ; then | |
74 eval USE_${lib}=DYNAMIC | |
75 fi | |
76 ;; | |
77 | |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
78 PCRE | OPENSSL | ZLIB) |
6383 | 79 eval USE_${lib}=YES |
80 ;; | |
81 | |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
82 MD5 | SHA1) |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
83 # obsolete |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
84 ;; |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
85 |
6383 | 86 *) |
87 libs="$libs $lib" | |
88 ;; | |
89 | |
90 esac | |
91 done | |
92 eval ${ngx_module}_LIBS=\'$libs\' | |
93 | |
94 elif [ "$ngx_module_link" = YES ]; then | |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
95 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
96 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \ |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
97 $ngx_module_name\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
98 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
99 eval ${ngx_var}_SRCS=\"\$${ngx_var}_SRCS $ngx_module_srcs\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
100 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
101 if test -n "$ngx_module_incs"; then |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
102 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
103 fi |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
104 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
105 if test -n "$ngx_module_deps"; then |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
106 eval ${ngx_var}_DEPS=\"\$${ngx_var}_DEPS $ngx_module_deps\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
107 fi |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
108 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
109 for lib in $ngx_module_libs |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
110 do |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
111 case $lib in |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
112 |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
113 PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP) |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
114 eval USE_${lib}=YES |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
115 ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
116 |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
117 MD5 | SHA1) |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
118 # obsolete |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
119 ;; |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
120 |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
121 *) |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
122 CORE_LIBS="$CORE_LIBS $lib" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
123 ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
124 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
125 esac |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
126 done |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
127 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
128 elif [ "$ngx_module_link" = ADDON ]; then |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
129 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
130 eval ${ngx_module_type}_MODULES=\"\$${ngx_module_type}_MODULES \ |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
131 $ngx_module_name\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
132 |
7743
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
133 srcs= |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
134 for src in $ngx_module_srcs |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
135 do |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
136 found=no |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
137 for old in $NGX_ADDON_SRCS |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
138 do |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
139 if [ $src = $old ]; then |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
140 found=yes |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
141 break |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
142 fi |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
143 done |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
144 |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
145 if [ $found = no ]; then |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
146 srcs="$srcs $src" |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
147 fi |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
148 done |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
149 |
4b1299b1856a
Configure: shared sources for addon modules.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6804
diff
changeset
|
150 NGX_ADDON_SRCS="$NGX_ADDON_SRCS $srcs" |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
151 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
152 if test -n "$ngx_module_incs"; then |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
153 eval ${ngx_var}_INCS=\"\$${ngx_var}_INCS $ngx_module_incs\" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
154 fi |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
155 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
156 if test -n "$ngx_module_deps"; then |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
157 NGX_ADDON_DEPS="$NGX_ADDON_DEPS $ngx_module_deps" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
158 fi |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
159 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
160 for lib in $ngx_module_libs |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
161 do |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
162 case $lib in |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
163 |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
164 PCRE | OPENSSL | ZLIB | LIBXSLT | LIBGD | PERL | GEOIP) |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
165 eval USE_${lib}=YES |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
166 ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
167 |
6603
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
168 MD5 | SHA1) |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
169 # obsolete |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
170 ;; |
9eefb38f0005
Internal md5 and sha1 implementations are now always used.
Maxim Dounin <mdounin@mdounin.ru>
parents:
6419
diff
changeset
|
171 |
6382
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
172 *) |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
173 CORE_LIBS="$CORE_LIBS $lib" |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
174 ;; |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
175 |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
176 esac |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
177 done |
392959224560
Dynamic modules: auto/module script.
Maxim Dounin <mdounin@mdounin.ru>
parents:
diff
changeset
|
178 fi |