$NetBSD: patch-ae,v 1.3 2007/03/01 21:39:09 plunky Exp $

--- server.c.orig	2007-02-26 10:34:10.000000000 +0000
+++ server.c	2007-02-26 10:35:11.000000000 +0000
@@ -149,6 +149,19 @@
 			strlcpy(context->root, pw->pw_dir, PATH_MAX);
 	}
 
+	log_info("%s: Starting OBEX server", __func__);
+
+	if (OBEX_SetTransportMTU(handle, context->mtu, context->mtu) < 0) {
+		log_err("%s(): OBEX_SetTransportMTU failed", __func__);
+		goto done;
+	}
+
+	if (OBEX_ServerRegister(handle, (struct sockaddr *) &context->addr,
+			sizeof(context->addr)) < 0) {
+		log_err("%s(): OBEX_ServerRegister failed", __func__);
+		goto done;
+	}
+
 	if (getuid() == 0) {
 		if (context->secure) {
 			if (chroot(context->root) < 0) {
@@ -184,19 +197,6 @@
 		goto done;
 	}
 
-	log_info("%s: Starting OBEX server", __func__);
-
-	if (OBEX_SetTransportMTU(handle, context->mtu, context->mtu) < 0) {
-		log_err("%s(): OBEX_SetTransportMTU failed", __func__);
-		goto done;
-	}
-
-	if (OBEX_ServerRegister(handle, (struct sockaddr *) &context->addr,
-			sizeof(context->addr)) < 0) {
-		log_err("%s(): OBEX_ServerRegister failed", __func__);
-		goto done;
-	}
-
 	log_debug("%s(): Entering event processing loop...", __func__);
 
 	for (error = 0, context->done = 0; !context->done; ) {
