Android-x86
Fork
Spenden

  • R/O
  • HTTP
  • SSH
  • HTTPS

system-extras: Commit

system/extras


Commit MetaInfo

Revision792c19392e68cebf210bc5183e7d0d194e055315 (tree)
Zeit2013-09-29 11:15:23
AutorChih-Wei Huang <cwhuang@linu...>
CommiterChih-Wei Huang

Log Message

su: remove the legacy su

It's useless for us.

Ändern Zusammenfassung

  • delete: su/Android.mk
  • delete: su/MODULE_LICENSE_APACHE2
  • delete: su/NOTICE
  • delete: su/su.c

Diff

--- a/su/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
1-ifneq ($(SUPERUSER_EMBEDDED),true)
2-LOCAL_PATH:= $(call my-dir)
3-include $(CLEAR_VARS)
4-
5-LOCAL_SRC_FILES:= su.c
6-
7-LOCAL_MODULE:= su
8-
9-LOCAL_FORCE_STATIC_EXECUTABLE := true
10-
11-LOCAL_STATIC_LIBRARIES := libc
12-
13-LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
14-LOCAL_MODULE_TAGS := debug
15-
16-include $(BUILD_EXECUTABLE)
17-endif
--- a/su/NOTICE
+++ /dev/null
@@ -1,190 +0,0 @@
1-
2- Copyright (c) 2005-2008, The Android Open Source Project
3-
4- Licensed under the Apache License, Version 2.0 (the "License");
5- you may not use this file except in compliance with the License.
6-
7- Unless required by applicable law or agreed to in writing, software
8- distributed under the License is distributed on an "AS IS" BASIS,
9- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10- See the License for the specific language governing permissions and
11- limitations under the License.
12-
13-
14- Apache License
15- Version 2.0, January 2004
16- http://www.apache.org/licenses/
17-
18- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
19-
20- 1. Definitions.
21-
22- "License" shall mean the terms and conditions for use, reproduction,
23- and distribution as defined by Sections 1 through 9 of this document.
24-
25- "Licensor" shall mean the copyright owner or entity authorized by
26- the copyright owner that is granting the License.
27-
28- "Legal Entity" shall mean the union of the acting entity and all
29- other entities that control, are controlled by, or are under common
30- control with that entity. For the purposes of this definition,
31- "control" means (i) the power, direct or indirect, to cause the
32- direction or management of such entity, whether by contract or
33- otherwise, or (ii) ownership of fifty percent (50%) or more of the
34- outstanding shares, or (iii) beneficial ownership of such entity.
35-
36- "You" (or "Your") shall mean an individual or Legal Entity
37- exercising permissions granted by this License.
38-
39- "Source" form shall mean the preferred form for making modifications,
40- including but not limited to software source code, documentation
41- source, and configuration files.
42-
43- "Object" form shall mean any form resulting from mechanical
44- transformation or translation of a Source form, including but
45- not limited to compiled object code, generated documentation,
46- and conversions to other media types.
47-
48- "Work" shall mean the work of authorship, whether in Source or
49- Object form, made available under the License, as indicated by a
50- copyright notice that is included in or attached to the work
51- (an example is provided in the Appendix below).
52-
53- "Derivative Works" shall mean any work, whether in Source or Object
54- form, that is based on (or derived from) the Work and for which the
55- editorial revisions, annotations, elaborations, or other modifications
56- represent, as a whole, an original work of authorship. For the purposes
57- of this License, Derivative Works shall not include works that remain
58- separable from, or merely link (or bind by name) to the interfaces of,
59- the Work and Derivative Works thereof.
60-
61- "Contribution" shall mean any work of authorship, including
62- the original version of the Work and any modifications or additions
63- to that Work or Derivative Works thereof, that is intentionally
64- submitted to Licensor for inclusion in the Work by the copyright owner
65- or by an individual or Legal Entity authorized to submit on behalf of
66- the copyright owner. For the purposes of this definition, "submitted"
67- means any form of electronic, verbal, or written communication sent
68- to the Licensor or its representatives, including but not limited to
69- communication on electronic mailing lists, source code control systems,
70- and issue tracking systems that are managed by, or on behalf of, the
71- Licensor for the purpose of discussing and improving the Work, but
72- excluding communication that is conspicuously marked or otherwise
73- designated in writing by the copyright owner as "Not a Contribution."
74-
75- "Contributor" shall mean Licensor and any individual or Legal Entity
76- on behalf of whom a Contribution has been received by Licensor and
77- subsequently incorporated within the Work.
78-
79- 2. Grant of Copyright License. Subject to the terms and conditions of
80- this License, each Contributor hereby grants to You a perpetual,
81- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
82- copyright license to reproduce, prepare Derivative Works of,
83- publicly display, publicly perform, sublicense, and distribute the
84- Work and such Derivative Works in Source or Object form.
85-
86- 3. Grant of Patent License. Subject to the terms and conditions of
87- this License, each Contributor hereby grants to You a perpetual,
88- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
89- (except as stated in this section) patent license to make, have made,
90- use, offer to sell, sell, import, and otherwise transfer the Work,
91- where such license applies only to those patent claims licensable
92- by such Contributor that are necessarily infringed by their
93- Contribution(s) alone or by combination of their Contribution(s)
94- with the Work to which such Contribution(s) was submitted. If You
95- institute patent litigation against any entity (including a
96- cross-claim or counterclaim in a lawsuit) alleging that the Work
97- or a Contribution incorporated within the Work constitutes direct
98- or contributory patent infringement, then any patent licenses
99- granted to You under this License for that Work shall terminate
100- as of the date such litigation is filed.
101-
102- 4. Redistribution. You may reproduce and distribute copies of the
103- Work or Derivative Works thereof in any medium, with or without
104- modifications, and in Source or Object form, provided that You
105- meet the following conditions:
106-
107- (a) You must give any other recipients of the Work or
108- Derivative Works a copy of this License; and
109-
110- (b) You must cause any modified files to carry prominent notices
111- stating that You changed the files; and
112-
113- (c) You must retain, in the Source form of any Derivative Works
114- that You distribute, all copyright, patent, trademark, and
115- attribution notices from the Source form of the Work,
116- excluding those notices that do not pertain to any part of
117- the Derivative Works; and
118-
119- (d) If the Work includes a "NOTICE" text file as part of its
120- distribution, then any Derivative Works that You distribute must
121- include a readable copy of the attribution notices contained
122- within such NOTICE file, excluding those notices that do not
123- pertain to any part of the Derivative Works, in at least one
124- of the following places: within a NOTICE text file distributed
125- as part of the Derivative Works; within the Source form or
126- documentation, if provided along with the Derivative Works; or,
127- within a display generated by the Derivative Works, if and
128- wherever such third-party notices normally appear. The contents
129- of the NOTICE file are for informational purposes only and
130- do not modify the License. You may add Your own attribution
131- notices within Derivative Works that You distribute, alongside
132- or as an addendum to the NOTICE text from the Work, provided
133- that such additional attribution notices cannot be construed
134- as modifying the License.
135-
136- You may add Your own copyright statement to Your modifications and
137- may provide additional or different license terms and conditions
138- for use, reproduction, or distribution of Your modifications, or
139- for any such Derivative Works as a whole, provided Your use,
140- reproduction, and distribution of the Work otherwise complies with
141- the conditions stated in this License.
142-
143- 5. Submission of Contributions. Unless You explicitly state otherwise,
144- any Contribution intentionally submitted for inclusion in the Work
145- by You to the Licensor shall be under the terms and conditions of
146- this License, without any additional terms or conditions.
147- Notwithstanding the above, nothing herein shall supersede or modify
148- the terms of any separate license agreement you may have executed
149- with Licensor regarding such Contributions.
150-
151- 6. Trademarks. This License does not grant permission to use the trade
152- names, trademarks, service marks, or product names of the Licensor,
153- except as required for reasonable and customary use in describing the
154- origin of the Work and reproducing the content of the NOTICE file.
155-
156- 7. Disclaimer of Warranty. Unless required by applicable law or
157- agreed to in writing, Licensor provides the Work (and each
158- Contributor provides its Contributions) on an "AS IS" BASIS,
159- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
160- implied, including, without limitation, any warranties or conditions
161- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
162- PARTICULAR PURPOSE. You are solely responsible for determining the
163- appropriateness of using or redistributing the Work and assume any
164- risks associated with Your exercise of permissions under this License.
165-
166- 8. Limitation of Liability. In no event and under no legal theory,
167- whether in tort (including negligence), contract, or otherwise,
168- unless required by applicable law (such as deliberate and grossly
169- negligent acts) or agreed to in writing, shall any Contributor be
170- liable to You for damages, including any direct, indirect, special,
171- incidental, or consequential damages of any character arising as a
172- result of this License or out of the use or inability to use the
173- Work (including but not limited to damages for loss of goodwill,
174- work stoppage, computer failure or malfunction, or any and all
175- other commercial damages or losses), even if such Contributor
176- has been advised of the possibility of such damages.
177-
178- 9. Accepting Warranty or Additional Liability. While redistributing
179- the Work or Derivative Works thereof, You may choose to offer,
180- and charge a fee for, acceptance of support, warranty, indemnity,
181- or other liability obligations and/or rights consistent with this
182- License. However, in accepting such obligations, You may act only
183- on Your own behalf and on Your sole responsibility, not on behalf
184- of any other Contributor, and only if You agree to indemnify,
185- defend, and hold each Contributor harmless for any liability
186- incurred by, or claims asserted against, such Contributor by reason
187- of your accepting any such warranty or additional liability.
188-
189- END OF TERMS AND CONDITIONS
190-
--- a/su/su.c
+++ /dev/null
@@ -1,159 +0,0 @@
1-/*
2-**
3-** Copyright 2008, The Android Open Source Project
4-**
5-** Licensed under the Apache License, Version 2.0 (the "License");
6-** you may not use this file except in compliance with the License.
7-** You may obtain a copy of the License at
8-**
9-** http://www.apache.org/licenses/LICENSE-2.0
10-**
11-** Unless required by applicable law or agreed to in writing, software
12-** distributed under the License is distributed on an "AS IS" BASIS,
13-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14-** See the License for the specific language governing permissions and
15-** limitations under the License.
16-*/
17-
18-#define LOG_TAG "su"
19-
20-#include <stdio.h>
21-#include <stdlib.h>
22-#include <string.h>
23-#include <sys/types.h>
24-#include <dirent.h>
25-#include <errno.h>
26-
27-#include <unistd.h>
28-#include <time.h>
29-
30-#include <pwd.h>
31-
32-#include <private/android_filesystem_config.h>
33-
34-
35-void pwtoid(const char *tok, uid_t *uid, gid_t *gid)
36-{
37- struct passwd *pw;
38- pw = getpwnam(tok);
39- if (pw) {
40- if (uid) *uid = pw->pw_uid;
41- if (gid) *gid = pw->pw_gid;
42- } else {
43- uid_t tmpid = atoi(tok);
44- if (uid) *uid = tmpid;
45- if (gid) *gid = tmpid;
46- }
47-}
48-
49-void extract_uidgids(const char *uidgids, uid_t *uid, gid_t *gid, gid_t *gids,
50- int *gids_count)
51-{
52- char *clobberablegids;
53- char *nexttok;
54- char *tok;
55- int gids_found;
56-
57- if (!uidgids || !*uidgids) {
58- *gid = *uid = 0;
59- *gids_count = 0;
60- return;
61- }
62- clobberablegids = strdup(uidgids);
63- strcpy(clobberablegids, uidgids);
64- nexttok = clobberablegids;
65- tok = strsep(&nexttok, ",");
66- pwtoid(tok, uid, gid);
67- tok = strsep(&nexttok, ",");
68- if (!tok) {
69- /* gid is already set above */
70- *gids_count = 0;
71- free(clobberablegids);
72- return;
73- }
74- pwtoid(tok, NULL, gid);
75- gids_found = 0;
76- while ((gids_found < *gids_count) && (tok = strsep(&nexttok, ","))) {
77- pwtoid(tok, NULL, gids);
78- gids_found++;
79- gids++;
80- }
81- if (nexttok && gids_found == *gids_count) {
82- fprintf(stderr, "too many group ids\n");
83- }
84- *gids_count = gids_found;
85- free(clobberablegids);
86-}
87-
88-/*
89- * SU can be given a specific command to exec. UID _must_ be
90- * specified for this (ie argc => 3).
91- *
92- * Usage:
93- * su 1000
94- * su 1000 ls -l
95- * or
96- * su [uid[,gid[,group1]...] [cmd]]
97- * E.g.
98- * su 1000,shell,net_bw_acct,net_bw_stats id
99- * will return
100- * uid=1000(system) gid=2000(shell) groups=3006(net_bw_stats),3007(net_bw_acct)
101- */
102-int main(int argc, char **argv)
103-{
104- struct passwd *pw;
105- uid_t uid, myuid;
106- gid_t gid, gids[10];
107-
108- /* Until we have something better, only root and the shell can use su. */
109- myuid = getuid();
110- if (myuid != AID_ROOT && myuid != AID_SHELL) {
111- fprintf(stderr,"su: uid %d not allowed to su\n", myuid);
112- return 1;
113- }
114-
115- if(argc < 2) {
116- uid = gid = 0;
117- } else {
118- int gids_count = sizeof(gids)/sizeof(gids[0]);
119- extract_uidgids(argv[1], &uid, &gid, gids, &gids_count);
120- if(gids_count) {
121- if(setgroups(gids_count, gids)) {
122- fprintf(stderr, "su: failed to set groups\n");
123- return 1;
124- }
125- }
126- }
127-
128- if(setgid(gid) || setuid(uid)) {
129- fprintf(stderr,"su: permission denied\n");
130- return 1;
131- }
132-
133- /* User specified command for exec. */
134- if (argc == 3 ) {
135- if (execlp(argv[2], argv[2], NULL) < 0) {
136- int saved_errno = errno;
137- fprintf(stderr, "su: exec failed for %s Error:%s\n", argv[2],
138- strerror(errno));
139- return -saved_errno;
140- }
141- } else if (argc > 3) {
142- /* Copy the rest of the args from main. */
143- char *exec_args[argc - 1];
144- memset(exec_args, 0, sizeof(exec_args));
145- memcpy(exec_args, &argv[2], sizeof(exec_args));
146- if (execvp(argv[2], exec_args) < 0) {
147- int saved_errno = errno;
148- fprintf(stderr, "su: exec failed for %s Error:%s\n", argv[2],
149- strerror(errno));
150- return -saved_errno;
151- }
152- }
153-
154- /* Default exec shell. */
155- execlp("/system/bin/sh", "sh", NULL);
156-
157- fprintf(stderr, "su: exec failed\n");
158- return 1;
159-}
Show on old repository browser