Online Quellcodeaustausch



  • Hallo,

    Folgendes Problem:

    Ich muss für eine Firma ein kleinen Teil eines größeren Programmes verwalten.
    Jedoch soll ich nicht auf den gesamten Quellcode zugreifen können.

    Da die Firma in den USA ansessig ist, muß dies irgendwie zuverlässig und extrem sicher online ablaufen.

    Kennt jemand von euch dazu geeignete Lösungen?

    Vielen Dank für eure Ratschläge!



  • Hab nicht genau verstanden wo das Problem liegt, aber schau Dir mal Rational ClearCase an, vielleicht hat das Deine gewünschte Funktionalität.



  • Nun, mir ging es eigentlich weniger um eine komplette Projektumgebung.

    Vielmehr brauche ich nur einen möglichst einfachen Weg um ein teilweise kompiliertes VS-Projekt extrem sicher über das Internet zu senden/empfangen.



  • warum macht ihrs nicht über ftp?



  • ich denke da gibts keinen unterschied ob das nen VS-Projekt, nen Word Dokument oder nur einfach Text ist der sicher übertragen werden soll ... folglich e-mail verschlüsseln ... die firma soll dir nen sicheren zugang zu ihrem netzwerk geben oder ka wie ihr daten austauscht (RAS, VPN oder was weiß ich wie das heißt) ... auf cd brennen und per post schicken (gar kein internet nutzen) ???

    ich versteh auch nicht so recht was du willst/suchst bzw. für antworten erwartetst ??? 😛



  • Um dies noch genauer zu beschreiben:

    Ich darf den Quellcode nur eines bestimmten Programmteiles lesen, muss aber das Programm komplett kompilieren können.
    Das Problem ist dass es keine saubere Trennung zwischen den Teilen gibt die ich lesen/ nicht lesen darf.
    Daher ist es nicht möglich eine Trennung in Objektdateien und nicht kompilierten Quellcode vorzunehmen.

    Kann man z.B. teile einer Quellcodedatei mit irgendwelchen Mitteln (am besten direkt in VS) mit einem recht sicheren Leseschutz versehen?

    Dazu komme noch die sichere Übertragung per Internet.



  • das ich das jetzt richtig verstehe ... du bekommst also zB. eine .txt datei in der in der ersten zeile "Hallo" steht und in der zweiten zeile "Welt" ... und wenn du diese .txt datei jetzt öffnest sollst du nur "Welt" lesen können aber das "Hallo" nicht ??? ...

    wenn das so ungefähr passt ist mir nix bekannt 😢 ...



  • zuHilfe! schrieb:

    Ich darf den Quellcode nur eines bestimmten Programmteiles lesen, muss aber das Programm komplett kompilieren können.

    Dann musst du remote kompilieren, also auf einem PC in der Firma und nicht mit deinem Compiler. Denn alles was dein Compiler lesen kann, kannst du auch lesen.

    Daher ist es nicht möglich eine Trennung in Objektdateien und nicht kompilierten Quellcode vorzunehmen.

    Geht bei C++ idR sowieso nicht. Denn eine Änderung eines Headers zwingt ja ein rekompilieren aller davon abhängigen Objekt dateien und Header dateien _solle_ ja public sein.



  • Also das Optimum währe wie folgt:

    Ich bekomme komplett verschlüsselte VS-Projektdateien von denen.
    Dann entschlüssele ich den Teil der Quellcodedateien die ich lesen kann (oder ich entschlüssle einfach ein Archiv wo dann noch einmal die teilweise verschlüsselte Projektdatei ist).
    In VS kann ich dann alle Quellcodeteile lesen und bearbeiten, die vor mir nicht verschlüsselt (oder lese-/ schreibgeschützt) sind.
    Die lesbaren Quellcodeteile beinhalten nur eine API-Ansteuerung die keine Werte an die restlichen Routinen zurückliefert.

    Der Compiler soll dann das Projekt kompilieren können.



  • Shade Of Mine schrieb:

    Dann musst du remote kompilieren, also auf einem PC in der Firma und nicht mit deinem Compiler. Denn alles was dein Compiler lesen kann, kannst du auch lesen.

    Das klingt gut.
    Macht dies VisualStudio und dessen Standard-Compiler mit? (habe noch nie damit ernsthaft gearbeitet)



  • zuHilfe! schrieb:

    Der Compiler soll dann das Projekt kompilieren können.

    Und wie soll dein Compiler die Daten lesen die du nicht lesen kannst? Er kann ja nicht zaubern. Alles was er lesen kann, kannst auch du lesen, weil es in lesbarer Form auf deinem PC liegt.

    Einzige sichere Lösung: du kompilierst auf einer Maschine der Firma. Wäre sicher machbar. Allerdings hättest du dann lange online zeiten.



  • zuHilfe! schrieb:

    Macht dies VisualStudio und dessen Standard-Compiler mit? (habe noch nie damit ernsthaft gearbeitet)

    Warum nicht einfach per ssh (oder was auch immer das Windows pendant dazu ist) dich auf dem fremden Rechner einloggen. Dort hast du den gesamten Sourcecode liegen, allerdings hast du keine Zugriffsrechte.

    Nun kannst du zB per VPN dir die source verzeichnisse bei dir mounten/einbinden und 'lokal' daran rumwerkeln. Wenn du kompilieren willst, aktivierst du wieder deinen Account auf dem Remote PC und sagst kompilieren.

    Das 'kompilieren' script muss nun lediglich irgendwie die benutzerrechte für cl.exe & Co ändern und cl.exe kompiliert den Code. Und liefert dir die Fehlermeldungen.

    Ist halt insofern unpraktisch, dass du dann nicht auf eine Fehlermeldung doppelklicken kannst, weil ja nicht deine IDE kompiliert, sondern die auf dem Remote PC.

    Natürlich wäre es auch denkbar, dass du dich wirklich auf dem Remote PC einloggst und dort ein VS vorfindest. Allerdings wäre hier dann eine wirklich schnelle Verbindung nötig, sonst lagt es und das ist unproduktiv.



  • Shade Of Mine schrieb:

    Und wie soll dein Compiler die Daten lesen die du nicht lesen kannst? Er kann ja nicht zaubern. Alles was er lesen kann, kannst auch du lesen, weil es in lesbarer Form auf deinem PC liegt.

    Visual Studio unterstützt doch Plugins, oder?
    So könnte doch dieses Plugin vielleicht den kompletten Lesezugriff nur dem Compiler gewähren.
    Vielleicht gibt es ja so etwas auch schon standardmäßig in VS?



  • Shade Of Mine schrieb:

    ...

    Ist halt insofern unpraktisch, dass du dann nicht auf eine Fehlermeldung doppelklicken kannst, weil ja nicht deine IDE kompiliert, sondern die auf dem Remote PC.

    Wenn so etwas nicht zu umgehen ist (Ausgabe nur im Kommandozeilenmodus), währe dies dann natürlich nicht zu gebrauchen.



  • zuHilfe! schrieb:

    Shade Of Mine schrieb:

    Und wie soll dein Compiler die Daten lesen die du nicht lesen kannst? Er kann ja nicht zaubern. Alles was er lesen kann, kannst auch du lesen, weil es in lesbarer Form auf deinem PC liegt.

    Visual Studio unterstützt doch Plugins, oder?
    So könnte doch dieses Plugin vielleicht den kompletten Lesezugriff nur dem Compiler gewähren.
    Vielleicht gibt es ja so etwas auch schon standardmäßig in VS?

    Shade hat es doch schon gesagt: Alles was Dein Compiler lesen kann, kannst auch Du lesen. Der Kompiler läuft mit Deinen Rechten.

    Lösungen hat Shade auch schon gepostet. Du must auf einer Firmen-Maschine kompilieren.



  • zuHilfe! schrieb:

    Wenn so etwas nicht zu umgehen ist (Ausgabe nur im Kommandozeilenmodus), währe dies dann natürlich nicht zu gebrauchen.

    Doof ist es, keine Frage. Aber da kann man workarounden.

    Du ersetzt deine cl.exe durch ne Proxy datei, die eben beim remote PC das kompilieren script startet. Die Ausgabe des Scripte wird durchgereicht und deine cl.exe gibt sie dann aus.

    So hättest du die Daten auch in deiner IDE 🙂

    Aber da ist halt die Frage ob sich hier der Aufwand lohnt. Ist zwar extrem praktisch das feature, aber doch nicht essentiell, oder?



  • Hmm...

    also scheinbar ist es dann doch besser eine Lösung mit Bibliotheken zu ermöglichen.



  • Jedenfalls vielen Dank für eure Bemühungen!


Anmelden zum Antworten