Re: [PATCH, resent] fix openssl headers conflicting with custom SHA1 implementations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jeff King <peff@xxxxxxxx> wrote:
> On Wed, Oct 01, 2008 at 08:54:58AM -0700, Shawn O. Pearce wrote:
> 
> > I think its easy enough to just rename our SHA_CTX and SHA_*
> > functions to something more git specific.  Since its mostly a global
> 
> I think that is the cleanest and simplest solution. As for merging pain,
> I think Junio would generally do a mechanical change like this as the
> first thing after a release. However, in this case, I think we might
> want it sooner if the conflict is causing breakage.

Oh, yea, that's probably true.  But with ARM broken according to
Nico I'd almost just want this fixed in the upcoming 1.6.1 release.
Its simple enough to do.  We can even do something like this during
the transition period until right before the 1.6.1 final:

diff --git a/cache.h b/cache.h
index 46f82bd..e77adf9 100644
--- a/cache.h
+++ b/cache.h
@@ -5,6 +5,10 @@
 #include "strbuf.h"
 #include "hash.h"
 
+#define SHA_CTX     not_the_SHA_CTX_you_are_looking_for
+#define SHA1_Init   not_the_SHA1_Init_you_are_looking_for
+#define SHA1_Update not_the_SHA1_Update_you_are_looking_for
+#define SHA1_Final  not_the_SHA1_Final_you_are_looking_for
 #include SHA1_HEADER
 #include <zlib.h>

and we'll catch anything using the old symbol name.  Only cache.h
includes the SHA1_HEADER so anyone using the (old) SHA_* functions
would hit these #defines and fall over the undefined symbol.

-- 
Shawn.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux