use $(LIBENSCVECTOR) instead of libensc_vector.a
[util-vserver.git] / util-vserver / src / rebootmgr.c
index 8e9570e..08528b2 100644 (file)
        The vreboot utility is used to send the signal from the vserver
        environment.
 */
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+#include "pathconfig.h"
+
 #include <stdio.h>
 #include <unistd.h>
 #include <stdlib.h>
 #include <sys/types.h>
+#include <limits.h>
 #include <errno.h>
 #include <syslog.h>
 #include <sys/stat.h>
@@ -61,7 +67,7 @@ static int rebootmgr_opensocket (const char *vname)
        int ret = -1;
        char sockn[PATH_MAX];
        int fd =  socket (AF_UNIX,SOCK_STREAM,0);
-       sprintf (sockn,"/vservers/%s/dev/reboot",vname);
+       sprintf (sockn, DEFAULT_VSERVERDIR "/%s/dev/reboot",vname);
        unlink (sockn);
        if (fd == -1){
                fprintf (stderr,"Can't create a unix domain socket (%s)\n"
@@ -99,13 +105,13 @@ static int rebootmgr_process (int fd, const char *vname)
                if (strcmp(buf,"reboot\n")==0){
                        char cmd[1000];
                        syslog (LOG_NOTICE,"reboot vserver %s\n",vname);
-                       snprintf (cmd,sizeof(cmd)-1,"/usr/sbin/vserver %s restart >>/var/log/boot.log 2>&1",vname);
+                       snprintf (cmd,sizeof(cmd)-1, SBINDIR "/vserver %s restart >>/var/log/boot.log 2>&1", vname);
                        system (cmd);
                        ret = 0;
                }else if (strcmp(buf,"halt\n")==0){
                        char cmd[1000];
                        syslog (LOG_NOTICE,"halt vserver %s\n",vname);
-                       snprintf (cmd,sizeof(cmd)-1,"/usr/sbin/vserver %s stop >>/var/log/boot.log 2>&1",vname);
+                       snprintf (cmd,sizeof(cmd)-1, SBINDIR "/vserver %s stop >>/var/log/boot.log 2>&1", vname);
                        system (cmd);
                        ret = 0;
                }else{
@@ -197,7 +203,7 @@ int main (int argc, char *argv[])
                                                int fd = sockets[i];
                                                if (FD_ISSET(fd,&fdin)){
                                                        struct sockaddr_un unc;
-                                                       size_t len = sizeof(unc);
+                                                       socklen_t len = sizeof(unc);
                                                        unc.sun_family = AF_UNIX;
                                                        fd = accept (fd,(struct sockaddr*)&unc,&len);
                                                        if (fd != -1){