🔗 杂项待办事项
列出 Bug 的正确地方是 Bugzilla 数据库。
列出未来改进的正确地方是 Features 区域,并将其标记为 WantedFeature
列出任何人都可以进行的次要任务的正确地方是 Roadmap Tasks list。
请不要将待办事项转储在这里。如果您有机会,请将这些项目移到正确的地方。
此列表页面只是对 Squid 中发现的各种漏洞的通用 TODO。
- 内部请求 - 我们在 client_side 中将其协议更改为 HTTP,然后在 client_side_reply 中改回 INTERNAL。WTF。
- 将 httpCachable 之类的东西委托给 request 对象,然后从那里委托给 URLScheme。
- HTTP 在 client_side 中被认为无法重新验证。可以通过委托给协议来修复
- 为什么我们认为 PUT 请求到 internal: 等可以被服务?
- HTCP 请求未列在客户端数据库中
- ICP 和 HTCP 不像其他协议那样是协议 - 分开它们?
🔗 Squid 1.1 至 2.5 的旧待办事项列表
此 TODO 列表已不再准确。有关更更新的 Squid 计划,请参阅:WantedFeatures
- 重叠的辅助功能实现(纯文本或有状态或两者都有)。
- 始终/从不直接语法清理。
- 重构由 ACL 驱动的类型以减少重复代码的数量(acl_check, acl_tos, acl_address, acl_size_t, …)
- ETag 缓存(???)
- 通用化套接字绑定以允许多个 ICP/HTCP/SNMP 套接字(摆脱 udp_incoming_address)(???)
- 按照计划重构存储 API
- 改进的事件驱动通信代码
- 缓冲区管理(存储 API 和通信代码改进所需的)
- 改进的回复处理,避免多次重新解析回复头
- 实现 HTCP 身份验证
- 将 HTCP 查询记录在某个地方,例如 htcp_query.log
- 在各种地方,ICP 表示 ICP/HTCP,而在其他地方则不是。例如,cachemgr 的“counters”统计信息(如 icp.pkts_sent)仅计算 ICP。然而,在“peer_select”统计信息中,ICP 也包含 HTCP。
- 不要重新分发来自同级服务器的请求
- 可自定义的缓存替换策略。Ugh,这可能很有趣,因为我们刚刚用双向链表优化了 LRU 替换。
- 为 multipart 范围回复计算 Content-Length (AR)
-
高效的公共对等访问控制 *无需 ACL*:Bill Wichers
<billw@unix0.waveform.net>Dave Zarzycki<zarzycki@ricochet.net># distant_peer_deny (icmp rtt) (hops) # 如果 ICP 客户端的距离超过“z”跳, # 或者如果超过 y% 的 ping 到客户端超过 # x 毫秒,则拒绝。distant_peer_deny 200 75 10 - 关于 ACL 和 URL 转义有什么看法?
- 回顾 RFC 2068 和 RFC 2109 以处理头信息,特别是 Cache-Control。
- wherever we use ‘pattern’ or such, use ACL elements instead.
- stoplist_pattern, refresh_pattern, … (DW)
- 基于内容类型进行刷新。这意味着我们需要在 StoreEntry 中添加一个已知内容类型的枚举。未知类型将丢失。
- 将二进制头写为元数据?
- 在 errorConvert() 中对特殊字符进行 HTML 转义。
- X-Proxy-hops 头?
- #ifdefs 禁用 IP 缓存
- REST 用于失败的 ftp 传输。
- MD5 acl 类型