summaryrefslogtreecommitdiff
path: root/scheduler/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'scheduler/server.c')
-rw-r--r--scheduler/server.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/scheduler/server.c b/scheduler/server.c
index d28cd4a..63fcf90 100644
--- a/scheduler/server.c
+++ b/scheduler/server.c
@@ -1,7 +1,7 @@
/*
* Server start/stop routines for the CUPS scheduler.
*
- * Copyright 2007-2017 by Apple Inc.
+ * Copyright 2007-2018 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -38,16 +38,28 @@ void
cupsdStartServer(void)
{
/*
- * Start color management (as needed)...
+ * Create the default security profile...
*/
- cupsdStartColor();
+ DefaultProfile = cupsdCreateProfile(0, 1);
+
+#ifdef HAVE_SANDBOX_H
+ if (!DefaultProfile && UseSandboxing && Sandboxing != CUPSD_SANDBOXING_OFF)
+ {
+ /*
+ * Failure to create the sandbox profile means something really bad has
+ * happened and we need to shutdown immediately.
+ */
+
+ return;
+ }
+#endif /* HAVE_SANDBOX_H */
/*
- * Create the default security profile...
+ * Start color management (as needed)...
*/
- DefaultProfile = cupsdCreateProfile(0, 1);
+ cupsdStartColor();
/*
* Startup all the networking stuff...