git://git.onelab.eu
/
util-vserver-pl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remove non-used function
[util-vserver-pl.git]
/
src
/
netns.c
diff --git
a/src/netns.c
b/src/netns.c
index
dd88ba9
..
cf91eff
100644
(file)
--- a/
src/netns.c
+++ b/
src/netns.c
@@
-14,26
+14,33
@@
#define SPACE_FILE "/spaces/net"
#define VSERVERCONF "/etc/vservers/"
#define SPACE_FILE "/spaces/net"
#define VSERVERCONF "/etc/vservers/"
-
uint32_
t
-
get_space_flag
(xid_t xid) {
+
in
t
+
pl_unshare_netns
(xid_t xid) {
char *ctx_space_file, *space_name;
struct passwd *slice_user;
char *ctx_space_file, *space_name;
struct passwd *slice_user;
- uint32_t space_flag = 0;
+ int res = 0;
+ char buf[100];
+ FILE *fb;
- slice_user = get
_
pwuid(xid);
+ slice_user = getpwuid(xid);
if (!slice_user)
if (!slice_user)
-
return 0;
+ return 0;
ctx_space_file=(char *) malloc(sizeof(VSERVERCONF SPACE_FILE "Z")+strlen(slice_user->pw_name));
if (!ctx_space_file)
ctx_space_file=(char *) malloc(sizeof(VSERVERCONF SPACE_FILE "Z")+strlen(slice_user->pw_name));
if (!ctx_space_file)
-
return 0;
+ return 0;
- sprintf(ctx_space_file,VSERVERCONF
SPACE_FILE "%s"
, slice_user->pw_name);
+ sprintf(ctx_space_file,VSERVERCONF
"%s" SPACE_FILE
, slice_user->pw_name);
- if (
access(ctx_space_file, F_OK)==0
)
-
space_flag |= CLONE_NEWNET
;
+ if (
(fb = fopen(ctx_space_file, "r")) == NULL
)
+
return 0
;
- free(ctx_space_dir);
- return space_flag;
+ if (fgets(buf, sizeof(buf), fb) != NULL) {
+ res = atoi(buf);
+ }
+
+ fclose(fb);
+ free(ctx_space_file);
+ return res;
}
}