Bugzilla – Bug 1215496
man 3 crypt crypt_data struct erroneously includes "phrase" member instead of "input"
Last modified: 2024-07-09 20:30:41 UTC
OpenSUSE Leap 15.4 man 3 crypt page includes the definition for struct crypt_data as: struct crypt_data { char output[CRYPT_OUTPUT_SIZE]; char setting[CRYPT_OUTPUT_SIZE]; char phrase[CRYPT_MAX_PASSPHRASE_SIZE]; char initialized; }; The "phrase" member should actually be "input", e.g. struct crypt_data { char output[CRYPT_OUTPUT_SIZE]; char setting[CRYPT_OUTPUT_SIZE]; char input[CRYPT_MAX_PASSPHRASE_SIZE]; char initialized; }; See /usr/include/crypt.h, e.g. /* Memory area used by crypt_r. */ struct crypt_data { /* crypt_r writes the hashed password to this field of its 'data' argument. crypt_rn and crypt_ra do the same, treating the untyped data area they are supplied with as this struct. */ char output[CRYPT_OUTPUT_SIZE]; /* Applications are encouraged, but not required, to use this field to store the "setting" string that must be passed to crypt_*. Future extensions to the API may make this more ergonomic. A valid "setting" is either previously hashed password or the string produced by one of the crypt_gensalt functions; see the crypt_gensalt documentation for further details. */ char setting[CRYPT_OUTPUT_SIZE]; /* Applications are encouraged, but not required, to use this field to store the unhashed passphrase they will pass to crypt_*. Future extensions to the API may make this more ergonomic. */ char input[CRYPT_MAX_PASSPHRASE_SIZE]; /* Reserved for future application-visible fields. For maximum forward compatibility, applications should set this field to all bytes zero before calling crypt_r, crypt_rn, or crypt_ra for the first time with a just-allocated 'struct crypt_data'. Future extensions to the API may make this more ergonomic. */ char reserved[CRYPT_DATA_RESERVED_SIZE]; /* This field should be set to 0 before calling crypt_r, crypt_rn, or crypt_ra for the first time with a just-allocated 'struct crypt_data'. This is not required if crypt_ra is allowed to do the allocation itself (i.e. if the *DATA argument is a null pointer). Future extensions to the API may make this more ergonomic. */ char initialized; /* Scratch space used internally. Applications should not read or write this field. All data written to this area is erased before returning from the library. */ char internal[CRYPT_DATA_INTERNAL_SIZE]; }; Just a simple documentation error. There is no specific maintainer e-mail in the man page, so posted here for triage.
I'll assign it to the maintainer of the man pages package
Thank you for reporting this bug! It is being tracked and processed as part of our queue.
TL;DR: will do To be completely precise, the man page does not come from man-pages package as far as I can tell: $ rpm -qf /usr/share/man/man3/crypt.3.gz libxcrypt-devel-4.4.36-1.4.x86_64 $ This man page comes from 15sp3, so coldpool@ is in charge. But I will have the duty next week anyway :). Upstream commit: https://github.com/besser82/libxcrypt/commit/b212d601549a0fc84cbbcaf21b931f903787d7e2
15sp3 request: https://build.suse.de/request/show/315445
SR#315445 got accepted. Thank you Petr!
SUSE-RU-2024:0062-1: An update that has one fix can now be installed. Category: recommended (moderate) Bug References: 1215496 Sources used: SUSE Enterprise Storage 7.1 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro 5.1 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro 5.2 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro for Rancher 5.2 (src): libxcrypt-4.4.15-150300.4.7.1 openSUSE Leap 15.3 (src): libxcrypt-4.4.15-150300.4.7.1 openSUSE Leap Micro 5.3 (src): libxcrypt-4.4.15-150300.4.7.1 openSUSE Leap Micro 5.4 (src): libxcrypt-4.4.15-150300.4.7.1 openSUSE Leap 15.4 (src): libxcrypt-4.4.15-150300.4.7.1 openSUSE Leap 15.5 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro for Rancher 5.3 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro 5.3 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro for Rancher 5.4 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro 5.4 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Micro 5.5 (src): libxcrypt-4.4.15-150300.4.7.1 Basesystem Module 15-SP4 (src): libxcrypt-4.4.15-150300.4.7.1 Basesystem Module 15-SP5 (src): libxcrypt-4.4.15-150300.4.7.1 Development Tools Module 15-SP4 (src): libxcrypt-4.4.15-150300.4.7.1 Development Tools Module 15-SP5 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise High Performance Computing ESPOS 15 SP3 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise High Performance Computing LTSS 15 SP3 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Server 15 SP3 LTSS 15-SP3 (src): libxcrypt-4.4.15-150300.4.7.1 SUSE Linux Enterprise Server for SAP Applications 15 SP3 (src): libxcrypt-4.4.15-150300.4.7.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
SUSE-RU-2024:0062-2: An update that has one fix can now be installed. Category: recommended (moderate) Bug References: 1215496 Maintenance Incident: [SUSE:Maintenance:31876](https://smelt.suse.de/incident/31876/) Sources used: SUSE Linux Enterprise Micro 5.5 (src): libxcrypt-4.4.15-150300.4.7.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.