檢視原始碼 Inets 版本發行說明
Inets 9.3.1
已修正的錯誤和故障
HTTP 用戶端現在於回傳非同步請求時,會正確考慮
full_result
選項。潛在的不相容性
自有 ID:OTP-19158
同步的 httpc:request 現在會在
HttpOption {timeout, Timeout}
中指定的Timeout
後逾時。修正了當鍵:ipfamily 或 unix_socket 其中之一不存在時,呼叫 httpc:set_options/2 會導致另一個值被預設值覆寫的錯誤。也改進了這些選項的驗證。
改進和新功能
mod_esi
回呼中的變數Env
現在會有一個額外的屬性{connect_addr, Addr}
,指示伺服器收到連線的位址。自有 ID:OTP-19377 輔助 ID:ERIERL-1152,PR-9127
Inets 9.3
改進和新功能
已改進
httpd
模組的文件,並修正了標題和類型。自有 ID:OTP-19171 輔助 ID:PR-8578
Userinfo 現在會在標頭中使用前正確地進行百分比解碼。
自有 ID:OTP-19172 輔助 ID:PR-8575
Inets 9.2
改進和新功能
導入 httpd 伺服器名稱配置的預設值,以提高易用性。
潛在的不相容性
自有 ID:OTP-18641 輔助 ID:PR-7316
已使用 API 擴充
httpd
模組,以便透過 HTTP 簡單地提供目錄內容。透過此變更,可以使用如下方式提供目前的工作目錄erl -S httpd
可以使用如下方式提供任意目錄
erl -S httpd serve path/to/dir
自有 ID:OTP-18727 輔助 ID:PR-7299
新增
-callback
屬性至httpd
、mod_esi
和mod_security
。自有 ID:OTP-18786 輔助 ID:PR-7700
Inets 現在使用具有絕對路徑的相對重新導向,以防止執行 Inets 的人必須配置
ServerName
以符合伺服器的網路可連線主機名稱。inets
處理程序現在使用proc_lib:set_label/1
以改善可觀察性。自有 ID:OTP-18927 輔助 ID:PR-8029
文件已遷移為使用 Markdown 和 ExDoc。
自有 ID:OTP-18955 輔助 ID:PR-8026
http_uri:encode/1
和http_uri:decode/1
的實作現在已替換為來自模組uri_string
的對等但無錯誤的版本,即uri_string:quote/1
和uri_string:unquote/1
。潛在的不相容性
自有 ID:OTP-19022
透過此變更,API 規格已更新。
自有 ID:OTP-19033
Inets 9.1.0.2
已修正的錯誤和故障
修正了當鍵:ipfamily 或 unix_socket 其中之一不存在時,呼叫 httpc:set_options/2 會導致另一個值被預設值覆寫的錯誤。也改進了這些選項的驗證。
自有 ID:OTP-19379 輔助 ID:PR-8878、GH-8829
Inets 9.1.0.1
已修正的錯誤和故障
透過此變更,HTTP 用戶端在回傳非同步請求時,現在會正確考慮 `OptionRequest - full_result`。
* 潛在的不相容性 *
自有 ID:OTP-19158
透過此變更,同步的 httpc:request 現在會在 `HttpOption {timeout, Timeout}` 中指定的 `Timeout` 後逾時。
自有 ID:OTP-19221 輔助 ID:ERIERL-1091、PR-8788、PR-8801
Inets 9.1
已修正的錯誤和故障
將某些檔案中無意使用的 Erlang Public License 1.1 標頭替換為預期的 Apache License 2.0 標頭。
自有 ID:OTP-18815 輔助 ID:PR-7780
修正 IP 通訊協定處理,以便重新導向始終使用正確的 IP 系列選項,而不是失敗。
自有 ID:OTP-18855
改進和新功能
inets
應用程式預設會啟動ssl
自有 ID:OTP-18735 輔助 ID:PR-7596、GH-7580
避免 httpd 在無法開啟檔案時回傳 500 內部伺服器錯誤。而是會回傳 404 或 503。
自有 ID:OTP-18882
正確處理文件中記載的選項 mime_type,為了向後相容,如果未設定 mime_type,則會退回使用未記載的選項 default_type。
自有 ID:OTP-18891 輔助 ID:PR-7843、GH-7827
Inets 9.0.2
已修正的錯誤和故障
透過此變更,re_write httpd 可以如預期般運作,且不會回傳錯誤。
自有 ID:OTP-18582 輔助 ID:GH-6074、PR-6892
修正了一個錯誤,因此
httpd
不會在 TLS 連線協商期間於錯誤的時間停止,或在任何其他理論上較慢的連線設定時崩潰。自有 ID:OTP-18688 輔助 ID:ERIERL-962
加強錯誤處理,並避免 HTTP 用戶端在以錯誤格式提供的標頭上掛起。
自有 ID:OTP-18694 輔助 ID:GH-7482
透過此變更,httpd 在連線設定期間產生的錯誤報告包含通訊端類型資訊。
自有 ID:OTP-18704 輔助 ID:ERIERL-962、PR-7513、OTP-18688
已將 Inets 應用程式中
httpd
伺服器的停止和重新啟動重構為更同步且對 OTP 監管者友好的方法。這應該會提高穩定性,並例如避免在停止或重新啟動
httpd
時,來自httpd_connection_sup
的監管者報告關於已終止的子處理程序。自有 ID:OTP-18708 輔助 ID:ERIERL-962、OTP-18688
Inets 9.0.1
已修正的錯誤和故障
如果使用者提供 ssl 選項,則不要透過呼叫
httpc:ssl_verify_host_options(true)
來設定預設 ssl 選項。自有 ID:OTP-18604 輔助 ID:PR-7306 GH-7303
Inets 9.0
已修正的錯誤和故障
修正與時序相關的管線/保持連線佇列錯誤,這可能會導致意外的「socket_remotly_closed」錯誤。
自有 ID:OTP-18476 輔助 ID:GH-6380
改進和新功能
依預設,ssl 連線將使用來自
ssl_default_options(true)
的選項自有 ID:OTP-18167
已更新執行階段相依性。
自有 ID:OTP-18350
棄用
dbg:stop_clear/0
,因為它只是一個dbg:stop/0
的函數別名自有 ID:OTP-18478 輔助 ID:GH-6903
已修正實作,在適當的情況下使用
proc_lib:init_fail/2,3
,而不是proc_lib:init_ack/1,2
。* 潛在的不相容性 *
自有 ID:OTP-18490 輔助 ID:OTP-18471、GH-6339、PR-6843
IP 顯示字串現在將一律使用小寫,會影響 ipv6 位址。
* 潛在的不相容性 *
自有 ID:OTP-18530
已移除已棄用的函數
* 潛在的不相容性 *
自有 ID:OTP-18536
更新 inets 範例目錄中的程式碼,以反映最新的實作
自有 ID:OTP-18544 輔助 ID:GH-5276
Inets 8.3.1.5
已修正的錯誤和故障
修正了當鍵:ipfamily 或 unix_socket 其中之一不存在時,呼叫 httpc:set_options/2 會導致另一個值被預設值覆寫的錯誤。也改進了這些選項的驗證。
自有 ID:OTP-19379 輔助 ID:PR-8878、GH-8829
Inets 8.3.1.4
已修正的錯誤和故障
透過此變更,HTTP 用戶端在回傳非同步請求時,現在會正確考慮 `OptionRequest - full_result`。
* 潛在的不相容性 *
自有 ID:OTP-19158
透過此變更,同步的 httpc:request 現在會在 `HttpOption {timeout, Timeout}` 中指定的 `Timeout` 後逾時。
自有 ID:OTP-19221 輔助 ID:ERIERL-1091、PR-8788、PR-8801
Inets 8.3.1.3
已修正的錯誤和故障
已修正執行階段相依性。
自有 ID:OTP-19064
Inets 8.3.1.2
已修正的錯誤和故障
透過此變更,httpd 在連線設定期間產生的錯誤報告包含通訊端類型資訊。
自有 ID:OTP-18704 輔助 ID:ERIERL-962、PR-7513、OTP-18688
已將 Inets 應用程式中
httpd
伺服器的停止和重新啟動重構為更同步且對 OTP 監管者友好的方法。這應該會提高穩定性,並例如避免在停止或重新啟動
httpd
時,來自httpd_connection_sup
的監管者報告關於已終止的子處理程序。自有 ID:OTP-18708 輔助 ID:ERIERL-962、OTP-18688
Inets 8.3.1.1
已修正的錯誤和故障
修正了一個錯誤,因此
httpd
不會在 TLS 連線協商期間於錯誤的時間停止,或在任何其他理論上較慢的連線設定時崩潰。自有 ID:OTP-18688 輔助 ID:ERIERL-962
Inets 8.3.1
已修正的錯誤和故障
修正與時序相關的管線/保持連線佇列錯誤,這可能會導致意外的「socket_remotly_closed」錯誤。
自有 ID:OTP-18509 輔助 ID:OTP-18476
透過此變更,遠端 socket 關閉時,當前請求會被加入重試佇列(pipeline 或 keep_alive,但不會同時加入兩者)。
自有 ID:OTP-18545 輔助 ID:OTP-18509, ERIERL-937, ERIERL-928
Inets 8.3
已修正的錯誤和故障
透過此變更,修正了處理 URI 指向資料夾,缺少尾端 / 且存在查詢組件的情況。
自有 ID:OTP-18472 輔助 ID:DAFH-1592
改進和新功能
為
inets
應用程式新增更多型別資訊,從而改進靜態分析工具可以偵測到的錯誤。將型別資訊新增至 record,並更新函式標頭有助於靜態分析工具理解 record 中的某些值不能為
'undefined'
,從而使靜態工具能夠在inets
應用程式中更正確地進行型別檢查。自有 ID:OTP-18390 輔助 ID:PR-6661
將 size/1 替換為 tuple_size/1 或 byte_size/1
size/1
BIF 未經 JIT 優化,使用它可能會導致 Dialyzer 的型別更差。當已知正在測試的值必須是 tuple 時,應始終優先使用
tuple_size/1
。當已知正在測試的值必須是 binary 時,應優先使用
byte_size/1
。但是,byte_size/1
也接受 bitstring(將大小四捨五入為整數個位元組),因此必須確保在呼叫byte_size/
之前先呼叫is_binary/1
,以確保拒絕 bitstring。請注意,編譯器會移除對is_binary/1
的冗餘呼叫,因此如果不確定之前的程式碼是否已確保引數為 binary,在呼叫byte_size/1
之前立即新增is_binary/1
測試並無害處。自有 ID:OTP-18432 輔助 ID:GH-6672,PR-6793,PR-6784,PR-6787,PR-6785,PR-6682,PR-6800,PR-6797,PR-6798,PR-6799,PR-6796,PR-6813,PR-6671,PR-6673,PR-6684,PR-6694,GH-6677,PR-6696,PR-6670,PR-6674
Inets 8.2.2
已修正的錯誤和故障
確保正常關閉
自有 ID:OTP-18461 輔助 ID:ERIERL-890
函式
httpc:cookie_header/{1,2,3}
的型別規格的傳回型別已從-spec cookie_header(url()) -> [{ field(), value() }] | {error, Reason}
修正為-spec cookie_header(url()) -> { field(), value() } | {error, Reason}
自有 ID:OTP-18462 輔助 ID:GH-6846
Inets 8.2.1
已修正的錯誤和故障
修正了 httpd:info/2/3/4 的型別規格中遺失的情況
自有 ID:OTP-18362 輔助 ID:GH-6558, ERIERL-895
Inets 8.2
改進和新功能
此變更允許傳送至
httpc:request/5
的 body 請求為iolist/0
自有 ID:OTP-18250
在
httpc.erl
中新增型別規格自有 ID:OTP-18251 輔助 ID:GH-6245
httpc:新增對 HTTP 308 狀態碼的支援
自有 ID:OTP-18280 輔助 ID:GH-6290, PR-6291
Inets 8.1
改進和新功能
新增
httpc:ssl_verify_host_options/1
以協助為 https 客戶端設定預設 ssl 選項。自有 ID:OTP-18118
此變更修正了為 inets/httpd 範例產生的 dialyzer 警告(包括對 ssh_sftp 模組規格的必要調整)。
自有 ID:OTP-18178 輔助 ID:ERIERL-833, ERIERL-834, ERIERL-835
移除對不再支援的回呼的文件。
自有 ID:OTP-18193 輔助 ID:GH-6122
Inets 8.0
已修正的錯誤和故障
針對具有未定義埠的 URI(具有埠冒號但沒有埠值的 URI 字串或具有 port => 未定義的 URI map)調整 uri_string:normalize 行為。
從 http_request 模組中移除多餘的正規化。
在此變更之前,正規化不會在此類情況下移除埠子組件,並且可能會傳回例如「https://127.0.0.1:」URI。
* 潛在的不相容性 *
自有 ID:OTP-17627
修正了從 httpc_handler:handle_http_body 傳回的 Reason 詞彙中的錯字。
在此變更之後,could_not_establish_ssl_tunnel atom 會在 Reason 詞彙中傳回。
* 潛在的不相容性 *
自有 ID:OTP-17889
透過此變更,記錄了 inets/httpc 的 inet6fb4 選項。當需要透過連線嘗試來發現 IP 系列時,可以使用此選項。
自有 ID:OTP-18063 輔助 ID:ERIERL-798
改進和新功能
此變更會移除已棄用的函式:http_uri:parse/1、http_uri:parse/2 和 http_uri:scheme_defaults/0。
此變更會延遲到 OTP-26 移除已棄用的函式:http_uri:encode/1 和 http_uri:decode/1。
此變更會將 httpd_util:decode_hex/1 和 httpd_util:encode_hex/1 標記為已棄用。
* 潛在的不相容性 *
自有 ID:OTP-17866
在此變更之後,當透過 Proxy 將 TCP 連線升級到 TLS 時,會重複使用 connect_timeout 值。
自有 ID:OTP-17997 輔助 ID:GH-5782
從 httpd 手冊中移除對不支援的 Apache 類組態檔的參考。
自有 ID:OTP-18088 輔助 ID:GH-5276
Inets 7.5.3.4
已修正的錯誤和故障
透過此變更,遠端 socket 關閉時,當前請求會被加入重試佇列(pipeline 或 keep_alive,但不會同時加入兩者)。
自有 ID:OTP-18545 輔助 ID:OTP-18509, ERIERL-937, ERIERL-928
Inets 7.5.3.3
已修正的錯誤和故障
修正與時序相關的管線/保持連線佇列錯誤,這可能會導致意外的「socket_remotly_closed」錯誤。
自有 ID:OTP-18509 輔助 ID:OTP-18476
Inets 7.5.3.2
已修正的錯誤和故障
透過此變更,修正了處理 URI 指向資料夾,缺少尾端 / 且存在查詢組件的情況。
自有 ID:OTP-18472 輔助 ID:DAFH-1592
Inets 7.5.3.1
改進和新功能
移除對不再支援的回呼的文件。
自有 ID:OTP-18193 輔助 ID:GH-6122
Inets 7.5.3
已修正的錯誤和故障
修正了在 httpd 中使用 atom 'all' 作為 AllowedModule 時,erl_script_script 選項的處理方式。
自有 ID:OTP-18069 輔助 ID:ERIERL-805
Inets 7.5.2
已修正的錯誤和故障
編譯時間不再記錄在 BEAM 檔案中。仍然有幾個嘗試檢索編譯時間的未記錄函式。這些函式現在已移除。
自有 ID:OTP-17962
改進和新功能
inets:services_info/0 的文件修正,現在描述當 {error, Reason} 作為服務資訊傳回時,Info 可能是 Reason term()。
自有 ID:OTP-17931 輔助 ID:ERIERL-761
Inets 7.5.1
已修正的錯誤和故障
避免 HTTP 伺服器的中間不正常關閉。
自有 ID:OTP-17922 輔助 ID:ERIERL-743
Inets 7.5
已修正的錯誤和故障
修正 HTTP 伺服器 URI 處理,以完全依賴 uri_string。伺服器可能會錯誤處理某些 URI 路徑,進而導致產生不正確的回應。
自有 ID:OTP-17818 輔助 ID:ERIERL-731
改進和新功能
將標頭值擴充至 httpc:request/5,以允許使用 binary()。使 httpc:request/5 的無效引數的錯誤偵測更加精確,以便在更多情況下傳回錯誤,而不是導致掛起或 function_clause。在文件中更精確地說明接受的引數型別。
自有 ID:OTP-17579 輔助 ID:GH-5074
Inets 7.4.2
已修正的錯誤和故障
在此變更之前,目錄清單頁面中的 hrefs 包含百分比編碼的斜線,這在 httpd 中無法正常運作。
自有 ID:OTP-17383 輔助 ID:GH-4677
還原 inets/mod_esi 中的 HTTP 標頭處理。
自有 ID:OTP-17600
inets/httpd 目錄清單圖示和其他改進
自有 ID:OTP-17624 輔助 ID:GH-4855
改進和新功能
httpc:透過移除多餘的 URI 處理來提高效能
自有 ID:OTP-17460
Inets 7.4.1
已修正的錯誤和故障
改進了 inets/mod_esi 中的使用者輸入處理,以避免不必要的 atom 建立。
自有 ID:OTP-17490
Inets 7.4
改進和新功能
在 inets 程式碼中移除對 ftp 和 tftp 的所有支援。
自有 ID:OTP-16722
棄用
httpd_util
模組中的以下函式:flatlength/1
、lhexlist_to_integer/1
、integer_to_hexlist/1
、strip/1
和suffix/1
。自有 ID:OTP-16723
移除 httpd 中對 HTTP 0.9 的支援。
本機 ID:OTP-16724
移除 httpc 中對 HTTP 0.9 的支援。
本機 ID:OTP-16725
修正程式碼中與底線開頭變數比對時的警告。
本機 ID:OTP-17385 輔助 ID:OTP-17123
Inets 7.3.2.3
改進與新功能
移除對不再支援的回呼的文件。
自有 ID:OTP-18193 輔助 ID:GH-6122
Inets 7.3.2.2
修正錯誤與故障
還原 inets/mod_esi 中的 HTTP 標頭處理。
自有 ID:OTP-17600
Inets 7.3.2.1
修正錯誤與故障
改進了 inets/mod_esi 中的使用者輸入處理,以避免不必要的 atom 建立。
自有 ID:OTP-17490
Inets 7.3.2
修正錯誤與故障
解決 CVE-2021-27563,確保沒有任何形式的相對路徑可用於瀏覽網站伺服器目錄之外。
本機 ID:OTP-17205 輔助 ID:ERIERL-608
確保 HEAD 請求拒絕目錄連結
本機 ID:OTP-17220
Inets 7.3.1
修正錯誤與故障
修復 inets 中 HTML 逸出的檔名問題。
本機 ID:OTP-16873 輔助 ID:ERL-330
Inets 7.3
修正錯誤與故障
闡明 HTTP 客戶端中百分比編碼字元的處理方式。
本機 ID:OTP-16650 輔助 ID:ERL-1215, PR-2629
修復 URI 中未定義埠的崩潰問題。
本機 ID:OTP-16663 輔助 ID:ERL-1241
避免在對等端關閉的 socket 上設定 active once 時出現時序問題。
本機 ID:OTP-16735 輔助 ID:OTP-16697, ERIERL-496
將具有 1XX 狀態碼的回應訊息主體處理為下一個 HTTP 訊息。
本機 ID:OTP-16746 輔助 ID:ERL-1268
修復在對等端關閉的 socket 上呼叫 setopts 時 HTTP 伺服器發生的崩潰。
本機 ID:OTP-16775 輔助 ID:ERIERL-519
在 OTP 22.3.1 中引入,並在 OTP 22.3.4.6 中修正的 httpd 模組(inets 應用程式)中存在關於目錄遍歷的漏洞。此漏洞也在 OTP 23.0 中引入,並在 OTP 23.1 中修正。此漏洞註冊為 CVE-2020-25623
只有在使用 inets 應用程式中的 HTTP 伺服器 (httpd) 時才會暴露此漏洞。此漏洞使得可以使用例如特別準備的 HTTP 請求來讀取 Erlang 系統具有讀取權限的任意檔案。
本機 ID:OTP-16790 輔助 ID:ERIERL-522
改進與新功能
在 mod_esi 中新增對 PATCH 方法的支援。
本機 ID:OTP-16591 輔助 ID:ERIERL-484
Inets 7.2
改進與新功能
移除對已棄用功能的支援。已捨棄對 mod_esi eval 方案、mod_htacess、mod_browser、Apache 組態檔和已棄用的 httpd_conf 函數的支援。模組 http_uri 已棄用。
本機 ID:OTP-16252
重構了已棄用和已移除函數的內部處理方式。
本機 ID:OTP-16469
Inets 7.1.3.3
修正錯誤與故障
修正了在 inets-7.1.3 中引入的關於百分比編碼 URL 解碼的錯誤。
本機 ID:OTP-16790 輔助 ID:ERIERL-522
Inets 7.1.3.2
修正錯誤與故障
修復在對等端關閉的 socket 上呼叫 setopts 時 HTTP 伺服器發生的崩潰。
本機 ID:OTP-16775 輔助 ID:ERIERL-519
Inets 7.1.3.1
修正錯誤與故障
避免在對等端關閉的 socket 上設定 active once 時出現時序問題。
本機 ID:OTP-16735 輔助 ID:OTP-16697, ERIERL-496
Inets 7.1.3
修正錯誤與故障
移除對 http_uri 和 mod_esi eval API 的使用。
這是從 OTP 23 回溯移植的版本,它改進了 URI 的檢查,以確保無效的 URI 不會導致漏洞。這將使已棄用的 mod_esi eval API 無法使用,因為它使用了不符合有效 URI 語法的 URI。
* 潛在的不相容性 *
本機 ID:OTP-16556
Inets 7.1.2
修正錯誤與故障
Inets 將遵守有效的 HTTP 標頭在欄位名稱和冒號之間不能有空格的規定。
本機 ID:OTP-16169 輔助 ID:ERL-1053
變更 httpc:request/1 中的錯誤傳播,使其返回預期的錯誤元組,而不是崩潰。
本機 ID:OTP-16290 輔助 ID:PR-2437, ERL-1083
修正使用分塊傳輸編碼 (httpc) 的 HEAD 請求的處理方式。
本機 ID:OTP-16300 輔助 ID:ERL-1090
Inets 7.1.1
改進與新功能
透過記錄器新增 HTTP 伺服器錯誤記錄
本機 ID:OTP-16019
Inets 7.1
改進與新功能
httpd - 接受單個 LF 作為行終止符
本機 ID:OTP-15893 輔助 ID:PR-2206
mod_esi 現在始終會將它回覆的實際 HTTP 狀態碼傳播到後續的 mod 模組,而不是在某些情況下硬式編碼為 200。
本機 ID:OTP-16049 輔助 ID:ERIERL-395
Inets 7.0.9
修正錯誤與故障
修復 HTTP 客戶端中的回歸錯誤,該錯誤會在請求 URI 沒有方案時導致崩潰。
本機 ID:OTP-15930 輔助 ID:ERL-969
Inets 7.0.8
修正錯誤與故障
所有不正確(也就是所有)的 "can not" 用法都已更正為原始碼註解、文件、範例等中的 "cannot"。
本機 ID:OTP-14282 輔助 ID:PR-1891
Inets 7.0.7.2
改進與新功能
透過記錄器新增 HTTP 伺服器錯誤記錄
本機 ID:OTP-16019
Inets 7.0.7.1
改進與新功能
mod_esi 現在始終會將它回覆的實際 HTTP 狀態碼傳播到後續的 mod 模組,而不是在某些情況下硬式編碼為 200。
本機 ID:OTP-16049 輔助 ID:ERIERL-395
Inets 7.0.7
修正錯誤與故障
修正 httpd 中選項 erl_script_timeout 的內部處理方式。如果以秒為單位提供明確的 erl_script_timeout 值,則不會正確轉換為內部使用的毫秒單位。
此變更修正了所有可能的組態情境中 erl_script_timeout 的處理方式。
本機 ID:OTP-15769 輔助 ID:ERIERL-345
Inets 7.0.6
修正錯誤與故障
修正 httpd 中選項 erl_script_timeout 的內部處理方式。當使用明確的 erl_script_timeout 啟動 httpd 時,選項的值會在儲存前轉換為毫秒。後續對 httpd:info/1 的呼叫會返回輸入值乘以 1000 的結果。
此變更修正了 erl_script_timeout 的處理方式,方法是以秒為單位儲存逾時時間,並在使用前轉換為毫秒。
本機 ID:OTP-15669 輔助 ID:ERIERL-321
改進與新功能
加強文件
本機 ID:OTP-15508 輔助 ID:ERL-816
Inets 7.0.5
修正錯誤與故障
修復了當使用主機名稱(例如 localhost)且選項 ipv6_host_with_brackets 設定為 true 時,HTTP 客戶端發生崩潰的錯誤。
此變更也修正了回歸錯誤:如果選項 ipv6_host_with_brackets 設定為 true,且 URI 的主機元件是 IPv6 位址,則 httpc:request 會失敗並顯示連線錯誤 (nxdomain)。
本機 ID:OTP-15554 輔助 ID:ERIERL-289
Inets 7.0.4
修正錯誤與故障
確保 URI 中帶有方括號的 IPv6 位址在傳遞給較低層級的函數(如 gen_tcp 和 ssl 函數)之前,能正確轉換。否則可能會導致連線失敗。
自有 ID:OTP-15544 輔助 ID:ERIERL-289
Inets 7.0.3
修正錯誤與故障
修正了 http 客戶端在分塊編碼請求中不發送 'content-length' 標頭的問題。
自有 ID:OTP-15338 輔助 ID:ERL-733
修正了 http 客戶端在沒有主體的請求中,不會丟棄明確的 'Content-Type' 標頭的問題,例如 'Content-Type' 為 application/x-www-form-urlencoded 的請求。
自有 ID:OTP-15339 輔助 ID:ERL-736
Inets 7.0.2
修正錯誤與故障
增強錯誤處理,亦即如果路徑是目錄而不是檔案,則 mod_get 將返回 403。
自有 ID:OTP-15192
當使用 mod_esi 時,不要對 1xx、204 和 304 回應使用分塊編碼。舊的行為不符合 HTTP/1.1 RFC,並可能導致客戶端在收到包含空分塊編碼主體的 1xx、204 或 304 回應時掛起。
自有 ID:OTP-15241
加強對具有空主體 (1xx, 204, 304) 的分塊編碼 HTTP 回應的穩健處理。舊的行為可能導致客戶端在連線到錯誤的伺服器實作時掛起。
自有 ID:OTP-15242
Inets 7.0.1
修正錯誤與故障
將找不到處理請求的模組的狀態碼更改為 501。
自有 ID:OTP-15215
Inets 7.0
修正錯誤與故障
修正了 httpc 中的 HTTP 內容注入錯誤 (ERL-456)。
自有 ID:OTP-14726
修正了 HTTP 'Location' 標頭中 URI 參考的支援 (ERL-333)。
自有 ID:OTP-14729
修正了 httpc 中損壞的 'Content-Type' 處理 (ERL-536)。
自有 ID:OTP-15006
修正了 httpd 的 script_alias 屬性中相對路徑的處理 (ERL-574)。
自有 ID:OTP-15021
修正了以 path() 作為第一個參數的 httpd:reload_config/2 (ERL-578)。
自有 ID:OTP-15025
改善了優雅性。
自有 ID:OTP-15042
改進與新功能
分割 inets 並建立獨立的 ftp 和 tftp 應用程式。
自有 ID:OTP-14113
Inets 6.5.2.4
修正錯誤與故障
當使用 mod_esi 時,不要對 1xx、204 和 304 回應使用分塊編碼。舊的行為不符合 HTTP/1.1 RFC,並可能導致客戶端在收到包含空分塊編碼主體的 1xx、204 或 304 回應時掛起。
自有 ID:OTP-15241
加強對具有空主體 (1xx, 204, 304) 的分塊編碼 HTTP 回應的穩健處理。舊的行為可能導致客戶端在連線到錯誤的伺服器實作時掛起。
自有 ID:OTP-15242
Inets 6.5.2.3
修正錯誤與故障
將找不到處理請求的模組的狀態碼更改為 501。
自有 ID:OTP-15215
Inets 6.5.2.2
修正錯誤與故障
增強錯誤處理,亦即如果路徑是目錄而不是檔案,則 mod_get 將返回 403。
自有 ID:OTP-15192
Inets 6.5.2.1
改進與新功能
新增了在底層 TCP 連線上設定低階屬性的選項。這些選項為:
sock_ctrl
、sock_data_act
和sock_data_pass
。請參閱手冊以了解詳細資訊。自有 ID:OTP-15120 輔助 ID:ERIERL-192
Inets 6.5.2
修正錯誤與故障
inets: httpd - 優雅地處理錯誤的標頭
max_headers 選項作用於個別標頭長度,而不是所有標頭的總長度。此外,現在會捨棄具有空金鑰的標頭。
自有 ID:OTP-15092
Inets 6.5.1
修正錯誤與故障
修正了 httpc 中損壞的選項處理 (ERL-441)。
自有 ID:OTP-15007
Inets 6.5
修正錯誤與故障
當在持續的 HTTP 連線(保持活動)上傳送長時間執行的請求時,httpc_manager 會崩潰。修正了 httpc_manager,以在保持活動連線上使用適當的逾時。
自有 ID:OTP-14908
改進與新功能
在 http 客戶端中新增對 Unix 網域套接字的支援。
自有 ID:OTP-14854
Inets 6.4.5
修正錯誤與故障
CGI 環境變數 CONTENT_LENGTH 應為字串。
自有 ID:OTP-14679
在寬鬆模式下,如果也存在 Transfer-Encoding 標頭,則忽略 Content-Length 標頭。
自有 ID:OTP-14727
消除了競爭條件,該條件可能導致在使用保持活動連線時,http 請求偶爾無法成功完成。
自有 ID:OTP-14783
Inets 6.4.4
修正錯誤與故障
修正位置標頭的處理,以便狀態碼不會被硬式編碼。這應該已由 commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb 修正,但不幸的是在程式碼重構期間被破壞,並且由於測試案例放置錯誤而未被注意到。
自有 ID:OTP-14761
Inets 6.4.3
改進與新功能
修正了 POST 請求的處理錯誤
在 5d01c70ca399edf28e99dc760506329689fab6ba 中新增的 POST 請求主體資料的新區塊機制,破壞了不使用新機制之 POST 主體資料的處理。
自有 ID:OTP-14656
確保服務 httpd 的 ints:stop/2 是同步的
自有 ID:OTP-14696
遵守 ESI 指令碼返回的狀態碼並使 "location" 標頭處理現代化。
自有 ID:OTP-14716
Inets 6.4.2
修正錯誤與故障
確保 mod_log 使用正確的狀態碼
自有 ID:OTP-14510
修正 mod_disk_log 的行為,以正確處理修復選項
自有 ID:OTP-14530
Inets 6.4.1
修正錯誤與故障
http_uri 對齊以遵循 RFC 3986,並且在解碼 URI 時不將 "+" 轉換為空格。
自有 ID:OTP-14573
改進與新功能
在 httpd 伺服器中新增了新的選項 max_client_body_chunk,以允許將 PUT 和 POST 資料分塊傳遞到 mod_esi 回呼。請注意,需要新的 mod_esi 回呼實作。
同時更正 server_name 環境變數提供的數值
自有 ID:OTP-14450
Inets 6.4
修正錯誤與故障
httpd_util:rfc1123_date/1 優雅地處理無效的 DST 日期,方法是以預期的 rfc1123 格式返回原始時間。
自有 ID:OTP-14394
改進與新功能
新增對 http_uri 函數的 Unicode 二進位支援
自有 ID:OTP-14404
httpc - 更改逾時處理方式,以便重新導向導致設定新的計時器。這表示簡單的重新導向請求可能會在 2*timeout 毫秒後返回。
自有 ID:OTP-14429
Inets 6.3.9
修正錯誤與故障
在特定的計時順序中,分塊檔案接收的關閉會崩潰。
自有 ID:OTP-14391 輔助 ID:seq13306
Inets 6.3.8
改進與新功能
新增了 inets-6.3.7 的遺失版本資訊
自有 ID:OTP-14383
Inets 6.3.7
修正錯誤與故障
修正了 ftp 中的錯誤,該錯誤導致在 recv_chunk 操作之後無法進行進一步的操作。
自有 ID:OTP-14242
在自動重新導向中,使預設埠 80 和 443 為隱含的。
自有 ID:OTP-14301
Inets 6.3.6
修正錯誤與故障
區塊大小解碼可能會失敗。症狀是區塊解碼有時會失敗,取決於接收串流的時序。如果區塊大小被分割成兩個不同的封包,解碼就會失敗。
自有 ID:OTP-13571 輔助 ID:ERL-116
防止 httpc 使用者程序在 httpc_handler 程序意外終止時掛起
自有 ID:OTP-14091
修正 Host 標頭,在重新導向請求時包含連接埠號碼。
自有 ID:OTP-14097
在連線或 TLS 交握錯誤時正常關閉
自有 ID:OTP-14173 輔助 ID:seq13262
Inets 6.3.5
修正錯誤與故障
修正 inets-6.3.4 中引入的 ftp 客戶端錯誤
自有 ID:OTP-14203 輔助 ID:OTP-13982
Inets 6.3.4
修正錯誤與故障
修復了一個錯誤,該錯誤會導致 ftp 客戶端在伺服器發送多行回應且回應編號在傳送訊息中時進入錯誤狀態。
自有 ID:OTP-13960 輔助 ID:PR1196
修正多行回應處理後,ftp 客戶端可能會停止接收訊息。
自有 ID:OTP-13967
修復透過 Proxy 連線的 keep-alive https,使後續所有請求皆能如預期執行,而非失敗。
自有 ID:OTP-14041
修復 commit fdfda2fab0921d409789174556582db28141448e 中的錯誤,該錯誤可能會導致 mod_auth 回呼中無法列出群組成員。
自有 ID:OTP-14082
改進與新功能
更新 httpc:request 的行為以符合 RFC-7231
自有 ID:OTP-13902
修正了 dialyzer 警告以及一些空白問題。感謝 Kostis。
自有 ID:OTP-13982 輔助 ID:PR-1207
Inets 6.3.3
修正錯誤與故障
inets 的舊選項 'inet6fb4' 已停止運作。此錯誤現已修正。由 Edwin Fine 在 bugs.erlang.org ERL-200 和 Github PR#1132 中修復。
自有 ID:OTP-13776 輔助 ID:ERL-200 PR-1132
Inets 6.3.2
改進與新功能
已將 PUT 和 DELETE 支援新增至 mod_esi
自有 ID:OTP-13688 輔助 ID:seq13149
Inets 6.3.1
修正錯誤與故障
除錯訊息意外地在 ftp 客戶端中啟用。
自有 ID:OTP-13712 輔助 ID:seq13143
Inets 6.3
修正錯誤與故障
Ftp 客戶端修正:1) 修正了當監聽資料 Socket 關閉時,ftp 客戶端 gen_server 會當機的錯誤。
- 修正了 ftp 客戶端錯誤代碼,使其符合參考手冊中的定義
自有 ID:OTP-13644
改進與新功能
移除 erlang:now() 的使用。
自有 ID:OTP-12441
將 DELETE Body 的處理新增至 http 客戶端。
自有 ID:OTP-13383 輔助 ID:PR-972
從範例和測試中移除對 mod_include 和 webtool 的參考。
自有 ID:OTP-13445 輔助 ID:PR-988
移除模組 inets_regexp。應改為使用模組 re。
* 潛在的不相容性 *
自有 ID:OTP-13561
Inets 6.2.4
改進與新功能
處理 mime 類型檔案中的多個 \t
自有 ID:OTP-13663 輔助 ID:seq13132
Inets 6.2.3
改進與新功能
將未使用的模組 inets_regexp 放回,並在 OTP 19 中移除,因為這是不相容的問題,儘管它是一個未記載的模組,應該不會影響其他應用程式。
自有 ID:OTP-13533
Inets 6.2.2
改進與新功能
將環境資訊項目 peer_cert 新增至 mod_esi
自有 ID:OTP-13510
Inets 6.2.1
修正錯誤與故障
修正 httpc 中的 ipv6_host_with_brackets 選項
自有 ID:OTP-13417
Inets 6.2
修正錯誤與故障
已修正 TFTP 客戶端/伺服器,允許檔案大小超過 32MB 的區塊,方法是允許 16 位元區塊計數器迴繞。由於這是一種普遍接受的行為,我們將其視為錯誤修正。
自有 ID:OTP-13403
改進與新功能
在客戶端中處理 HTTP PATCH 方法。
自有 ID:OTP-13286
預期的終止不應記錄為應用程式錯誤。
自有 ID:OTP-13389
Inets 6.1.1.1
修正錯誤與故障
修正 httpc 中的 ipv6_host_with_brackets 選項
自有 ID:OTP-13417
Inets 6.1.1
修正錯誤與故障
mod_alias 現在會遍歷所有別名,選擇最長的匹配,而不是第一個匹配。
自有 ID:OTP-13248
Inets 6.1
修正錯誤與故障
將 obs-folds 替換為空格,而不是失敗
自有 ID:OTP-13069
將 URI 方案的驗證函式新增至 http_uri API
自有 ID:OTP-13071
依照文件記錄處理串流主體。
自有 ID:OTP-13093
修正 mod_esi 產生的區塊的錯誤處理。當發生問題(例如逾時)時,在區塊預告中傳送警告標頭,而不是產生意外的額外 500 請求回應。
自有 ID:OTP-13110
當遇到無效的分塊長度標頭時,HTTP 客戶端會正常終止。
自有 ID:OTP-13117
改進與新功能
在使用 inets HTTP 客戶端執行 https 時,新增 SNI(伺服器名稱指示)的預設值。
自有 ID:OTP-12985
寬容處理具有尾隨空格的分塊大小,如同先前的實作。此外,某些舊的嵌入式裝置實際上具有尾隨空格,即使這不符合規範。
自有 ID:OTP-13116
Inets 6.0.3
修正錯誤與故障
改進了錯誤處理,並在遇到無效的分塊長度標頭時正常終止。
自有 ID:OTP-13061
改進與新功能
新增設定 httpd 的 Socket 選項(例如 nodelay)的可能性。同時逐步淘汰 ipfamily 選項的舊選項值 inet6bf4。此值將被轉換為值 inet。
* 潛在的不相容性 *
自有 ID:OTP-13062
Inets 6.0.2
修正錯誤與故障
避免在建立名稱時使用原子而不是字串,導致 mod_auth_server 和 mod_security_server 當機。
自有 ID:OTP-13022
改進與新功能
將函式 response_default_headers/0 新增至 httpd 自訂 API,允許使用者指定 HTTP 回應標頭的預設值。
自有 ID:OTP-13013
Inets 6.0.1
修正錯誤與故障
修正損壞的 Socket 功能,也就是在 Linux 系統上,Socket 可能會在啟動 Erlang 之前開啟,然後傳遞給 Erlang 的 httpd 精靈。這很有用,因為包裝程式可以開啟特權連接埠,而 Erlang 不必以 root 身份執行。
自有 ID:OTP-12875 輔助 ID:seq12878
修正損壞的 Socket 功能,也就是在 Linux 系統上,Socket 可能會在啟動 Erlang 之前開啟,然後傳遞給 Erlang 的 tftp 精靈。這很有用,因為包裝程式可以開啟特權連接埠,而 Erlang 不必以 root 身份執行。
自有 ID:OTP-12898 輔助 ID:seq12900
即使要取消的請求已完成,但 httpc_manager 尚未收到通知,httpc_handler 也應該對取消請求做出正確的反應。
自有 ID:OTP-12922
改進與新功能
將 format_status 函式新增至 httpd 程序,以避免敏感資訊列印在 Supervisor 記錄中。
自有 ID:OTP-12976
無論是否使用 http Proxy,都應傳回有意義的錯誤原因。
自有 ID:OTP-12984
Inets 6.0
修正錯誤與故障
修正 httpc 中的競爭條件。如果 socket 被對等方關閉,則不要嘗試再次關閉它。
自有 ID:OTP-11845
當傳送操作失敗時,優雅地終止 httpc 請求處理程序,以避免程序洩漏。
自有 ID:OTP-12362
拒絕 Content-Length 小於 0 的訊息。
自有 ID:OTP-12739,輔助 ID:seq12860
讓 gen_tcp:controlling_process/2 和 inet_sctp:connect/[45] 傳播 prim_inet:setopt/3 錯誤,而不是讓它們產生 badmatch 例外。
自有 ID:OTP-12798
改進和新功能
從 inets 中移除伺服器端包含 (Server Side Include) 的支援,因為這是一項過時的技術,存在安全問題且未經過充分測試。
* 潛在的不相容性 *
自有 ID:OTP-12156
server_tokens
配置中的新值,用於限制 banner grabbing 的嘗試。透過在
inets:start(httpd, ServiceConfig)
的ServiceConfig
中設定{server_tokens, none}
,來自伺服器的訊息中將不會設定 "Server:" 標頭。自有 ID:OTP-12661,輔助 ID:seq12840
為了使 HTTP 伺服器能夠在虛擬化環境中運行,其中可能有多個具有相同 IP 位址和連接埠的伺服器,我們新增了一個新的選項 profile。
自有 ID:OTP-12674
httpc:修正優雅關閉的實作,使其能夠按照預期的方式工作,適用於未使用管線化的 keep alive 連線。
自有 ID:OTP-12803
修正使用持久連線時代理選項的處理方式。
自有 ID:OTP-12822
Inets 5.10.9
改進和新功能
新增具有可選回呼的行為,以自訂 inets HTTP 伺服器。
自有 ID:OTP-12776
Inets 5.10.8
修正錯誤與故障
拒絕 Content-Length 小於 0 的訊息。
自有 ID:OTP-12739,輔助 ID:seq12860
Inets 5.10.7
改進和新功能
server_tokens
配置中的新值,用於限制 banner grabbing 的嘗試。透過在
inets:start(httpd, ServiceConfig)
的ServiceConfig
中設定{server_tokens, none}
,來自伺服器的訊息中將不會設定 "Server:" 標頭。自有 ID:OTP-12661,輔助 ID:seq12840
Inets 5.10.6
修正錯誤與故障
inets:正確解析具有空值的 'Set-Cookie' 標頭
httpc_cookie 應解析 'Set-Cookie' 標頭中具有空值且未設定屬性的 cookie。
自有 ID:OTP-12455
改進和新功能
將 URI 片段的解析新增至 http_uri:parse
這修正了 httpc 中的一個錯誤,如果重新導向的 URI 包含片段,可能會導致錯誤的請求。
自有 ID:OTP-12398
httpc:http 用戶端現在會忽略無效的 set-cookie 標頭
自有 ID:OTP-12430
Inets 5.10.5
修正錯誤與故障
mod_alias 現在可以正確處理 https-URI
配置參數 keep_alive_timeout 的一致檢視,應以與輸入時相同的單位呈現在 httpd:info/[1,2] 函數中。
自有 ID:OTP-12436,輔助 ID:seq12786
改進和新功能
優雅地處理無效的 content-length 標頭,而不是在 list_to_integer 中崩潰。
自有 ID:OTP-12429
Inets 5.10.4
修正錯誤與故障
修正了 httpc 文件中的拼寫錯誤。
自有 ID:OTP-12221
改進和新功能
新增選項 {ftp_extension, boolean} 以啟用使用 RFC 2428 中指定的擴充命令 EPSV 和 EPRT (適用於 IPv4),而不是使用舊版命令。如果沒有擴充命令,則無法支援 Ipv6。
自有 ID:OTP-12255
Inets 5.10.3
修正錯誤與故障
修正文件中一些拼寫錯誤
自有 ID:OTP-12152
改進和新功能
httpd:將 TLS/SSL 交握的逾時與 keepalive 逾時分開
自有 ID:OTP-12013
警告:這是實驗性的,可能會在沒有事先警告的情況下消失或更改。
將從 common_test 套件執行 Quickcheck 和 PropEr 測試的實驗性支援新增至 common_test。請參閱新模組
ct_property_testing
的參考手冊。實驗性屬性測試已新增至
lib/{inet,ssh}/test/property_test
下。它們可以直接執行或從 commont_test 套件inet/ftp_property_test_SUITE.erl
和ssh/test/ssh_property_test_SUITE.erl
執行。請參閱
test
目錄中的程式碼和手冊頁以了解詳細資訊。(感謝 Tuncer Ayaz 提供新增 Triq 的修補程式)
自有 ID:OTP-12119
Inets 5.10.2
修正錯誤與故障
httpc:修正處理小型回應時的串流錯誤
自有 ID:OTP-11992
Inets 5.10.1
修正錯誤與故障
修正 httpd:reload_config/2 的 distirbing 模式
自有 ID:OTP-11914
改進和新功能
改進了 HTTP 請求行中無效字串的處理。
影響:可能會改善記憶體消耗
自有 ID:OTP-11925,輔助 ID:Sequence 12601
Inets 5.10
修正錯誤與故障
修正了 httpc 文件中的拼寫錯誤 (感謝 Wasif Riaz Malik)
自有 ID:OTP-11538
以下應用程式的應用程式升級 (appup) 檔案已修正
asn1、common_test、compiler、crypto、debugger、dialyzer、edoc、eldap、erl_docgen、et、eunit、gs、hipe、inets、observer、odbc、os_mon、otp_mibs、parsetools、percept、public_key、reltool、runtime_tools、ssh、syntax_tools、test_server、tools、typer、webtool、wx、xmerl
將用於測試 appup 檔案的新測試公用程式新增至 test_server。這現在已由 OTP 中的大多數應用程式使用。
(感謝 Tobias Schlager)
自有 ID:OTP-11744
ftp 現在會清除檔案名稱、使用者名稱和密碼中的 <CR> 和 <LF> 標籤 (感謝 Sergei Golovan)
自有 ID:OTP-11750
修正了 HTTP 用戶端中的錯誤處理,使其行為更加優雅。
感謝 Kirilll Zaborsky
自有 ID:OTP-11794
在 httpc 中支援 identity transfer-encoding。
感謝 Anthony Ramine
自有 ID:OTP-11802
忽略空的 Set-Cookie 標頭,以提高與違反 RFC 的伺服器的互通性。
感謝 Kirilll Zaborsky
自有 ID:OTP-11803
改進和新功能
已還原提交 6189bc07「inets:httpc 改善管線化」,因為它最終破壞了某些東西,而不是改善管線化利用率。現在由使用者自行配置 httpc 並明智地使用它,以便能夠充分利用管線化。
自有 ID:OTP-11756
在 httpd_util:message/3 中處理所有回應代碼
自有 ID:OTP-11838
Inets 5.9.8
改進和新功能
修正已損壞的 max_clients 檢查,並避免可能導致記憶體問題的過度記錄。
自有 ID:OTP-11557,輔助 ID:seq12478
Inets 5.9.7
修正錯誤與故障
修正 httpd 配置選項 'script_timeout',並修正 httpd 配置選項 'keep_alive_timeout'。感謝 Johannes Weissl。
自有 ID:OTP-11276
讓 httpc:request_cancel/[1,2] 變成非同步。先前,這些函數嘗試保證請求回應不會到達用戶端,這僅適用於某些使用案例。現在,這些函數完全非同步,這使得用戶端有責任忽略對已取消請求的可能回應。
管線化實作也已變更,以提高利用率。計劃稍後在此領域進行可能的增強功能的進一步調查。
* 潛在的不相容性 *
自有 ID:OTP-11312
[httpd] 新增 mod_head 的新回應處理 (否則會導致 case_clause 崩潰)。也更新了記錄:移除 keep-alive 連線逾時的記錄 (這是正常情況,不是錯誤) 和一些存取記錄主體大小修正。
自有 ID:OTP-11328
改進和新功能
ftp 用戶端現在支援透過 tls (ftps) 的 ftp。
自有 ID:OTP-11037
Inets 5.9.6
改進和新功能
httpc:允許 DELETE 請求中的內容主體。感謝 James Wheare。
自有 ID:OTP-11190
在 ftp_progress 程序退出時,新增遺失的括號以格式化報告。感謝 Artur Wilniewczyc。
自有 ID:OTP-11202
修正 inets 文件中的一些錯誤。感謝 Johannes Weissl。
自有 ID:OTP-11210
修正 httpd、inets 中的各種錯字。感謝 Tomohiko Aono。
自有 ID:OTP-11226
修正 httpd 配置選項 'erl_script_nocache'。感謝 Johannes Weissl。
自有 ID:OTP-11260
Inets 5.9.5
修正錯誤與故障
還原了在使用 httpc-profiles 時中斷 cookie 處理的錯誤提交。
自有 ID:OTP-10956
改進和新功能
修正 http_request:http_headers/1 以在長度為零時傳送 content-length。感謝 CA Meijer。
自有 ID:OTP-10934
整合來自 Andreas Schultz 的橢圓曲線貢獻
為了能夠在 SSL/TLS 中支援橢圓曲線密碼套件,已將處理橢圓曲線基礎結構的附加功能新增至 public_key 和 crypto。
這也導致了密碼編譯 API 的重寫,以獲得一致性並消除不必要的開銷。所有使用密碼編譯的 OTP 應用程式都已更新為使用新的 API。
影響:橢圓曲線密碼學 (ECC) 提供與其他公鑰演算法相當的安全性,但金鑰大小更小。較小的金鑰大小可節省電源、記憶體、頻寬和計算成本,這使得 ECC 對於受限環境特別有吸引力。
自身 ID:OTP-11009
修正 httpc 中的 {stream, {self, once}} 以如預期般運作。感謝 Masatake Daimon
自身 ID:OTP-11122
Inets 5.9.4
改進與新功能
httpd:modules 選項現在預設為已記錄的值。
自身 ID:OTP-10844
httpc:修復了因 R13 的修補程式而損壞的持久連線實作。該修補程式使持久連線的行為與管線化相同。
自身 ID:OTP-10845
httpd:簡化了 httpd 中 ssl 的配置,這也使所有 ssl 選項都可以配置。舊的且受限制的方式不再記錄,但為了向後相容性,將會支援一段時間。
自身 ID:OTP-10846
正確處理「找不到檔案或檔案不可用」的錯誤代碼。感謝 Serge Aleynikov
自身 ID:OTP-10886
Inets 5.9.3
改進與新功能
httpc:HTTP 客戶端現在透過代理支援 HTTPS
自身 ID:OTP-10256 輔助 ID:kunagi-2 [ce2e800e-c99f-4050-a1c4-f47023d9c7aa-1]
已更正一些超出 PDF 頁面寬度的範例。
自身 ID:OTP-10665
修正回應 303 的 POST 請求的自動重新導向。感謝 Hans Svensson。
自身 ID:OTP-10765
Inets 5.9.2.2
改進與新功能
使 log_alert 可在 ssl 中作為選項進行配置,SSLLogLevel 已新增為 inets conf 檔案的選項
自身 ID:OTP-11259
Inets 5.9.2.1
改進與新功能
修正了 inets 中過時的錯誤報告。
自身 ID:OTP-11185 輔助 ID:seq12357
Inets 5.9.2
改進與新功能
每秒最少位元組數
http 伺服器的新選項,{minimum_bytes_per_second, integer()},對於連線,如果未達到該值,則該特定連線的 socket 將會關閉。可用於防止來自故障客戶端的掛起請求。
自身 ID:OTP-10392
Inets 5.9.1
改進與新功能
在更新會話資料庫期間,更好地處理錯誤 I(s)。
也新增和更新了一些偵錯函數 which_sessions/0,1 和 info/0。
自身 ID:OTP-10093
輔助 ID:Seq 12062
移除了 R14B 相容版本的 (inets-service 和 tftp) 行為定義。
自身 ID:OTP-10095
[httpc] 已改進 KeepAlive 和 Pipeline 超時選項的文件。
自身 ID:OTP-10114
修正的錯誤和故障
[httpc] 取消請求由於處理常式表建立不正確 (錯誤的 keypos) 而無法運作。
Vyacheslav Vorobyov
自身 ID:OTP-10092
不相容性
-
Inets 5.9
改進與新功能
[httpd] 使用新的配置選項 server_tokens 使伺服器標頭可配置。伺服器標頭的值先前是硬式編碼 (在編譯時),現在可以透過 server_tokens 配置選項進行操作。
自身 ID:OTP-9805
改進 inets 作為包含的應用程式的支援。
inets_app
直接呼叫supervisor:start_link/3
,而不是呼叫根 supervisor 函數inets_sup:start_link/0
。這排除了使用 included_applications 來啟動 inets,而無需包裝函式。Jay Nelson
自身 ID:OTP-9960
[httpc] 新增用於擷取目前選項的函數,get_options/1,2。
自身 ID:OTP-9979
現在正式支援公用程式模組
http_uri
。此外,
http_uri:parse
函數已擴展,以支援更多 scheme 和提供您自己的 scheme 資訊的方式。自身 ID:OTP-9983
輔助 ID:Seq 12022
修正的錯誤和故障
-
Inets 5.8.1
改進與新功能
-
修正的錯誤和故障
[ftp] 由於 EPRT 命令中的 IPv6 位址格式錯誤,導致無法開啟 IPv6 連線。命令的位址部分錯誤地包含十進位元素,而不是十六進位。
自身 ID:OTP-9827
輔助 ID:Seq 11970
[httpc] 錯誤的保持活動模式。選擇會話時,未考慮會話的「狀態」(特別是伺服器是否已回應)。
自身 ID:OTP-9847
[httpc] 客戶端錯誤地串流 404 回應。文件指定僅串流 200 和 206 回應。
Shane Evens
自身 ID:OTP-9860
Inets 5.8
改進與新功能
[ftpc] 新增配置選項以指定 資料連線逾時。這表示 ftp 客戶端將等待伺服器連線到資料 socket 的時間。如果發生此逾時,則會將錯誤傳回給呼叫者,並終止 ftp 客戶端程序。
自身 ID:OTP-9545
[httpc] IPv6 HTTP 請求中錯誤的 Host 標頭。當剖析具有 IPv6 主機的 URI 時,會移除封裝位址部分的括號。然後,將此值作為 Host 標頭提供。這可能會導致某些伺服器出現問題。此問題的因應措施是使用 headers_as_is 並在請求呼叫中提供 Host 標頭。為了解決此問題,已新增一個新的選項,ipv6_host_with_brackets。此選項指定 Host 標頭的 Host 值是否應包含括號。依預設,它不包含 (與之前相同)。
自身 ID:OTP-9628
修正的錯誤和故障
[httpd] 修正 mod_log 中內容長度的記錄。
Garrett Smith
自身 ID:OTP-9715
[httpd] 有時,傳輸記錄中的項目會將訊息大小寫為數字清單。此清單實際上是以字串形式表示的大小,例如「123」,使用控制序列 ~w 寫入。現在已更正此問題,以便將任何字串轉換為整數 (如果可能)。
自身 ID:OTP-9733
修正了 Dialyzer 偵測到的各種問題。
自身 ID:OTP-9736
不相容性
[httpc] 已移除已棄用的介面模組
http
。它已 (長期) 被 http 客戶端介面模組httpc
取代。自身 ID:OTP-9359
[httpc|httpd] 已棄用舊的 ssl 實作 (基於 OpenSSL)。已移除指定使用此版本 ssl 應用程式的配置選項,
ossl
。自身 ID:OTP-9522
Inets 5.7.2
改進與新功能
-
修正的錯誤和故障
[httpd] XSS 防護對於十六進位編碼的 URL 無效。
自身 ID:OTP-9655
[httpd] 具有格式錯誤標頭日期的 GET 請求導致伺服器崩潰 (非致命),且未回應客戶端。現在會導致回應,並顯示狀態碼 400。
自身 ID:OTP-9674
輔助 ID:seq11936
Inets 5.7.1
改進與新功能
-
修正的錯誤和故障
[httpc] Cookie 到期日期的剖析應該更寬容。也就是說,如果剖析失敗,則應忽略日期。也新增了對 (另一種) 日期格式的支援:「Tue Jan 01 08:00:01 2036 GMT」。
自身 ID:OTP-9433
[httpc] 重寫了 Cookie 剖析。其中包括解決來自 www.expedia.com 的 Cookie 處理。
自身 ID:OTP-9434
[httpd] 修正 Windows 上的 httpd 目錄遍歷。在 Windows 上可以使用反斜線作為目錄分隔符號來進行目錄遍歷。
András Veres-Szentkirályi。
自身 ID:OTP-9561
Inets 5.7
改進與新功能
[httpc|httpd] 新增對具有 ssl 的 IPv6 的支援。
自身 ID:OTP-5566
修正的錯誤和故障
[httpc] 移除在處理主體 (適用於 PUT 和 POST) 時不必要地使用 iolist_to_binary。
Filipe David Manana
自身 ID:OTP-9317
[ftp] FTP 客戶端無法與 IPv6 主機搭配使用。
Attila Rajmund Nohl
自身 ID:OTP-9342 輔助 ID:seq11853
[httpd] Peer/sockname 解析無法與 HTTP 中的 IPv6 位址搭配使用。
Attila Rajmund Nohl。
自身 ID:OTP-9343
[httpc] 未正確處理獨立啟動的客戶端。此外,也未記錄如何使用它們,也就是說,一旦啟動,它們會以
pid/0
表示,而不是以它們的profile()
表示。自身 ID:OTP-9365
Inets 5.6
改進與新功能
[httpc] 新增對上傳主體串流 (PUT 和 POST) 的支援。
更多資訊,請參閱 request/4,5 函式的
Body
引數定義。Filipe David Manana
Own Id: OTP-9094
[ftp] 為所有匯出的函式新增 (type) 規格。
Own Id: OTP-9114 Aux Id: seq11799
[httpd]
mod_esi:deliver/2
函式現在可接受二進位資料。Bernard Duggan
Own Id: OTP-9123
[httpd] 防止錯誤頁面中的 XSS 攻擊。透過編碼保留的 HTML 字元,防止使用者控制的輸入在錯誤頁面中被解譯為 HTML。
Michael Santos
Own Id: OTP-9124
[httpd] 改善錯誤訊息。
Ricardo Catalinas Jiménez
Own Id: OTP-9157
[httpd] 擴展對檔案描述符的支援。為了能夠綁定到特權端口而無需以 root 身分執行 erlang VM,已改進對使用檔案描述符的支援。現在,在呼叫 inets:start(httpd, ...) 函式時,可以在組態 (選項 fd) 中新增檔案描述符。
Attila Rajmund Nohl
Own Id: OTP-9202
Aux Id: seq11819
現在預設的 ssl 種類已變更為
essl
。只要 ssl 應用程式支援,
ossl
仍可運作。更多資訊,請參閱 httpd 的 socket_type 通訊屬性或 httpc 的 request/4,5 函式。
Own Id: OTP-9230
* 潛在的不相容性 *
修正的錯誤與故障
[httpd] 文件中使用的 安全屬性 名稱錯誤。
使用
security_data_file
而非data_file
。使用
security_max_retries
而非max_retries
。使用
security_block_time
而非block_time
。使用
security_fail_expire_time
而非fail_expire_time
。使用
security_auth_timeout
而非auth_timeout
。Garrett Smith
Own Id: OTP-9131
[httpd] 修正 mod_esi 產生的逾時訊息。當 mod_esi 請求逾時時,傳送逾時回應的程式碼不正確,產生了內部伺服器錯誤以及無效的回應行。
Bernard Duggan
Own Id: OTP-9158
[httpc] httpc 管理器當機。當請求導致重試時,請求 ID 將在先前的實作中「重複使用」,可能會發生競爭條件,導致管理器當機。
現在透過使用 proc_lib:init_ack 和 gen_server:enter_loop 來避免此問題,以允許 httpc_handlers 更進階的初始化,而不會阻塞 httpc_manger 並消除可能導致競爭條件的額外程序。
Own Id: OTP-9246
[httpc] 向具有 ssl 選項
{ip, {127,0,0,1}}
的主機發出請求 (httpc:request
) 會導致處理常式當機。原因是連線呼叫導致以badarg
為原因而退出 (對於ssl
和gen_tcp
都是如此)。未捕獲退出。現在已改進此問題。
Own Id: OTP-9289
Aux Id: seq11845
Inets 5.5.2
改進與新功能
-
修正的錯誤與故障
[httpd] httpd_response:send_chunk 可處理空清單和空二進位 - 即不傳送任何區塊,但它無法處理具有空二進位的清單 [<<>>]。這將被視為傳送一個空區塊,而 http_chunk 將其編碼為與最後一個區塊相同,這會讓 http 用戶端認為已到達頁面結尾。
Own Id: OTP-8906
Inets 5.5.1
改進與新功能
其他與 inet6 相關的問題。
Own Id: OTP-8927
更新 http 伺服器以確保錯誤訊息中的 URL 經過 URL 編碼。新增 http 用戶端中使用 URL 編碼的支援。也新增 inets 應用程式遺失的 include 目錄。
Own Id: OTP-8940
Aux Id: seq11735
修正的錯誤與故障
修正 format_man_pages,使其可以處理所有 man 區段並移除各種 man 頁面中的警告/錯誤。
Own Id: OTP-8600
[httpc] 當連線遠端關閉時,未處理管線化和排隊的請求。
Own Id: OTP-8906
Inets 5.5
修正的錯誤與故障
[httpc] 如果請求逾時 (不是連線逾時),處理常式程序會退出 (正常),但未通知管理器程序。因此,管理器沒有清理請求表,導致記憶體洩漏。此外,管理器沒有為處理常式建立監視器,因此在意外的處理常式當機中,也可能產生記憶體洩漏。
Own Id: OTP-8739
服務 tftp 在文件和部分程式碼中拼寫錯誤。它應該是 tftp。
Own Id: OTP-8741 Aux Id: seq11635
[httpc] 在使用者指南中將舊的 http 用戶端 api 模組 (http) 取代為新的 httpc。
Own Id: OTP-8742
改進與新功能
消除自動匯入 BIF 衝突的警告。
Own Id: OTP-8840
Inets 5.4
改進與新功能
[httpc|httpd] - 現在允許使用「新的」ssl,方法是改用
essl
標籤。更多資訊,請參閱 request/4,5 中的
http_option
選項或通訊屬性章節的 socket-type 區段。Own Id: OTP-7907
已移除指定在 R14 中移除的已棄用函式。此外,一些新的函式已被標示為已棄用 (舊的 http 用戶端 api 模組)。
Own Id: OTP-8564
* 潛在的不相容性 *
[httpd] - 改進 mod_alias。現在能夠執行更好的 URL 重寫。
Own Id: OTP-8573
修正的錯誤與故障
-
Inets 5.3.3
改進與新功能
-
修正的錯誤與故障
[httpc] - 使 Cookie 處理更不區分大小寫。
Own Id: OTP-8609
Nicolas Thauvin
[httpc|httpd] - Netscape Cookie 日期也可以使用 2 位數的年份表示 (例如 06 = 2006)。
Own Id: OTP-8610
Nicolas Thauvin
[httpd] - (再次) 新增對已記錄偵錯功能的支援。更多資訊,請參閱使用者指南的 組態 章節。
Own Id: OTP-8624
Inets 5.3.2
改進與新功能
-
修正的錯誤與故障
[httpc] - 修復記憶體洩漏。設定檔管理員從未清理其處理常式資料庫。這表示每個新的請求處理常式,都會建立另一個永遠不會刪除的條目。最終,請求 ID 計數器 (用作索引鍵) 將會環繞,但在那之前,機器很可能會耗盡記憶體。
Own Id: OTP-8542
Lev Walkin
[httpc] - 未正確處理具有預設連接埠 (443) 的 https 請求。
Own Id: OTP-8607
jebu ittiachen
Inets 5.3.1
改進與新功能
-
修正的錯誤與故障
[httpc] - 在初始連線至伺服器期間發生錯誤時,錯誤原因的格式錯誤。此外,可能發生的錯誤原因未正確記錄。
Own Id: OTP-8508
Aux Id: seq11407
[httpd] - ESI erl_script_timeout 的問題。
erl_script_timeout
組態選項被記錄為秒數。但是,當解析組態 (以新格式而非組態檔案) 時,它會被視為毫秒數。- 當超出 erl-script-timeout 時間時,伺服器會錯誤地將答案標記為已傳送,從而使用戶端掛起 (答案不完整)。已變更此情況,現在將關閉 Socket。
Own Id: OTP-8509
Inets 5.3
改進與新功能
[httpc] - 允許使用者在發出請求時將 Socket 選項傳遞至傳輸模組。
更多資訊,請參閱 request/4 或 set_options/1,2 中的
socket_opts
選項。Own Id: OTP-8352
[httpc] 修正連接埠不是 80 時製作主機標頭的錯誤。
當向接聽非 HTTP 預設值 80 的連接埠的伺服器發出請求時,主機標頭應包含連接埠號碼和主機名稱。目前,僅包含主機名稱。這對於使 http 用戶端更符合 HTTP 規範非常重要。
Own Id: OTP-8371
Kelly McLaughlin
[httpc|httpd] http_chunk 資料處理/傳遞改進。
這是對 http_chunk 模組的修改,以轉發接收到的任何完整區塊,無論是否已接收到後續區塊的大小欄位。這允許 http_chunk 用於使用長期 HTTP 連線來傳送定期狀態更新作為單獨區塊的情況。先前,除非已讀取下一個區塊的大小,否則不會將給定的區塊轉發到用戶端程序,這使得該模組難以用於所描述的案例。
Bernard Duggan
Own Id: OTP-8351
在應用程式發行版本中包含 inets 測試套件。
自有 ID:OTP-8349
[httpc] - 現在可以設定客戶端向多個接收者傳送非同步回覆,而不僅限於呼叫程序。
請參閱接收者選項以獲取更多資訊。
自有 ID:OTP-8106
[httpd] - 現在允許使用 "PUT" 和 "DELETE" 方法。
huntermorris@gmail.com
自有 ID:OTP-8103
[httpc] 數個或多或少的重大修復
httpc 管理器和請求處理程序之間的初始呼叫是同步的。
當管理器啟動新的請求處理程序時,這不再是同步操作。先前,新的請求處理程序會在 gen_server init 函數中建立與伺服器的連線並發出第一個請求(啟動它的原因)。如果連線因為某些原因「花費了一些時間」,管理器會掛起,導致該管理器的所有其他活動也掛起。
由於這些變更的副作用,某些模組也被重新命名,並且引入了一個新的 API 模組
httpc
(舊的模組http
並未被移除,但現在只是httpc
的包裝)。自有 ID:OTP-8016
* 潛在的不相容性 *
修復的錯誤和故障
[httpd] 伺服器未完全支援文檔中記載的模組回呼 API。具體來說,load 函數應該能夠返回 atom
ok
,但這是不被接受的。自有 ID:OTP-8359
修復各種與文件相關的錯誤(錯誤的引號)。
自有 ID:OTP-8327
修復輕微的 Dialyzer 和版權問題。
自有 ID:OTP-8315
[httpc] - 新增選項值組合的基本健全性檢查。
adam.kocoloski@gmail.com
自有 ID:OTP-8056
Inets 5.2
改進和新功能
[ftpc] - FTP 客戶端的啟動方式已更改如下
現在也可以使用重新引入的
ftp:open/2
函數啟動獨立的 FTP 客戶端程序。這是使用 inets 服務框架啟動客戶端的替代方案。
舊的、未記錄的
ftp:open/1
函數導致客戶端被掛鉤到 inets 服務監管框架。現在不再是這樣。* 潛在的不相容性 *
先前,FTP 客戶端會嘗試使用 IPv6,除非另有指示 (
ip_v6_disabled
標誌),並且只有在 IPv6 無法運作時才會使用 IPv4。現在已經更改了。引入了一個新的選項 ipfamily,預設值為
inet
(IPv4)。請參閱
ftp:open/2
以獲取更多資訊。* 潛在的不相容性 *
自有 ID:OTP-8258
現在使用大多數平台上都存在的開源工具 (xsltproc 和 fop) 建置文件。一個明顯的變化是框架已被移除。
自有 ID:OTP-8249
修復的錯誤和故障
[httpc] - 流式傳輸到檔案的功能無法運作。
dizzyd@gmail.com
自有 ID:OTP-8204
[ftpc] - 帶有萬用字元的
ftp:ls/2
函數 (LIST 命令) 和ftp:nlist/2
函數 (NLST 命令) 無法正常運作。這些函數的文件記載為在目錄上運作,但這實際上不符合標準。LIST 和 NLST 命令被指定為在目錄或其他檔案群組或檔案上運作。
先前,嘗試檢查伺服器傳回的清單是否實際上是錯誤訊息。這是透過將遠端目錄 (cd) 更改為 (假設的)「目錄」來完成的。如果 Pathname 實際上是一個目錄,這可能會奏效,但由於情況並非總是如此,因此此測試無效。相反,我們現在返回實際的伺服器結果,並將解釋留給呼叫者。
* 潛在的不相容性 *
自有 ID:OTP-8247
Aux Id: seq11407
[httpc] - 修復了逾時和 keep-alive 佇列處理中的各種錯誤。
- 當佇列中的請求逾時時,錯誤訊息會傳送給作用中請求的所有者。
- 當處理程序終止時,keep-alive 佇列中的請求會被遺忘。
- 逾時的請求會被重試。
Jean-Sébastien Pédron
自有 ID:OTP-8248
[httpd] - 處理關閉的通訊端時不必要的嚴格比對。
自有 ID:OTP-8280
Inets 5.1.3
改進和新功能
-
修復的錯誤和故障
[httpc] - 競爭條件。當呼叫 http:request 且 httpc_manager 選擇一個已有擱置請求的會話時,該會話的連線處理程序會有效地重置其剖析器,使其準備好處理第二個請求的回應。但如果仍然有一些針對第一個請求回應的入站封包,事情就會變得混亂。
tomas.abrahamsson@gmail.com
自有 ID:OTP-8154
Inets 5.1.2
改進和新功能
[httpc] - 為 http 客戶端請求新增 http 選項
connect_timeout
。connect_timeout
選項用於客戶端連線到伺服器時的初始請求。預設值與timeout
選項相同。請參閱 request/4,5 函數以獲取更多資訊。
自有 ID:OTP-7298
修復的錯誤和故障
[httpd] - 無效的選項組合導致無法建立監聽通訊端。當繫結位址是 IPv4 位址 (大小為 4 的元組) 且 ipfamily 選項為 inet6fb4 時,http 伺服器無法建立其監聽通訊端。
自有 ID:OTP-8118
輔助 ID:seq11321
[httpd] - 移除不存在的函數 (httpd_util:header/2,3,4) 的文件。
自有 ID:OTP-8101
Inets 5.1.1
改進和新功能
[httpd] - 當啟動 inets (Web 伺服器) 並在命令列上提供描述符 (範例:erl -httpd_8888 <描述符>) 時,現在可以指定要使用的 ip 族:
inet | inet6 | inet6fb4
。範例:erl -httpd_8888 10|inet6
當使用帶有屬性清單 (proplist_file) 或屬性清單的檔案啟動 Web 伺服器時,請使用 ipfamily 選項:
{ipfamily, inet | inet6 | inet6fb4}
。最後,當使用傳統的 apache 樣式組態檔啟動 Web 伺服器時,
BindAddress
指示詞已擴充,允許指定 IpFamily:BindAddress blirk.ericsson.se|inet
預設值為
inet6fb4
,它模擬先前版本的行為。請參閱通訊屬性章節以獲取更多資訊。
自有 ID:OTP-8069
輔助 ID:seq11086
修復的錯誤和故障
[httpc] - 接收到意外的資料會導致處理程序崩潰。
自有 ID:OTP-8052
Inets 5.1
改進和新功能
[httpc] 新增了僅使用基本身份驗證的 Web 服務支援,使用者部分使用令牌,且沒有密碼部分。
twoggle@gmail.com
自有 ID:OTP-7998
[httpc] - 將 HTTP 客戶端繫結到 IP 位址。現在可以指定一個替代的 IP 位址和連接埠,以便客戶端連線到伺服器時使用。
作為此項的副作用,
ipv6
選項已被移除,並被ipfamily
選項取代。請參閱 http:set_options/1,2 以獲取更多資訊。
* 潛在的不相容性 *
自有 ID:OTP-8004
修復的錯誤和故障
更新了保護測試(即 is_list(L) 而不是 list(L),以及可能使用 andalso/orelse 而不是 ","/" )。
自有 ID:OTP-7994
[httpc] - 移除已棄用的 regexp 模組的使用。
自有 ID:OTP-8001
[httpc] - 選項
max_keep_alive_length
未被正確處理。自有 ID:OTP-8005