Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.48 KB | None | 0 0
  1. Changes with Apache 2.0a7
  2. 6238
  3. 6239 *) Reimplement core_output_filter to buffer/save bucket brigades
  4. 6240 across multiple calls to the core_filter. The brigade will be
  5. 6241 sent when either MIN_BYTES_TO_SEND or MAX_IOVEC_TO_WRITE
  6. 6242 thresholds are hit or the EOS bucket is received.
  7. 6243 [Bill Stoddard]
  8. 6244
  9. 6245 *) Create experimental filter (buffer_filter) that coalesces bytes
  10. 6246 into one large buffer before invoking the next filter in the
  11. 6247 chain. This filter is particularly useful with the current
  12. 6248 implementation of mod_autoindex when it inserted above the
  13. 6249 chunk_filter. mod_autoindex generates a lot of brigades that
  14. 6250 containing buckets holding just a few bytes each. The
  15. 6251 buffer_filter coalesces these buckets into a single large bucket.
  16. 6252 [Bill Stoddard]
  17. 6253
  18. 6254 *) Add apr_sendfile() support into the core_output_filter.
  19. 6255 [Bill Stoddard]
  20. 6256
  21. 6257 *) Add apr_sendv() support into the core_output_filter.
  22. 6258 [Bill Stoddard]
  23. 6259
  24. 6260 *) Fix mod_log_config so that it compiles cleanly with BUFFERED_LOGS
  25. 6261 [Mike Abbott <mja sgi.com>]
  26. 6262
  27. 6263 *) Remove ap_send_fb. This is no longer used in Apache, and it doesn't
  28. 6264 make much sense, because Apache uses buckets instead of BUFFs now.
  29. 6265 [Ryan Bloom]
  30. 6266
  31. 6267 *) send_the_file now falls back to a read/write loop on platforms that
  32. 6268 do not have sendfile.
  33. 6269 [Ryan Bloom and Brian Havard]
  34. 6270
  35. 6271 *) Install apachectl correctly, and substitute the proper values so
  36. 6272 that it works again. [Ryan Bloom]
  37. 6273
  38. 6274 *) Better(??) handle platforms that lack sendfile().
  39. 6275 [Jim Jagielski]
  40. 6276
  41. 6277 *) APR now has UUID generation/formatting/parsing support.
  42. 6278 [Greg Stein]
  43. 6279
  44. 6280 *) Begin the http_filter. This is an input filter that understands
  45. 6281 the absolute basic amount required to parse an HTTP Request. The
  46. 6282 goal is to be able to split headers from request body before passing
  47. 6283 the data back to the other filters.
  48. 6284 [Ryan Bloom]
  49. 6285
  50. 6286 *) Bring forward from 1.3.13 the config directory implementation
  51. 6287 [Jim Jagielski]
  52. 6288
  53. 6289 *) install apxs if it is created
  54. 6290 [Ryan Bloom]
  55. 6291
  56. 6292 *) Added APR_IS_STATUS_condition test macros to eliminate canonical error
  57. 6293 conversions. [William Rowe]
  58. 6294
  59. 6295 *) Now that we have ap_add_input_filter(), rename ap_add_filter() to
  60. 6296 ap_add_output_filter(). [Jeff Trawick]
  61. 6297
  62. 6298 *) Multiple build and configuration fixes
  63. 6299 Build process:
  64. 6300
  65. 6301 -add datadir and localstatedir substitutions
  66. 6302 -fix layout name
  67. 6303 -fix logfilename misspelling
  68. 6304 -fix evaluation of installation dir variables and
  69. 6305 -replace $foobar by $(foobar) to be usefull in the makefile
  70. 6306
  71. 6307 Cross compile:
  72. 6308
  73. 6309 -add rules for cross-compiling in rules.mk. Okay, rule to check for
  74. 6310 $CC_FOR_BUILD is still missing
  75. 6311 -use CHECK_TOOL instead of CHECK_PROG for ranlib
  76. 6312 -add missing "AR=@AR@" to severaly Makefile.in's
  77. 6313 -cache result for "struct rlimit"
  78. 6314 -compile all helper programs with native and cross compiler
  79. 6315 and use the native version to generate header file
  80. 6316 [Rüdiger Kuhlmann <Tadu gmx.de>]
  81. 6317
  82. 6318 *) Prepare our autoconf setup for autoconf 2.14a and for cross-
  83. 6319 compiling.
  84. 6320 [Rüdiger Kuhlmann <Tadu gmx.de>]
  85. 6321
  86. 6322 *) Fix a bug where a client which only sends \n to delimit header
  87. 6323 lines (netcat) gets a strange looking HTTP_NOT_IMPLEMENTED
  88. 6324 message. Start working on ebcdic co-existance with input
  89. 6325 filtering.
  90. 6326 [William Rowe, Greg Ames]
  91. 6327
  92. 6328 *) If mod_so is enabled in the server always create libexec, even
  93. 6329 if there are no modules installed in this directory. This is a
  94. 6330 requirement for APXS to work correctly.
  95. 6331 [Ryan Bloom]
  96. 6332
  97. 6333 *) Connection oriented output filters are now stored in the
  98. 6334 conn_rec instead of the request_rec. This allows us to add the
  99. 6335 output filter in the pre-connection phase instead of the
  100. 6336 post_read_request phase, which keeps us from trying to write an
  101. 6337 error page before we have a filter to write to the network.
  102. 6338 [Ryan Bloom, Jeff Trawick, and Greg Ames]
  103. 6339
  104. 6340 *) Cleaning up an mmap bucket no longer deletes the mmap. An
  105. 6341 mmap can be used across multiple buckets (default_handler with
  106. 6342 byte ranges, mod_file_cache, mod_mmap_static), so cleanup of
  107. 6343 the mmap itself can't be associated with the bucket.
  108. 6344 [Jeff Trawick]
  109. 6345
  110. 6346 *) Add .dll caching directive ISAPICacheFile to mod_isapi.
  111. 6347 [William Rowe]
  112. 6348
  113. 6349 *) Radical surgery to improve mod_isapi support under Win32.
  114. 6350 Includes a number of newer ServerSupportFunction calls, support
  115. 6351 for ReadClient (in order to retrieve POSTs greater than 48KB),
  116. 6352 and general bug fixes to more reliably load ISAPI .dll's and
  117. 6353 prevent leaking handle resources. Note: There are still
  118. 6354 discrepancies between IIS's and Apache's ServerVariables, and
  119. 6355 async calls are still not supported. Additional warnings are
  120. 6356 logged to facilitate debugging of unsupported ISAPI calls.
  121. 6357 [William Rowe]
  122. 6358
  123. 6359 *) Add input filtering to Apache. The basic idea for the input
  124. 6360 filters is the same as the ideas for output filters. The biggest
  125. 6361 difference is that instead of calling ap_pass_brigade, ap_get_brigade
  126. 6362 should be called, and the order of execution for the filter itself is
  127. 6363 different. When writing an output filter, a brigade is passed in,
  128. 6364 and filters operate directly on that brigade, when done, they call
  129. 6365 ap_pass_brigade. Input filters are the exact opposite. Because input
  130. 6366 is not a push operation, filters first call ap_get_brigade. When this
  131. 6367 function returns, the input filter will be left with a valid brigade.
  132. 6368 The input filter should then operate on the brigade, and return.
  133. 6369 [Ryan Bloom]
  134. 6370
  135. 6371 *) Fix building on BSD/OS using its native make. The build system
  136. 6372 falls back to the BSD .include directive on that host platform.
  137. 6373 [Sascha Schumann]
  138. 6374
  139. 6375 *) Expand dbmmanage to allow -d -m -s -p options for Crypt, MD5,
  140. 6376 SHA1 and plaintext password encodings. Make feature tests a
  141. 6377 bit more flexible. [William Rowe]
  142. 6378
  143. 6379 *) Charset translation: mod_charset_lite handles output content
  144. 6380 translation in a filter. mod_charset_lite no longer ignores
  145. 6381 subrequests. A bunch of cruft related to BUFF's support for
  146. 6382 translating request and response bodies was removed.
  147. 6383 [Jeff Trawick]
  148. 6384
  149. 6385 *) Move the addition of the CORE filter to the post_read_request
  150. 6386 hook in http_core.c. This removes the need to add the filter in
  151. 6387 multiple places and allows for an SSL module to be added much
  152. 6388 simpler. [Ryan Bloom]
  153. 6389
  154. 6390 *) SECURITY: CVE-2000-0913 (cve.mitre.org)
  155. 6391 Fix a security problem that affects certain configurations of
  156. 6392 mod_rewrite. If the result of a RewriteRule is a filename that
  157. 6393 contains expansion specifiers, especially regexp backreferences
  158. 6394 $0..$9 and %0..%9, then it may be possible for an attacker to
  159. 6395 access any file on the web server. [Tony Finch]
  160. 6396
  161. 6397 *) Fix a bug where errors that are detected during early request parsing
  162. 6398 don't produce visible HTTP error messages at the browser, because
  163. 6399 the core_filter wasn't present. [Greg Ames]
  164. 6400
  165. 6401 *) Provide apr_socklen_t as a portability aid.
  166. 6402 [Victor J. Orlikowski]
  167. 6403
  168. 6404 *) Overhaul of dbmmanage to allow a groups arg (as in Apache 1.2)
  169. 6405 as well as a comment arg to the add, adduser and update cmds.
  170. 6406 update allows the user to clear or preserve pw/groups/comment.
  171. 6407 Fixed a bug in dbmmanage that prevented the check option from
  172. 6408 parsing a password followed by :group... text. Corrected the
  173. 6409 seed calcualation for Win32 systems, and added -lsdbm support.
  174. 6410 [William Rowe]
  175. 6411
  176. 6412 *) Configured mod_auth_dbm to compile with sdbmlib under Win32.
  177. 6413 [William Rowe]
  178. 6414
  179. 6415 *) Avoid a segfault when parsing .htaccess files. An
  180. 6416 uninitialized tree pointer was passed to ap_build_config().
  181. 6417 [Jeff Trawick]
  182. 6418
  183. 6419 *) Change the way that inet_addr & inet_network are checked for
  184. 6420 in APR's configure process to allow BeOS BONE to correctly
  185. 6421 find them. With this change BeOS BONE now builds from source
  186. 6422 with no problems. [David Reid]
  187. 6423
  188. 6424 *) Fix a bug in apr_create_process() for Unix. The NULL signifying
  189. 6425 the end of the parameters to execve() was stored in the wrong
  190. 6426 location, overlaying the storage beyond the newargs[] array and
  191. 6427 also passing uninitialized storage to execve(), which would
  192. 6428 sometimes fail with EFAULT. [Jeff Trawick]
  193. 6429
  194. 6430 *) Fix a bug parsing configuration file containers. With a sequence
  195. 6431 like this in the config file
  196. 6432
  197. 6433 <IfModule mod_kilroy.c>
  198. 6434 any stuff
  199. 6435 </IfModule>
  200. 6436 <IfModule mod_lovejoy.c>
  201. 6437 (blank line)
  202. 6438 any stuff
  203. 6439 </IfModule>
  204. 6440
  205. 6441 the second container would be terminated at the blank line due to
  206. 6442 sediment in the buffer from reading the prior </IfModule> and an
  207. 6443 error message would be generated for the real </IfModule> for the
  208. 6444 second container. Also due to this problem, any two characters
  209. 6445 could be used for "</" in the close of a container.
  210. 6446 [Jeff Trawick]
  211. 6447
  212. 6448 *) ap_add_filter prototype changed to remove the ctx pointer. The
  213. 6449 pointer still remains in the filter structure, but it can not be
  214. 6450 a part of the ap_add_filter prototype. The reason is that when
  215. 6451 the core uses AddFilter to add a filter to the stack it doesn't
  216. 6452 know how to allocate the ctx pointer, or even how much memory should
  217. 6453 be allocated. The filters will have to be responsible for allocating
  218. 6454 the ctx memory when they need it.
  219. 6455 [Ryan Bloom]
  220. 6456
  221. 6457 *) Add an AddFilter directive. This directive takes a list of filters
  222. 6458 that should be activated for the requested resource.
  223. 6459 [Ryan Bloom]
  224. 6460
  225. 6461 *) apr_snprintf(): Get quad format strings working on OS/390 (and perhaps
  226. 6462 some other platforms). [Jeff Trawick]
  227. 6463
  228. 6464 *) Modify mod_include to be a filter. Currently, it has only been tested
  229. 6465 on actual files, but it should work for CGI scripts too.
  230. 6466 [Ryan Bloom]
  231. 6467
  232. 6468 *) apr_putc(), apr_puts() for Unix: handle buffered files and interrupted
  233. 6469 writes. apr_flush() for Unix: handle interrupted writes.
  234. 6470 [Jeff Trawick]
  235. 6471
  236. 6472 *) NameVirtualHost can now take "*" as an argument instead of
  237. 6473 an IP address. This allows you to create a purely name-based
  238. 6474 virtual hosting server that does not have any IP addresses in
  239. 6475 the configuration file and which ignores the local address
  240. 6476 of any connections. PR #5595, PR #4455 [Tony Finch]
  241. 6477
  242. 6478 *) Fix some compile warnings in mod_mmap_static.c
  243. 6479 [Mike Abbott <mja sgi.com>]
  244. 6480
  245. 6481 *) Fix chunking problem with CGI scripts. The general problem was that
  246. 6482 the CGI modules were adding an EOS bucket and then the core added an
  247. 6483 EOS bucket. The chunking filter finalizes the chunked response when it
  248. 6484 encounters an EOS bucket. Because two EOS buckets were sent, we
  249. 6485 finalized the response twice. The fix is to make sure we only send one
  250. 6486 EOS, by utilizing a flag in the request_rec.
  251. 6487 [Ryan Bloom]
  252. 6488
  253. 6489 *) apr_put_os_file() now sets up the unget byte appropriately on Unix
  254. 6490 and Win32. Previously, the first read from an apr_file_t set up via
  255. 6491 apr_put_os_file() would return a '\0'. [Jeff Trawick]
  256. 6492
  257. 6493 *) Mod_cgid now creates a single element bucket brigade, with a pipe
  258. 6494 bucket, instead of using BUFF's and ap_r*.
  259. 6495 [Ryan Bloom]
  260. 6496
  261. 6497 *) APRVARS.in no longer overwrites the EXTRA_LIBS variable.
  262. 6498 [Mike Abbott <mja sgi.com>]
  263. 6499
  264. 6500 *) Remove ap_bopenf from buff code. This required modifying the file_cache
  265. 6501 code to use APR file's directly instead of going through BUFFs.
  266. 6502 [Ryan Bloom]
  267. 6503
  268. 6504 *) Fix compile break on some platforms for mod_mime_magic.c
  269. 6505 [John K. Sterling <sterling covalent.net>]
  270. 6506
  271. 6507 *) Fix merging of AddDefaultCharset directive.
  272. 6508 PR #5872 (1.3) [Jun Kuriyama <kuriyama imgsrc.co.jp>]
  273. 6509
  274. 6510 *) Minor revamp of the rlimit sections of code. We now test
  275. 6511 explicitly for setrlimit and getrlimit. Also, unixd_set_rlimit()
  276. 6512 is now "available" even if the platform doesn't support
  277. 6513 the rlimit family (it's just a noop though). [Jim Jagielski]
  278. 6514
  279. 6515 *) Migrate the pre-selection of which MPM to use for specific
  280. 6516 platforms to hints.m4, which contains (or should contain)
  281. 6517 all platform specific "hints". [Jim Jagielski]
  282. 6518
  283. 6519 *) Remove IOLs from Apache. With filtering, IOLs are no longer necessary
  284. 6520 [Ryan Bloom]
  285. 6521
  286. 6522 *) Add tables with non-string/binary values to APR.
  287. 6523 [Ken Coar]
  288. 6524
  289. 6525 *) Fix some bad calls to ap_log_rerror() in mod_rewrite.
  290. 6526 [Jeff Trawick]
  291. 6527
  292. 6528 *) Update PCRE to version 3.2. [Ryan Bloom]
  293. 6529
  294. 6530 *) Change the way buckets' destroy functions are called so that
  295. 6531 they can be more directly used when changing the type of a
  296. 6532 bucket in place. [Tony Finch]
  297. 6533
  298. 6534 *) Add generic support for reference-counting the resources used by
  299. 6535 buckets, and alter the HEAP and MMAP buckets to use it. Change
  300. 6536 the way buckets are initialised to support changing the type of
  301. 6537 buckets in place, and use it when setting aside TRANSIENT buckets.
  302. 6538 Change the implementation of TRANSIENT buckets so that it can be
  303. 6539 mostly shared with IMMORTAL buckets, which are now implemented.
  304. 6540 [Tony Finch]
  305. 6541
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement