bugzilla-daemon at mindrot.org
2015-Jun-02 13:54 UTC
[Bug 2407] New: OpenSSH uses deprecated APIs on MacOS
https://bugzilla.mindrot.org/show_bug.cgi?id=2407
Bug ID: 2407
Summary: OpenSSH uses deprecated APIs on MacOS
Product: Portable OpenSSH
Version: -current
Hardware: All
OS: Mac OS X
Status: NEW
Severity: normal
Priority: P5
Component: Miscellaneous
Assignee: unassigned-bugs at mindrot.org
Reporter: ronf at timeheart.net
Created attachment 2642
--> https://bugzilla.mindrot.org/attachment.cgi?id=2642&action=edit
Log of running "make tests"
When compiling and running unit tests on the latest OpenSSH 6.9p1
snapshot from 05/31, I saw a number of compiler warnings output related
to the use of deprecated APIs. Most of the deprecations go back to OS X
version 10.7 -- I'm currently compiling it on 10.10.3. There were
several hundred of these, referencing various bignum and crypto APIs.
In addition to the deprecation warnings, I also got multiple instances
of the following warning:
clang: warning: argument unused during compilation: '-pie'
and one instance of:
cipher-3des1.c:152:22: warning: incompatible pointer types assigning to
'int
(*)(EVP_CIPHER_CTX *, unsigned char *, const unsigned char *,
unsigned
int)' from 'int (EVP_CIPHER_CTX *, u_char *, const u_char *,
size_t)'
[-Wincompatible-pointer-types]
ssh1_3des.do_cipher = ssh1_3des_cbc;
^ ~~~~~~~~~~~~~
I've attached the complete output from the compile and running the
tests.
Despite all these warnings, the tests all passed in the end.
--
You are receiving this mail because:
You are watching the assignee of the bug.
bugzilla-daemon at bugzilla.mindrot.org
2015-Nov-13 03:13 UTC
[Bug 2407] OpenSSH uses deprecated APIs on MacOS
https://bugzilla.mindrot.org/show_bug.cgi?id=2407
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |djm at mindrot.org
Status|NEW |RESOLVED
Resolution|--- |WONTFIX
--- Comment #1 from Damien Miller <djm at mindrot.org> ---
Yes, Apple have deprecated their system copy of the OpenSSL libcrypto
API. If you want to avoid these errors then you should build against a
copy of OpenSSL that you've installed yourself (AFAIK macports, etc do
this)
We don't have any plans to port OpenSSH to whatever Apple is replacing
OpenSSL with.
--
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 bugzilla.mindrot.org
2015-Nov-14 06:43 UTC
[Bug 2407] OpenSSH uses deprecated APIs on MacOS
https://bugzilla.mindrot.org/show_bug.cgi?id=2407
--- Comment #2 from Ron Frederick <ronf at timeheart.net> ---
Pointing at a version of OpenSSL in /opt/local (from MacPorts) did
help. However, it didn't completely eliminate the warnings. The
following warnings not related to SSL remained:
In ssh.c:
ssh.c:1409:2: warning: 'daemon' is deprecated: first deprecated in OS X
10.5 -
Use posix_spawn APIs instead. [-Wdeprecated-declarations]
daemon(1, 1);
^
/usr/include/stdlib.h:267:6: note: 'daemon' has been explicitly marked
deprecated here
int daemon(int, int) __DARWIN_1050(daemon)
__OSX_AVAILABLE_BUT_DEPR...
^
ssh.c:1421:6: warning: 'daemon' is deprecated: first deprecated in OS X
10.5 -
Use posix_spawn APIs instead. [-Wdeprecated-declarations]
if (daemon(1, 1) < 0)
^
/usr/include/stdlib.h:267:6: note: 'daemon' has been explicitly marked
deprecated here
int daemon(int, int) __DARWIN_1050(daemon)
__OSX_AVAILABLE_BUT_DEPR...
^
In sshd.c:
sshd.c:1972:7: warning: 'daemon' is deprecated: first deprecated in OS
X 10.5 -
Use posix_spawn APIs instead. [-Wdeprecated-declarations]
if (daemon(0, 0) < 0)
^
/usr/include/stdlib.h:267:6: note: 'daemon' has been explicitly marked
deprecated here
int daemon(int, int) __DARWIN_1050(daemon)
__OSX_AVAILABLE_BUT_DEPR...
^
In loginrec.c:
loginrec.c:188:49: warning: 'utmp' is deprecated
[-Wdeprecated-declarations]
void set_utmp_time(struct logininfo *li, struct utmp *ut);
^
/usr/include/util.h:88:8: note: 'utmp' has been explicitly marked
deprecated
here
struct utmp; /* forward reference to /usr/include/utmp.h */
^
loginrec.c:189:50: warning: 'utmp' is deprecated
[-Wdeprecated-declarations]
void construct_utmp(struct logininfo *li, struct utmp *ut);
^
/usr/include/util.h:88:8: note: 'utmp' has been explicitly marked
deprecated
here
struct utmp; /* forward reference to /usr/include/utmp.h */
^
loginrec.c:632:44: warning: 'utmp' is deprecated
[-Wdeprecated-declarations]
set_utmp_time(struct logininfo *li, struct utmp *ut)
^
/usr/include/util.h:88:8: note: 'utmp' has been explicitly marked
deprecated
here
struct utmp; /* forward reference to /usr/include/utmp.h */
^
loginrec.c:644:14: warning: 'utmp' is deprecated
[-Wdeprecated-declarations]
struct utmp *ut)
^
/usr/include/util.h:88:8: note: 'utmp' has been explicitly marked
deprecated
here
struct utmp; /* forward reference to /usr/include/utmp.h */
^
loginrec.c:1416:9: warning: 'utmp' is deprecated
[-Wdeprecated-declarations]
struct utmp *ut;
^
/usr/include/util.h:88:8: note: 'utmp' has been explicitly marked
deprecated
here
struct utmp; /* forward reference to /usr/include/utmp.h */
^
loginrec.c:1420:2: warning: 'login' is deprecated: first deprecated in
OS X 10.5
[-Wdeprecated-declarations]
login(ut);
^
/usr/include/util.h:89:6: note: 'login' has been explicitly marked
deprecated
here
void login(struct utmp *)
__OSX_AVAILABLE_BUT_DEPRECATED(_...
^
loginrec.c:1434:7: warning: 'logout' is deprecated: first deprecated in
OS X
10.5 [-Wdeprecated-declarations]
if (!logout(line))
^
/usr/include/util.h:91:5: note: 'logout' has been explicitly marked
deprecated
here
int logout(const char *)
__OSX_AVAILABLE_BUT_DEPRECATED(_...
^
loginrec.c:1438:3: warning: 'logwtmp' is deprecated: first deprecated
in OS X
10.5 [-Wdeprecated-declarations]
logwtmp(line, "", "");
^
/usr/include/util.h:92:6: note: 'logwtmp' has been explicitly marked
deprecated
here
void logwtmp(const char *, const char *, const char *)
__OSX_AVAILABL...
^
In sandbox-darwin.c:
sandbox-darwin.c:43:25: warning: declaration of 'struct monitor' will
not be
visible outside of this function [-Wvisibility]
ssh_sandbox_init(struct monitor *monitor)
^
sandbox-darwin.c:65:6: warning: 'sandbox_init' is deprecated: first
deprecated
in OS X 10.8 [-Wdeprecated-declarations]
if (sandbox_init(kSBXProfilePureComputation, SANDBOX_NAMED,
^
/usr/include/sandbox.h:65:5: note: 'sandbox_init' has been explicitly
marked
deprecated here
int sandbox_init(const char *profile, uint64_t flags, char **errorbuf);
^
sandbox-darwin.c:65:19: warning: 'kSBXProfilePureComputation' is
deprecated:
first deprecated in OS X 10.8 [-Wdeprecated-declarations]
if (sandbox_init(kSBXProfilePureComputation, SANDBOX_NAMED,
^
/usr/include/sandbox.h:97:19: note: 'kSBXProfilePureComputation' has
been
explicitly marked deprecated here
extern const char kSBXProfilePureComputation[];
^
These warnings were found in compiling 6.9p1, which I used since that's
what this bug was originally filed against.
Also, for what it's worth, OS X 10.11 (El Capitan) is now shipping from
Apple with OpenSSH 6.9p1 compiled against LibreSSL 2.1.7.
--
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 bugzilla.mindrot.org
2016-Aug-02 00:41 UTC
[Bug 2407] OpenSSH uses deprecated APIs on MacOS
https://bugzilla.mindrot.org/show_bug.cgi?id=2407
Damien Miller <djm at mindrot.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
--- Comment #3 from Damien Miller <djm at mindrot.org> ---
Close all resolved bugs after 7.3p1 release
--
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.