php / php/php-src

Unify case of array keys in `ftp_mlsd`

Open
#18,064 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Extension: ftp Feature Status: Needs Triage
Dominant language
C
Stars
40.4k
Forks
8.1k
Avg merge
2d 13h
Merged PRs (30d)
96

Description

Description

Function ftp_mlsd started returning array with different key case: "name" is still "name", but "type" became "Type" and "modify" became "Modify".

I assume ftp_mlsd returns data as provided by the FTP server and this change was a consequence of our hosting provider modifying the software on FTP server, and not a consequence of changes in PHP.

RFC 3659 states in section 7.5 that fact names are case-insensitive, but because PHP array keys are not, changes like this break the code.

I suggest casing of array keys is unified (always "type" or always "Type").

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the ftp_mlsd implementation and how FTP fact names are converted into PHP array keys. Read RFC 3659 section 7.5 alongside the existing behavior, then verify that the returned keys use one consistent case regardless of the server response.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, php
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.