aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormharo <mharo@FreeBSD.org>2000-04-01 16:27:45 +0800
committermharo <mharo@FreeBSD.org>2000-04-01 16:27:45 +0800
commit0f2e2ed133ffbe3f94aa5927fdbb22f73256574b (patch)
tree12aedb10bde2532b1ea270d54c921db851ffb646
parent44ad086a29177100dc84c6dcebe2d683503980d9 (diff)
downloadfreebsd-ports-gnome-0f2e2ed133ffbe3f94aa5927fdbb22f73256574b.tar.gz
freebsd-ports-gnome-0f2e2ed133ffbe3f94aa5927fdbb22f73256574b.tar.zst
freebsd-ports-gnome-0f2e2ed133ffbe3f94aa5927fdbb22f73256574b.zip
fix: web500gw can't always parse dates (Y2K)
PR: 16736 Submitted by: maintainer
-rw-r--r--www/web500gw/Makefile3
-rw-r--r--www/web500gw/distinfo1
-rw-r--r--www/web500gw/files/patch-ab11
-rw-r--r--www/web500gw/files/patch-ac154
4 files changed, 169 insertions, 0 deletions
diff --git a/www/web500gw/Makefile b/www/web500gw/Makefile
index e3312f7a07ad..357b74ddb6db 100644
--- a/www/web500gw/Makefile
+++ b/www/web500gw/Makefile
@@ -13,6 +13,9 @@ MASTER_SITES= ftp://ftp.tu-chemnitz.de/pub/Local/urz/web500gw/ \
ftp://ftp.ntua.gr/pub/net/ldap/web500gw/ \
ftp://ftp.imms.de/pub/unix/networking/ldap/
+PATCH_SITES= http://www.tu-chemnitz.de/~fri/web500gw/
+PATCHFILES= modtmpl.patch
+
MAINTAINER= Karl.Dietz@frankfurt.netsurf.de
BUILD_DEPENDS= ${LOCALBASE}/lib/libldap.a:${PORTSDIR}/net/openldap
diff --git a/www/web500gw/distinfo b/www/web500gw/distinfo
index 19faa27f1b91..c8b70fafede3 100644
--- a/www/web500gw/distinfo
+++ b/www/web500gw/distinfo
@@ -1 +1,2 @@
MD5 (web500gw-2.1b3.tar.gz) = 8e411a94f79bad75a3e8deeea3d05050
+MD5 (modtmpl.patch) = 08cd0570c25646085946bb246fb56525
diff --git a/www/web500gw/files/patch-ab b/www/web500gw/files/patch-ab
new file mode 100644
index 000000000000..50ca40c856e4
--- /dev/null
+++ b/www/web500gw/files/patch-ab
@@ -0,0 +1,11 @@
+--- etc/web500gw.messages.orig Wed Jan 19 23:42:06 2000
++++ etc/web500gw.messages Wed Jan 19 23:42:29 2000
+@@ -546,7 +546,7 @@
+ ## %1 = URL to read, %2 = URL to modify, %3 = bind-dn, %4 = passwd
+ # Add ok
+ # %1 = RDN, %2 = UFN, %3 = URL z. Lesen
+-:ADD_OK The entry <STRONG><A HREF=""%3">%2</A></STRONG><BR>
++:ADD_OK The entry <STRONG><A HREF="%3">%2</A></STRONG><BR>
+ was <STRONG>added</STRONG> successfully!
+
+ ##################### Delete entry
diff --git a/www/web500gw/files/patch-ac b/www/web500gw/files/patch-ac
new file mode 100644
index 000000000000..7f0f2b70cae0
--- /dev/null
+++ b/www/web500gw/files/patch-ac
@@ -0,0 +1,154 @@
+*** util.c.orig Thu Dec 2 18:07:10 1999
+--- util.c Mon Jan 17 23:23:51 2000
+***************
+*** 14,20 ****
+ * software without specific prior written permission. This software
+ * is provided ``as is'' without express or implied warranty.
+ */
+!
+ #include "web500gw.h"
+
+ /* msg_?printf: formats (and prints out) a string contained in message file */
+--- 14,21 ----
+ * software without specific prior written permission. This software
+ * is provided ``as is'' without express or implied warranty.
+ */
+! #include <unistd.h>
+! #include <gnuregex.h>
+ #include "web500gw.h"
+
+ /* msg_?printf: formats (and prints out) a string contained in message file */
+***************
+*** 437,443 ****
+ hour = 0;
+ mday++;
+ }
+! year = YEAR (tm -> tm_year);
+ result = 0L;
+ for (i = 1970; i < year; i++)
+ result += dysize (i);
+--- 438,444 ----
+ hour = 0;
+ mday++;
+ }
+! year = (tm -> tm_year);
+ result = 0L;
+ for (i = 1970; i < year; i++)
+ result += dysize (i);
+***************
+*** 454,460 ****
+
+
+ /* returns a printable date string from LDAP's date format:
+! * s should point to: YYMMDDHHmmSSZ
+ * format format string for strftime(3)
+ */
+ char *
+--- 455,461 ----
+
+
+ /* returns a printable date string from LDAP's date format:
+! * s should point to: YYYYMMDDHHmmSSZ
+ * format format string for strftime(3)
+ */
+ char *
+***************
+*** 473,487 ****
+ if (!s)
+ return(NULL);
+
+! /* s should point to: YYMMDDHHmmSSZ */
+! /* ... well 2 digits for year :-( */
+!
+! tm.tm_year = 10*(s[0] - '0') + (s[1] - '0');
+! tm.tm_mon = 10*(s[2] - '0') + (s[3] - '0') - 1;
+! tm.tm_mday = 10*(s[4] - '0') + (s[5] - '0');
+! tm.tm_hour = 10*(s[6] - '0') + (s[7] - '0');
+! tm.tm_min = 10*(s[8] - '0') + (s[9] - '0');
+! tm.tm_sec = 10*(s[10] - '0') + (s[11] - '0');
+ tm.tm_isdst = 0;
+
+ #if ! (defined(__hpux) || defined(_AIX) || defined(sunos5) || defined(linux) || defined(unixware7))
+--- 474,487 ----
+ if (!s)
+ return(NULL);
+
+! /* s should point to: YYYYMMDDHHmmSSZ for OpenLDAP */
+! /* this change will probably cause problems for UMich LDAP-3.3 use */
+! tm.tm_year = 1000*(s[0] - '0') + 100*(s[1] - '0') + 10*(s[2] - '0') + (s[3] - '0');
+! tm.tm_mon = 10*(s[4] - '0') + (s[5] - '0') - 1;
+! tm.tm_mday = 10*(s[6] - '0') + (s[7] - '0');
+! tm.tm_hour = 10*(s[8] - '0') + (s[9] - '0');
+! tm.tm_min = 10*(s[10] - '0') + (s[11] - '0');
+! tm.tm_sec = 10*(s[12] - '0') + (s[13] - '0');
+ tm.tm_isdst = 0;
+
+ #if ! (defined(__hpux) || defined(_AIX) || defined(sunos5) || defined(linux) || defined(unixware7))
+***************
+*** 512,518 ****
+ }
+
+ /* compares 2 dates:
+! * ldap_date should point to: YYMMDDHHmmSSZ
+ * http_date is a HTTP date (3 different formats ...)
+ * returns 1,0,-1 if first date is newer, equal, older to second
+ */
+--- 512,518 ----
+ }
+
+ /* compares 2 dates:
+! * ldap_date should point to: YYYYMMDDHHmmSSZ
+ * http_date is a HTTP date (3 different formats ...)
+ * returns 1,0,-1 if first date is newer, equal, older to second
+ */
+***************
+*** 552,560 ****
+--- 552,562 ----
+ /* RFC 850: dd-Mmm-yy hh:mm:ss */
+ sscanf(http_date, "%d-%3s-%d %d:%d:%d",
+ &day, month_name, &year, &hour, &min, &sec);
++ /* OpenLDAP uses and records 4 digit years - following code not needed
+ if (year < 70)
+ year += 100;
+ year += 1900;
++ */
+ } else { /* normal HTTP date (RFC 822/1123): dd Mmm yyyy hh:mm:ss */
+ sscanf(http_date, "%d %s %d %d:%d:%d",
+ &day, month_name, &year, &hour, &min, &sec);
+***************
+*** 568,584 ****
+ day, month, year, 0);
+ Web500gw_debug(WEB500GW_DEBUG_UTIL, "%d:%d:%d\n", hour, min, sec, 0);
+ #endif
+! if ((i = ((10*(ldap_date[0] - '0') + (ldap_date[1] - '0') + 1900) - year)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[2] - '0') + (ldap_date[3] - '0')) - month)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[4] - '0') + (ldap_date[5] - '0')) - day)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[6] - '0') + (ldap_date[7] - '0')) - hour)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[8] - '0') + (ldap_date[9] - '0')) - min)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[10] - '0') + (ldap_date[11] - '0')) - sec)))
+ return i > 0;
+
+ /* gone so far - dates are identical */
+--- 570,586 ----
+ day, month, year, 0);
+ Web500gw_debug(WEB500GW_DEBUG_UTIL, "%d:%d:%d\n", hour, min, sec, 0);
+ #endif
+! if ((i = (1000*(ldap_date[0] -'0') + 100*(ldap_date[1] - '0') + (10*(ldap_date[2] - '0') + (ldap_date[3] - '0')) - year)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[4] - '0') + (ldap_date[5] - '0')) - month)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[6] - '0') + (ldap_date[7] - '0')) - day)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[8] - '0') + (ldap_date[9] - '0')) - hour)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[10] - '0') + (ldap_date[11] - '0')) - min)))
+ return i > 0;
+! if ((i = ((10*(ldap_date[12] - '0') + (ldap_date[13] - '0')) - sec)))
+ return i > 0;
+
+ /* gone so far - dates are identical */