Browse Source

fix compiler errors

Kolja Strohm 3 years ago
parent
commit
6c4385d7e7
6 changed files with 219 additions and 236 deletions
  1. 136 151
      NewsServer/Datenbank.cpp
  2. 24 28
      NewsServer/Datenbank.h
  3. BIN
      NewsServer/NewsServer
  4. 21 21
      NewsServer/NewsServer.cpp
  5. 6 4
      NewsServer/NewsServer.vcxproj
  6. 32 32
      NewsServer/main.cpp

+ 136 - 151
NewsServer/Datenbank.cpp

@@ -4,17 +4,17 @@
 // Inhalt der LSDatenbank Klasse aus Datenbank.h
 // Konstruktor
 NSDatenbank::NSDatenbank( InitDatei *zIni )
+    : ReferenceCounter()
 {
-	datenbank = new Datenbank( zIni->zWert( "DBBenutzer" )->getText(), zIni->zWert( "DBPasswort" )->getText(),
-							   zIni->zWert( "DBName" )->getText(), zIni->zWert( "DBIP" )->getText(),
-							   (unsigned short)TextZuInt( zIni->zWert( "DBPort" )->getText(), 10 ) );
+    datenbank = new Datenbank( zIni->zWert( "DBBenutzer" )->getText(), zIni->zWert( "DBPasswort" )->getText(),
+                               zIni->zWert( "DBName" )->getText(), zIni->zWert( "DBIP" )->getText(),
+                               (unsigned short)TextZuInt( zIni->zWert( "DBPort" )->getText(), 10 ) );
     if( !datenbank->istOk() )
     {
         std::cout << "NS: Die Verbindung zur Datenbank konnte nicht hergestellt werden.\nDas Programm wird beendet.";
         exit( 1 );
     }
-	InitializeCriticalSection( &cs );
-	ref = 1;
+    InitializeCriticalSection( &cs );
     Text befehl = "SELECT port, admin_port  FROM server WHERE id = ";
     befehl += zIni->zWert( "ServerId" )->getText();
     lock();
@@ -32,195 +32,180 @@ NSDatenbank::NSDatenbank( InitDatei *zIni )
 // Destruktor
 NSDatenbank::~NSDatenbank()
 {
-	datenbank->release();
-	DeleteCriticalSection( &cs );
+    datenbank->release();
+    DeleteCriticalSection( &cs );
 }
 
 // nicht constant
 void NSDatenbank::lock()
 {
-	EnterCriticalSection( &cs );
+    EnterCriticalSection( &cs );
 }
 
 void NSDatenbank::unlock()
 {
-	LeaveCriticalSection( &cs );
+    LeaveCriticalSection( &cs );
 }
 
 int NSDatenbank::istAdministrator( const char *name, const char *passwort )
 {
-	Text *befehl = new Text( "SELECT id FROM benutzer WHERE name = '" );
-	Text n( name );
-	n.ersetzen( "'", "''" );
-	befehl->append( (char*)n );
-	befehl->append( "' AND passwort = md5( '" );
-	Text p( passwort );
-	p.ersetzen( "'", "''" );
-	befehl->append( (char*)p );
-	befehl->append( "' )" );
-	lock();
-	datenbank->befehl( befehl->getText() );
-	Result res = datenbank->getResult();
-	unlock();
-	befehl->release();
-	int ret = 0;
-	if( res.zeilenAnzahl > 0 )
-		ret = TextZuInt( res.values[ 0 ].getText(), 10 );
-	res.destroy();
-	return ret;
+    Text *befehl = new Text( "SELECT id FROM benutzer WHERE name = '" );
+    Text n( name );
+    n.ersetzen( "'", "''" );
+    befehl->append( (char *)n );
+    befehl->append( "' AND passwort = md5( '" );
+    Text p( passwort );
+    p.ersetzen( "'", "''" );
+    befehl->append( (char *)p );
+    befehl->append( "' )" );
+    lock();
+    datenbank->befehl( befehl->getText() );
+    Result res = datenbank->getResult();
+    unlock();
+    befehl->release();
+    int ret = 0;
+    if( res.zeilenAnzahl > 0 )
+        ret = TextZuInt( res.values[ 0 ].getText(), 10 );
+    res.destroy();
+    return ret;
 }
 
 bool NSDatenbank::adminHatRecht( int id, int recht )
 {
-	Text *befehl = new Text( "SELECT * FROM benutzer_rechte WHERE benutzer_id = " );
-	befehl->append( id );
-	befehl->append( " AND rechte_id = " );
-	befehl->append( recht );
-	lock();
-	datenbank->befehl( befehl->getText() );
-	int ret = datenbank->getZeilenAnzahl();
-	unlock();
-	befehl->release();
-	return ret != 0;
+    Text *befehl = new Text( "SELECT * FROM benutzer_rechte WHERE benutzer_id = " );
+    befehl->append( id );
+    befehl->append( " AND rechte_id = " );
+    befehl->append( recht );
+    lock();
+    datenbank->befehl( befehl->getText() );
+    int ret = datenbank->getZeilenAnzahl();
+    unlock();
+    befehl->release();
+    return ret != 0;
 }
 
 bool NSDatenbank::proveKlient( int num, int sNum )
 {
-	Text *befehl = new Text( "SELECT * FROM server_client WHERE server_id = " );
-	befehl->append( sNum );
-	befehl->append( " AND client_id = " );
-	befehl->append( num );
-	lock();
-	datenbank->befehl( befehl->getText() );
-	Result res = datenbank->getResult();
-	unlock();
-	befehl->release();
-	bool ret = 0;
-	if( res.zeilenAnzahl == 1 )
-		ret = 1;
-	res.destroy();
-	return ret;
+    Text *befehl = new Text( "SELECT * FROM server_client WHERE server_id = " );
+    befehl->append( sNum );
+    befehl->append( " AND client_id = " );
+    befehl->append( num );
+    lock();
+    datenbank->befehl( befehl->getText() );
+    Result res = datenbank->getResult();
+    unlock();
+    befehl->release();
+    bool ret = 0;
+    if( res.zeilenAnzahl == 1 )
+        ret = 1;
+    res.destroy();
+    return ret;
 }
 
 Text *NSDatenbank::getKlientKey( int cId )
 {
-	lock();
-	if( !datenbank->befehl( Text( "SELECT schluessel FROM client WHERE id = " ) += cId ) )
-	{
-		unlock();
-		return 0;
-	}
-	Result res = datenbank->getResult();
-	unlock();
-	if( !res.zeilenAnzahl )
-	{
-		res.destroy();
-		return 0;
-	}
-	Text *ret = new Text( res.values[ 0 ].getText() );
-	res.destroy();
-	return ret;
+    lock();
+    if( !datenbank->befehl( Text( "SELECT schluessel FROM client WHERE id = " ) += cId ) )
+    {
+        unlock();
+        return 0;
+    }
+    Result res = datenbank->getResult();
+    unlock();
+    if( !res.zeilenAnzahl )
+    {
+        res.destroy();
+        return 0;
+    }
+    Text *ret = new Text( res.values[ 0 ].getText() );
+    res.destroy();
+    return ret;
 }
 
 void NSDatenbank::unregisterKlient( int num, int sNum )
 {
-	Text *befehl = new Text( "DELETE FROM server_client WHERE client_id = " );
-	befehl->append( num );
-	befehl->append( " AND server_id = " );
-	befehl->append( sNum );
-	lock();
-	datenbank->befehl( befehl->getText() );
-	int za = datenbank->getZeilenAnzahl();
-	unlock();
-	if( za == 1 )
-	{
-		befehl->setText( "UPDATE server SET tasks = tasks - 1 WHERE id = " );
-		befehl->append( sNum );
-		lock();
-		datenbank->befehl( befehl->getText() );
-		unlock();
-	}
-	befehl->release();
+    Text *befehl = new Text( "DELETE FROM server_client WHERE client_id = " );
+    befehl->append( num );
+    befehl->append( " AND server_id = " );
+    befehl->append( sNum );
+    lock();
+    datenbank->befehl( befehl->getText() );
+    int za = datenbank->getZeilenAnzahl();
+    unlock();
+    if( za == 1 )
+    {
+        befehl->setText( "UPDATE server SET tasks = tasks - 1 WHERE id = " );
+        befehl->append( sNum );
+        lock();
+        datenbank->befehl( befehl->getText() );
+        unlock();
+    }
+    befehl->release();
 }
 
 bool NSDatenbank::setServerStatus( int id, int status )
 {
-	Text *befehl = new Text( "UPDATE server SET server_status_id = " );
-	*befehl += status;
-	*befehl += "WHERE id = ";
-	*befehl += id;
-	lock();
-	if( !datenbank->befehl( befehl->getText() ) )
-	{
-		unlock();
-		befehl->release();
-		return 0;
-	}
-	bool ret = datenbank->getZeilenAnzahl() != 0;
-	unlock();
-	befehl->release();
-	return ret;
+    Text *befehl = new Text( "UPDATE server SET server_status_id = " );
+    *befehl += status;
+    *befehl += "WHERE id = ";
+    *befehl += id;
+    lock();
+    if( !datenbank->befehl( befehl->getText() ) )
+    {
+        unlock();
+        befehl->release();
+        return 0;
+    }
+    bool ret = datenbank->getZeilenAnzahl() != 0;
+    unlock();
+    befehl->release();
+    return ret;
 }
 
 bool NSDatenbank::setMaxClients( int id, int maxC )
 {
-	Text *befehl = new Text( "UPDATE server SET max_tasks = " );
-	befehl->append( maxC );
-	befehl->append( " WHERE id = " );
-	befehl->append( id );
-	lock();
-	if( !datenbank->befehl( befehl->getText() ) )
-	{
-		unlock();
-		befehl->release();
-		return 0;
-	}
-	bool ret = datenbank->getZeilenAnzahl() > 0;
-	unlock();
-	befehl->release();
-	return ret;
+    Text *befehl = new Text( "UPDATE server SET max_tasks = " );
+    befehl->append( maxC );
+    befehl->append( " WHERE id = " );
+    befehl->append( id );
+    lock();
+    if( !datenbank->befehl( befehl->getText() ) )
+    {
+        unlock();
+        befehl->release();
+        return 0;
+    }
+    bool ret = datenbank->getZeilenAnzahl() > 0;
+    unlock();
+    befehl->release();
+    return ret;
 }
 bool NSDatenbank::serverIstNichtPausiert( int id )
 {
-	Text *befehl = new Text( "SELECT server_status_id FROM server WHERE id = " );
-	befehl->append( id );
-	lock();
-	if( !datenbank->befehl( befehl->getText() ) )
-	{
-		unlock();
-		befehl->release();
-		return 0;
-	}
-	Result res = datenbank->getResult();
-	unlock();
-	befehl->release();
-	if( !res.zeilenAnzahl )
-	{
-		res.destroy();
-		return 0;
-	}
-	bool ret = (int)res.values[ 0 ] == 3;
-	res.destroy();
-	return ret;
+    Text *befehl = new Text( "SELECT server_status_id FROM server WHERE id = " );
+    befehl->append( id );
+    lock();
+    if( !datenbank->befehl( befehl->getText() ) )
+    {
+        unlock();
+        befehl->release();
+        return 0;
+    }
+    Result res = datenbank->getResult();
+    unlock();
+    befehl->release();
+    if( !res.zeilenAnzahl )
+    {
+        res.destroy();
+        return 0;
+    }
+    bool ret = (int)res.values[ 0 ] == 3;
+    res.destroy();
+    return ret;
 }
 
 // constant
 Text *NSDatenbank::getLetzterFehler() const
 {
-	return datenbank->getLetzterFehler();
-}
-
-// Reference Counting
-NSDatenbank *NSDatenbank::getThis()
-{
-	ref++;
-	return this;
-}
-
-NSDatenbank *NSDatenbank::release()
-{
-	ref--;
-	if( !ref )
-		delete this;
-	return 0;
+    return datenbank->getLetzterFehler();
 }

+ 24 - 28
NewsServer/Datenbank.h

@@ -11,40 +11,36 @@ using namespace sql;
 
 namespace Admin_Recht
 {
-	const int NSStarten = 45;
-	const int NSBeenden = 46;
-	const int NSPausieren = 47;
-	const int NSMCChange = 48;
+    const int NSStarten = 45;
+    const int NSBeenden = 46;
+    const int NSPausieren = 47;
+    const int NSMCChange = 48;
 }
 
-class NSDatenbank
+class NSDatenbank : public virtual ReferenceCounter
 {
 private:
-	Datenbank *datenbank;
-	CRITICAL_SECTION cs;
-	int ref;
+    Datenbank *datenbank;
+    CRITICAL_SECTION cs;
 
 public:
-	// Konstruktor
-	NSDatenbank( InitDatei *zIni );
-	// Destruktor
-	~NSDatenbank();
-	// nicht constant
-	void lock();
-	void unlock();
-	int istAdministrator( const char *name, const char *passwort );
-	bool adminHatRecht( int id, int recht );
-	bool proveKlient( int num, int sNum );
-	Text *getKlientKey( int cId );
-	void unregisterKlient( int num, int sNum );
-	bool setServerStatus( int id, int status );
-	bool setMaxClients( int id, int maxC );
-	bool serverIstNichtPausiert( int id );
-	// constant
-	Text *getLetzterFehler() const;
-	// Reference Counting
-	NSDatenbank *getThis();
-	NSDatenbank *release();
+    // Konstruktor
+    NSDatenbank( InitDatei *zIni );
+    // Destruktor
+    ~NSDatenbank();
+    // nicht constant
+    void lock();
+    void unlock();
+    int istAdministrator( const char *name, const char *passwort );
+    bool adminHatRecht( int id, int recht );
+    bool proveKlient( int num, int sNum );
+    Text *getKlientKey( int cId );
+    void unregisterKlient( int num, int sNum );
+    bool setServerStatus( int id, int status );
+    bool setMaxClients( int id, int maxC );
+    bool serverIstNichtPausiert( int id );
+    // constant
+    Text *getLetzterFehler() const;
 };
 
 #endif

BIN
NewsServer/NewsServer


+ 21 - 21
NewsServer/NewsServer.cpp

@@ -16,7 +16,7 @@ NewsServer::NewsServer( InitDatei *zIni )
     empfangen = 0;
     gesendet = 0;
     fehler = new Text();
-    ini = zIni->getThis();
+    ini = dynamic_cast<InitDatei *>( zIni->getThis() );
     id = *zIni->zWert( "ServerId" );
     server = new Server();
     aServer = new SSLServer();
@@ -65,13 +65,13 @@ void NewsServer::runn()
         if( end && klient )
         {
             klient->trenne();
-            klient = klient->release();
+            klient = (SSLSKlient *)klient->release();
             Sleep( 1000 );
             return;
         }
         if( !klient )
             continue;
-        NSAKlient * clHandle = new NSAKlient( klient, (NewsServer *)getThis() );
+        NSAKlient *clHandle = new NSAKlient( klient, dynamic_cast<NewsServer *>( getThis() ) );
         clHandle->start();
     }
 }
@@ -85,7 +85,7 @@ void NewsServer::thread()
         if( !klient )
             continue;
         Framework::getThreadRegister()->cleanUpClosedThreads();
-        NSKlient * clHandle = new NSKlient( klient, (NewsServer *)getThis() );
+        NSKlient *clHandle = new NSKlient( klient, dynamic_cast<NewsServer *>( getThis() ) );
         EnterCriticalSection( &cs );
         klients->set( clHandle, klientAnzahl );
         klientAnzahl++;
@@ -104,13 +104,13 @@ void NewsServer::close()
     EnterCriticalSection( &cs );
     for( int i = 0; i < klientAnzahl; i++ )
         klients->z( i )->absturz();
-    klients = klients->release();
+    klients = ( RCArray<NSKlient>* )klients->release();
     klientAnzahl = 0;
     LeaveCriticalSection( &cs );
     ende();
     run = 0;
     end = 1;
-    Klient * klient = new Klient();
+    Klient *klient = new Klient();
     klient->verbinde( aServer->getPort(), "127.0.0.1" );
     Sleep( 500 );
     aServer->trenne();
@@ -223,7 +223,7 @@ bool NewsServer::absturzKlient( int klientId )
     return gefunden;
 }
 
-bool NewsServer::removeKlient( NSKlient * zKlient )
+bool NewsServer::removeKlient( NSKlient *zKlient )
 {
     bool gefunden = 0;
     EnterCriticalSection( &cs );
@@ -285,7 +285,7 @@ char *NewsServer::getLetzterFehler() const
 
 // Inhalt der NSAKlient Klasse aus NewsServer.h
 // Konstruktor 
-NSAKlient::NSAKlient( SSLSKlient * klient, NewsServer * ns )
+NSAKlient::NSAKlient( SSLSKlient *klient, NewsServer *ns )
     : Thread()
 {
     this->klient = klient;
@@ -323,13 +323,13 @@ void NSAKlient::thread()
                 {
                     klient->sende( "\1", 1 );
                     unsigned char nLen = 0;
-                    klient->getNachricht( (char *)& nLen, 1 );
+                    klient->getNachricht( (char *)&nLen, 1 );
                     char *n = new char[ nLen + 1 ];
                     n[ (int)nLen ] = 0;
                     if( nLen )
                         klient->getNachricht( n, nLen );
                     unsigned char pLen = 0;
-                    klient->getNachricht( (char *)& pLen, 1 );
+                    klient->getNachricht( (char *)&pLen, 1 );
                     char *p = new char[ pLen + 1 ];
                     p[ (int)pLen ] = 0;
                     if( pLen )
@@ -425,7 +425,7 @@ void NSAKlient::thread()
                     }
                     else
                         ok = 1;
-                    if( ok &&ns->hatClients() )
+                    if( ok && ns->hatClients() )
                     {
                         errorZuKlient( "Es sind noch Klients Online. Bitte versuche es später erneut." );
                         break;
@@ -521,7 +521,7 @@ void NSAKlient::thread()
                 {
                     klient->sende( "\1", 1 );
                     int maxC = 0;
-                    klient->getNachricht( (char *)& maxC, 4 );
+                    klient->getNachricht( (char *)&maxC, 4 );
                     if( ns->zDB()->adminHatRecht( adminId, Admin_Recht::NSMCChange ) )
                     {
                         if( ns->setMaxKlients( maxC ) )
@@ -543,8 +543,8 @@ void NSAKlient::thread()
                 {
                     klient->sende( "\1", 1 );
                     int klientId = 0;
-                    klient->getNachricht( (char *)& klientId, 4 );
-                    if( klientId &&ns->absturzKlient( klientId ) )
+                    klient->getNachricht( (char *)&klientId, 4 );
+                    if( klientId && ns->absturzKlient( klientId ) )
                         klient->sende( "\1", 1 );
                     else
                         klient->sende( "\0", 1 );
@@ -576,7 +576,7 @@ void NSAKlient::errorZuKlient( const char *nachricht ) const // sendet eine Fehl
 
 // Inhalt der NSKlient aus NewsServer.h
 // Konstruktor 
-NSKlient::NSKlient( SKlient * klient, NewsServer * ns )
+NSKlient::NSKlient( SKlient *klient, NewsServer *ns )
     : Thread()
 {
     this->klient = klient;
@@ -615,7 +615,7 @@ void NSKlient::thread()
             switch( c )
             {
             case 1: // Klient identifikation
-                klient->getNachrichtEncrypted( (char *)& klientNummer, 4 );
+                klient->getNachrichtEncrypted( (char *)&klientNummer, 4 );
                 if( !ns->zDB()->proveKlient( klientNummer, ns->getId() ) )
                 {
                     klientNummer = 0;
@@ -646,8 +646,8 @@ void NSKlient::thread()
                         if( 1 )
                         {
                             int klientId = 0;
-                            klient->getNachrichtEncrypted( (char *)& klientId, 4 );
-                            if( klientId &&ns->absturzKlient( klientId ) )
+                            klient->getNachrichtEncrypted( (char *)&klientId, 4 );
+                            if( klientId && ns->absturzKlient( klientId ) )
                                 klient->sendeEncrypted( "\1", 1 );
                             else
                                 klient->sendeEncrypted( "\0", 1 );
@@ -677,7 +677,7 @@ void NSKlient::thread()
                 {
                     klient->sendeEncrypted( "\1", 1 );
                     unsigned char len = 0;
-                    klient->getNachrichtEncrypted( (char *)& len, 1 );
+                    klient->getNachrichtEncrypted( (char *)&len, 1 );
                     char *n = new char[ len + 1 ];
                     n[ (int)len ] = 0;
                     klient->getNachrichtEncrypted( n, len );
@@ -704,7 +704,7 @@ void NSKlient::thread()
                             i--;
                         }
                     }
-                    klient->sendeEncrypted( (char *)& dAnz, 4 );
+                    klient->sendeEncrypted( (char *)&dAnz, 4 );
                     for( int i = 0; i < dAnz; i++ )
                     {
                         Text *pf = new Text( dat->zPfad()->getText() );
@@ -717,7 +717,7 @@ void NSKlient::thread()
                         klient->sendeEncrypted( &nl, 1 );
                         klient->sendeEncrypted( list->z( i )->getText(), nl );
                         __int64 gr = d->getSize();
-                        klient->sendeEncrypted( (char *)& gr, 8 );
+                        klient->sendeEncrypted( (char *)&gr, 8 );
                         char *bytes = new char[ 2048 ];
                         while( gr > 0 )
                         {

+ 6 - 4
NewsServer/NewsServer.vcxproj

@@ -37,7 +37,7 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <TargetExt />
     <RemoteProjectDir>$(RemoteRootDir)/Server/$(ProjectName)/debug</RemoteProjectDir>
-    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/debug;..\..\..\..\Allgemein\Network\Network;../../../Network/debug;..\..\..\..\Allgemein\sql\sql;../../../sql/debug;$(IncludePath)</IncludePath>
+    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/debug;..\..\..\..\Allgemein\Network\Network;../../../Network/debug/Network;..\..\..\..\Allgemein\sql\sql;../../../sql/debug/sql;$(IncludePath)</IncludePath>
     <OutDir>$(RemoteRootDir)/Server/$(ProjectName)/debug/</OutDir>
     <IntDir>$(RemoteRootDir)/Server/$(ProjectName)/debug/</IntDir>
     <RemoteTargetPath>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</RemoteTargetPath>
@@ -45,7 +45,7 @@
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <TargetExt />
     <RemoteProjectDir>$(RemoteRootDir)/Server/$(ProjectName)/release</RemoteProjectDir>
-    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/release;..\..\..\..\Allgemein\Network\Network;../../../Network/release;..\..\..\..\Allgemein\sql\sql;../../../sql/release;$(IncludePath)</IncludePath>
+    <IncludePath>..\..\..\..\Allgemein\Framework;../../../Framework/release;..\..\..\..\Allgemein\Network\Network;../../../Network/release/Network;..\..\..\..\Allgemein\sql\sql;../../../sql/release/sql;$(IncludePath)</IncludePath>
     <OutDir>$(RemoteRootDir)/Server/$(ProjectName)/release/</OutDir>
     <IntDir>$(RemoteRootDir)/Server/$(ProjectName)/release/</IntDir>
     <RemoteTargetPath>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</RemoteTargetPath>
@@ -62,15 +62,17 @@
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
     <Link>
       <AdditionalLibraryDirectories>$(RemoteRootDir)/sql/debug;$(RemoteRootDir)/Network/debug;$(RemoteRootDir)/Framework/debug;/usr/lib/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <LibraryDependencies>dbgFramework;dbgNetwork;dbgSQL;pq;pthread</LibraryDependencies>
+      <LibraryDependencies>dbgFramework;dbgNetwork;dbgSQL;pq;pthread;ssl</LibraryDependencies>
       <AdditionalOptions>-Wl,-rpath,../lib %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</OutputFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
     <Link>
       <AdditionalLibraryDirectories>$(RemoteRootDir)/sql/release;$(RemoteRootDir)/Network/release;$(RemoteRootDir)/Framework/release;/usr/lib/;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
-      <LibraryDependencies>Framework;Network;SQL;pq;pthread</LibraryDependencies>
+      <LibraryDependencies>Framework;Network;SQL;pq;pthread;ssl</LibraryDependencies>
       <AdditionalOptions>-Wl,-rpath,../lib %(AdditionalOptions)</AdditionalOptions>
+      <OutputFile>$(RemoteProjectDir)/$(TargetName)$(TargetExt)</OutputFile>
     </Link>
   </ItemDefinitionGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

+ 32 - 32
NewsServer/main.cpp

@@ -7,31 +7,31 @@
 
 int main()
 {
-	struct rlimit core_limits;
-	core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
-	setrlimit(RLIMIT_CORE, &core_limits);
+    struct rlimit core_limits;
+    core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
+    setrlimit( RLIMIT_CORE, &core_limits );
 
     Framework::initFramework();
-	Zeit *z = getZeit();
-	Text *pfad = new Text( "../log/news/" );
-	pfad->append( z->getZeit( "y-m-d h-i-s.log" ) );
-	z->release();
-	DateiPfadErstellen( pfad->getThis() );
-	std::ofstream file;
-	file.open( pfad->getText() );
-	std::streambuf* sbuf = std::cout.rdbuf();
-	std::cout.rdbuf( file.rdbuf() );
-	pfad->release();
+    Zeit *z = getZeit();
+    Text *pfad = new Text( "../log/news/" );
+    pfad->append( z->getZeit( "y-m-d h-i-s.log" ) );
+    z->release();
+    DateiPfadErstellen( pfad->getText() );
+    std::ofstream file;
+    file.open( pfad->getText() );
+    std::streambuf *sbuf = std::cout.rdbuf();
+    std::cout.rdbuf( file.rdbuf() );
+    pfad->release();
 
-	std::cout << "NS: Startet...\n";
-	std::cout << "NS: Lese init Datei ../data/nsInit.ini ...\n";
-	InitDatei *dat = new InitDatei( "../data/nsInit.ini" );
-	if( !dat->laden() )
-	{
-		std::cout << "NS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
-		dat->release();
-		exit( 1 );
-	}
+    std::cout << "NS: Startet...\n";
+    std::cout << "NS: Lese init Datei ../data/nsInit.ini ...\n";
+    InitDatei *dat = new InitDatei( "../data/nsInit.ini" );
+    if( !dat->laden() )
+    {
+        std::cout << "NS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
+        dat->release();
+        exit( 1 );
+    }
     const char *wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "SSLCert", "SSLKey", "SSLPasswort" };
     for( const char *w : wichtig )
     {
@@ -43,17 +43,17 @@ int main()
         }
     }
 
-	NewsServer *nServer = new NewsServer( dat );
+    NewsServer *nServer = new NewsServer( dat );
 
-	std::cout << "NS: Der Admin Server läuft. Startforgang beendet.\n";
-	nServer->runn();
+    std::cout << "NS: Der Admin Server läuft. Startforgang beendet.\n";
+    nServer->runn();
 
-	nServer->ende();
-	nServer->release();
-	dat->release();
-	std::cout << "NS: Der Server ist heruntergefahren.\n";
-	file.close();
-	std::cout.rdbuf( sbuf );
+    nServer->ende();
+    nServer->release();
+    dat->release();
+    std::cout << "NS: Der Server ist heruntergefahren.\n";
+    file.close();
+    std::cout.rdbuf( sbuf );
     Framework::releaseFramework();
-	return 0;
+    return 0;
 }