diff options
author | mharo <mharo@FreeBSD.org> | 2000-04-01 16:27:45 +0800 |
---|---|---|
committer | mharo <mharo@FreeBSD.org> | 2000-04-01 16:27:45 +0800 |
commit | 0f2e2ed133ffbe3f94aa5927fdbb22f73256574b (patch) | |
tree | 12aedb10bde2532b1ea270d54c921db851ffb646 | |
parent | 44ad086a29177100dc84c6dcebe2d683503980d9 (diff) | |
download | freebsd-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/Makefile | 3 | ||||
-rw-r--r-- | www/web500gw/distinfo | 1 | ||||
-rw-r--r-- | www/web500gw/files/patch-ab | 11 | ||||
-rw-r--r-- | www/web500gw/files/patch-ac | 154 |
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 */ |