Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
lxc
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
lxc
Commits
e60ea2f6
Unverified
Commit
e60ea2f6
authored
Aug 21, 2018
by
Christian Brauner
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
macro: move macros from attach.c
Signed-off-by:
Christian Brauner
<
christian.brauner@ubuntu.com
>
parent
125541cd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
30 additions
and
35 deletions
+30
-35
attach.c
src/lxc/attach.c
+10
-35
macro.h
src/lxc/macro.h
+20
-0
No files found.
src/lxc/attach.c
View file @
e60ea2f6
...
@@ -24,36 +24,24 @@
...
@@ -24,36 +24,24 @@
#define _GNU_SOURCE
#define _GNU_SOURCE
#include <errno.h>
#include <errno.h>
#include <fcntl.h>
#include <fcntl.h>
#include <termios.h>
#include <grp.h>
#include <grp.h>
#include <linux/unistd.h>
#include <pwd.h>
#include <pwd.h>
#include <signal.h>
#include <signal.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>
#include <unistd.h>
#include <linux/unistd.h>
#include <sys/mount.h>
#include <sys/mount.h>
#include <sys/param.h>
#include <sys/param.h>
#include <sys/prctl.h>
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/socket.h>
#include <sys/syscall.h>
#include <sys/syscall.h>
#include <sys/wait.h>
#include <sys/wait.h>
#include <termios.h>
#include <unistd.h>
#include <lxc/lxccontainer.h>
#include <lxc/lxccontainer.h>
#ifndef HAVE_DECL_PR_CAPBSET_DROP
#define PR_CAPBSET_DROP 24
#endif
#ifndef HAVE_DECL_PR_SET_NO_NEW_PRIVS
#define PR_SET_NO_NEW_PRIVS 38
#endif
#ifndef HAVE_DECL_PR_GET_NO_NEW_PRIVS
#define PR_GET_NO_NEW_PRIVS 39
#endif
#include "af_unix.h"
#include "af_unix.h"
#include "attach.h"
#include "attach.h"
#include "caps.h"
#include "caps.h"
...
@@ -66,6 +54,7 @@
...
@@ -66,6 +54,7 @@
#include "lsm/lsm.h"
#include "lsm/lsm.h"
#include "lxclock.h"
#include "lxclock.h"
#include "lxcseccomp.h"
#include "lxcseccomp.h"
#include "macro.h"
#include "mainloop.h"
#include "mainloop.h"
#include "namespace.h"
#include "namespace.h"
#include "terminal.h"
#include "terminal.h"
...
@@ -75,38 +64,24 @@
...
@@ -75,38 +64,24 @@
#include <sys/personality.h>
#include <sys/personality.h>
#endif
#endif
#ifndef SOCK_CLOEXEC
#define SOCK_CLOEXEC 02000000
#endif
#ifndef MS_REC
#define MS_REC 16384
#endif
#ifndef MS_SLAVE
#define MS_SLAVE (1 << 19)
#endif
lxc_log_define
(
attach
,
lxc
);
lxc_log_define
(
attach
,
lxc
);
/* Define default options if no options are supplied by the user. */
/* Define default options if no options are supplied by the user. */
static
lxc_attach_options_t
attach_static_default_options
=
LXC_ATTACH_OPTIONS_DEFAULT
;
static
lxc_attach_options_t
attach_static_default_options
=
LXC_ATTACH_OPTIONS_DEFAULT
;
/* /proc/pid-to-str/status\0 = (5 + 21 + 7 + 1) */
#define __PROC_STATUS_LEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
static
struct
lxc_proc_context_info
*
lxc_proc_get_context_info
(
pid_t
pid
)
static
struct
lxc_proc_context_info
*
lxc_proc_get_context_info
(
pid_t
pid
)
{
{
int
ret
;
int
ret
;
bool
found
;
bool
found
;
FILE
*
proc_file
;
FILE
*
proc_file
;
char
proc_fn
[
_
_PROC_STATUS_LEN
];
char
proc_fn
[
LXC
_PROC_STATUS_LEN
];
size_t
line_bufsz
=
0
;
size_t
line_bufsz
=
0
;
char
*
line
=
NULL
;
char
*
line
=
NULL
;
struct
lxc_proc_context_info
*
info
=
NULL
;
struct
lxc_proc_context_info
*
info
=
NULL
;
/* Read capabilities. */
/* Read capabilities. */
ret
=
snprintf
(
proc_fn
,
_
_PROC_STATUS_LEN
,
"/proc/%d/status"
,
pid
);
ret
=
snprintf
(
proc_fn
,
LXC
_PROC_STATUS_LEN
,
"/proc/%d/status"
,
pid
);
if
(
ret
<
0
||
ret
>=
_
_PROC_STATUS_LEN
)
if
(
ret
<
0
||
ret
>=
LXC
_PROC_STATUS_LEN
)
goto
on_error
;
goto
on_error
;
proc_file
=
fopen
(
proc_fn
,
"r"
);
proc_file
=
fopen
(
proc_fn
,
"r"
);
...
@@ -607,7 +582,7 @@ static char *lxc_attach_getpwshell(uid_t uid)
...
@@ -607,7 +582,7 @@ static char *lxc_attach_getpwshell(uid_t uid)
static
void
lxc_attach_get_init_uidgid
(
uid_t
*
init_uid
,
gid_t
*
init_gid
)
static
void
lxc_attach_get_init_uidgid
(
uid_t
*
init_uid
,
gid_t
*
init_gid
)
{
{
FILE
*
proc_file
;
FILE
*
proc_file
;
char
proc_fn
[
_
_PROC_STATUS_LEN
];
char
proc_fn
[
LXC
_PROC_STATUS_LEN
];
int
ret
;
int
ret
;
char
*
line
=
NULL
;
char
*
line
=
NULL
;
size_t
line_bufsz
=
0
;
size_t
line_bufsz
=
0
;
...
@@ -615,8 +590,8 @@ static void lxc_attach_get_init_uidgid(uid_t *init_uid, gid_t *init_gid)
...
@@ -615,8 +590,8 @@ static void lxc_attach_get_init_uidgid(uid_t *init_uid, gid_t *init_gid)
uid_t
uid
=
(
uid_t
)
-
1
;
uid_t
uid
=
(
uid_t
)
-
1
;
gid_t
gid
=
(
gid_t
)
-
1
;
gid_t
gid
=
(
gid_t
)
-
1
;
ret
=
snprintf
(
proc_fn
,
_
_PROC_STATUS_LEN
,
"/proc/%d/status"
,
1
);
ret
=
snprintf
(
proc_fn
,
LXC
_PROC_STATUS_LEN
,
"/proc/%d/status"
,
1
);
if
(
ret
<
0
||
ret
>=
_
_PROC_STATUS_LEN
)
if
(
ret
<
0
||
ret
>=
LXC
_PROC_STATUS_LEN
)
return
;
return
;
proc_file
=
fopen
(
proc_fn
,
"r"
);
proc_file
=
fopen
(
proc_fn
,
"r"
);
...
...
src/lxc/macro.h
View file @
e60ea2f6
...
@@ -67,6 +67,19 @@
...
@@ -67,6 +67,19 @@
#define CAP_SYS_ADMIN 21
#define CAP_SYS_ADMIN 21
#endif
#endif
#ifndef HAVE_DECL_PR_CAPBSET_DROP
#define PR_CAPBSET_DROP 24
#endif
/* prctl */
#ifndef HAVE_DECL_PR_SET_NO_NEW_PRIVS
#define PR_SET_NO_NEW_PRIVS 38
#endif
#ifndef HAVE_DECL_PR_GET_NO_NEW_PRIVS
#define PR_GET_NO_NEW_PRIVS 39
#endif
#ifndef CGROUP_SUPER_MAGIC
#ifndef CGROUP_SUPER_MAGIC
#define CGROUP_SUPER_MAGIC 0x27e0eb
#define CGROUP_SUPER_MAGIC 0x27e0eb
#endif
#endif
...
@@ -105,6 +118,8 @@
...
@@ -105,6 +118,8 @@
* \0 = 1
* \0 = 1
*/
*/
#define LXC_PROC_PID_FD_LEN (6 + LXC_NUMSTRLEN64 + 4 + LXC_NUMSTRLEN64 + 1)
#define LXC_PROC_PID_FD_LEN (6 + LXC_NUMSTRLEN64 + 4 + LXC_NUMSTRLEN64 + 1)
/* /proc/pid-to-str/status\0 = (5 + 21 + 7 + 1) */
#define LXC_PROC_STATUS_LEN (5 + (LXC_NUMSTRLEN64) + 7 + 1)
/* loop devices */
/* loop devices */
#ifndef LO_FLAGS_AUTOCLEAR
#ifndef LO_FLAGS_AUTOCLEAR
...
@@ -240,4 +255,9 @@ extern int __build_bug_on_failed;
...
@@ -240,4 +255,9 @@ extern int __build_bug_on_failed;
#define O_NOFOLLOW 00400000
#define O_NOFOLLOW 00400000
#endif
#endif
/* sockets */
#ifndef SOCK_CLOEXEC
#define SOCK_CLOEXEC 02000000
#endif
#endif
/* __LXC_MACRO_H */
#endif
/* __LXC_MACRO_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment