• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Programm als anderer Benutzer, Drag & Drop funktioniert nicht

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Nein. Du kannst nicht auf Adreßräume zugreifen, die zum Prozeß eines anderen Users gehören.
Jeder User hat eine eigene Instanz des pbs laufen.

Falsch.

Du kannst schon nicht auf Adressräume eines anderen Prozesses desselben Users zugreifen. Das hat immer noch nichts mit dem User zu tun, sondern mit Prozessen.
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Mann, ist das spannend. Bitte nicht resignieren, ich will noch ein Ende sehen, wo klar wird welche Ansicht nun korrekt ist.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Amin hat mich diverse Male in diesem Thread beleidigt und ich wollte ihn daher zur Strafe uninformiert sterben lassen. Allerdings würde ich damit auch die anderen braven User strafen. Daher antworte ich doch:

Mit task_for_pid() bekommt man Zugriff auf den laufenden Prozeß mit der gegebenen Prozeß-Id. Dabei werden neben Prüfung der User-Ids der beteiligten Prozesse noch ein paar andere Sicherheits-Checks durchgeführt. Anschließend kann man mit vm_read() und vm_write() den Speicher des Prozesses lesen oder schreiben.

Es gibt diverse Tools, die das so machen. Ich habe auch schon seit Jahren darüber geschrieben. Und es gibt einige Bücher, die das ebenfalls beschreiben. Allerdings keines von Amin. Peinlich, wenn man Co-Autor eines Objective-C Buches ist, aber solche Dinge nicht kennt.
 
Zuletzt bearbeitet:

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Also bleibt festzustellen: Du hast das Maul aufgerissen und kannst keinen Code liefern. War irgendwie klar. Schließlich ist das schon häufiger vorgekommen.

Dass du jetzt allerdings mit Beleidigungen auf andere abzulenken versuchst, ist sogar für dich neu.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
... weil du keinen liefern kannst.
Können schon. Aber da Du die benutzten Funktionen (task_for_pid() et aliud) nicht mal kennst, würdest Du es eh nicht verstehen. Außerdem habe ich keinen Bock, Dir eine kostenlose Unterrichtsstunde zu erteilen, zumal Du mich mehrmals dumm-dreist beleidigt hast, teilweise feige verpackt mit Anspielungen auf "Nuhr" et cetera.
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Schade, dass ihr da euch jetzt in die Haare gekommen seid, ich hätte gerne noch ein Fazit mitbekommen. Als halbwissender weiß ich nun nicht welche Richtung nun der Wahrheit näher kommt. Dass es bei sowas konkretem wie Computer-Logik esoterische Auswüchse annimmt ist irgendwie schon seltsam.

Dass Forenbeiträge (und SMS) immer so persönlich genommen werden ist echt eine weit verbreitete Krankheit. Ich sehe auf beiden Seiten kein handfesten Beleidigungen, das ist in meinen Augen eher hineininterpretiert. Okay, manches ist vielleicht scharf formuliert, so what? Wenn ihr euch Streiten wollt, dann macht das per PM, aber nicht hier vor der „Öffentlichkeit“, davon haben wir nichts und das Forum ist nun mal für alle und nicht für persönliche Kommunikation oder Nicht-Kommunikation.

„Denkt mal darüber nach“, würde es jetzt im Heise-Forum heißen.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Können schon. Aber da Du die benutzten Funktionen (task_for_pid() et aliud) nicht mal kennst, würdest Du es eh nicht verstehen. Außerdem habe ich keinen Bock, Dir eine kostenlose Unterrichtsstunde zu erteilen, zumal Du mich mehrmals dumm-dreist beleidigt hast, teilweise feige verpackt mit Anspielungen auf "Nuhr" et cetera.

Du kannst, du tust es aber nicht? So, so, …

Ich kenne die Funktion. Deshalb bin ich ja so gespannt auf deinen Code. Also, mach doch mal!
Code:

Das kommt bei dir ja so häufig vor, dass du irgendwas kannst, dann es aber nicht zeigst. Zuletzt hatte ich das bei 64-Bit-kext gesehen. Da ich hier aber seltener bin, dürfte die Dunkelziffer hoch sein.

Du bist im "Kann ich"-Sagen einfach viel besser als im "Kann ich"-Machen. Dafür gibt es im Deutschen einen schönen Begriff:

Maulheld
Bedeutungen:
[1] eine Person, die gerne mit ihren Taten und Fähigkeiten prahlt, tatsächlich aber kaum etwas Entsprechendes tut.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Schade, dass ihr da euch jetzt in die Haare gekommen seid, ich hätte gerne noch ein Fazit mitbekommen. Als halbwissender weiß ich nun nicht welche Richtung nun der Wahrheit näher kommt. Dass es bei sowas konkretem wie Computer-Logik esoterische Auswüchse annimmt ist irgendwie schon seltsam.

Dass Forenbeiträge (und SMS) immer so persönlich genommen werden ist echt eine weit verbreitete Krankheit. Ich sehe auf beiden Seiten kein handfesten Beleidigungen, das ist in meinen Augen eher hineininterpretiert. Okay, manches ist vielleicht scharf formuliert, so what? Wenn ihr euch Streiten wollt, dann macht das per PM, aber nicht hier vor der „Öffentlichkeit“, davon haben wir nichts und das Forum ist nun mal für alle und nicht für persönliche Kommunikation oder Nicht-Kommunikation.

„Denkt mal darüber nach“, würde es jetzt im Heise-Forum heißen.

Die Sache ist ganz einfach: Für die Trennung der Pasteboards nach Usern gibt es einen funktionalen Grund und genau gar keinen Sicherheitsaspekt.

+++

Nur am Rande: Auch bei seinem task_for_pid() nicht. Obwohl, doch schon, irgendwie, aber das hat wenig mit Mail.App und angemeldeten Nutzern zu tun. Mal schauen, ob er noch drauf kommt, warum er keinen Code liefern kann. (Außer mangelnder Fachkenntnis freilich)
 
Zuletzt bearbeitet:

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Das zitiere ich mal, damit es noch jahrelang zur Erheiterung von Fachleuten verwendet werden kann.

Schön collagiert.

Ach, bevor ich es vergesse: Hast du deinen Wundercode zusammenbekommen oder machst du immer noch den nichts könnenden Maulhelden?

Letzteres?

Bist du wenigstens zwischenzeitlich drauf gekommen, warum das mit task_for_pid() nicht so richtig in einer App funktioniert? Nein? Doch? Vielleicht? Eigentlich müsste man dazu ja nur wenig Doku oder Singh lesen. Den hast du doch?

Du könntest dann noch die 64-Bit-kext hier veröffentlichen, die du so einfach programieren kannst. Ach, da warst du ja auch nur der nichts könnende Maulheld. Man bekommt fast den Eindruck, dass es bei dir Konzept ist, nichts zu können.
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Hallo? Geht’s noch? Beruhigt euch doch mal. Habt ihr im Kindergarten irgendwas nicht richtig verarbeitet? Wenn einer unsachlich wird, müssen doch nicht gleich alle auf den Zug aufspringen. Eine Diskussion führt man am besten mit Argumenten und Belegen.
 

pseudonym13

Alkmene
Registriert
30.09.09
Beiträge
30
und was hilft mir das jetzt?

so, dass war ja aufregend... aber auch ein bisschen nervig. Teilweise ist vor lauter Ironie und Spitze bei mir als "Unbedarfter" nicht mehr angekommen was ihr eigentlich sagen wollt.
Aber ein bisschen was gelernt habe ich glaube ich trotzdem.

Um nun wieder etwas praktischer/konkreter zu werden:

wo werden denn die verschiedenen pbs nach Benutzer unterschieden und wer oder was tut das? Ist es möglich daran etwas zu ändern?
Also wo müsste etwas verändert werden, damit ein pbs von den Prozessen zwei verschiedener Benutzer verwendet werden könnte? Oder ist es gar nicht möglich daran rum zubassteln?

Eigentlich war das ja gar nicht mein Ziel, weil ich es von vorn herein für unmöglich hielt.
Was ich wollte war, dass (über das Terminal gestartet) der pbs von User B ordentlich mit Mail von User B zusammenarbeitet. Aber nicht mal das funktionierte. Mail von User B verlor irgend wann (wie Rastafari schon vorausgesagt hatte) die Verbindung zum pbs von User B und User A hatte auf einmal zwei verschiedene pbs. Wäre ja schon interessant zu wissen, warum ein Prozess auf einmal den User wechselt. Wenn ich mich richtig erinnere, wurde doch (von wem auch immer) mehrmals betont, dass das unter keinen Umständen passieren kann/darf. Liegt es vielleicht daran, dass der pbs von User B aus einem Terminal heraus gestartet wurde, welches als User A läuft, oder bringe ich da jetzt alles durcheinander?

Fragen über Fragen.... ihr hab doch bestimmt noch eine Menge dazu zu sagen. Wäre doch schade, wenn die Show schon Ende ist... ;)
 
Zuletzt bearbeitet:

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
wo werden denn die verschiedenen pbs nach Benutzer unterschieden und wer oder was tut das?
Eine eigene Instanz des pbs gehört zu jeder Benutzersitzung.
Ist es möglich daran etwas zu ändern?
Nein.
Also wo müsste etwas verändert werden, damit ein pbs von den Prozessen zwei verschiedener Benutzer verwendet werden könnte?
Es müsste einen unter root laufenden "Pasteboard-Master" geben, der zwischen den Konten vermittelt.
Oder ist es gar nicht möglich daran rum zubassteln?
pbs ist kein quelloffener Teil des OS, also müsstest du komplett etwas neues schreiben.
warum ein Prozess auf einmal den User wechselt.
Das passiert nicht. Der Prozess stürzt lediglich ab (bzw wird von launchd abgeschossen) und wird dann unter "falschem" Account neu gestartet. Es darf in der Prozesshierarchie unterhalb der gleichen benutzerspezifischen launchd-Instanz keine zwei pbs-Prozesse geben, sonst zwickts. So einfach ist das.
 

pseudonym13

Alkmene
Registriert
30.09.09
Beiträge
30
Eine eigene Instanz des pbs gehört zu jeder Benutzersitzung.
Ja, das war mir klar.

Es müsste einen unter root laufenden "Pasteboard-Master" geben, der zwischen den Konten vermittelt.

Würde es dann reichen einen "normalen" pbs als root laufen zu lassen, oder müsste dazu der pbs anders beschaffen sein, als er es unter einem normalen Benutzer ist?

Das passiert nicht. Der Prozess stürzt lediglich ab (bzw wird von launchd abgeschossen) und wird dann unter "falschem" Account neu gestartet. Es darf in der Prozesshierarchie unterhalb der gleichen benutzerspezifischen launchd-Instanz keine zwei pbs-Prozesse geben, sonst zwickts. So einfach ist das.

Aber dann dürfte der pbs doch nicht vom launchd unter User A neu gestartet werden, sonst sind es dann doch wieder zwei pbs unterhalb der selben launchd-Instanz. Kann es sein, dass lauchd etwas tut was er selber verbietet? Außerdem dauert das manchmal ganz schön lange bis "die Verbindung verloren geht". Müsste der launchd das nicht gleich merken?