mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-23 04:23:08 +00:00
fix: web500gw can't always parse dates (Y2K)
PR: 16736 Submitted by: maintainer
This commit is contained in:
parent
d5d2aae0c4
commit
d628ca375e
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=27233
@ -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
|
||||
|
@ -1 +1,2 @@
|
||||
MD5 (web500gw-2.1b3.tar.gz) = 8e411a94f79bad75a3e8deeea3d05050
|
||||
MD5 (modtmpl.patch) = 08cd0570c25646085946bb246fb56525
|
||||
|
11
www/web500gw/files/patch-ab
Normal file
11
www/web500gw/files/patch-ab
Normal file
@ -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
|
154
www/web500gw/files/patch-ac
Normal file
154
www/web500gw/files/patch-ac
Normal file
@ -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 */
|
Loading…
Reference in New Issue
Block a user