Bug 212304

Summary: security/rubygem-bcrypt: rip out unused crypt_r implementation
Product: Ports & Packages Reporter: Johannes Jost Meixner <xmj>
Component: Individual Port(s)Assignee: Steve Wills <swills>
Status: Closed FIXED    
Severity: Affects Only Me CC: ed, rihad, swills, tz, woodsb02, xmj
Priority: --- Flags: bugzilla: maintainer-feedback? (ruby)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
rip crypt_r out of rubygem-bcrypt none

Description Johannes Jost Meixner freebsd_committer freebsd_triage 2016-09-01 10:22:36 UTC
Created attachment 174283 [details]
rip crypt_r out of rubygem-bcrypt

In r303920 [1] ed@ added a thread-safe implementation of crypt, crypt_r(3).

This change breaks rubygem-bcrypt on 12.0-CURRENT.

As the crypt_r implementation found in the gem isn't used one way or another, rip it out, and unbreak the package build on 12.0-CURRENT
Comment 1 Ben Woods freebsd_committer freebsd_triage 2016-09-07 03:58:47 UTC
For details of the symptoms of this bug, please see the following mailing list post:
https://lists.freebsd.org/pipermail/freebsd-ruby/2016-September/006675.html
Comment 2 commit-hook freebsd_committer freebsd_triage 2016-09-07 18:38:18 UTC
A commit references this bug:

Author: swills
Date: Wed Sep  7 18:37:35 UTC 2016
New revision: 421517
URL: https://svnweb.freebsd.org/changeset/ports/421517

Log:
  security/rubygem-bcrypt: rip out unused crypt_r implementation

  PR:		212304
  Submitted by:	xmj

Changes:
  head/security/rubygem-bcrypt/files/
  head/security/rubygem-bcrypt/files/patch-ext_mri_ow-crypt.h
  head/security/rubygem-bcrypt/files/patch-ext_mri_wrapper.c
Comment 3 Steve Wills freebsd_committer freebsd_triage 2016-09-07 18:41:47 UTC
Committed, thanks!
Comment 4 Rihad 2019-02-15 13:52:42 UTC
Any updates here? This still fails under Freebsd 12-0, albeit built manually, not from port.

compiling bcrypt_ext.c
In file included from bcrypt_ext.c:2:
./ow-crypt.h:19:14: error: conflicting types for 'crypt_r'
extern char *crypt_r(__CONST char *key, __CONST char *setting, void *data);
Comment 5 Ben Woods freebsd_committer freebsd_triage 2019-02-16 00:02:50 UTC
Hi rihad,

This issue has been fixed in the FreeBSD port, and whilst the port maintainer can suggest fixes to the upstream project developers, they can not force them to accept them. From a FreeBSD-ports point of view, everything that can be done has been - you should direct any further requests upstream.

This particular issue is being discussed in a number of issues/pull requests upstream:
https://github.com/codahale/bcrypt-ruby/issues/188
https://github.com/codahale/bcrypt-ruby/pull/189

I suggest commenting on these to explain the issue and encourage the developers to address them.

Thanks,
Ben