Compare commits
2 Commits
release-1.
...
release-1.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
34b38a27d5 | ||
![]() |
84f3b920a5 |
38
ChangeLog
38
ChangeLog
@@ -1,41 +1,3 @@
|
||||
*******************************************************************************
|
||||
Version 1.6.4
|
||||
*******************************************************************************
|
||||
|
||||
2008-01-23 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Workaround for a problem with the new automake AM_CONDITIONAL macro
|
||||
from autotools-1.10. Thanks to Ingo Hofmann for helping with debugging
|
||||
this one.
|
||||
|
||||
2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Added quoting to macros AC_CONFIG_AUX_DIR, AC_CONFIG_MACRO_DIR and
|
||||
AC_CONFIG_SRCDIR in configure.ac. Also changed the name of the
|
||||
auxiliary directory in AC_CONFIG_AUX_DIR to build-aux.
|
||||
|
||||
2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Fix for setsockopt() in Threadpool.c to allow more than one process
|
||||
to join the multicast-group on OSX. Thanks to Ingo Hofmann.
|
||||
|
||||
2008-01-22 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Using defined(__OSX__) || defined(__APPLE__) instead of just
|
||||
defined(__OSX__) in the code. Thanks to Ingo Hofmann and Chris
|
||||
Pickel.
|
||||
|
||||
2008-01-21 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Fix for isFileInVirtualDir. Thanks to Peter Hartley for the patch.
|
||||
|
||||
2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* Putting back a "defined(__OSX__)" that has been removed in the
|
||||
previous *BSD patch. Thanks to Chris Pickel for pointing it out.
|
||||
|
||||
2008-01-07 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
|
||||
* SF Patches Tracker [ 1865812 ] typo in docs comment
|
||||
Submitted By: Hartmut Holzgraefe - hholzgra
|
||||
typo in docs comment ACCAPTED instead of ACCEPTED in
|
||||
@name UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]
|
||||
Also, the documentation file name was mispelled and was corrected in
|
||||
the Makefile.am.
|
||||
|
||||
*******************************************************************************
|
||||
Version 1.6.3
|
||||
*******************************************************************************
|
||||
|
4
THANKS
4
THANKS
@@ -10,7 +10,6 @@ exempt of errors.
|
||||
- Arno Willig
|
||||
- Bob Ciora
|
||||
- Chaos
|
||||
- Chris Pickel
|
||||
- Craig Nelson
|
||||
- David Maass
|
||||
- Emil Ljungdahl
|
||||
@@ -21,8 +20,6 @@ exempt of errors.
|
||||
- Fabrice Fontaine
|
||||
- Fredrik Svensson
|
||||
- Glen Masgai
|
||||
- Hartmut Holzgraefe - hholzgra
|
||||
- Ingo Hofmann
|
||||
- Jiri Zouhar
|
||||
- John Dennis
|
||||
- Jonathan Casiot (no_dice)
|
||||
@@ -37,7 +34,6 @@ exempt of errors.
|
||||
- Oskar Liljeblad
|
||||
- Michael (oxygenic)
|
||||
- Paul Vixie
|
||||
- Peter Hartley
|
||||
- Rene Hexel
|
||||
- Robert Gingher (robsbox)
|
||||
- Siva Chandran
|
||||
|
25
configure.ac
25
configure.ac
@@ -9,7 +9,7 @@
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
|
||||
AC_INIT([libupnp], [1.6.4], [mroberto@users.sourceforge.net])
|
||||
AC_INIT([libupnp], [1.6.3], [mroberto@users.sourceforge.net])
|
||||
dnl ############################################################################
|
||||
dnl # *Independently* of the above libupnp package version, the libtool version
|
||||
dnl # of the 3 libraries need to be updated whenever there is a change released:
|
||||
@@ -107,22 +107,9 @@ dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:1:2])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [3:2:0])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
dnl # Release 1.6.4:
|
||||
dnl # "current:revision:age"
|
||||
dnl #
|
||||
dnl # - Code has changed in threadutil
|
||||
dnl # revision: 1 -> 2
|
||||
dnl # - Code has changed in upnp
|
||||
dnl # revision: 2 -> 3
|
||||
dnl #
|
||||
dnl #AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
||||
dnl #AC_SUBST([LT_VERSION_THREADUTIL], [4:2:2])
|
||||
dnl #AC_SUBST([LT_VERSION_UPNP], [3:3:0])
|
||||
dnl #
|
||||
dnl ############################################################################
|
||||
AC_SUBST([LT_VERSION_IXML], [2:4:0])
|
||||
AC_SUBST([LT_VERSION_THREADUTIL], [4:2:2])
|
||||
AC_SUBST([LT_VERSION_UPNP], [3:3:0])
|
||||
AC_SUBST([LT_VERSION_THREADUTIL], [4:1:2])
|
||||
AC_SUBST([LT_VERSION_UPNP], [3:2:0])
|
||||
dnl ############################################################################
|
||||
dnl # Repeating the algorithm to place it closer to the modificatin place:
|
||||
dnl # - library code modified: revision++
|
||||
@@ -133,9 +120,9 @@ dnl # *please update only once, before a formal release, not for each change*
|
||||
dnl ############################################################################
|
||||
|
||||
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_CONFIG_SRCDIR([upnp/inc/upnp.h])
|
||||
AC_CONFIG_AUX_DIR(config.aux)
|
||||
AC_CONFIG_MACRO_DIR(m4)
|
||||
AC_CONFIG_SRCDIR(upnp/inc/upnp.h)
|
||||
|
||||
|
||||
AM_INIT_AUTOMAKE([1.8 -Wall foreign subdir-objects dist-bzip2])
|
||||
|
4
docs/dist/Makefile.am
vendored
4
docs/dist/Makefile.am
vendored
@@ -39,7 +39,7 @@ EXTRA_DIST = \
|
||||
./html/upnp/UPNP_E_SOCKET_ERROR-208.html \
|
||||
./html/upnp/UPNP_E_CANCELED-210.html \
|
||||
./html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html \
|
||||
./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html \
|
||||
./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCAPTED-302.html \
|
||||
./html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html \
|
||||
./html/upnp/UPNP_E_INVALID_ARGUMENT-501.html \
|
||||
./html/upnp/UPNP_E_FILE_NOT_FOUND-502.html \
|
||||
@@ -295,7 +295,7 @@ if WITH_DOCUMENTATION
|
||||
./html/upnp/UPNP_E_SOCKET_ERROR-208.html \
|
||||
./html/upnp/UPNP_E_CANCELED-210.html \
|
||||
./html/upnp/UPNP_E_SUBSCRIBE_UNACCEPTED-301.html \
|
||||
./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCEPTED-302.html \
|
||||
./html/upnp/UPNP_E_UNSUBSCRIBE_UNACCAPTED-302.html \
|
||||
./html/upnp/UPNP_E_NOTIFY_UNACCEPTED-303.html \
|
||||
./html/upnp/UPNP_E_INVALID_ARGUMENT-501.html \
|
||||
./html/upnp/UPNP_E_FILE_NOT_FOUND-502.html \
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Version: 1.6.4
|
||||
Version: 1.6.2
|
||||
Summary: Universal Plug and Play (UPnP) SDK
|
||||
Name: libupnp
|
||||
Release: 1%{?dist}
|
||||
|
@@ -41,7 +41,7 @@ AC_DEFUN([RT_BOOL_ARG_ENABLE],[
|
||||
)])
|
||||
test "x$enable_[$1]" != [x]m4_if([$2],[yes],[no],[yes]) dnl
|
||||
&& enable_[]Name=[$2]
|
||||
AC_MSG_RESULT($enable_[]Name)
|
||||
AC_MSG_RESULT($enable_[]Name)dnl
|
||||
AM_CONDITIONAL([ENABLE_]NAME, test x"$enable_[]Name" = xyes)
|
||||
dnl
|
||||
m4_popdef([NAME])dnl
|
||||
|
@@ -31,7 +31,7 @@
|
||||
|
||||
#include "LinkedList.h"
|
||||
#include <sys/param.h>
|
||||
#if (defined(BSD) && BSD >= 199306) || defined(__OSX__) || defined(__APPLE__)
|
||||
#if (defined(BSD) && BSD >= 199306) || defined(__OSX__)
|
||||
#include <stdlib.h>
|
||||
#else
|
||||
#include <malloc.h>
|
||||
|
@@ -229,7 +229,7 @@ static int SetPolicyType( PolicyType in )
|
||||
#ifdef __CYGWIN__
|
||||
/* TODO not currently working... */
|
||||
return 0;
|
||||
#elif defined(__OSX__) || defined(__APPLE__)
|
||||
#elif defined(__OSX__)
|
||||
setpriority( PRIO_PROCESS, 0, 0 );
|
||||
return 0;
|
||||
#elif defined(WIN32)
|
||||
@@ -389,7 +389,7 @@ static void SetSeed()
|
||||
gettimeofday(&t, NULL);
|
||||
#if defined(WIN32)
|
||||
srand( ( unsigned int )t.tv_usec + (unsigned int)ithread_get_current_thread_id().p );
|
||||
#elif defined(__FreeBSD__) || defined(__OSX__) || defined(__APPLE__)
|
||||
#elif defined(__FreeBSD__)
|
||||
srand( ( unsigned int )t.tv_usec + (unsigned int)ithread_get_current_thread_id() );
|
||||
#elif defined(__linux__)
|
||||
srand( ( unsigned int )t.tv_usec + ithread_get_current_thread_id() );
|
||||
|
@@ -413,7 +413,7 @@
|
||||
#define UPNP_E_SUBSCRIBE_UNACCEPTED -301
|
||||
/*! @} */
|
||||
|
||||
/** @name UPNP_E_UNSUBSCRIBE_UNACCEPTED [-302]
|
||||
/** @name UPNP_E_UNSUBSCRIBE_UNACCAPTED [-302]
|
||||
* {\tt UPNP_E_UNSUBSCRIBE_UNACCEPTED} signifies that an unsubscribe
|
||||
* request was rejected from the remote side.
|
||||
*/
|
||||
|
@@ -745,7 +745,7 @@ isFileInVirtualDir( IN char *filePath )
|
||||
return TRUE;
|
||||
} else {
|
||||
if( ( strncmp( pCurVirtualDir->dirName, filePath, webDirLen )
|
||||
== 0 ) && ( filePath[webDirLen] == '/' || filePath[webDirLen] == '\0' || filePath[webDirLen] == '?' ) )
|
||||
== 0 ) && ( filePath[webDirLen] == '/' ) )
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@@ -555,7 +555,7 @@ parse_hostport( const char *in,
|
||||
int begin_port;
|
||||
int hostport_size = 0;
|
||||
int host_size = 0;
|
||||
#if !defined(WIN32) && !(defined(__OSX__) || defined(__APPLE__))
|
||||
#if !defined(WIN32) && !defined(__OSX__)
|
||||
char temp_hostbyname_buff[BUFFER_SIZE];
|
||||
struct hostent h_buf;
|
||||
#endif
|
||||
@@ -642,7 +642,7 @@ parse_hostport( const char *in,
|
||||
if ( h == NULL ) {
|
||||
errCode = 1;
|
||||
}
|
||||
#elif defined(__OSX__) || defined(__APPLE__)
|
||||
#elif defined(__OSX__)
|
||||
h = gethostbyname(temp_host_name);
|
||||
if ( h == NULL ) {
|
||||
errCode = 1;
|
||||
|
@@ -56,88 +56,88 @@ struct SendInstruction
|
||||
};
|
||||
|
||||
/************************************************************************
|
||||
* Function: web_server_init
|
||||
*
|
||||
* Parameters:
|
||||
* none
|
||||
*
|
||||
* Description: Initilialize the different documents. Initialize the
|
||||
* memory for root directory for web server. Call to initialize global
|
||||
* XML document. Sets bWebServerState to WEB_SERVER_ENABLED
|
||||
*
|
||||
* Returns:
|
||||
* 0 - OK
|
||||
* UPNP_E_OUTOF_MEMORY: note: alias_content is not freed here
|
||||
* Function: web_server_init
|
||||
*
|
||||
* Parameters:
|
||||
* none
|
||||
*
|
||||
* Description: Initilialize the different documents. Initialize the
|
||||
* memory for root directory for web server. Call to initialize global
|
||||
* XML document. Sets bWebServerState to WEB_SERVER_ENABLED
|
||||
*
|
||||
* Returns:
|
||||
* 0 - OK
|
||||
* UPNP_E_OUTOF_MEMORY: note: alias_content is not freed here
|
||||
************************************************************************/
|
||||
int web_server_init( void );
|
||||
|
||||
/************************************************************************
|
||||
* Function: web_server_destroy
|
||||
*
|
||||
* Parameters:
|
||||
* none
|
||||
*
|
||||
* Description: Release memory allocated for the global web server root
|
||||
* directory and the global XML document
|
||||
* Resets the flag bWebServerState to WEB_SERVER_DISABLED
|
||||
*
|
||||
* Returns:
|
||||
* void
|
||||
* Function: web_server_destroy
|
||||
*
|
||||
* Parameters:
|
||||
* none
|
||||
*
|
||||
* Description: Release memory allocated for the global web server root
|
||||
* directory and the global XML document
|
||||
* Resets the flag bWebServerState to WEB_SERVER_DISABLED
|
||||
*
|
||||
* Returns:
|
||||
* void
|
||||
************************************************************************/
|
||||
void web_server_destroy( void );
|
||||
|
||||
/************************************************************************
|
||||
* Function: web_server_set_alias
|
||||
*
|
||||
* Parameters:
|
||||
* alias_name: webserver name of alias; created by caller and freed by
|
||||
* caller (doesn't even have to be malloc()d .)
|
||||
* alias_content: the xml doc; this is allocated by the caller; and
|
||||
* freed by the web server
|
||||
* alias_content_length: length of alias body in bytes
|
||||
* last_modified: time when the contents of alias were last
|
||||
* changed (local time)
|
||||
*
|
||||
* Description: Replaces current alias with the given alias. To remove
|
||||
* the current alias, set alias_name to NULL.
|
||||
*
|
||||
* Returns:
|
||||
* 0 - OK
|
||||
* UPNP_E_OUTOF_MEMORY: note: alias_content is not freed here
|
||||
* Function: web_server_set_alias
|
||||
*
|
||||
* Parameters:
|
||||
* alias_name: webserver name of alias; created by caller and freed by
|
||||
* caller (doesn't even have to be malloc()d .)
|
||||
* alias_content: the xml doc; this is allocated by the caller; and
|
||||
* freed by the web server
|
||||
* alias_content_length: length of alias body in bytes
|
||||
* last_modified: time when the contents of alias were last
|
||||
* changed (local time)
|
||||
*
|
||||
* Description: Replaces current alias with the given alias. To remove
|
||||
* the current alias, set alias_name to NULL.
|
||||
*
|
||||
* Returns:
|
||||
* 0 - OK
|
||||
* UPNP_E_OUTOF_MEMORY: note: alias_content is not freed here
|
||||
************************************************************************/
|
||||
int web_server_set_alias( IN const char* alias_name,
|
||||
IN const char* alias_content, IN size_t alias_content_length,
|
||||
IN time_t last_modified );
|
||||
|
||||
/************************************************************************
|
||||
* Function: web_server_set_root_dir
|
||||
*
|
||||
* Parameters:
|
||||
* IN const char* root_dir ; String having the root directory for the
|
||||
* document
|
||||
*
|
||||
* Description: Assign the path specfied by the IN const char* root_dir
|
||||
* parameter to the global Document root directory. Also check for
|
||||
* path names ending in '/'
|
||||
*
|
||||
* Returns:
|
||||
* int
|
||||
* Function: web_server_set_root_dir
|
||||
*
|
||||
* Parameters:
|
||||
* IN const char* root_dir ; String having the root directory for the
|
||||
* document
|
||||
*
|
||||
* Description: Assign the path specfied by the IN const char* root_dir
|
||||
* parameter to the global Document root directory. Also check for
|
||||
* path names ending in '/'
|
||||
*
|
||||
* Returns:
|
||||
* int
|
||||
************************************************************************/
|
||||
int web_server_set_root_dir( IN const char* root_dir );
|
||||
|
||||
/************************************************************************
|
||||
* Function: web_server_callback
|
||||
*
|
||||
* Parameters:
|
||||
* IN http_parser_t *parser,
|
||||
* INOUT http_message_t* req,
|
||||
* IN SOCKINFO *info
|
||||
*
|
||||
* Description: main entry point into web server;
|
||||
* handles HTTP GET and HEAD requests
|
||||
*
|
||||
* Returns:
|
||||
* void
|
||||
* Function: web_server_callback *
|
||||
* *
|
||||
* Parameters: *
|
||||
* IN http_parser_t *parser, *
|
||||
* INOUT http_message_t* req, *
|
||||
* IN SOCKINFO *info *
|
||||
* *
|
||||
* Description: main entry point into web server; *
|
||||
* handles HTTP GET and HEAD requests *
|
||||
* *
|
||||
* Returns: *
|
||||
* void *
|
||||
************************************************************************/
|
||||
void web_server_callback( IN http_parser_t *parser, IN http_message_t* req, INOUT SOCKINFO *info );
|
||||
|
||||
@@ -148,4 +148,3 @@ void web_server_callback( IN http_parser_t *parser, IN http_message_t* req, INOU
|
||||
|
||||
|
||||
#endif // GENLIB_NET_HTTP_WEBSERVER_H
|
||||
|
||||
|
@@ -870,7 +870,6 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
UpnpPrintf( UPNP_CRITICAL,
|
||||
SSDP, __FILE__, __LINE__,
|
||||
"Error in socket operation !!!\n" );
|
||||
|
||||
return UPNP_E_OUTOF_SOCKET;
|
||||
}
|
||||
setsockopt( ssdpReqSock, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof( ttl ) );
|
||||
@@ -885,7 +884,6 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
"Error in socket operation !!!\n" );
|
||||
CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
|
||||
return UPNP_E_OUTOF_SOCKET;
|
||||
}
|
||||
|
||||
@@ -899,11 +897,10 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
shutdown( ssdpSock, SD_BOTH );
|
||||
UpnpCloseSocket( ssdpSock );
|
||||
|
||||
return UPNP_E_SOCKET_ERROR;
|
||||
}
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__OSX__) || defined(__APPLE__)
|
||||
#ifdef __FreeBSD__
|
||||
if( setsockopt( ssdpSock, SOL_SOCKET, SO_REUSEPORT,
|
||||
( char * )&onOff, sizeof( onOff ) ) != 0 ) {
|
||||
UpnpPrintf( UPNP_CRITICAL,
|
||||
@@ -913,7 +910,6 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
shutdown( ssdpSock, SD_BOTH );
|
||||
UpnpCloseSocket( ssdpSock );
|
||||
|
||||
return UPNP_E_SOCKET_ERROR;
|
||||
}
|
||||
#endif /* __FreeBSD__ */
|
||||
@@ -932,7 +928,6 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
UpnpCloseSocket( ssdpSock );
|
||||
CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
|
||||
return UPNP_E_SOCKET_BIND;
|
||||
}
|
||||
|
||||
@@ -948,7 +943,6 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
|
||||
UpnpCloseSocket( ssdpSock );
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
|
||||
return UPNP_E_SOCKET_ERROR;
|
||||
}
|
||||
|
||||
@@ -974,13 +968,11 @@ get_ssdp_sockets( MiniServerSockArray * out )
|
||||
CLIENTONLY( shutdown( ssdpReqSock, SD_BOTH ); )
|
||||
UpnpCloseSocket( ssdpSock );
|
||||
CLIENTONLY( UpnpCloseSocket( ssdpReqSock ); )
|
||||
|
||||
return UPNP_E_NETWORK_ERROR;
|
||||
}
|
||||
|
||||
CLIENTONLY( out->ssdpReqSock = ssdpReqSock; )
|
||||
out->ssdpSock = ssdpSock;
|
||||
|
||||
return UPNP_E_SUCCESS;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user