Alles erlauben, wenn keine Daten fuer Ebene
Wenn der SV keine Information ueber eine Ebene hat,
fuer die er Supervisor ist, ist alles erlaubt.
Change-Id: I7e0b9747239118a7add552836bbca4b252376a0d
diff --git a/std/channel_supervisor.c b/std/channel_supervisor.c
index 80ed899..ae71713 100644
--- a/std/channel_supervisor.c
+++ b/std/channel_supervisor.c
@@ -82,6 +82,13 @@
public int ch_check_access(string ch, object user, string cmd)
{
struct ch_access access = ch_access_data[ch];
+ // Wenn keine Information verfuegbar, ist der SV zwar als SV eingetragen,
+ // hat aber keine Daten. In dem Fall ist alles erlaubt. Das kann z.B.
+ // passieren, wenn der im .init angegeben SV nicht ladbar ist beim Laden des
+ // Channeld oder wenn beim Erstellen der Ebene explizit ein SV angegeben
+ // wird, der nix weiss.
+ if (!access)
+ return 1;
// <user> ist Gast, es sind aber keine Gaeste zugelassen? Koennen wir
// direkt ablehnen.
if ((access.flags & CH_ACCESS_NOGUEST) && ({int})user->QueryGuest())