Use switch instead of if with enums in upnpapi.c
Replace if statements with switch when using HND_DEVICE and HND_CLIENT enum constants. Correct also UpnpUnRegisterRootDeviceLowPower and UpnpUnRegisterClient as those functions were wrongly awaiting an UPNP_E_INVALID_HANDLE instead of HND_INVALID from GetHandleInfo. (cherry picked from commit 1a083479a91576effcdd00209725ac68266cbf68)
This commit is contained in:
parent
975c5257a3
commit
9a1ca957a7
10
ChangeLog
10
ChangeLog
@ -318,6 +318,16 @@ Version 1.8.0
|
|||||||
Version 1.6.16
|
Version 1.6.16
|
||||||
*******************************************************************************
|
*******************************************************************************
|
||||||
|
|
||||||
|
2012-03-14 Fabrice Fontaine <fabrice.fontaine(at)orange.com>
|
||||||
|
|
||||||
|
Use switch instead of if with enums in upnpapi.c
|
||||||
|
|
||||||
|
Replace if statements with switch when using HND_DEVICE and HND_CLIENT
|
||||||
|
enum constants.
|
||||||
|
Correct also UpnpUnRegisterRootDeviceLowPower and UpnpUnRegisterClient
|
||||||
|
as those functions were wrongly awaiting an UPNP_E_INVALID_HANDLE
|
||||||
|
instead of HND_INVALID from GetHandleInfo.
|
||||||
|
|
||||||
2012-03-14 Fabrice Fontaine <fabrice.fontaine(at)orange.com>
|
2012-03-14 Fabrice Fontaine <fabrice.fontaine(at)orange.com>
|
||||||
|
|
||||||
Improve ssdp part
|
Improve ssdp part
|
||||||
|
@ -641,14 +641,29 @@ int UpnpFinish(void)
|
|||||||
PrintThreadPoolStats(&gMiniServerThreadPool, __FILE__, __LINE__,
|
PrintThreadPoolStats(&gMiniServerThreadPool, __FILE__, __LINE__,
|
||||||
"MiniServer Thread Pool");
|
"MiniServer Thread Pool");
|
||||||
#ifdef INCLUDE_DEVICE_APIS
|
#ifdef INCLUDE_DEVICE_APIS
|
||||||
if (GetDeviceHandleInfo(AF_INET, &device_handle, &temp) == HND_DEVICE)
|
switch (GetDeviceHandleInfo(AF_INET, &device_handle, &temp)) {
|
||||||
|
case HND_DEVICE:
|
||||||
UpnpUnRegisterRootDevice(device_handle);
|
UpnpUnRegisterRootDevice(device_handle);
|
||||||
if (GetDeviceHandleInfo(AF_INET6, &device_handle, &temp) == HND_DEVICE)
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
switch (GetDeviceHandleInfo(AF_INET6, &device_handle, &temp)) {
|
||||||
|
case HND_DEVICE:
|
||||||
UpnpUnRegisterRootDevice(device_handle);
|
UpnpUnRegisterRootDevice(device_handle);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef INCLUDE_CLIENT_APIS
|
#ifdef INCLUDE_CLIENT_APIS
|
||||||
if (GetClientHandleInfo(&client_handle, &temp) == HND_CLIENT)
|
switch (GetClientHandleInfo(&client_handle, &temp)) {
|
||||||
|
case HND_CLIENT:
|
||||||
UpnpUnRegisterClient(client_handle);
|
UpnpUnRegisterClient(client_handle);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
TimerThreadShutdown(&gTimerThread);
|
TimerThreadShutdown(&gTimerThread);
|
||||||
#if EXCLUDE_MINISERVER == 0
|
#if EXCLUDE_MINISERVER == 0
|
||||||
@ -785,7 +800,9 @@ int UpnpRegisterRootDevice(
|
|||||||
{
|
{
|
||||||
struct Handle_Info *HInfo = NULL;
|
struct Handle_Info *HInfo = NULL;
|
||||||
int retVal = 0;
|
int retVal = 0;
|
||||||
|
#if EXCLUDE_GENA == 0
|
||||||
int hasServiceTable = 0;
|
int hasServiceTable = 0;
|
||||||
|
#endif /* EXCLUDE_GENA */
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
|
|
||||||
@ -951,7 +968,9 @@ int UpnpRegisterRootDevice2(
|
|||||||
{
|
{
|
||||||
struct Handle_Info *HInfo = NULL;
|
struct Handle_Info *HInfo = NULL;
|
||||||
int retVal = 0;
|
int retVal = 0;
|
||||||
|
#if EXCLUDE_GENA == 0
|
||||||
int hasServiceTable = 0;
|
int hasServiceTable = 0;
|
||||||
|
#endif /* EXCLUDE_GENA */
|
||||||
char *description = (char *)description_const;
|
char *description = (char *)description_const;
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
@ -1110,7 +1129,9 @@ int UpnpRegisterRootDevice4(
|
|||||||
{
|
{
|
||||||
struct Handle_Info *HInfo;
|
struct Handle_Info *HInfo;
|
||||||
int retVal = 0;
|
int retVal = 0;
|
||||||
|
#if EXCLUDE_GENA == 0
|
||||||
int hasServiceTable = 0;
|
int hasServiceTable = 0;
|
||||||
|
#endif /* EXCLUDE_GENA */
|
||||||
int handler_index = 0;
|
int handler_index = 0;
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
@ -1239,10 +1260,13 @@ int UpnpRegisterRootDevice4(
|
|||||||
}
|
}
|
||||||
#endif /* EXCLUDE_GENA */
|
#endif /* EXCLUDE_GENA */
|
||||||
|
|
||||||
if (AddressFamily == AF_INET)
|
switch (AddressFamily) {
|
||||||
|
case AF_INET:
|
||||||
UpnpSdkDeviceRegisteredV4 = 1;
|
UpnpSdkDeviceRegisteredV4 = 1;
|
||||||
else
|
break;
|
||||||
|
default:
|
||||||
UpnpSdkDeviceregisteredV6 = 1;
|
UpnpSdkDeviceregisteredV6 = 1;
|
||||||
|
}
|
||||||
|
|
||||||
retVal = UPNP_E_SUCCESS;
|
retVal = UPNP_E_SUCCESS;
|
||||||
|
|
||||||
@ -1280,9 +1304,12 @@ int UpnpUnRegisterRootDeviceLowPower(UpnpDevice_Handle Hnd, int PowerState,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if (GetHandleInfo(Hnd, &HInfo) == UPNP_E_INVALID_HANDLE) {
|
switch (GetHandleInfo(Hnd, &HInfo)) {
|
||||||
|
case HND_INVALID:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
HInfo->PowerState = PowerState;
|
HInfo->PowerState = PowerState;
|
||||||
if( SleepPeriod < 0 )
|
if( SleepPeriod < 0 )
|
||||||
@ -1298,9 +1325,12 @@ int UpnpUnRegisterRootDeviceLowPower(UpnpDevice_Handle Hnd, int PowerState,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if (GetHandleInfo(Hnd, &HInfo) == UPNP_E_INVALID_HANDLE) {
|
switch (GetHandleInfo(Hnd, &HInfo)) {
|
||||||
|
case HND_INVALID:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
ixmlNodeList_free(HInfo->DeviceList);
|
ixmlNodeList_free(HInfo->DeviceList);
|
||||||
ixmlNodeList_free(HInfo->ServiceList);
|
ixmlNodeList_free(HInfo->ServiceList);
|
||||||
@ -1312,10 +1342,16 @@ int UpnpUnRegisterRootDeviceLowPower(UpnpDevice_Handle Hnd, int PowerState,
|
|||||||
if (HInfo->aliasInstalled)
|
if (HInfo->aliasInstalled)
|
||||||
web_server_set_alias(NULL, NULL, 0, 0);
|
web_server_set_alias(NULL, NULL, 0, 0);
|
||||||
#endif /* INTERNAL_WEB_SERVER */
|
#endif /* INTERNAL_WEB_SERVER */
|
||||||
if (HInfo->DeviceAf == (unsigned short)AF_INET)
|
switch (HInfo->DeviceAf) {
|
||||||
|
case AF_INET:
|
||||||
UpnpSdkDeviceRegisteredV4 = 0;
|
UpnpSdkDeviceRegisteredV4 = 0;
|
||||||
else if (HInfo->DeviceAf == (unsigned short)AF_INET6)
|
break;
|
||||||
|
case AF_INET6:
|
||||||
UpnpSdkDeviceregisteredV6 = 0;
|
UpnpSdkDeviceregisteredV6 = 0;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
FreeHandle(Hnd);
|
FreeHandle(Hnd);
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
|
|
||||||
@ -1398,9 +1434,12 @@ int UpnpUnRegisterClient(UpnpClient_Handle Hnd)
|
|||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
#endif
|
#endif
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if (GetHandleInfo(Hnd, &HInfo) == UPNP_E_INVALID_HANDLE) {
|
switch (GetHandleInfo(Hnd, &HInfo)) {
|
||||||
|
case HND_INVALID:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
/* clean up search list */
|
/* clean up search list */
|
||||||
node = ListHead(&HInfo->SsdpSearchList);
|
node = ListHead(&HInfo->SsdpSearchList);
|
||||||
@ -1681,7 +1720,10 @@ int UpnpSendAdvertisementLowPower(UpnpDevice_Handle Hnd, int Exp,
|
|||||||
"Inside UpnpSendAdvertisementLowPower \n" );
|
"Inside UpnpSendAdvertisementLowPower \n" );
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -1714,7 +1756,10 @@ int UpnpSendAdvertisementLowPower(UpnpDevice_Handle Hnd, int Exp,
|
|||||||
adEvent->Event = ptrMx;
|
adEvent->Event = ptrMx;
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
free( adEvent );
|
free( adEvent );
|
||||||
free( ptrMx );
|
free( ptrMx );
|
||||||
@ -1784,7 +1829,10 @@ int UpnpSearchAsync(
|
|||||||
"Inside UpnpSearchAsync\n" );
|
"Inside UpnpSearchAsync\n" );
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -1832,9 +1880,15 @@ int UpnpSetMaxSubscriptions(UpnpDevice_Handle Hnd, int MaxSubscriptions)
|
|||||||
"Inside UpnpSetMaxSubscriptions \n" );
|
"Inside UpnpSetMaxSubscriptions \n" );
|
||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
if( ( ( MaxSubscriptions != UPNP_INFINITE )
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
&& ( MaxSubscriptions < 0 ) )
|
case HND_DEVICE:
|
||||||
|| ( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) ) {
|
break;
|
||||||
|
default:
|
||||||
|
HandleUnlock();
|
||||||
|
return UPNP_E_INVALID_HANDLE;
|
||||||
|
}
|
||||||
|
if( ( MaxSubscriptions != UPNP_INFINITE )
|
||||||
|
&& ( MaxSubscriptions < 0 ) ) {
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -1864,9 +1918,15 @@ int UpnpSetMaxSubscriptionTimeOut(UpnpDevice_Handle Hnd, int MaxSubscriptionTime
|
|||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
|
|
||||||
if( ( ( MaxSubscriptionTimeOut != UPNP_INFINITE )
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
&& ( MaxSubscriptionTimeOut < 0 ) )
|
case HND_DEVICE:
|
||||||
|| ( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) ) {
|
break;
|
||||||
|
default:
|
||||||
|
HandleUnlock();
|
||||||
|
return UPNP_E_INVALID_HANDLE;
|
||||||
|
}
|
||||||
|
if( ( MaxSubscriptionTimeOut != UPNP_INFINITE )
|
||||||
|
&& ( MaxSubscriptionTimeOut < 0 ) ) {
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -1906,7 +1966,10 @@ int UpnpSubscribeAsync(
|
|||||||
"Inside UpnpSubscribeAsync\n");
|
"Inside UpnpSubscribeAsync\n");
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -1997,7 +2060,10 @@ int UpnpSubscribe(
|
|||||||
}
|
}
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_CLIENT) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
retVal = UPNP_E_INVALID_HANDLE;
|
retVal = UPNP_E_INVALID_HANDLE;
|
||||||
goto exit_function;
|
goto exit_function;
|
||||||
@ -2045,7 +2111,10 @@ int UpnpUnSubscribe(UpnpClient_Handle Hnd, const Upnp_SID SubsId)
|
|||||||
UpnpString_set_String(SubsIdTmp, SubsId);
|
UpnpString_set_String(SubsIdTmp, SubsId);
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_CLIENT) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
retVal = UPNP_E_INVALID_HANDLE;
|
retVal = UPNP_E_INVALID_HANDLE;
|
||||||
goto exit_function;
|
goto exit_function;
|
||||||
@ -2096,7 +2165,10 @@ int UpnpUnSubscribeAsync(
|
|||||||
}
|
}
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_CLIENT) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
retVal = UPNP_E_INVALID_HANDLE;
|
retVal = UPNP_E_INVALID_HANDLE;
|
||||||
goto exit_function;
|
goto exit_function;
|
||||||
@ -2161,7 +2233,10 @@ int UpnpRenewSubscription(
|
|||||||
}
|
}
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_CLIENT) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
retVal = UPNP_E_INVALID_HANDLE;
|
retVal = UPNP_E_INVALID_HANDLE;
|
||||||
goto exit_function;
|
goto exit_function;
|
||||||
@ -2202,7 +2277,10 @@ int UpnpRenewSubscriptionAsync(
|
|||||||
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
||||||
"Inside UpnpRenewSubscriptionAsync\n");
|
"Inside UpnpRenewSubscriptionAsync\n");
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2272,7 +2350,10 @@ int UpnpNotify(
|
|||||||
"Inside UpnpNotify\n");
|
"Inside UpnpNotify\n");
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2319,7 +2400,10 @@ int UpnpNotifyExt(
|
|||||||
"Inside UpnpNotify \n" );
|
"Inside UpnpNotify \n" );
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_DEVICE ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2372,7 +2456,10 @@ int UpnpAcceptSubscription(
|
|||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
|
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_DEVICE) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
line = __LINE__;
|
line = __LINE__;
|
||||||
ret = UPNP_E_INVALID_HANDLE;
|
ret = UPNP_E_INVALID_HANDLE;
|
||||||
@ -2444,7 +2531,10 @@ int UpnpAcceptSubscriptionExt(
|
|||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
|
|
||||||
if (GetHandleInfo(Hnd, &SInfo) != HND_DEVICE) {
|
switch (GetHandleInfo(Hnd, &SInfo)) {
|
||||||
|
case HND_DEVICE:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
line = __LINE__;
|
line = __LINE__;
|
||||||
ret = UPNP_E_INVALID_HANDLE;
|
ret = UPNP_E_INVALID_HANDLE;
|
||||||
@ -2530,7 +2620,10 @@ int UpnpSendAction(
|
|||||||
DevUDN_const = NULL;
|
DevUDN_const = NULL;
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2585,7 +2678,10 @@ int UpnpSendActionEx(
|
|||||||
}
|
}
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2637,7 +2733,10 @@ int UpnpSendActionAsync(
|
|||||||
"Inside UpnpSendActionAsync\n");
|
"Inside UpnpSendActionAsync\n");
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2733,7 +2832,10 @@ int UpnpSendActionExAsync(
|
|||||||
}
|
}
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2834,7 +2936,10 @@ int UpnpGetServiceVarStatusAsync(
|
|||||||
"Inside UpnpGetServiceVarStatusAsync\n");
|
"Inside UpnpGetServiceVarStatusAsync\n");
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -2895,7 +3000,10 @@ int UpnpGetServiceVarStatus(
|
|||||||
"Inside UpnpGetServiceVarStatus\n");
|
"Inside UpnpGetServiceVarStatus\n");
|
||||||
|
|
||||||
HandleReadLock();
|
HandleReadLock();
|
||||||
if( GetHandleInfo( Hnd, &SInfo ) != HND_CLIENT ) {
|
switch( GetHandleInfo( Hnd, &SInfo ) ) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
HandleUnlock();
|
HandleUnlock();
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
@ -3692,13 +3800,19 @@ Upnp_Handle_Type GetClientHandleInfo(
|
|||||||
Upnp_Handle_Type ret = HND_CLIENT;
|
Upnp_Handle_Type ret = HND_CLIENT;
|
||||||
UpnpClient_Handle client;
|
UpnpClient_Handle client;
|
||||||
|
|
||||||
if (GetHandleInfo(1, HndInfo) == HND_CLIENT) {
|
switch (GetHandleInfo(1, HndInfo)) {
|
||||||
|
case HND_CLIENT:
|
||||||
client = 1;
|
client = 1;
|
||||||
} else if (GetHandleInfo(2, HndInfo) == HND_CLIENT) {
|
break;
|
||||||
client = 2;
|
default:
|
||||||
} else {
|
switch (GetHandleInfo(2, HndInfo)) {
|
||||||
client = -1;
|
case HND_CLIENT:
|
||||||
ret = HND_INVALID;
|
client = 2;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
client = -1;
|
||||||
|
ret = HND_INVALID;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
*client_handle_out = client;
|
*client_handle_out = client;
|
||||||
@ -3720,10 +3834,14 @@ Upnp_Handle_Type GetDeviceHandleInfo(
|
|||||||
|
|
||||||
/* Find it. */
|
/* Find it. */
|
||||||
for (*device_handle_out=1; *device_handle_out < NUM_HANDLE; (*device_handle_out)++) {
|
for (*device_handle_out=1; *device_handle_out < NUM_HANDLE; (*device_handle_out)++) {
|
||||||
if (GetHandleInfo(*device_handle_out, HndInfo) == HND_DEVICE) {
|
switch (GetHandleInfo(*device_handle_out, HndInfo)) {
|
||||||
|
case HND_DEVICE:
|
||||||
if ((*HndInfo)->DeviceAf == AddressFamily) {
|
if ((*HndInfo)->DeviceAf == AddressFamily) {
|
||||||
return HND_DEVICE;
|
return HND_DEVICE;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3769,9 +3887,13 @@ int PrintHandleInfo(UpnpClient_Handle Hnd)
|
|||||||
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
||||||
"HType_%d\n", HndInfo->HType);
|
"HType_%d\n", HndInfo->HType);
|
||||||
#ifdef INCLUDE_DEVICE_APIS
|
#ifdef INCLUDE_DEVICE_APIS
|
||||||
if(HndInfo->HType != HND_CLIENT)
|
switch(HndInfo->HType) {
|
||||||
|
case HND_CLIENT:
|
||||||
|
break;
|
||||||
|
default:
|
||||||
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
UpnpPrintf(UPNP_ALL, API, __FILE__, __LINE__,
|
||||||
"DescURL_%s\n", HndInfo->DescURL);
|
"DescURL_%s\n", HndInfo->DescURL);
|
||||||
|
}
|
||||||
#endif /* INCLUDE_DEVICE_APIS */
|
#endif /* INCLUDE_DEVICE_APIS */
|
||||||
} else {
|
} else {
|
||||||
return UPNP_E_INVALID_HANDLE;
|
return UPNP_E_INVALID_HANDLE;
|
||||||
@ -4238,10 +4360,12 @@ int UpnpSetContentLength(UpnpClient_Handle Hnd, size_t contentLength)
|
|||||||
|
|
||||||
HandleLock();
|
HandleLock();
|
||||||
|
|
||||||
errCode = GetHandleInfo(Hnd, &HInfo);
|
switch (GetHandleInfo(Hnd, &HInfo)) {
|
||||||
if (errCode != HND_DEVICE) {
|
case HND_DEVICE:
|
||||||
errCode = UPNP_E_INVALID_HANDLE;
|
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
HandleUnlock();
|
||||||
|
return UPNP_E_INVALID_HANDLE;
|
||||||
}
|
}
|
||||||
if (contentLength > MAX_SOAP_CONTENT_LENGTH) {
|
if (contentLength > MAX_SOAP_CONTENT_LENGTH) {
|
||||||
errCode = UPNP_E_OUTOF_BOUNDS;
|
errCode = UPNP_E_OUTOF_BOUNDS;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user