Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Sandboxing ist einfach großer Mist *sick*

Sandboxing ist einfach großer Mist *sick*

Duck Dodgers10.11.1111:18
Muss mich mal kurz aufregen *sick* Wir setzen uns seit einiger Zeit mit MAS Sandboxing auseinander. Eine unserer Apps speichert im Hintergrund alle paar Minuten ihre Daten in HTML Dateien. Normalerweise werden die Dateien dann direkt im Webserver-Ordner abgelegt und sind sofort über die Webseite erreichbar! Mit Sandboxing können wir nur noch in diesen scheiß Container speichern, der auch noch für den User unsichtbar ist *sick* Was soll der Mist? Sicherheit hin oder her, aber mit dieser Art Sandboxing macht die Software-Entwicklung für den MAS einfach keinen Spaß mehr. Unsere App ist dann teilweise einfach verkrüppelt und macht so wenig Sinn :'( Im Endeffekt überlegen wir schon, ganz aus dem MAS auszusteigen und nur noch über die Webseite zu verkaufen. Die Alternative wäre halt zwei Versionen - eine verkrüppelte und eine "Voll"-Version - anzubieten ...

Die Idee des Sandboxing ist super, aber die Umsetzung und Einführung ist einfach ätzend. Vermutlich wird dann Sandboxing in 10.8 Systemweit Pflicht :'(
0

Kommentare

twilight
twilight15.11.1113:08
MetallSnake
Duck Dodgers

Aber halt NUR über NSOpenPanel/NSSavePanel. MacMark will uns ja weiß machen, dass das auch so geht, nur kann er das leider nicht belegen.

Eigentlich hat er doch immer betont, dass der Nutzer Verzeichnisse auswählen muss. Beim nächsten Start des Programms wird das Verzeichnis dank Resume Funktion dann automatisch wieder mit in die Sandbox aufgenommen solange das Programm das Verzeichnis nicht "schließt".
Nur ohne Resume hättest du dann ein Problem weil der Benutzer jedesmal den selben Ordner öffnen müsste.

Seh ich genauso, darum bin ich auch verwirrt durch Duck Dodgers* Posting von 15.11.11 12:10

Peter
„Auch dienstlich tu ich mir garantiert kein Windows an!“
0
Duck Dodgers15.11.1113:37
Nö, er hat behauptet, dass es auch ausserhalb von NSOpenPanel/NSSavePanel möglich ist, egal wo Dateien zu lesen/schreiben ... einfach noch einmal den Thread lesen.
0
Duck Dodgers15.11.1113:41
söd knöd
Bis her dachte ich ja das Begriffe Zickenkrieg und Stutenbissigkeit eher weiblich besetzt sind, jetzt beim lesen dieses Threads werde ich belehrt. Man lernt ja nie aus Danke
Und was soll uns das nun sagen? Das du dich mit Zicken auskennst
0
söd knöd15.11.1113:55
Ja schliesslich lebe ich in einem 5 Weiberhaushalt

0
HauDrauf
HauDrauf15.11.1115:31
Duck Dodgers
Nö, er hat behauptet, dass es auch ausserhalb von NSOpenPanel/NSSavePanel möglich ist, egal wo Dateien zu lesen/schreiben ... einfach noch einmal den Thread lesen.

Nicht ganz. Er hat zudem behauptet, dass dieses Recht erhalten bleibt, wenn Resume genutzt wird. Mit anderen Worten: Wird Dein Prozess beim Herunterfahren beendet, wird die Sandbox mittels Resume beim Starten wieder mit diesen Rechten versehen.
Fall das Resume-Feature abgestellt sein sollte, muss dann der Prozess erneut fragen...
„"Diese Österreicher scheinen ihre Heimat im Kaukasus zu haben; sobald sie einen Berg sehen, müssen sie rauf" - Friedrich der Große“
0
Duck Dodgers16.11.1101:56
HauDrauf
Nicht ganz. Er hat zudem behauptet, dass dieses Recht erhalten bleibt, wenn Resume genutzt wird. Mit anderen Worten: Wird Dein Prozess beim Herunterfahren beendet, wird die Sandbox mittels Resume beim Starten wieder mit diesen Rechten versehen.
Fall das Resume-Feature abgestellt sein sollte, muss dann der Prozess erneut fragen...
Stimmt, das kommt noch dazu.
0
Duck Dodgers16.11.1101:57
söd knöd
Ja schliesslich lebe ich in einem 5 Weiberhaushalt
0
o.wunder
o.wunder16.11.1107:39
Also wenn sich die Sandbox, quasi durch den Nutzer der App per NSOpenPanel/NSSavePanel Dialogbox erweitern läßt und zwar auch auf Verzeichnisebene, dann bedeutet es doch, das der Nutzer nur einmalig ein Verzeichnis öffnen muss und schon hat die App Zugriff für immer (per Resume) auf das Verzeichnis. Das sollte doch ausreichend sein, oder?

Benötigt die App mehrere Stellen wo sie was machen will, dann muss derNutzer eben einmalig mehrere Verzeichnisse öffnen. Ich sehe dann kein Problem mehr für das Sandboxing.

Ich frage mich dann nur, warum die 1Password Leute dann den Dropbox Ordner an einer bestimmten Stelle erwarten, die könnten doch auch den Nutzer das Verzeichnis einmalig öffnen lassen....

Jetzt interessiert mich aber doch ernsthaft, was gegen die Verwendung der NSOpenPanel/NSSavePanel Dialogbox spricht?
0
Duck Dodgers16.11.1110:22
Resume ist ein systemweites Feature und stellt nur Fenster wieder her. Background-Apps können deshalb resume nicht nutzen ... also im Moment. Außerdem ist es nicht möglich Rechte an ein eigenständiges Helper-Tool oder Daemon-App weiterzugeben. Soweit ich weiß, können diese nur Rechte nutzen, die auch über die Entitlements vergeben wurden. Das Problem ist Apple bekannt.
0
_mäuschen
_mäuschen16.11.1111:19

So, jetzt sollten aber wirklich alle Duck Dodgers "Problem" verstanden haben.

                             Auch MacMark

0
Duck Dodgers16.11.1112:19
0
MacMark
MacMark18.11.1118:04
Duck Dodgers
Resume ist ein systemweites Feature und stellt nur Fenster wieder her.

Nein nicht nur, denn Resume fügt die beim App-Beenden offenen Dateien der Sandbox hinzu. Daher können sie automatisch wieder geöffnet werden, wenn die App erneut startet.
Duck Dodgers
Außerdem ist es nicht möglich Rechte an ein eigenständiges Helper-Tool oder Daemon-App weiterzugeben.

Natürlich geht das. Rechte und Sandbox werden an Prozesse vererbt, die die App startet. Und um das zu verhindern, gibt es XPC Services.
_mäuschen

So, jetzt sollten aber wirklich alle Duck Dodgers "Problem" verstanden haben.

PEBKAC.
„@macmark_de“
0
Duck Dodgers18.11.1122:07
MacMark
Nein nicht nur, denn Resume fügt die beim App-Beenden offenen Dateien der Sandbox hinzu. Daher können sie automatisch wieder geöffnet werden, wenn die App erneut startet.
Den (und andere) Beweise bist du mir immer noch schuldig!!!
MacMark
Natürlich geht das. Rechte und Sandbox werden an Prozesse vererbt, die die App startet. Und um das zu verhindern, gibt es XPC Services.
Wie soll ein eigenständiges Helper-Tool, die Rechte von der App erben, die in unterschiedlichen Prozessen laufen??? Ein Helper Tool läuft eigenständig und wird teilweise über die Anmeldeobjekte/launchd gestartet! Nur child Prozesse, die z.B. durch NSTask, o.ä. erzeugt werden, erben die Rechte!!!


laaaangweilig

0
MacMark
MacMark18.11.1122:42
Ich muß gar nichts beweisen. Das kannst Du Dir selbst beweisen. Ist nicht mein Problem, wenn Du die einfachsten Sachen weder kennst noch nachvollziehen kannst. Schieb Du mal ruhig weiter Langeweile.

Child-Prozesse per NSTask oder posix_spawn et aliud sind vom Mutterprozeß unterschiedene Prozesse und erben sowohl die Sandbox als auch die Rechte. Solange die App nicht läuft, braucht sie auch ihr Helper-Tool nicht.
„@macmark_de“
0
MacMark
MacMark18.11.1123:04
Duck Dodgers
Es läuft so ab: Der User setzt in den Einstellungen des Programms ... über den "Browse-Button" den Ordner. Im Hintergrund werden dann die Webseiten-Dateien erzeugt und in diesen Ordner geschrieben. Diese Dateien werden aber irgendwann zur Laufzeit ohne Nutzeraktion gespeichert.

Das geht mit Sandbox und PowerBox ohne Temporary Exceptions.
„@macmark_de“
0
Duck Dodgers19.11.1110:22
MacMark
Ich muß gar nichts beweisen. Das kannst Du Dir selbst beweisen. Ist nicht mein Problem, wenn Du die einfachsten Sachen weder kennst noch nachvollziehen kannst. Schieb Du mal ruhig weiter Langeweile.
Dann solltest du vielleicht aufhören, Sachen zu erzählen, die nicht funktionieren! Damit zeigt DU nur, dass DU keine Ahnung hast!
MacMark
Child-Prozesse per NSTask oder posix_spawn et aliud sind vom Mutterprozeß unterschiedene Prozesse und erben sowohl die Sandbox als auch die Rechte. Solange die App nicht läuft, braucht sie auch ihr Helper-Tool nicht.
LOL selten so gelacht. Abgesehen davon, dass der Entwickler entscheidet, wann er ein Helper-Tool braucht oder nicht, ist dies ein selbständiges Programm und läuft nicht als child-Prozess!!! Wie bekommt diese App den da bitte die Rechte vererbt??? Du schreibst es doch selbst: "NSTask oder posix_spawn" ...

Achso, und deshalb läuft der "iTunes Helper" immer im Hintergrund, obwohl iTunes gar nicht geöffnet ist *sick*
MacMark
Das geht mit Sandbox und PowerBox ohne Temporary Exceptions.
LOL Das geht ... das geht ... das geht ... Ja, wie geht das den nun?




Mit jedem Post, den du hier schreibst, katapultierst du dich immer weiter ins Aus
0
o.wunder
o.wunder19.11.1111:00
aha, das Problem ist also ein Prozess (Helper-App) der im Hintergrund läuft, aber nicht von dem Hauptprogramm gestartet wird, also auch nicht von diesem die Sandbox erben kann. Alles klar, dann geht es nicht.

Apple hat, was Dateisysteme angeht, in meinen Augen eine Konzeptlosigkeit. Nun wirds länger:

Beispiele:
Prozesse/Apps können nicht beliebige Verzeichnisse anmelden.
Dateien werden, ausgehend von der iOS Denke, einer App zugeordnet, obwohl die Dateien von unterschiedlichsten Apps bearbeitet werden könnten.
Apple hat das Problem wohl irgendwie erkannt, sonst hätten Sie ja nicht einige Ordner für alle Apps freigegeben, zB Bilder, Musik, Downlods. Das zeugt von keinem durchdachtem System.
Apple hat ZFS als Dateisystem wieder fallen gelassen und bleibt stattdessen bei dem mittlerweile veraltetem HFS+ (ich denke da ist NTFS noch besser).

Wenn Apple jetzt noch das Dateiverhalten von iOS auf OS X bringt, dann war es das für viele Apps und Anwender. Ich möchte doch zB eine Word Datei die ich zB per Mail bekomme entweder in MS Office for Mac, oder OpenOffice, oder LibreOffice, NeoOffice und was weiß ich noch in anderen Programmen öffnen können. Wie kann man sich nur vorstellen, das die Daten fest zu EINEM Programm gehören? Eher müßte es anders herum sein: Die Daten bestimmen, mit welchen Programmen sie bearbeitbar sind, oder der Anwender entscheidet das, wie es heute noch Standard ist.

Das alles zeigt in meinen Augen deutlich, das Apple kein schlüssiges Konzept für eine neu gestaltete Datenablage hat und nur an allen Ecken und Kanten rum laboriert, um zB Nachteile der Sandbox irgendwie zu vermeiden und die iOS Welt mit der OS X Welt zu verbinden.

Nun gut, Apple steht mit dieser Konzeptlosigkeit nicht alleine da, ich erinnere nur an WinFS, das eine Objektorientierte, Datenbank gestützte Dateiablage werden sollte und von Microsoft auch wieder fallen gelassen wurde. Irgendwie fällt mir da jetzt das Palm Betriebssystem ein, das hatte da schon einiges mit der Dateiablage gelöst.

Wie könnte denn eine neuartige Datenablage aussehen?
Ich denke es ist schon richtig das Daten entkoppelt von Apps gelagert werden. Es müßte nur irgendwie eine Verbindung von Apps zu Daten geschaffen werden und zwar eine solche, die sich kontrollieren läßt, um Schadsoftware zu verhindern. Palm OS hatte das durch Zuweisung der App ID zu den Daten gelöst (soweit ich noch weiss) und damit bei Aufruf der Daten die zugehörige App gestartet. An dieser Stelle fehlt nur noch, das sich die Daten zu mehreren Apps zuweisen lassen können und dieser Prozess müsste kontrolliert werden, bzw. auch vom Anwender einstellbar sein. Mehr fällt mir zu dem Thema jetzt nicht mehr ein, Apple muss was tun, soviel steht fest.
0
MacMark
MacMark19.11.1118:01
Duck Dodgers
Dann solltest du vielleicht aufhören, Sachen zu erzählen, die nicht funktionieren! Damit zeigt DU nur, dass DU keine Ahnung hast!
LOL selten so gelacht. Abgesehen davon, dass der Entwickler entscheidet, wann er ein Helper-Tool braucht oder nicht, ist dies ein selbständiges Programm und läuft nicht als child-Prozess!!! Wie bekommt diese App den da bitte die Rechte vererbt??? Du schreibst es doch selbst: "NSTask oder posix_spawn" ...
Achso, und deshalb läuft der "iTunes Helper" immer im Hintergrund, obwohl iTunes gar nicht geöffnet ist *sick*
LOL Das geht ... das geht ... das geht ... Ja, wie geht das den nun?
Mit jedem Post, den du hier schreibst, katapultierst du dich immer weiter ins Aus

Ausflippen hilft Dir nicht weiter. Alle Deine Programme sind Child-Prozesse.

Deine App braucht auch kein Helper Tool analog zum iTunes Helper, denn Du wartest nicht darauf, daß ein iPod eingesteckt wird. Deine App braucht allenfalls ein Redesign – und möglicherweise einen anderen Programmierer.
o.wunder
… Ich möchte doch zB eine Word Datei die ich zB per Mail bekomme entweder in MS Office for Mac, oder OpenOffice, oder LibreOffice, NeoOffice und was weiß ich noch in anderen Programmen öffnen können.
Kannst Du doch.
o.wunder
Wie kann man sich nur vorstellen, das die Daten fest zu EINEM Programm gehören? …
Das ist doch gar nicht der Fall.
o.wunder
Wie könnte denn eine neuartige Datenablage aussehen?…
Man braucht keine neue.

„@macmark_de“
0
o.wunder
o.wunder19.11.1118:43
MacMark
Die Dinge aus dem Zusammenhang reissen und drauf antworten bringt überhaupt nix.

Tatsächlich ist es so das es doch Apple ist, die die Daten an die App koppeln, extrem in iOS und nun versuchen Sie das auch auf OS X zu übertragen, indem Sie beides in eine Sandbox verfrachten. Das ist doch eindeutig eine neue Form der Datenablage!!
0
Duck Dodgers19.11.1118:52
MacMark
Alle Deine Programme sind Child-Prozesse.
Ja, du hast wie immer Recht
MacMark
Deine App braucht auch kein Helper Tool analog zum iTunes Helper, denn Du wartest nicht darauf, daß ein iPod eingesteckt wird.
Erst mal ging es nicht um meine App, sondern darum, dass DU gesagt hast, dass ein Helper Tool nicht laufen muss, wenn die Haupt app nicht läuft und zweitens finde ich es einfach nur faszinierend, wie Du beurteilen kann, was meine oder irgendeine andere App braucht! Abgesehen davon, sagte ich nicht, dass meine App ein Helper-Tool nutzt Es ging ja darum, dass du behauptest, das ein Helper Tool die Rechte der eigentlichen App erbt, also das "iTunes Helper" die Rechte von iTunes erbt und das ist (um es mal in deiner Sprache zu sagen) absoluter Quatsch (ich erspare uns jetzt mal die Einfärbung)!
MacMark
Deine App braucht allenfalls ein Redesign – und möglicherweise einen anderen Programmierer.
LOL Und du solltest erst mal eine App programmieren und in den App-Store einstellen, bevor du mir sagst, was ich brauche und das ich ein schlechter Programmierer bin Sehr viele, große Worte, aber sehr wenig Taten. Deine Glaubwürdigkeit schrumpft mit jedem Satz
Duck Dodgers
MacMark
Das geht mit Sandbox und PowerBox ohne Temporary Exceptions.
LOL Das geht ... das geht ... das geht ... Ja, wie geht das den nun?
Und wie gehts?
0
Duck Dodgers19.11.1118:54
o.wunder
@@MacMark
Die Dinge aus dem Zusammenhang reissen und drauf antworten bringt überhaupt nix.
FULL ACK
0
MacMark
MacMark19.11.1119:26
o.wunder
@@MacMark
Die Dinge aus dem Zusammenhang reissen und drauf antworten bringt überhaupt nix.
Dein gesamtes Posting war mit oder ohne Zusammenhang gleichmäßig falsch. Ich hätte auch schlicht "alles falsch" darunter schreiben können.
o.wunder
Tatsächlich ist es so das es doch Apple ist, die die Daten an die App koppeln, extrem in iOS (0) und nun versuchen Sie das auch auf OS X zu übertragen (1), indem Sie beides in eine Sandbox verfrachten (2). Das ist doch eindeutig eine neue Form der Datenablage (3)!!

(0) Ja, da ist es auch sinnvoll.
(1) Nein.
(2) iOS und OS X handhaben Userdaten unterschiedlich.
(3) Nein.

Duck Dodgers
Na, schön am verdrehen? Ein Helper Tool kann die Rechte und die Sandbox erben. Kommt auf das Design an.
„@macmark_de“
0
Duck Dodgers19.11.1121:03
MacMark
Duck Dodgers
Na, schön am verdrehen? Ein Helper Tool kann die Rechte und die Sandbox erben. Kommt auf das Design an.
Auch hier frage ich dich mal wieder: Wie? Wie soll das gehen? Wie soll "iTunes Helper" die Rechte erben?
0
MacMark
MacMark20.11.1108:02
Deine App braucht kein Helper Tool von der Art des "iTunes Helper".
„@macmark_de“
0
MacMark
MacMark20.11.1108:27
… und andersrum bräuchte und sollte ein Helper Tool von der Art des "iTunes Helper" auch nichts von irgendeiner App erben.

Dein Programm-Design ist schlicht unpassend.
„@macmark_de“
0
Duck Dodgers20.11.1109:20
MacMark
Deine App braucht kein Helper Tool von der Art des "iTunes Helper".
Das kannst DU beurteilen? Du kennst meine App doch gar nicht!
MacMark
… und andersrum bräuchte und sollte ein Helper Tool von der Art des "iTunes Helper" auch nichts von irgendeiner App erben.
Was den nun? Einmal so, dann wieder so. Du drehst es dir, wie du es gerade brauchst *sick*
MacMark
Dein Programm-Design ist schlicht unpassend.
Woher weißt du das? Wie sollte mein Design den aussehen? Abgesehen davon, geht es immer noch nicht darum! Selber nichts auf die Beine stellen, aber über andere urteilen. Wo sind noch mal deine Programme Warum sind die nicht im MAS
0
MacMark
MacMark20.11.1115:12
Du hast beschrieben, was sie können soll und wie Du es machst. Das war ausreichend, um das unpassende Design zu erkennen.

Offenbar wieder nicht verstanden, was ich schreibe.
„@macmark_de“
0
Mapache21.11.1100:18
Kindergarten.
0
Duck Dodgers21.11.1104:16
Ich habe auch keine andere Antwort erwartet ... Lass gut sein, MackiMac ... ich nichts verstehen
0
berkyl21.11.1110:15
Folgende Frage Duck Dodgers:
Was macht deine App überhaupt? Bzw. wieso generiert die alle paar Minuten im Hintergrund 'ne HTML-Datei? Was steht in der HTML-Datei? Reiner Text mit 1-2 Grafiken?

Ihr müsst nicht über Probleme diskutieren sondern Lösungen finden... Alles andere is'n scheiss Kindergarten.
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.