win_glue.c: Add a quick hack so we can time-bomb the libkrb5.dll and
authorTheodore Tso <tytso@mit.edu>
Wed, 10 Jul 1996 05:22:50 +0000 (05:22 +0000)
committerTheodore Tso <tytso@mit.edu>
Wed, 10 Jul 1996 05:22:50 +0000 (05:22 +0000)
sapkrb5.dll when we compile them at MIT.

Makefile.in (sap_glue.obj): Build the sapkrb5.dll with the timebomb
enabled (since we couldn't get the version server code working).

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@8651 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/ChangeLog
src/lib/Makefile.in
src/lib/win_glue.c

index f179eacde113c2787498b313fb7a20611ccc8813..25043838e8051ff606a9aa2c3fa8e13561198d33 100644 (file)
@@ -1,3 +1,12 @@
+Tue Jul  9 16:44:22 1996  Theodore Ts'o  <tytso@rsts-11.mit.edu>
+
+       * win_glue.c: Add a quick hack so we can time-bomb the libkrb5.dll
+               and sapkrb5.dll when we compile them at MIT.
+       
+       * Makefile.in (sap_glue.obj): Build the sapkrb5.dll with the
+               timebomb enabled (since we couldn't get the version server
+               code working).
+
 Wed Jun 12 12:52:30 1996  Ezra Peisach  <epeisach@kangaroo.mit.edu>
 
        * Makefile.in (lib-windows): Replace spaces with tab
index 2d38d18124a4e0d5e4037764d938cb34485ef127..f0eaef89fc4c26849929ebb6d2d748869c1331cb 100644 (file)
@@ -53,9 +53,12 @@ libkrb5.dll:: $(LIBS) libkrb5.def win_glue.obj
        rc /nologo /p /k libkrb5.dll
 
 sap_glue.obj: win_glue.c
-       $(CC) $(CFLAGS) -DSAP_VERSERV -I$(VERS_DIR) /c \
+       $(CC) $(CFLAGS) -DSAP_TIMEBOMB -I$(VERS_DIR) /c \
                /Fosap_glue.obj win_glue.c
 
+win_glue.obj: win_glue.c
+       $(CC) $(CFLAGS) /c win_glue.c
+
 sapkrb5.dll:: $(GLIB) $(LIBS) gssapi.def sap_glue.obj
        link /co /seg:400 /noe /nod /nol sap_glue, sapkrb5.dll, sapkrb5.map, \
           $(LIBS) $(VERS_DIR)\vswin.lib ldllcew libw oldnames, sapkrb5.def
index 2da79b40eb58ac633877d19e5af3e01298082138..d156961c9f31dd4ebd2119378443ea476d7b237f 100644 (file)
 #define NEED_SOCKETS
 #include "k5-int.h"
 
+/*
+ * #defines for MIT-specific time-based timebombs and/or version
+ * server for the Kerberos DLL.
+ */
+#ifdef SAP_TIMEBOMB
+#if 1
+#define TIMEBOMB 852094800     /* 1-Jan-97 */
+#else
+#define TIMEBOMB 820472400     /* 1-Jan-96 */
+#endif
+#define TIMEBOMB_PRODUCT "SAPGUI"
+#define TIMEBOMB_WARN  31
+#endif
+
+#ifdef KRB_TIMEBOMB
+#if 1
+#define TIMEBOMB 852094800     /* 1-Jan-97 */
+#else
+#define TIMEBOMB 820472400     /* 1-Jan-96 */
+#endif
+#define TIMEBOMB_PRODUCT "Kerberos V5"
+#define TIMEBOMB_WARN 31
+#endif
+
 #ifdef SAP_VERSERV
 #define VERSERV
 #define APP_TITLE "KRB5-SAP"
@@ -108,11 +132,29 @@ WORD wDataSeg;
 WORD cbHeap;
 LPSTR CmdLine;
 {
+#ifdef TIMEBOMB
+   char buf[256];
+   long timeleft;
+
+   timeleft = TIMEBOMB - time(0);
+   if (timeleft <= 0) {
+           sprintf(buf, "Your version of %s has expired.\n", TIMEBOMB_PRODUCT);
+           strcat(buf, "Please upgrade it.");
+           MessageBox(NULL, buf, "", MB_OK);
+          PostQuitMessage(0);
+   }
+   timeleft = timeleft / ((long) 60*60*24);
+   if (timeleft < TIMEBOMB_WARN) {
+        sprintf(buf, "Your version of %s will expire in %ld days.\n",
+                TIMEBOMB_PRODUCT, timeleft);
+        strcat(buf, "Please upgrade it soon.");
+        MessageBox(NULL, buf, "", MB_OK);
+   }
+#endif
 #ifdef SAP_VERSERV
    if (CallVersionServer(APP_TITLE, APP_VER, APP_INI, NULL))
           PostQuitMessage(0);
 #endif
-       
     win_socket_initialize ();
     return 1;
 }