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

Reply via email to