1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-19 13:40:49 +03:00

Compare commits

..

1 Commits

Author SHA1 Message Date
bugmaster
2ecd3a06a6 Update version up to 7.5.1.dev 2020-11-11 20:08:01 +03:00
3 changed files with 26 additions and 90 deletions

View File

@@ -21,24 +21,10 @@
#include <Standard_NullObject.hxx>
#include <TCollection_AsciiString.hxx>
const OSD_WhoAmI Iam = OSD_WHost;
#include <errno.h>
#ifndef HAVE_IFADDRS
#if defined(__ANDROID__)
#include <android/api-level.h>
#if (__ANDROID_API__ >= 24)
#define HAVE_IFADDRS
#endif
#else
#define HAVE_IFADDRS
#endif
#endif
#include <arpa/inet.h>
#ifdef HAVE_IFADDRS
#include <ifaddrs.h>
#endif
#include <sys/utsname.h> // For 'uname'
#include <netdb.h> // This is for 'gethostbyname'
#include <unistd.h>
@@ -103,7 +89,7 @@ char value[65];
int status;
status = gethostname(value, 64);
if (status == -1) myError.SetValue(errno, OSD_WHost, "Host Name");
if (status == -1) myError.SetValue(errno, Iam, "Host Name");
result = value;
return(result);
@@ -130,67 +116,25 @@ Standard_Integer OSD_Host::AvailableMemory(){
// =========================================================================
TCollection_AsciiString OSD_Host::InternetAddress()
{
TCollection_AsciiString aResult;
#ifdef HAVE_IFADDRS
struct ifaddrs* anAddrFullInfo = NULL;
getifaddrs (&anAddrFullInfo);
for (struct ifaddrs* anAddrIter = anAddrFullInfo; anAddrIter != NULL; anAddrIter = anAddrIter->ifa_next)
{
if (!anAddrIter->ifa_addr)
{
continue;
}
TCollection_AsciiString OSD_Host::InternetAddress(){
struct hostent internet_address;
int a,b,c,d;
char buffer[16];
TCollection_AsciiString result,host;
if (anAddrIter->ifa_addr->sa_family == AF_INET)
{
// IP4 Address
char aBuffer[INET_ADDRSTRLEN];
void* aTmpAddrPtr = &((struct sockaddr_in* )anAddrIter->ifa_addr)->sin_addr;
inet_ntop (AF_INET, aTmpAddrPtr, aBuffer, sizeof(aBuffer));
if (strcmp (aBuffer, "127.0.0.1") != 0) // skip localhost address
{
aResult = aBuffer;
break;
}
}
else if (anAddrIter->ifa_addr->sa_family == AF_INET6)
{
// IP6 Address
char aBuffer[INET6_ADDRSTRLEN];
void* aTmpAddrPtr = &((struct sockaddr_in6 *)anAddrIter->ifa_addr)->sin6_addr;
inet_ntop (AF_INET6, aTmpAddrPtr, aBuffer, sizeof(aBuffer));
if (strcmp (aBuffer, "::1") != 0) // skip localhost address
{
aResult = aBuffer;
break;
}
}
}
if (anAddrFullInfo != NULL)
{
freeifaddrs (anAddrFullInfo);
}
#else
// fallback for ancient systems
const TCollection_AsciiString aHost = HostName();
if (struct hostent* anAddr = gethostbyname (aHost.ToCString()))
{
char aBuffer[16];
const int a = (unsigned char)anAddr->h_addr_list[0][0];
const int b = (unsigned char)anAddr->h_addr_list[0][1];
const int c = (unsigned char)anAddr->h_addr_list[0][2];
const int d = (unsigned char)anAddr->h_addr_list[0][3];
sprintf (aBuffer, "%d.%d.%d.%d", a, b, c, d);
aResult = aBuffer;
}
#endif
if (aResult.IsEmpty())
{
return "127.0.0.1";
}
return aResult;
host = HostName();
memcpy(&internet_address,
gethostbyname(host.ToCString()),
sizeof(struct hostent));
// Gets each bytes into integers
a = (unsigned char)internet_address.h_addr_list[0][0];
b = (unsigned char)internet_address.h_addr_list[0][1];
c = (unsigned char)internet_address.h_addr_list[0][2];
d = (unsigned char)internet_address.h_addr_list[0][3];
sprintf(buffer,"%d.%d.%d.%d",a,b,c,d);
result = buffer;
return(result);
}
// =========================================================================

View File

@@ -164,20 +164,12 @@ Handle(StepBasic_PersonAndOrganization) STEPConstruct_AP203Context::DefaultPerso
OSD_Host aHost;
TCollection_AsciiString anIP = aHost.InternetAddress();
// cut off last number
const Standard_Integer aLastDotIndex = anIP.SearchFromEnd (".");
if (aLastDotIndex > 0)
Standard_Integer aLastDotIndex = anIP.SearchFromEnd (".");
if (aLastDotIndex >0)
{
// IPv4
anIP.Trunc (aLastDotIndex - 1);
orgId->AssignCat (anIP.ToCString());
}
else
{
// IPv6
const Standard_Integer aLastColonIndex = anIP.SearchFromEnd (":");
anIP.Trunc (aLastColonIndex - 1);
orgId->AssignCat (anIP.ToCString());
}
// create organization
Handle(StepBasic_Organization) aOrg = new StepBasic_Organization;

View File

@@ -35,19 +35,19 @@
// Primary definitions
#define OCC_VERSION_MAJOR 7
#define OCC_VERSION_MINOR 5
#define OCC_VERSION_MAINTENANCE 0
#define OCC_VERSION_MAINTENANCE 1
//! This macro must be commented in official release, and set to non-empty
//! string in other situations, to identify specifics of the version, e.g.:
//! - "dev" for development version between releases
//! - "beta..." or "rc..." for beta releases or release candidates
//! - "project..." for version containing project-specific fixes
//#define OCC_VERSION_DEVELOPMENT "beta"
#define OCC_VERSION_DEVELOPMENT "dev"
// Derived (manually): version as real and string (major.minor)
#define OCC_VERSION 7.5
#define OCC_VERSION_STRING "7.5"
#define OCC_VERSION_COMPLETE "7.5.0"
#define OCC_VERSION_COMPLETE "7.5.1"
//! Derived: extended version as string ("major.minor.maintenance.dev")
#ifdef OCC_VERSION_DEVELOPMENT