bugzilla-daemon at mindrot.org
2013-Jun-01 19:28 UTC
[Bug 2112] New: Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112
Bug ID: 2112
Summary: Android doesn't provide an implementation of crypt().
Product: Portable OpenSSH
Version: 6.2p1
Hardware: Other
OS: Linux
Status: NEW
Severity: minor
Priority: P5
Component: Build system
Assignee: unassigned-bugs at mindrot.org
Reporter: nathan.osman at gmail.com
Created attachment 2284
--> https://bugzilla.mindrot.org/attachment.cgi?id=2284&action=edit
Use OpenSSL DES_crypt function as a drop-in replacement for crypt().
The Android platform does not provide a crypt() function (crypt.h does
not exist) and therefore the following error is produced when
attempting to link xcrypt.o from the openbsd-compat library:
libopenbsd-compat.a(xcrypt.o): in function xcrypt:xcrypt.c:78: error:
undefined reference to 'crypt'
However, OpenSSL includes an implementation of crypt in the libcrypto
library. I have attached a small patch that:
- checks if crypt.h is available
- if not, checks if openssl is available
- uses a #define to point crypt to DES_crypt
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 19:31 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112 --- Comment #1 from Nathan Osman <nathan.osman at gmail.com> --- Actually I made a mistake in describing my patch - the first two steps are reversed. First a check for OpenSSL is made and then DES_crypt is used only if crypt is missing. I wasn't sure which order to do things in. I can reverse the '#if defined' lines if needed. -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 19:53 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112 --- Comment #2 from Darren Tucker <dtucker at zip.com.au> --- Comment on attachment 2284 --> https://bugzilla.mindrot.org/attachment.cgi?id=2284 Use OpenSSL DES_crypt function as a drop-in replacement for crypt().>+# if defined(HAVE_OPENSSL)openssl is mandatory so there's no point checking for this (I'm not sure why configure even sets it).>+# if !defined(HAVE_CRYPT_H)you don't really care whether or not crypt.h exists, what you really care about is whether or not you have a crypt function, so that's what you should be checking for. I'll attach a modified patch shortly. -- You are receiving this mail because: You are watching the assignee of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 20:07 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112
Darren Tucker <dtucker at zip.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dtucker at zip.com.au
Attachment #2284|0 |1
is obsolete| |
--- Comment #3 from Darren Tucker <dtucker at zip.com.au> ---
Created attachment 2288
--> https://bugzilla.mindrot.org/attachment.cgi?id=2288&action=edit
Use OpenSSL DES_crypt function as a drop-in replacement for crypt().
Please try this. note that you'll need to run "autoreconf" to
rebuild
configure before running ./configure.
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 20:07 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112
Darren Tucker <dtucker at zip.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |2076
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 20:24 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112 --- Comment #4 from Nathan Osman <nathan.osman at gmail.com> --- I applied the patch on a clean copy of the OpenSSH source code and can confirm that it solves the problem. Thanks! -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2013-Jun-01 20:28 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112
Darren Tucker <dtucker at zip.com.au> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #5 from Darren Tucker <dtucker at zip.com.au> ---
Patch applied, thanks.
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.
bugzilla-daemon at mindrot.org
2015-Aug-11 13:05 UTC
[Bug 2112] Android doesn't provide an implementation of crypt().
https://bugzilla.mindrot.org/show_bug.cgi?id=2112
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #6 from Damien Miller <djm at mindrot.org> ---
Set all RESOLVED bugs to CLOSED with release of OpenSSH 7.1
--
You are receiving this mail because:
You are watching the assignee of the bug.
You are watching someone on the CC list of the bug.