access: Argument user ist immer object
Kommentar entfernt und Signatur geaendert: der user, der
geprueft wird, ist heutzutage immer ein Objekt.
Change-Id: I230b0fd630893b98e37fc137192710fc42eb6109
diff --git a/p/daemon/channeld.c b/p/daemon/channeld.c
index a57599e..a0d5107 100644
--- a/p/daemon/channeld.c
+++ b/p/daemon/channeld.c
@@ -873,13 +873,11 @@
// access() - check access by looking for the right argument types and
// calling access closures respectively
// SEE: new, join, leave, send, list, users
-// Note: <pl> is usually an object, only the master supplies a string during
-// runtime error handling.
// Wertebereich: 0 fuer Zugriff verweigert, 1 fuer Zugriff erlaubt, 2 fuer
// Zugriff erlaubt fuer privilegierte Objekte, die senden duerfen ohne
// Zuhoerer zu sein. (Die Aufrufer akzeptieren aber auch alle negativen Werte
// als Erfolg und alles ueber >2 als privilegiert.)
-varargs private int access(struct channel_s ch, object|string pl, string cmd,
+varargs private int access(struct channel_s ch, object user, string cmd,
string txt)
{
if (!ch)
@@ -894,11 +892,12 @@
// Nur dieses Objekt darf Meldungen im Namen anderer Objekte faken,
// ansonsten muss <pl> der Aufrufer sein.
- if (!objectp(pl) ||
- ((previous_object(1) != pl) && (previous_object(1) != this_object())))
+ if (!objectp(user) ||
+ ((previous_object(1) != user) &&
+ (previous_object(1) != this_object())))
return 0;
- if (IsBanned(pl, cmd))
+ if (IsBanned(user, cmd))
return 0;
// Wenn kein SV-Objekt mehr existiert und kein neues bestimmt werden konnte,
@@ -916,7 +915,7 @@
if (IS_ARCH(previous_object(1)) && ch.supervisor != this_object())
return 1;
- return funcall(ch.access_cl, lower_case(ch.name), pl, cmd, &txt);
+ return funcall(ch.access_cl, lower_case(ch.name), user, cmd, &txt);
}
// Neue Ebene <ch> erstellen mit <owner> als Ebenenbesitzer.