Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
Magisk
Project
Project
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
Administrator
Magisk
Commits
a19c7215
Commit
a19c7215
authored
Feb 15, 2019
by
topjohnwu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Better nice name
parent
8b84039f
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
7 deletions
+18
-7
applets.cpp
native/jni/core/applets.cpp
+3
-5
daemon.cpp
native/jni/core/daemon.cpp
+1
-1
magisk.h
native/jni/include/magisk.h
+0
-1
utils.h
native/jni/utils/include/utils.h
+2
-0
misc.cpp
native/jni/utils/misc.cpp
+12
-0
No files found.
native/jni/core/applets.cpp
View file @
a19c7215
...
@@ -6,17 +6,15 @@
...
@@ -6,17 +6,15 @@
#include <magisk.h>
#include <magisk.h>
#include <selinux.h>
#include <selinux.h>
#include <utils.h>
static
int
(
*
applet_main
[])
(
int
,
char
*
[])
=
static
int
(
*
applet_main
[])
(
int
,
char
*
[])
=
{
magisk_main
,
su_client_main
,
resetprop_main
,
magiskhide_main
,
nullptr
};
{
magisk_main
,
su_client_main
,
resetprop_main
,
magiskhide_main
,
nullptr
};
char
*
argv0
;
__attribute__
((
noreturn
))
static
void
call_applets
(
int
argc
,
char
*
argv
[])
{
__attribute__
((
noreturn
))
static
void
call_applets
(
int
argc
,
char
*
argv
[])
{
// Applets
// Applets
for
(
int
i
=
0
;
applet_names
[
i
];
++
i
)
{
for
(
int
i
=
0
;
applet_names
[
i
];
++
i
)
{
if
(
strcmp
(
basename
(
argv
[
0
]),
applet_names
[
i
])
==
0
)
{
if
(
strcmp
(
basename
(
argv
[
0
]),
applet_names
[
i
])
==
0
)
{
strcpy
(
argv0
,
basename
(
argv
[
0
]));
exit
((
*
applet_main
[
i
])(
argc
,
argv
));
exit
((
*
applet_main
[
i
])(
argc
,
argv
));
}
}
}
}
...
@@ -26,11 +24,11 @@ __attribute__((noreturn)) static void call_applets(int argc, char *argv[]) {
...
@@ -26,11 +24,11 @@ __attribute__((noreturn)) static void call_applets(int argc, char *argv[]) {
int
main
(
int
argc
,
char
*
argv
[])
{
int
main
(
int
argc
,
char
*
argv
[])
{
umask
(
0
);
umask
(
0
);
argv0
=
argv
[
0
];
dload_selinux
();
dload_selinux
();
cmdline_logging
();
cmdline_logging
();
init_argv0
(
argc
,
argv
);
if
(
strcmp
(
basename
(
argv
0
),
"magisk.bin"
)
==
0
||
if
(
strcmp
(
basename
(
argv
[
0
]
),
"magisk.bin"
)
==
0
||
(
strcmp
(
basename
(
argv
[
0
]),
"magisk"
)
==
0
(
strcmp
(
basename
(
argv
[
0
]),
"magisk"
)
==
0
&&
argc
>
1
&&
argv
[
1
][
0
]
!=
'-'
))
{
&&
argc
>
1
&&
argv
[
1
][
0
]
!=
'-'
))
{
--
argc
;
--
argc
;
...
...
native/jni/core/daemon.cpp
View file @
a19c7215
...
@@ -132,7 +132,7 @@ static void main_daemon() {
...
@@ -132,7 +132,7 @@ static void main_daemon() {
xlisten
(
fd
,
10
);
xlisten
(
fd
,
10
);
// Change process name
// Change process name
s
trcpy
(
argv0
,
"magiskd"
);
s
et_nice_name
(
"magiskd"
);
// Block all signals
// Block all signals
sigset_t
block_set
;
sigset_t
block_set
;
...
...
native/jni/include/magisk.h
View file @
a19c7215
...
@@ -39,7 +39,6 @@
...
@@ -39,7 +39,6 @@
#define SEPOL_PROC_DOMAIN "magisk"
#define SEPOL_PROC_DOMAIN "magisk"
#define SEPOL_FILE_DOMAIN "magisk_file"
#define SEPOL_FILE_DOMAIN "magisk_file"
extern
char
*
argv0
;
/* For changing process name */
extern
int
SDK_INT
;
extern
int
SDK_INT
;
#define applet_names ((const char *[]) { "magisk", "su", "resetprop", "magiskhide", nullptr })
#define applet_names ((const char *[]) { "magisk", "su", "resetprop", "magiskhide", nullptr })
...
...
native/jni/utils/include/utils.h
View file @
a19c7215
...
@@ -85,6 +85,8 @@ int fork_dont_care();
...
@@ -85,6 +85,8 @@ int fork_dont_care();
int
fork_no_zombie
();
int
fork_no_zombie
();
void
gen_rand_str
(
char
*
buf
,
int
len
);
void
gen_rand_str
(
char
*
buf
,
int
len
);
int
strend
(
const
char
*
s1
,
const
char
*
s2
);
int
strend
(
const
char
*
s1
,
const
char
*
s2
);
void
init_argv0
(
int
argc
,
char
**
argv
);
void
set_nice_name
(
const
char
*
name
);
#define getline __getline
#define getline __getline
#define getdelim __getdelim
#define getdelim __getdelim
...
...
native/jni/utils/misc.cpp
View file @
a19c7215
...
@@ -224,3 +224,15 @@ int new_daemon_thread(void *(*start_routine) (void *), void *arg, const pthread_
...
@@ -224,3 +224,15 @@ int new_daemon_thread(void *(*start_routine) (void *), void *arg, const pthread_
return
ret
;
return
ret
;
}
}
static
char
*
argv0
;
static
size_t
name_len
;
void
init_argv0
(
int
argc
,
char
**
argv
)
{
argv0
=
argv
[
0
];
name_len
=
(
argv
[
argc
-
1
]
-
argv
[
0
])
+
strlen
(
argv
[
argc
-
1
])
+
1
;
}
void
set_nice_name
(
const
char
*
name
)
{
memset
(
argv0
,
0
,
name_len
);
strlcpy
(
argv0
,
name
,
name_len
);
prctl
(
PR_SET_NAME
,
name
);
}
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