summaryrefslogtreecommitdiffstats
path: root/tdm/backend
diff options
context:
space:
mode:
Diffstat (limited to 'tdm/backend')
-rw-r--r--tdm/backend/dpylist.c103
-rw-r--r--tdm/backend/server.c44
-rw-r--r--tdm/backend/util.c65
3 files changed, 119 insertions, 93 deletions
diff --git a/tdm/backend/dpylist.c b/tdm/backend/dpylist.c
index b512293f7..0119c12cb 100644
--- a/tdm/backend/dpylist.c
+++ b/tdm/backend/dpylist.c
@@ -64,12 +64,12 @@ AnyRunningDisplays( void )
for (d = displays; d; d = d->next)
switch (d->status) {
- case notRunning:
- case textMode:
- case reserve:
- break;
- default:
- return 1;
+ case notRunning:
+ case textMode:
+ case reserve:
+ break;
+ default:
+ return 1;
}
return 0;
}
@@ -79,9 +79,11 @@ AnyReserveDisplays( void )
{
struct display *d;
- for (d = displays; d; d = d->next)
- if ((d->displayType & d_lifetime) == dReserve)
+ for (d = displays; d; d = d->next) {
+ if ((d->displayType & d_lifetime) == dReserve) {
return 1;
+ }
+ }
return 0;
}
@@ -91,9 +93,11 @@ idleReserveDisplays( void )
struct display *d;
int cnt = 0;
- for (d = displays; d; d = d->next)
- if (d->status == reserve)
+ for (d = displays; d; d = d->next) {
+ if (d->status == reserve) {
cnt++;
+ }
+ }
return cnt;
}
@@ -102,9 +106,11 @@ StartReserveDisplay( int lt )
{
struct display *d, *rd;
- for (rd = 0, d = displays; d; d = d->next)
- if (d->status == reserve)
+ for (rd = 0, d = displays; d; d = d->next) {
+ if (d->status == reserve) {
rd = d;
+ }
+ }
if (rd) {
rd->idleTimeout = lt;
rd->status = notRunning;
@@ -129,8 +135,9 @@ static void
_forEachDisplayRev( struct display *d, void (*f)( struct display * ) )
{
if (d) {
- if (d->next)
- _forEachDisplayRev( d->next, f );
+ if (d->next) {
+ _forEachDisplayRev(d->next, f);
+ }
(*f)( d );
}
}
@@ -147,9 +154,11 @@ FindDisplayByName( const char *name )
{
struct display *d;
- for (d = displays; d; d = d->next)
- if (!strcmp( name, d->name ))
+ for (d = displays; d; d = d->next) {
+ if (!strcmp( name, d->name )) {
return d;
+ }
+ }
return 0;
}
@@ -158,9 +167,11 @@ FindDisplayByPid( int pid )
{
struct display *d;
- for (d = displays; d; d = d->next)
- if (pid == d->pid)
+ for (d = displays; d; d = d->next) {
+ if (pid == d->pid) {
return d;
+ }
+ }
return 0;
}
@@ -169,9 +180,11 @@ FindDisplayByServerPid( int serverPid )
{
struct display *d;
- for (d = displays; d; d = d->next)
- if (serverPid == d->serverPid)
+ for (d = displays; d; d = d->next) {
+ if (serverPid == d->serverPid) {
return d;
+ }
+ }
return 0;
}
@@ -182,9 +195,11 @@ FindDisplayBySessionID( CARD32 sessionID )
{
struct display *d;
- for (d = displays; d; d = d->next)
- if (sessionID == d->sessionID)
+ for (d = displays; d; d = d->next) {
+ if (sessionID == d->sessionID) {
return d;
+ }
+ }
return 0;
}
@@ -193,12 +208,14 @@ FindDisplayByAddress( XdmcpNetaddr addr, int addrlen, CARD16 displayNumber )
{
struct display *d;
- for (d = displays; d; d = d->next)
+ for (d = displays; d; d = d->next) {
if ((d->displayType & d_origin) == dFromXDMCP &&
d->displayNumber == displayNumber &&
addressEqual( (XdmcpNetaddr)d->from.data, d->from.length,
- addr, addrlen ))
+ addr, addrlen )) {
return d;
+ }
+ }
return 0;
}
@@ -207,37 +224,38 @@ FindDisplayByAddress( XdmcpNetaddr addr, int addrlen, CARD16 displayNumber )
#define IfFree(x) if (x) free( (char *)x )
void
-RemoveDisplay( struct display *old )
+RemoveDisplay(struct display *old)
{
struct display *d, **dp;
int i;
for (dp = &displays; (d = *dp); dp = &(*dp)->next) {
if (d == old) {
- Debug( "Removing display %s\n", d->name );
+ Debug("Removing display %s\n", d->name);
*dp = d->next;
- IfFree( d->class2 );
- IfFree( d->cfg.data );
- delStr( d->cfg.dep.name );
+ IfFree(d->class2);
+ IfFree(d->cfg.data);
+ delStr(d->cfg.dep.name);
#ifdef XDMCP
- IfFree( d->remoteHost );
+ IfFree(d->remoteHost);
#endif
if (d->authorizations) {
- for (i = 0; i < d->authNum; i++)
- XauDisposeAuth( d->authorizations[i] );
- free( (char *)d->authorizations );
+ for (i = 0; i < d->authNum; i++) {
+ XauDisposeAuth(d->authorizations[i]);
+ }
+ free((char *)d->authorizations);
}
if (d->authFile) {
- (void)unlink( d->authFile );
- free( d->authFile );
+ (void)unlink(d->authFile);
+ free(d->authFile);
}
- IfFree( d->authNameLens );
+ IfFree(d->authNameLens);
#ifdef XDMCP
- XdmcpDisposeARRAY8( &d->peer );
- XdmcpDisposeARRAY8( &d->from );
- XdmcpDisposeARRAY8( &d->clientAddr );
+ XdmcpDisposeARRAY8(&d->peer);
+ XdmcpDisposeARRAY8(&d->from);
+ XdmcpDisposeARRAY8(&d->clientAddr);
#endif
- free( (char *)d );
+ free((char *)d);
break;
}
}
@@ -270,8 +288,9 @@ NewDisplay( const char *name )
hstent->next = disphist; disphist = hstent;
}
- if (!(d = (struct display *)Calloc( 1, sizeof(*d) )))
+ if (!(d = (struct display *)Calloc( 1, sizeof(*d) ))) {
return 0;
+ }
d->next = displays;
d->hstent = hstent;
d->name = hstent->name;
@@ -289,6 +308,6 @@ NewDisplay( const char *name )
d->xdmcpFd = -1;
#endif
displays = d;
- Debug( "created new display %s\n", d->name );
+ Debug("created new display %s\n", d->name);
return d;
}
diff --git a/tdm/backend/server.c b/tdm/backend/server.c
index e78d8a66c..3c934e2aa 100644
--- a/tdm/backend/server.c
+++ b/tdm/backend/server.c
@@ -178,28 +178,28 @@ StartServerTimeout()
{
struct display *d = startingServer;
switch (d->serverStatus) {
- case ignore:
- case awaiting:
- break; /* cannot happen */
- case starting:
- LogError( "X server startup timeout, terminating\n" );
- kill( d->serverPid, d->termSignal );
- d->serverStatus = d->termSignal == SIGKILL ? killed : terminated;
- serverTimeout = d->serverTimeout + now;
- break;
- case terminated:
- LogInfo( "X server termination timeout, killing\n" );
- kill( d->serverPid, SIGKILL );
- d->serverStatus = killed;
- serverTimeout = 10 + now;
- break;
- case killed:
- LogInfo( "X server is stuck in D state; leaving it alone\n" );
- StartServerFailed();
- break;
- case pausing:
- StartServerOnce();
- break;
+ case ignore:
+ case awaiting:
+ break; /* cannot happen */
+ case starting:
+ LogError( "X server startup timeout, terminating\n" );
+ kill( d->serverPid, d->termSignal );
+ d->serverStatus = d->termSignal == SIGKILL ? killed : terminated;
+ serverTimeout = d->serverTimeout + now;
+ break;
+ case terminated:
+ LogInfo( "X server termination timeout, killing\n" );
+ kill( d->serverPid, SIGKILL );
+ d->serverStatus = killed;
+ serverTimeout = 10 + now;
+ break;
+ case killed:
+ LogInfo( "X server is stuck in D state; leaving it alone\n" );
+ StartServerFailed();
+ break;
+ case pausing:
+ StartServerOnce();
+ break;
}
}
diff --git a/tdm/backend/util.c b/tdm/backend/util.c
index 7dd58f031..4290c6db6 100644
--- a/tdm/backend/util.c
+++ b/tdm/backend/util.c
@@ -565,18 +565,22 @@ ListSessions( int flags, struct display *d, void *ctx,
STRUCTUTMP *ut;
#endif
- for (di = displays; di; di = di->next)
+ for (di = displays; di; di = di->next) {
if (((flags & lstRemote) || (di->displayType & d_location) == dLocal) &&
(di->status == remoteLogin ||
- ((flags & lstPassive) ? di->status == running : di->userSess >= 0)))
- emitXSess( di, d, ctx );
+ ((flags & lstPassive) ? di->status == running : di->userSess >= 0))) {
+ emitXSess(di, d, ctx);
+ }
+ }
- if (!(flags & lstTTY))
+ if (!(flags & lstTTY)) {
return;
+ }
#ifdef BSD_UTMP
- if ((fd = open( UTMP_FILE, O_RDONLY )) < 0)
+ if ((fd = open( UTMP_FILE, O_RDONLY )) < 0) {
return;
+ }
while (Reader( fd, ut, sizeof(ut[0]) ) == sizeof(ut[0])) {
if (*ut->ut_user) { /* no idea how to list passive TTYs on BSD */
#else
@@ -590,40 +594,43 @@ ListSessions( int flags, struct display *d, void *ctx,
{
#endif
if (*ut->ut_host) { /* from remote or x */
- if (!(flags & lstRemote))
+ if (!(flags & lstRemote)) {
continue;
- } else {
+ }
+ }
+ else {
/* hack around broken konsole which does not set ut_host. */
/* this check is probably linux-specific. */
/* alternatively we could open the device and try VT_OPENQRY. */
- if (memcmp( ut->ut_line, "tty", 3 ) ||
- !isdigit( ut->ut_line[3] ))
+ if (memcmp( ut->ut_line, "tty", 3 ) || !isdigit( ut->ut_line[3] )) {
continue;
+ }
}
- if (StrNChrCnt( ut->ut_line, sizeof(ut->ut_line), ':' ))
+ if (StrNChrCnt( ut->ut_line, sizeof(ut->ut_line), ':' )) {
continue; /* x login */
+ }
switch (StrNChrCnt( ut->ut_host, sizeof(ut->ut_host), ':' )) {
- case 1: /* x terminal */
- continue;
- default:
+ case 1: /* x terminal */
+ continue;
+ default:
#ifdef IP6_MAGIC
- /* unknown - IPv6 makes things complicated */
- le = StrNLen( ut->ut_host, sizeof(ut->ut_host) );
- /* cut off screen number */
- for (dot = le; ut->ut_host[--dot] != ':'; )
- if (ut->ut_host[dot] == '.') {
- le = dot;
- break;
- }
- for (di = displays; di; di = di->next)
- if (!memcmp( di->name, ut->ut_host, le ) && !di->name[le])
- goto cont; /* x terminal */
- break;
- cont:
- continue;
- case 0: /* no x terminal */
+ /* unknown - IPv6 makes things complicated */
+ le = StrNLen( ut->ut_host, sizeof(ut->ut_host) );
+ /* cut off screen number */
+ for (dot = le; ut->ut_host[--dot] != ':'; )
+ if (ut->ut_host[dot] == '.') {
+ le = dot;
+ break;
+ }
+ for (di = displays; di; di = di->next)
+ if (!memcmp( di->name, ut->ut_host, le ) && !di->name[le])
+ goto cont; /* x terminal */
+ break;
+ cont:
+ continue;
+ case 0: /* no x terminal */
#endif
- break;
+ break;
}
emitTTYSess( ut, d, ctx );
}