X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=src%2Fnamespaces.c;fp=src%2Fnamespaces.c;h=0000000000000000000000000000000000000000;hb=731ba056be6f4fe0787e11c7733ef7d3ac9f43a6;hp=9f89bcd13b3d09ae8c7d704477383e94434de302;hpb=ae5703a7a7572b2616a9fee7a774d46d498e649a;p=util-vserver-pl.git diff --git a/src/namespaces.c b/src/namespaces.c deleted file mode 100644 index 9f89bcd..0000000 --- a/src/namespaces.c +++ /dev/null @@ -1,102 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "vserver.h" -#include -#include -#include -#include -#include -#include - -#ifdef CLONE_NEWNET -# define DECLARE_NS(X,Y) { #X, CLONE_NEW##X } -#else -# warning CLONE_NEWNET not defined, using memorized value -# define DECLARE_NS(X,Y) { #X, Y } -#endif - -#define SPACE_DIR "pl_spaces" - -static struct { - const char * const id; - unsigned char bit; -} const NS2BIT[] = { - DECLARE_NS(NET, 32) - - /* All entries between FIRST_NS and the last defined namespace - * must be filled in */ - #define FIRST_NS 32 -}; - -int -text2ns(const char *str) -{ - size_t i; - for (i=0; i=sizeof(NS2BIT)/sizeof(NS2BIT[0])) return 0; - return NS2BIT[bit - FIRST_NS].id; -} - -#define VSERVERCONF "/etc/vservers/" - -uint32_t -get_space_flag(xid_t xid) { - char *ctx_space_dir, *space_name; - struct passwd *slice_user; - FILE *fp_in; - unsigned int bit; - - slice_user = get_pwuid(xid); - - if (!slice_user) - goto out_err1; - - ctx_space_dir=(char *) malloc(sizeof(VSERVERCONF "/" SPACE_DIR "Z")+strlen(slice_user->pw_name)); - if (!ctx_space_dir) - goto out_err1; - - sprintf(ctx_space_dir,VSERVERCONF "%s/" SPACE_DIR, slice_user->pw_name); - - fp_in = fopen(ctx_space_dir,"r"); - - if (!fp_in) - goto out_dontcare; - - space_name=(char *) malloc(sizeof("GOBBLEDYGOOKZ")); - - if (!space_name) { - goto out_err2; - } - - fgets(space_name,sizeof("GOBBLEDYGOOKZ"),fp_in); - - bit = text2ns(space_name); - - free(space_name); - free(ctx_space_dir); - close(fp_in); - - return ((1<>1); - -out_err2: - free(ctx_space_dir); - close(fp_in); - -out_err1: - return 0; - -out_dontcare: - free(ctx_space_dir); - return 0; - -}