#ifdef HAVE_CONFIG_H # include #endif #include "vserver.h" #include #include #include #include #include #include #include #define SPACE_FILE "/spaces/net" #define VSERVERCONF "/etc/vservers/" uint32_t get_space_flag(xid_t xid) { char *ctx_space_file, *space_name; struct passwd *slice_user; uint32_t space_flag = 0; slice_user = getpwuid(xid); if (!slice_user) return 0; ctx_space_file=(char *) malloc(sizeof(VSERVERCONF SPACE_FILE "Z")+strlen(slice_user->pw_name)); if (!ctx_space_file) return 0; sprintf(ctx_space_file,VSERVERCONF SPACE_FILE "%s", slice_user->pw_name); if (access(ctx_space_file, F_OK)==0) space_flag |= CLONE_NEWNET; free(ctx_space_dir); return space_flag; }