{"thread":{"id":"38080","subject":"Deprecation warnings under XCode","startedAt":"2014-12-01T03:02:56Z","lastAt":"2014-12-04T03:44:08Z","messageCount":11,"participants":["Michael Blume","Torsten Bögershausen","Kyle J. McKay","Junio C Hamano","Eric Sunshine","David Aguilar"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"252759","messageId":"CAO2U3Qg4DVxSk2u1eJwGqYoxVZTbWRV69J9HTo1rnjFCxSyi2g@mail.gmail.com","threadId":"38080","inReplyTo":null,"subject":"Deprecation warnings under XCode","fromName":"Michael Blume","fromEmail":"blume.mike@gmail.com","sentAt":"2014-12-01T03:02:56Z","receivedAt":"2014-12-01T03:02:56Z","isPatch":false,"sender":{"key":"blume.mike@gmail.com","avatar":"https://gravatar.com/avatar/1a7b440e1d942425ff4098ac7fc15b86b30cecaa56e1692a7ef8b5939ba25ea7?d=mp&s=160"},"body":"I have no idea whether this should concern anyone, but my mac build of git shows\n\n    CC imap-send.o\nimap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        fprintf(stderr, \"%s: %s\\n\", func,\nERR_error_string(ERR_get_error(), NULL));\n                                          ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/err.h:279:7:\nnote: 'ERR_error_string' has been explicitly marked deprecated here\nchar *ERR_error_string(unsigned long e,char *buf)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n      ^\nimap-send.c:183:53: warning: 'ERR_get_error' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        fprintf(stderr, \"%s: %s\\n\", func,\nERR_error_string(ERR_get_error(), NULL));\n                                                           ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/err.h:266:15:\nnote: 'ERR_get_error' has been explicitly marked deprecated here\nunsigned long ERR_get_error(void) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n              ^\nimap-send.c:191:16: warning: 'SSL_get_error' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                int sslerr = SSL_get_error(sock->ssl, ret);\n                             ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1506:5:\nnote: 'SSL_get_error' has been explicitly marked deprecated here\nint     SSL_get_error(const SSL *s,int ret_code)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:243:24: warning: 'X509_get_ext_d2i' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if ((subj_alt_names = X509_get_ext_d2i(cert,\nNID_subject_alt_name, NULL, NULL))) {\n                              ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/x509.h:1151:8:\nnote: 'X509_get_ext_d2i' has been explicitly marked deprecated here\nvoid    *       X509_get_ext_d2i(X509 *x, int nid, int *crit, int\n*idx) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n                ^\nimap-send.c:244:28: warning: 'sk_num' is deprecated: first deprecated\nin OS X 10.7 [-Wdeprecated-declarations]\n                int num_subj_alt_names = sk_GENERAL_NAME_num(subj_alt_names);\n                                         ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:684:33:\nnote: expanded from macro 'sk_GENERAL_NAME_num'\n#define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st))\n                                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:168:2:\nnote: expanded from macro 'SKM_sk_num'\n        sk_num(st)\n        ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/stack.h:81:5:\nnote: 'sk_num' has been explicitly marked deprecated here\nint sk_num(const STACK *) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n    ^\nimap-send.c:246:34: warning: 'sk_value' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                        GENERAL_NAME *subj_alt_name =\nsk_GENERAL_NAME_value(subj_alt_names, i);\n                                                      ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:685:38:\nnote: expanded from macro 'sk_GENERAL_NAME_value'\n#define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i))\n                                     ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:170:11:\nnote: expanded from macro 'SKM_sk_value'\n        ((type *)sk_value(st, i))\n                 ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/stack.h:82:7:\nnote: 'sk_value' has been explicitly marked deprecated here\nchar *sk_value(const STACK *, int)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n      ^\nimap-send.c:252:3: warning: 'sk_pop_free' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                sk_GENERAL_NAME_pop_free(subj_alt_names, GENERAL_NAME_free);\n                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:697:49:\nnote: expanded from macro 'sk_GENERAL_NAME_pop_free'\n#define sk_GENERAL_NAME_pop_free(st, free_func)\nSKM_sk_pop_free(GENERAL_NAME, (st), (free_func))\n                                                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/safestack.h:193:2:\nnote: expanded from macro 'SKM_sk_pop_free'\n        sk_pop_free(st, (void (*)(void *))free_func)\n        ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/stack.h:89:6:\nnote: 'sk_pop_free' has been explicitly marked deprecated here\nvoid sk_pop_free(STACK *st, void (*func)(void *))\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n     ^\nimap-send.c:258:15: warning: 'X509_get_subject_name' is deprecated:\nfirst deprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if (!(subj = X509_get_subject_name(cert)))\n                     ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/x509.h:1013:13:\nnote: 'X509_get_subject_name' has been explicitly marked deprecated\nhere\nX509_NAME *     X509_get_subject_name(X509 *a)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n                ^\nimap-send.c:260:13: warning: 'X509_NAME_get_text_by_NID' is\ndeprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if ((len = X509_NAME_get_text_by_NID(subj, NID_commonName,\ncname, sizeof(cname))) < 0)\n                   ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/x509.h:1098:7:\nnote: 'X509_NAME_get_text_by_NID' has been explicitly marked\ndeprecated here\nint             X509_NAME_get_text_by_NID(X509_NAME *name, int nid,\n                ^\nimap-send.c:279:2: warning: 'SSL_library_init' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        SSL_library_init();\n        ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1558:5:\nnote: 'SSL_library_init' has been explicitly marked deprecated here\nint SSL_library_init(void ) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n    ^\nimap-send.c:280:2: warning: 'SSL_load_error_strings' is deprecated:\nfirst deprecated in OS X 10.7 [-Wdeprecated-declarations]\n        SSL_load_error_strings();\n        ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1421:6:\nnote: 'SSL_load_error_strings' has been explicitly marked deprecated\nhere\nvoid    SSL_load_error_strings(void )\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:283:10: warning: 'TLSv1_method' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                meth = TLSv1_method();\n                       ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1524:13:\nnote: 'TLSv1_method' has been explicitly marked deprecated here\nSSL_METHOD *TLSv1_method(void)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;           /* TLSv1.0 */\n            ^\nimap-send.c:285:10: warning: 'SSLv23_method' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                meth = SSLv23_method();\n                       ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1520:13:\nnote: 'SSLv23_method' has been explicitly marked deprecated here\nSSL_METHOD *SSLv23_method(void)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;  /* SSLv3 but can\nrollback to v2 */\n            ^\nimap-send.c:292:8: warning: 'SSL_CTX_new' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        ctx = SSL_CTX_new(meth);\n              ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1351:10:\nnote: 'SSL_CTX_new' has been explicitly marked deprecated here\nSSL_CTX *SSL_CTX_new(SSL_METHOD *meth)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n         ^\nimap-send.c:295:3: warning: 'SSL_CTX_set_verify' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                SSL_CTX_set_verify(ctx, SSL_VERIFY_PEER, NULL);\n                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1463:6:\nnote: 'SSL_CTX_set_verify' has been explicitly marked deprecated here\nvoid SSL_CTX_set_verify(SSL_CTX *ctx,int mode,\n     ^\nimap-send.c:297:7: warning: 'SSL_CTX_set_default_verify_paths' is\ndeprecated: first deprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if (!SSL_CTX_set_default_verify_paths(ctx)) {\n             ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1575:5:\nnote: 'SSL_CTX_set_default_verify_paths' has been explicitly marked\ndeprecated here\nint SSL_CTX_set_default_verify_paths(SSL_CTX *ctx)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n    ^\nimap-send.c:301:14: warning: 'SSL_new' is deprecated: first deprecated\nin OS X 10.7 [-Wdeprecated-declarations]\n        sock->ssl = SSL_new(ctx);\n                    ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1486:7:\nnote: 'SSL_new' has been explicitly marked deprecated here\nSSL *   SSL_new(SSL_CTX *ctx) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:306:7: warning: 'SSL_set_rfd' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if (!SSL_set_rfd(sock->ssl, sock->fd[0])) {\n             ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1376:5:\nnote: 'SSL_set_rfd' has been explicitly marked deprecated here\nint     SSL_set_rfd(SSL *s, int fd)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:310:7: warning: 'SSL_set_wfd' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        if (!SSL_set_wfd(sock->ssl, sock->fd[1])) {\n             ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1377:5:\nnote: 'SSL_set_wfd' has been explicitly marked deprecated here\nint     SSL_set_wfd(SSL *s, int fd)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:321:8: warning: 'SSL_ctrl' is deprecated: first deprecated\nin OS X 10.7 [-Wdeprecated-declarations]\n        ret = SSL_set_tlsext_host_name(sock->ssl, server.host);\n              ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/tls1.h:149:42:\nnote: expanded from macro 'SSL_set_tlsext_host_name'\n#define SSL_set_tlsext_host_name(s,name) \\\n                                         ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1501:6:\nnote: 'SSL_ctrl' has been explicitly marked deprecated here\nlong    SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:326:8: warning: 'SSL_connect' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n        ret = SSL_connect(sock->ssl);\n              ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1497:6:\nnote: 'SSL_connect' has been explicitly marked deprecated here\nint     SSL_connect(SSL *ssl) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:334:10: warning: 'SSL_get_peer_certificate' is deprecated:\nfirst deprecated in OS X 10.7 [-Wdeprecated-declarations]\n                cert = SSL_get_peer_certificate(sock->ssl);\n                       ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1455:8:\nnote: 'SSL_get_peer_certificate' has been explicitly marked deprecated\nhere\nX509 *  SSL_get_peer_certificate(const SSL *s)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:350:7: warning: 'SSL_read' is deprecated: first deprecated\nin OS X 10.7 [-Wdeprecated-declarations]\n                n = SSL_read(sock->ssl, buf, len);\n                    ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1498:6:\nnote: 'SSL_read' has been explicitly marked deprecated here\nint     SSL_read(SSL *ssl,void *buf,int num)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:368:7: warning: 'SSL_write' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                n = SSL_write(sock->ssl, buf, len);\n                    ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1500:6:\nnote: 'SSL_write' has been explicitly marked deprecated here\nint     SSL_write(SSL *ssl,const void *buf,int num)\nDEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n        ^\nimap-send.c:385:3: warning: 'SSL_shutdown' is deprecated: first\ndeprecated in OS X 10.7 [-Wdeprecated-declarations]\n                SSL_shutdown(sock->ssl);\n                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1537:5:\nnote: 'SSL_shutdown' has been explicitly marked deprecated here\nint SSL_shutdown(SSL *s) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n    ^\nimap-send.c:386:3: warning: 'SSL_free' is deprecated: first deprecated\nin OS X 10.7 [-Wdeprecated-declarations]\n                SSL_free(sock->ssl);\n                ^\n/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/openssl/ssl.h:1495:6:\nnote: 'SSL_free' has been explicitly marked deprecated here\nvoid    SSL_free(SSL *ssl) DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;\n"},{"id":"252766","messageId":"547BFD42.3040104@web.de","threadId":"38080","inReplyTo":"CAO2U3Qg4DVxSk2u1eJwGqYoxVZTbWRV69J9HTo1rnjFCxSyi2g@mail.gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2014-12-01T05:31:46Z","receivedAt":"2014-12-01T05:31:46Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 12/01/2014 04:02 AM, Michael Blume wrote:\n> I have no idea whether this should concern anyone, but my mac build of git shows\n>\n>      CC imap-send.o\n> imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\n> deprecated in OS X 10.7 [-Wdeprecated-declarations]\n>          fprintf(stderr, \"%s: %s\\n\", func,\n> ERR_error_string(ERR_get_error(), NULL));\n>                                            ^\n[]\nIsn't the warning a warning ;-)\nI don't see this warnings because my openssl comes from \n/opt/local/include (Mac ports)\nDoes anybody know which new functions exist in Mac OS X versions >= 10.7  ?\n"},{"id":"252796","messageId":"5DF49984-B22E-4BC2-A4B6-8DC9EECEC8B4@gmail.com","threadId":"38080","inReplyTo":"547BFD42.3040104@web.de","subject":"Re: OpenSSL deprecation warnings under Xcode","fromName":"Kyle J. McKay","fromEmail":"mackyle@gmail.com","sentAt":"2014-12-01T17:51:00Z","receivedAt":"2014-12-01T17:51:00Z","isPatch":false,"sender":{"key":"mackyle@gmail.com","avatar":"https://avatars.githubusercontent.com/u/813346?v=4"},"body":"On Nov 30, 2014, at 21:31, Torsten Bögershausen wrote:\n\n> On 12/01/2014 04:02 AM, Michael Blume wrote:\n>> I have no idea whether this should concern anyone, but my mac build  \n>> of git shows\n>>\n>>     CC imap-send.o\n>> imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\n>> deprecated in OS X 10.7 [-Wdeprecated-declarations]\n>>         fprintf(stderr, \"%s: %s\\n\", func,\n>> ERR_error_string(ERR_get_error(), NULL));\n>>                                           ^\n> []\n> Isn't the warning a warning ;-)\n> I don't see this warnings because my openssl comes from /opt/local/ \n> include (Mac ports)\n> Does anybody know which new functions exist in Mac OS X versions >=  \n> 10.7  ?\n\n From [1]:\n\n> In addition to these APIs, a number of open source tools use OpenSSL  \n> for secure networking. If you use OpenSSL in your publicly shipping  \n> apps, you must provide your own copy of the OpenSSL libraries,  \n> preferably as part of your app bundle; the OpenSSL libraries that OS  \n> X provides are deprecated.\n\nSo using the version from Mac Ports is the right idea to avoid the  \nproblem.  You can always define NO_OPENSSL.  imap-send.c has a --curl  \noption now. (Which presumably automatically becomes the default if you  \ndefine NO_OPENSSL and not NO_CURL?)\n\n--Kyle\n\n[1] <https://developer.apple.com/library/mac/documentation/security/Conceptual/cryptoservices/SecureNetworkCommunicationAPIs/SecureNetworkCommunicationAPIs.html \n >"},{"id":"252798","messageId":"xmqqoarnp7p2.fsf@gitster.dls.corp.google.com","threadId":"38080","inReplyTo":"547BFD42.3040104@web.de","subject":"Re: Deprecation warnings under XCode","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-12-01T18:04:57Z","receivedAt":"2014-12-01T18:04:57Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Torsten Bögershausen <tboegi@web.de> writes:\n\n> On 12/01/2014 04:02 AM, Michael Blume wrote:\n>> I have no idea whether this should concern anyone, but my mac build of git shows\n>>\n>>      CC imap-send.o\n>> imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\n>> deprecated in OS X 10.7 [-Wdeprecated-declarations]\n>>          fprintf(stderr, \"%s: %s\\n\", func,\n>> ERR_error_string(ERR_get_error(), NULL));\n>>                                            ^\n> []\n> Isn't the warning a warning ;-)\n> I don't see this warnings because my openssl comes from\n> /opt/local/include (Mac ports)\n> Does anybody know which new functions exist in Mac OS X versions >= 10.7  ?\n\nI am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\nadded in 4dcd7732 (Makefile: add support for Apple CommonCrypto\nfacility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\ndeprecation warnings on Mac OS X, 2013-05-19)?  Specifically, the\nlog message for 4dcd7732 begins like so:\n\n    Makefile: add support for Apple CommonCrypto facility\n    \n    As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to\n    OpenSSL ABI instability, thus leading to build warnings.  As a\n    replacement, Apple encourages developers to migrate to its own (stable)\n    CommonCrypto facility.\n\nIn the Makefile we seem to have this:\n\n    # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n    # and do not want to use Apple's CommonCrypto library.  This allows you\n    # to provide your own OpenSSL library, for example from MacPorts.\n\nwhich makes it sound like using APPLE_COMMON_CRYPTO is the default\nfor Mac.  Perhaps those who do want to use CommonCrypto to avoid\nwarnings should not define that macro?\n"},{"id":"252904","messageId":"CAPig+cRvGaFJQZZ8CDeMMB6u1NKtqUrfe1aWC0OUG3xF9Nu34g@mail.gmail.com","threadId":"38080","inReplyTo":"xmqqoarnp7p2.fsf@gitster.dls.corp.google.com","subject":"Re: Deprecation warnings under XCode","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2014-12-03T00:37:41Z","receivedAt":"2014-12-03T00:37:41Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> Torsten Bögershausen <tboegi@web.de> writes:\n>\n>> On 12/01/2014 04:02 AM, Michael Blume wrote:\n>>> I have no idea whether this should concern anyone, but my mac build of git shows\n>>>\n>>>      CC imap-send.o\n>>> imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\n>>> deprecated in OS X 10.7 [-Wdeprecated-declarations]\n>>>          fprintf(stderr, \"%s: %s\\n\", func,\n>>> ERR_error_string(ERR_get_error(), NULL));\n>>>                                            ^\n>> Isn't the warning a warning ;-)\n>> I don't see this warnings because my openssl comes from\n>> /opt/local/include (Mac ports)\n>> Does anybody know which new functions exist in Mac OS X versions >= 10.7  ?\n\nI have not been able to find suitable Mac OS X replacements (nor could\nI when resubmitting David's series [1] to use CommonCrypto).\n\n> I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n> added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n> facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n> deprecation warnings on Mac OS X, 2013-05-19)?  Specifically, the\n> log message for 4dcd7732 begins like so:\n>\n>     Makefile: add support for Apple CommonCrypto facility\n>\n>     As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to\n>     OpenSSL ABI instability, thus leading to build warnings.  As a\n>     replacement, Apple encourages developers to migrate to its own (stable)\n>     CommonCrypto facility.\n>\n> In the Makefile we seem to have this:\n>\n>     # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n>     # and do not want to use Apple's CommonCrypto library.  This allows you\n>     # to provide your own OpenSSL library, for example from MacPorts.\n>\n> which makes it sound like using APPLE_COMMON_CRYPTO is the default\n> for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n> warnings should not define that macro?\n\nIt's been a long time [1] since I looked at it, but I believe that\nDavid's CommonCrypto patch series only replaced OpenSSL calls for\nwhich Apple had provided CommonCrypto replacements. If my memory is\ncorrect, there were still plenty of OpenSSL deprecations warnings\nremaining after his patches (the warnings which started this thread)\neven without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\nreduced the number of warnings but did not fully eliminate them.\n\nChecking again, it still seems to be the case that Apple neglects to\nprovide CommonCrypto replacements for these OpenSSL functions which\nApple itself deprecated.\n\n[1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n"},{"id":"252906","messageId":"CAO2U3QiwJ=EZBModED6jR2YuF5NMVvrUkzj1iOGMLAqwKNbw3A@mail.gmail.com","threadId":"38080","inReplyTo":"CAPig+cRvGaFJQZZ8CDeMMB6u1NKtqUrfe1aWC0OUG3xF9Nu34g@mail.gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"Michael Blume","fromEmail":"blume.mike@gmail.com","sentAt":"2014-12-03T01:12:48Z","receivedAt":"2014-12-03T01:12:48Z","isPatch":false,"sender":{"key":"blume.mike@gmail.com","avatar":"https://gravatar.com/avatar/1a7b440e1d942425ff4098ac7fc15b86b30cecaa56e1692a7ef8b5939ba25ea7?d=mp&s=160"},"body":"On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n> On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>> Torsten Bögershausen <tboegi@web.de> writes:\n>>\n>>> On 12/01/2014 04:02 AM, Michael Blume wrote:\n>>>> I have no idea whether this should concern anyone, but my mac build of git shows\n>>>>\n>>>>      CC imap-send.o\n>>>> imap-send.c:183:36: warning: 'ERR_error_string' is deprecated: first\n>>>> deprecated in OS X 10.7 [-Wdeprecated-declarations]\n>>>>          fprintf(stderr, \"%s: %s\\n\", func,\n>>>> ERR_error_string(ERR_get_error(), NULL));\n>>>>                                            ^\n>>> Isn't the warning a warning ;-)\n>>> I don't see this warnings because my openssl comes from\n>>> /opt/local/include (Mac ports)\n>>> Does anybody know which new functions exist in Mac OS X versions >= 10.7  ?\n>\n> I have not been able to find suitable Mac OS X replacements (nor could\n> I when resubmitting David's series [1] to use CommonCrypto).\n>\n>> I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n>> added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n>> facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n>> deprecation warnings on Mac OS X, 2013-05-19)?  Specifically, the\n>> log message for 4dcd7732 begins like so:\n>>\n>>     Makefile: add support for Apple CommonCrypto facility\n>>\n>>     As of Mac OS X 10.7, Apple deprecated all OpenSSL functions due to\n>>     OpenSSL ABI instability, thus leading to build warnings.  As a\n>>     replacement, Apple encourages developers to migrate to its own (stable)\n>>     CommonCrypto facility.\n>>\n>> In the Makefile we seem to have this:\n>>\n>>     # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n>>     # and do not want to use Apple's CommonCrypto library.  This allows you\n>>     # to provide your own OpenSSL library, for example from MacPorts.\n>>\n>> which makes it sound like using APPLE_COMMON_CRYPTO is the default\n>> for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n>> warnings should not define that macro?\n>\n> It's been a long time [1] since I looked at it, but I believe that\n> David's CommonCrypto patch series only replaced OpenSSL calls for\n> which Apple had provided CommonCrypto replacements. If my memory is\n> correct, there were still plenty of OpenSSL deprecations warnings\n> remaining after his patches (the warnings which started this thread)\n> even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\n> reduced the number of warnings but did not fully eliminate them.\n>\n> Checking again, it still seems to be the case that Apple neglects to\n> provide CommonCrypto replacements for these OpenSSL functions which\n> Apple itself deprecated.\n>\n> [1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n\nApologies, accidentally sent this from inbox the first time.\n\nIf there's actually no way to address this, is there a simple way to\nsilence deprecation warnings only in this file? I only ask because\noverall the git build seems to be extremely quiet, and it seems\nvaluable to preserve that, so that warnings we want to act on stick\nout.\n"},{"id":"252914","messageId":"CAPig+cRj5bLrkperGiDHG78KghiGgkMAT=Qihia2FR8psEQxvQ@mail.gmail.com","threadId":"38080","inReplyTo":"CAO2U3QiwJ=EZBModED6jR2YuF5NMVvrUkzj1iOGMLAqwKNbw3A@mail.gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2014-12-03T03:09:35Z","receivedAt":"2014-12-03T03:09:35Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Tue, Dec 2, 2014 at 8:12 PM, Michael Blume <blume.mike@gmail.com> wrote:\n> On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n>> On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>> I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n>>> added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n>>> facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n>>> deprecation warnings on Mac OS X, 2013-05-19)? [...]\n>>> In the Makefile we seem to have this:\n>>>\n>>>     # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n>>>     # and do not want to use Apple's CommonCrypto library.  This allows you\n>>>     # to provide your own OpenSSL library, for example from MacPorts.\n>>>\n>>> which makes it sound like using APPLE_COMMON_CRYPTO is the default\n>>> for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n>>> warnings should not define that macro?\n>>\n>> It's been a long time [1] since I looked at it, but I believe that\n>> David's CommonCrypto patch series only replaced OpenSSL calls for\n>> which Apple had provided CommonCrypto replacements. If my memory is\n>> correct, there were still plenty of OpenSSL deprecations warnings\n>> remaining after his patches (the warnings which started this thread)\n>> even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\n>> reduced the number of warnings but did not fully eliminate them.\n>>\n>> Checking again, it still seems to be the case that Apple neglects to\n>> provide CommonCrypto replacements for these OpenSSL functions which\n>> Apple itself deprecated.\n>>\n>> [1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n>\n> If there's actually no way to address this, is there a simple way to\n> silence deprecation warnings only in this file? I only ask because\n> overall the git build seems to be extremely quiet, and it seems\n> valuable to preserve that, so that warnings we want to act on stick\n> out.\n\nAn individual developer can add '-Wno-deprecated-declarations' to\nCFLAGS to suppress these warnings, however, that's pretty much a\nsledge hammer which would impact deprecations from all included\nheaders, not just Apple's. For this reason, we probably wouldn't want\nto make this the default.\n\nThe potentially lesser evil would be this small patch (minus Gmail\nwhitespace damage) which disables the deprecation warnings only for\nApple's headers:\n\n----- >8 -----\ndiff --git a/git-compat-util.h b/git-compat-util.h\nindex 400e921..709e84f 100644\n--- a/git-compat-util.h\n+++ b/git-compat-util.h\n@@ -211,6 +211,8 @@ extern char *gitbasename(char *);\n #endif\n\n #ifndef NO_OPENSSL\n+#define __AVAILABILITY_MACROS_USES_AVAILABILITY 0\n+#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6\n #include <openssl/ssl.h>\n #include <openssl/err.h>\n #endif\n----- >8 -----\n\nIt's still mildly heavy-handed, in that it could silence legitimate\nApple deprecations, but it does give us a clean build with little\nfuss. An alternative would be to relegate these #defines to the Darwin\nsection of the Makefile if placing them in git-compat-util.h seems too\ninvasive.\n\nConsidering that Mac OS X is now at 10.10 and these deprecations\ncommenced with Mac OS X 10.7 in July 2011 (3.5 years ago), and Apple\nstill has not provided drop-in CommonCrypto equivalents, it seems\nunlikely that they will do so any time soon. Consequently, suppressing\nthese otherwise unavoidable warnings may be the best we can do.\n\nI'm willing to formalize and submit this as a proper patch if it's not\nconsidered too disgusting by the powers-that-be.\n"},{"id":"252937","messageId":"20141203100415.GA4893@gmail.com","threadId":"38080","inReplyTo":"CAPig+cRj5bLrkperGiDHG78KghiGgkMAT=Qihia2FR8psEQxvQ@mail.gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2014-12-03T10:04:17Z","receivedAt":"2014-12-03T10:04:17Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Tue, Dec 02, 2014 at 10:09:35PM -0500, Eric Sunshine wrote:\n> On Tue, Dec 2, 2014 at 8:12 PM, Michael Blume <blume.mike@gmail.com> wrote:\n> > On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n> >> On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> >>> I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n> >>> added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n> >>> facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n> >>> deprecation warnings on Mac OS X, 2013-05-19)? [...]\n> >>> In the Makefile we seem to have this:\n> >>>\n> >>>     # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n> >>>     # and do not want to use Apple's CommonCrypto library.  This allows you\n> >>>     # to provide your own OpenSSL library, for example from MacPorts.\n> >>>\n> >>> which makes it sound like using APPLE_COMMON_CRYPTO is the default\n> >>> for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n> >>> warnings should not define that macro?\n> >>\n> >> It's been a long time [1] since I looked at it, but I believe that\n> >> David's CommonCrypto patch series only replaced OpenSSL calls for\n> >> which Apple had provided CommonCrypto replacements. If my memory is\n> >> correct, there were still plenty of OpenSSL deprecations warnings\n> >> remaining after his patches (the warnings which started this thread)\n> >> even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\n> >> reduced the number of warnings but did not fully eliminate them.\n> >>\n> >> Checking again, it still seems to be the case that Apple neglects to\n> >> provide CommonCrypto replacements for these OpenSSL functions which\n> >> Apple itself deprecated.\n> >>\n> >> [1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n> >\n> > If there's actually no way to address this, is there a simple way to\n> > silence deprecation warnings only in this file? I only ask because\n> > overall the git build seems to be extremely quiet, and it seems\n> > valuable to preserve that, so that warnings we want to act on stick\n> > out.\n> \n> An individual developer can add '-Wno-deprecated-declarations' to\n> CFLAGS to suppress these warnings, however, that's pretty much a\n> sledge hammer which would impact deprecations from all included\n> headers, not just Apple's. For this reason, we probably wouldn't want\n> to make this the default.\n> \n> The potentially lesser evil would be this small patch (minus Gmail\n> whitespace damage) which disables the deprecation warnings only for\n> Apple's headers:\n> \n> ----- >8 -----\n> diff --git a/git-compat-util.h b/git-compat-util.h\n> index 400e921..709e84f 100644\n> --- a/git-compat-util.h\n> +++ b/git-compat-util.h\n> @@ -211,6 +211,8 @@ extern char *gitbasename(char *);\n>  #endif\n> \n>  #ifndef NO_OPENSSL\n> +#define __AVAILABILITY_MACROS_USES_AVAILABILITY 0\n> +#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6\n>  #include <openssl/ssl.h>\n>  #include <openssl/err.h>\n>  #endif\n> ----- >8 -----\n> \n> It's still mildly heavy-handed, in that it could silence legitimate\n> Apple deprecations, but it does give us a clean build with little\n> fuss. An alternative would be to relegate these #defines to the Darwin\n> section of the Makefile if placing them in git-compat-util.h seems too\n> invasive.\n> \n> Considering that Mac OS X is now at 10.10 and these deprecations\n> commenced with Mac OS X 10.7 in July 2011 (3.5 years ago), and Apple\n> still has not provided drop-in CommonCrypto equivalents, it seems\n> unlikely that they will do so any time soon. Consequently, suppressing\n> these otherwise unavoidable warnings may be the best we can do.\n> \n> I'm willing to formalize and submit this as a proper patch if it's not\n> considered too disgusting by the powers-that-be.\n\n\nTweaking those internal #defines can only come back to bite us\nin the future when the functions are finally ripped out.\n\nCommonCrypto seemed like a viable option at the time, but the\nremaining deprecated functions don't have any replacements and\nI wouldn't hold my breath waiting for CC to provide them.\n\nIt seems like a better approach might be something like [1].\nI'd even suggest ripping out all of the commoncrypto stuff if it\nmakes the final curl-ified code easier to read.\n\nlibcurl 7.30.0 ships with OS X 10.9 (maybe even father back?)\nso making imap-send default to using openssl for <= 10.8 and\ncurl for newer OS X seems like a good long-term solution.\n\n[1] http://thread.gmane.org/gmane.comp.version-control.git/255171\n-- \nDavid\n"},{"id":"252943","messageId":"547F081B.6030400@web.de","threadId":"38080","inReplyTo":"20141203100415.GA4893@gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2014-12-03T12:54:51Z","receivedAt":"2014-12-03T12:54:51Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"On 12/03/2014 11:04 AM, David Aguilar wrote:\n> On Tue, Dec 02, 2014 at 10:09:35PM -0500, Eric Sunshine wrote:\n>> On Tue, Dec 2, 2014 at 8:12 PM, Michael Blume <blume.mike@gmail.com> wrote:\n>>> On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n>>>> On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n>>>>> I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n>>>>> added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n>>>>> facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n>>>>> deprecation warnings on Mac OS X, 2013-05-19)? [...]\n>>>>> In the Makefile we seem to have this:\n>>>>>\n>>>>>      # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n>>>>>      # and do not want to use Apple's CommonCrypto library.  This allows you\n>>>>>      # to provide your own OpenSSL library, for example from MacPorts.\n>>>>>\n>>>>> which makes it sound like using APPLE_COMMON_CRYPTO is the default\n>>>>> for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n>>>>> warnings should not define that macro?\n>>>> It's been a long time [1] since I looked at it, but I believe that\n>>>> David's CommonCrypto patch series only replaced OpenSSL calls for\n>>>> which Apple had provided CommonCrypto replacements. If my memory is\n>>>> correct, there were still plenty of OpenSSL deprecations warnings\n>>>> remaining after his patches (the warnings which started this thread)\n>>>> even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\n>>>> reduced the number of warnings but did not fully eliminate them.\n>>>>\n>>>> Checking again, it still seems to be the case that Apple neglects to\n>>>> provide CommonCrypto replacements for these OpenSSL functions which\n>>>> Apple itself deprecated.\n>>>>\n>>>> [1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n>>> If there's actually no way to address this, is there a simple way to\n>>> silence deprecation warnings only in this file? I only ask because\n>>> overall the git build seems to be extremely quiet, and it seems\n>>> valuable to preserve that, so that warnings we want to act on stick\n>>> out.\n>> An individual developer can add '-Wno-deprecated-declarations' to\n>> CFLAGS to suppress these warnings, however, that's pretty much a\n>> sledge hammer which would impact deprecations from all included\n>> headers, not just Apple's. For this reason, we probably wouldn't want\n>> to make this the default.\n>>\n>> The potentially lesser evil would be this small patch (minus Gmail\n>> whitespace damage) which disables the deprecation warnings only for\n>> Apple's headers:\n>>\n>> ----- >8 -----\n>> diff --git a/git-compat-util.h b/git-compat-util.h\n>> index 400e921..709e84f 100644\n>> --- a/git-compat-util.h\n>> +++ b/git-compat-util.h\n>> @@ -211,6 +211,8 @@ extern char *gitbasename(char *);\n>>   #endif\n>>\n>>   #ifndef NO_OPENSSL\n>> +#define __AVAILABILITY_MACROS_USES_AVAILABILITY 0\n>> +#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6\n>>   #include <openssl/ssl.h>\n>>   #include <openssl/err.h>\n>>   #endif\n>> ----- >8 -----\n>>\n>> It's still mildly heavy-handed, in that it could silence legitimate\n>> Apple deprecations, but it does give us a clean build with little\n>> fuss. An alternative would be to relegate these #defines to the Darwin\n>> section of the Makefile if placing them in git-compat-util.h seems too\n>> invasive.\n>>\n>> Considering that Mac OS X is now at 10.10 and these deprecations\n>> commenced with Mac OS X 10.7 in July 2011 (3.5 years ago), and Apple\n>> still has not provided drop-in CommonCrypto equivalents, it seems\n>> unlikely that they will do so any time soon. Consequently, suppressing\n>> these otherwise unavoidable warnings may be the best we can do.\n>>\n>> I'm willing to formalize and submit this as a proper patch if it's not\n>> considered too disgusting by the powers-that-be.\n>\n> Tweaking those internal #defines can only come back to bite us\n> in the future when the functions are finally ripped out.\n>\n> CommonCrypto seemed like a viable option at the time, but the\n> remaining deprecated functions don't have any replacements and\n> I wouldn't hold my breath waiting for CC to provide them.\n>\n> It seems like a better approach might be something like [1].\n> I'd even suggest ripping out all of the commoncrypto stuff if it\n> makes the final curl-ified code easier to read.\n>\n> libcurl 7.30.0 ships with OS X 10.9 (maybe even father back?)\n> so making imap-send default to using openssl for <= 10.8 and\n> curl for newer OS X seems like a good long-term solution.\n>\n> [1] http://thread.gmane.org/gmane.comp.version-control.git/255171\nYes, but this patch needs 7.34 :-(\n7.30 (as shipped with Mac OS X 10.9) is missing the CURLOPT_LOGIN_OPTIONS\n\nTry\nrm imap-send.o\nNO_GETTEXT=yes NO_DARWIN_PORTS=Yes USE_CURL_FOR_IMAP_SEND=yes make \nimap-send.o\n"},{"id":"252970","messageId":"CAPig+cQHjAtBBGMJGFj6YH1dmW+akY0eg_i+jbOz-khirwa2bA@mail.gmail.com","threadId":"38080","inReplyTo":"20141203100415.GA4893@gmail.com","subject":"Re: Deprecation warnings under XCode","fromName":"Eric Sunshine","fromEmail":"sunshine@sunshineco.com","sentAt":"2014-12-03T18:16:21Z","receivedAt":"2014-12-03T18:16:21Z","isPatch":false,"sender":{"key":"sunshine@sunshineco.com","avatar":"https://avatars.githubusercontent.com/u/163641?v=4"},"body":"On Wed, Dec 3, 2014 at 5:04 AM, David Aguilar <davvid@gmail.com> wrote:\n> On Tue, Dec 02, 2014 at 10:09:35PM -0500, Eric Sunshine wrote:\n>> The potentially lesser evil would be this small patch (minus Gmail\n>> whitespace damage) which disables the deprecation warnings only for\n>> Apple's headers:\n>>\n>> ----- >8 -----\n>> diff --git a/git-compat-util.h b/git-compat-util.h\n>> index 400e921..709e84f 100644\n>> --- a/git-compat-util.h\n>> +++ b/git-compat-util.h\n>> @@ -211,6 +211,8 @@ extern char *gitbasename(char *);\n>>  #endif\n>>\n>>  #ifndef NO_OPENSSL\n>> +#define __AVAILABILITY_MACROS_USES_AVAILABILITY 0\n>> +#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6\n>>  #include <openssl/ssl.h>\n>>  #include <openssl/err.h>\n>>  #endif\n>> ----- >8 -----\n>>\n>> Considering that Mac OS X is now at 10.10 and these deprecations\n>> commenced with Mac OS X 10.7 in July 2011 (3.5 years ago), and Apple\n>> still has not provided drop-in CommonCrypto equivalents, it seems\n>> unlikely that they will do so any time soon. Consequently, suppressing\n>> these otherwise unavoidable warnings may be the best we can do.\n>>\n>> I'm willing to formalize and submit this as a proper patch if it's not\n>> considered too disgusting by the powers-that-be.\n>\n> Tweaking those internal #defines can only come back to bite us\n> in the future when the functions are finally ripped out.\n\nIf Apple ever does remove those deprecated functions, the build will\nbreak badly regardless of whether or not the Apple-specific\ndeprecation warnings are suppressed. This patch does not make the\nsituation any worse, so I don't understand the argument.\n\nIf a full set of drop-in equivalents was available, on the other hand,\nthen your argument would make perfect sense, but it does not seem\napply to the current situation since there is no evidence that Apple\nwill be providing those replacements any time soon (or ever).\n"},{"id":"253019","messageId":"20141204034406.GA5600@gmail.com","threadId":"38080","inReplyTo":"547F081B.6030400@web.de","subject":"Re: Deprecation warnings under XCode","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2014-12-04T03:44:08Z","receivedAt":"2014-12-04T03:44:08Z","isPatch":false,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Wed, Dec 03, 2014 at 01:54:51PM +0100, Torsten Bögershausen wrote:\n> On 12/03/2014 11:04 AM, David Aguilar wrote:\n> >On Tue, Dec 02, 2014 at 10:09:35PM -0500, Eric Sunshine wrote:\n> >>On Tue, Dec 2, 2014 at 8:12 PM, Michael Blume <blume.mike@gmail.com> wrote:\n> >>>On Tue, Dec 2, 2014 at 4:37 PM, Eric Sunshine <sunshine@sunshineco.com> wrote:\n> >>>>On Mon, Dec 1, 2014 at 1:04 PM, Junio C Hamano <gitster@pobox.com> wrote:\n> >>>>>I am not a Mac person, but is this about APPLE_COMMON_CRYPTO support\n> >>>>>added in 4dcd7732 (Makefile: add support for Apple CommonCrypto\n> >>>>>facility, 2013-05-19) and be4c828b (imap-send: eliminate HMAC\n> >>>>>deprecation warnings on Mac OS X, 2013-05-19)? [...]\n> >>>>>In the Makefile we seem to have this:\n> >>>>>\n> >>>>>     # Define NO_APPLE_COMMON_CRYPTO if you are building on Darwin/Mac OS X\n> >>>>>     # and do not want to use Apple's CommonCrypto library.  This allows you\n> >>>>>     # to provide your own OpenSSL library, for example from MacPorts.\n> >>>>>\n> >>>>>which makes it sound like using APPLE_COMMON_CRYPTO is the default\n> >>>>>for Mac.  Perhaps those who do want to use CommonCrypto to avoid\n> >>>>>warnings should not define that macro?\n> >>>>It's been a long time [1] since I looked at it, but I believe that\n> >>>>David's CommonCrypto patch series only replaced OpenSSL calls for\n> >>>>which Apple had provided CommonCrypto replacements. If my memory is\n> >>>>correct, there were still plenty of OpenSSL deprecations warnings\n> >>>>remaining after his patches (the warnings which started this thread)\n> >>>>even without defining NO_APPLE_COMMON_CRYPTO. Thus, David's patches\n> >>>>reduced the number of warnings but did not fully eliminate them.\n> >>>>\n> >>>>Checking again, it still seems to be the case that Apple neglects to\n> >>>>provide CommonCrypto replacements for these OpenSSL functions which\n> >>>>Apple itself deprecated.\n> >>>>\n> >>>>[1]: http://thread.gmane.org/gmane.comp.version-control.git/224833\n> >>>If there's actually no way to address this, is there a simple way to\n> >>>silence deprecation warnings only in this file? I only ask because\n> >>>overall the git build seems to be extremely quiet, and it seems\n> >>>valuable to preserve that, so that warnings we want to act on stick\n> >>>out.\n> >>An individual developer can add '-Wno-deprecated-declarations' to\n> >>CFLAGS to suppress these warnings, however, that's pretty much a\n> >>sledge hammer which would impact deprecations from all included\n> >>headers, not just Apple's. For this reason, we probably wouldn't want\n> >>to make this the default.\n> >>\n> >>The potentially lesser evil would be this small patch (minus Gmail\n> >>whitespace damage) which disables the deprecation warnings only for\n> >>Apple's headers:\n> >>\n> >>----- >8 -----\n> >>diff --git a/git-compat-util.h b/git-compat-util.h\n> >>index 400e921..709e84f 100644\n> >>--- a/git-compat-util.h\n> >>+++ b/git-compat-util.h\n> >>@@ -211,6 +211,8 @@ extern char *gitbasename(char *);\n> >>  #endif\n> >>\n> >>  #ifndef NO_OPENSSL\n> >>+#define __AVAILABILITY_MACROS_USES_AVAILABILITY 0\n> >>+#define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_6\n> >>  #include <openssl/ssl.h>\n> >>  #include <openssl/err.h>\n> >>  #endif\n> >>----- >8 -----\n> >>\n> >>It's still mildly heavy-handed, in that it could silence legitimate\n> >>Apple deprecations, but it does give us a clean build with little\n> >>fuss. An alternative would be to relegate these #defines to the Darwin\n> >>section of the Makefile if placing them in git-compat-util.h seems too\n> >>invasive.\n> >>\n> >>Considering that Mac OS X is now at 10.10 and these deprecations\n> >>commenced with Mac OS X 10.7 in July 2011 (3.5 years ago), and Apple\n> >>still has not provided drop-in CommonCrypto equivalents, it seems\n> >>unlikely that they will do so any time soon. Consequently, suppressing\n> >>these otherwise unavoidable warnings may be the best we can do.\n> >>\n> >>I'm willing to formalize and submit this as a proper patch if it's not\n> >>considered too disgusting by the powers-that-be.\n> >\n> >Tweaking those internal #defines can only come back to bite us\n> >in the future when the functions are finally ripped out.\n> >\n> >[1] http://thread.gmane.org/gmane.comp.version-control.git/255171\n> Yes, but this patch needs 7.34 :-(\n> 7.30 (as shipped with Mac OS X 10.9) is missing the CURLOPT_LOGIN_OPTIONS\n> \n> Try\n> rm imap-send.o\n> NO_GETTEXT=yes NO_DARWIN_PORTS=Yes USE_CURL_FOR_IMAP_SEND=yes make\n> imap-send.o\n\n\nIt looks like 10.10 Yosemite has curl 7.37.1 [1], so maybe it's\nbetter there (I can't verify myself).\n\nSilencing the warnings is a sensible thing to do for older\nversions since it looks like there's a smooth upgrade path\nvia the curl patches.\n\nMy original caution was that not having the warnings would make\nus forget that the issue existed, but (warning) silence is golden.\n\n[1] http://curl.haxx.se/mail/archive-2014-10/0053.html\n-- \nDavid\n"}]}