Joe Orton wrote:
Download: http://www.webdav.org/neon/neon-0.26.1.tar.gz
Signature: http://www.webdav.org/neon/neon-0.26.1.tar.gz.asc
MD5: 3bb7a82bddfc1c56d2f9dba849aecd1f neon-0.26.1.tar.gz
Changes in release 0.26.1:
* Build fixes for Win32 (D.J. Heap) and OS X.
* Add Simplified Chinese translation (Dongsheng Song).
One minor problem in ne_sspi_clear_context() (ne_sspi.c) which does not
return properly.
Another strange problem (also in ne_sspi.c) is that the mssdk comes with
vc6 does not define FreeCredentialsHandle but define
FreeCredentialHandle instead. (note that changed from singular to plural)
BTW, attached is a patch to make neon cleanly (no warning) compile with
vc6, vs2003 and vs2005.
Need to roll back the change to neon.mak if still using vc6 though.
Regards,
Kiyo
diff -C3 -r neon-0.26.1/config.hw neon-0.26.1-p1/config.hw
*** neon-0.26.1/config.hw Wed May 24 06:45:49 2006
--- neon-0.26.1-p1/config.hw Fri Aug 4 10:26:26 2006
***************
*** 50,57 ****
--- 50,62 ----
/* Win32 uses a underscore, so we use a macro to eliminate that. */
#define snprintf _snprintf
#define vsnprintf _vsnprintf
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define strcasecmp _strcmpi
+ #define strncasecmp _strnicmp
+ #else
#define strcasecmp strcmpi
#define strncasecmp strnicmp
+ #endif
#define ssize_t int
#define inline __inline
#define off_t _off_t
diff -C3 -r neon-0.26.1/config.hw.in neon-0.26.1-p1/config.hw.in
*** neon-0.26.1/config.hw.in Thu Mar 2 04:28:58 2006
--- neon-0.26.1-p1/config.hw.in Fri Aug 4 10:26:04 2006
***************
*** 50,57 ****
--- 50,62 ----
/* Win32 uses a underscore, so we use a macro to eliminate that. */
#define snprintf _snprintf
#define vsnprintf _vsnprintf
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define strcasecmp _strcmpi
+ #define strncasecmp _strnicmp
+ #else
#define strcasecmp strcmpi
#define strncasecmp strnicmp
+ #endif
#define ssize_t int
#define inline __inline
#define off_t _off_t
diff -C3 -r neon-0.26.1/neon.mak neon-0.26.1-p1/neon.mak
*** neon-0.26.1/neon.mak Fri Jan 28 07:05:25 2005
--- neon-0.26.1-p1/neon.mak Fri Aug 4 10:19:34 2006
***************
*** 12,22 ****
# Debug vs. Release build
!IF "$(DEBUG_BUILD)" == ""
INTDIR = Release
! CFLAGS = /MD /W3 /GX /O2 /D "NDEBUG"
TARGET = .\libneon.lib
!ELSE
INTDIR = Debug
! CFLAGS = /MDd /W3 /Gm /GX /Zi /Od /D "_DEBUG"
TARGET = .\libneonD.lib
!ENDIF
--- 12,22 ----
# Debug vs. Release build
!IF "$(DEBUG_BUILD)" == ""
INTDIR = Release
! CFLAGS = /MD /W3 /EHsc /O2 /D "NDEBUG" /D_CRT_SECURE_NO_DEPRECATE
TARGET = .\libneon.lib
!ELSE
INTDIR = Debug
! CFLAGS = /MDd /W3 /Gm /EHsc /Zi /Od /D "_DEBUG" /D_CRT_SECURE_NO_DEPRECATE
TARGET = .\libneonD.lib
!ENDIF
diff -C3 -r neon-0.26.1/src/ne_request.c neon-0.26.1-p1/src/ne_request.c
*** neon-0.26.1/src/ne_request.c Wed Mar 8 08:38:21 2006
--- neon-0.26.1-p1/src/ne_request.c Fri Aug 4 10:22:20 2006
***************
*** 91,97 ****
--- 91,101 ----
#else /* !NE_LFS */
typedef off_t ne_off_t;
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define ne_lseek _lseek
+ #else
#define ne_lseek lseek
+ #endif
#define FMT_NE_OFF_T NE_FMT_OFF_T
#if defined(SIZEOF_LONG_LONG) && defined(LONG_LONG_MAX) \
***************
*** 109,114 ****
--- 113,122 ----
#define ne_strtoff strtol
#endif
#endif /* NE_LFS */
+
+ #if defined(_MSC_VER) && _MSC_VER >= 1400
+ #define write _write
+ #endif
struct field {
char *name, *value;
diff -C3 -r neon-0.26.1/src/ne_socket.c neon-0.26.1-p1/src/ne_socket.c
*** neon-0.26.1/src/ne_socket.c Sat Feb 18 04:07:03 2006
--- neon-0.26.1-p1/src/ne_socket.c Fri Aug 4 21:51:01 2006
***************
*** 449,455 ****
/* Init the fd set */
FD_ZERO(&rdfds);
do {
! FD_SET(fdno, &rdfds);
if (tvp) {
tvp->tv_sec = secs;
tvp->tv_usec = 0;
--- 449,455 ----
/* Init the fd set */
FD_ZERO(&rdfds);
do {
! FD_SET((SOCKET)fdno, &rdfds);
if (tvp) {
tvp->tv_sec = secs;
tvp->tv_usec = 0;
***************
*** 1012,1022 ****
{ /* Disable the Nagle algorithm; better to add write buffering
* instead of doing this. */
int flag = 1;
! setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &flag, sizeof flag);
}
#endif
! if (raw_connect(fd, addr, htons(port))) {
set_strerror(sock, ne_errno);
ne_close(fd);
return -1;
--- 1012,1022 ----
{ /* Disable the Nagle algorithm; better to add write buffering
* instead of doing this. */
int flag = 1;
! setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (const char*)&flag, sizeof flag);
}
#endif
! if (raw_connect(fd, addr, htons((u_short)port))) {
set_strerror(sock, ne_errno);
ne_close(fd);
return -1;
diff -C3 -r neon-0.26.1/src/ne_sspi.c neon-0.26.1-p1/src/ne_sspi.c
*** neon-0.26.1/src/ne_sspi.c Sun Feb 12 23:05:14 2006
--- neon-0.26.1-p1/src/ne_sspi.c Fri Aug 4 21:49:02 2006
***************
*** 362,368 ****
--- 362,372 ----
static void resetContext(SSPIContext * sspiContext)
{
pSFT->DeleteSecurityContext(&(sspiContext->context));
+ #if defined(_MSC_VER) && _MSC_VER <= 1200
+ pSFT->FreeCredentialHandle(&(sspiContext->credentials));
+ #else
pSFT->FreeCredentialsHandle(&(sspiContext->credentials));
+ #endif
sspiContext->continueNeeded = 0;
}
***************
*** 424,429 ****
--- 428,434 ----
return status;
}
sspiContext->authfinished = 0;
+ return 0;
}
/*
* Processes received authentication tokens as well as supplies the
_______________________________________________
neon mailing list
[email protected]
http://mailman.webdav.org/mailman/listinfo/neon