Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[JEP-223] Deprecate permissions RUN_SCRIPTS, UPLOAD_PLUGINS, and CONFIGURE_UPDATECENTER #4365

Merged
merged 35 commits into from
Feb 22, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e9b2a73
Flag RUN_SCRIPTS permission as deprecated
mikecirioli Nov 20, 2019
825afaa
Change permission checks for RUN_SCRIPTS to check for ADMINISTER
mikecirioli Nov 20, 2019
ede3a6d
flag UPLOAD_PLUGINS as deprecated
mikecirioli Nov 20, 2019
adc4ef8
change checks for UPLOAD_PLUGINS to check for ADMINISTER
mikecirioli Nov 20, 2019
779ccd1
flag CONFIGURE_UPDATECENTER as deprecated
mikecirioli Nov 20, 2019
3b70d30
change permission checks for CONFIGURE_UPDATECENTER to check for ADMI…
mikecirioli Nov 20, 2019
2bcad23
Update core/src/main/java/jenkins/model/Jenkins.java
mikecirioli Dec 6, 2019
aa0f378
Update core/src/main/java/jenkins/management/ConsoleLink.java
mikecirioli Dec 6, 2019
953a5ee
Update core/src/main/java/jenkins/management/ConsoleLink.java
mikecirioli Dec 6, 2019
db42863
Update core/src/main/java/jenkins/management/ConsoleLink.java
mikecirioli Dec 6, 2019
caed539
Revert "Update core/src/main/java/jenkins/management/ConsoleLink.java"
mikecirioli Dec 6, 2019
e7bc69d
make the deprecated permissions == Jenkins.ADMINISTER, since that is …
mikecirioli Dec 6, 2019
63af530
Check for Jenkins.ADMINISTER instead of Jenkins.RUN_SCRIPTS
mikecirioli Dec 6, 2019
b8e6d4d
Update jelly checks for deprecated permissions to now check for
mikecirioli Dec 6, 2019
3eaaf12
Fix broken test that checked for RUN_SCRIPTS
mikecirioli Dec 6, 2019
8b72487
Revert "make the deprecated permissions == Jenkins.ADMINISTER, since …
mikecirioli Dec 17, 2019
17063fe
re-enable setting dangerous permissions == Jenkins.ADMINISTER
mikecirioli Dec 19, 2019
6dfa633
remove commented code
mikecirioli Feb 20, 2020
543ab06
fixup javadocs for deprecated permissions
mikecirioli Feb 20, 2020
61be95d
Merge branch 'master' into deprecate_risky_perms
mikecirioli Feb 20, 2020
b300f46
fix broken javadoc link
mikecirioli Feb 20, 2020
00dd15b
Merge branch 'deprecate_risky_perms' of github.com:mikecirioli/jenkin…
mikecirioli Feb 20, 2020
f87fc3a
Revert "remove commented code"
mikecirioli Feb 20, 2020
df2c0a8
Reverts explicity making dangerous permissions == Jenkins.ADMINISTER
mikecirioli Feb 20, 2020
3ff6a56
Update english descriptive text properties for dangerous permissions
mikecirioli Feb 20, 2020
0491ee6
fix: do not use deprecated getActiveInstance()
mikecirioli Feb 20, 2020
1e308ac
This broken test
mikecirioli Feb 20, 2020
db4ae53
add comment to update test once RUN_SCRIPTS has been retired
mikecirioli Feb 20, 2020
625fc45
nit: add space
mikecirioli Feb 20, 2020
51276ea
nit: add space
mikecirioli Feb 20, 2020
7ab354e
nit: add space
mikecirioli Feb 20, 2020
cd1adf4
remove un-needed permission checks in plugimanager jelly files
mikecirioli Feb 20, 2020
8050bf3
remove localizations of deprecated permissions
mikecirioli Feb 21, 2020
16ffec7
revert italian locazation that got bungled on local system
mikecirioli Feb 21, 2020
2019f8d
remove deprecated perms from italian localizations
mikecirioli Feb 21, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions core/src/main/java/hudson/PluginManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -1394,7 +1394,7 @@ public HttpResponse doPlugins() {

@RequirePOST
public HttpResponse doUpdateSources(StaplerRequest req) throws IOException {
Jenkins.get().checkPermission(CONFIGURE_UPDATECENTER);
Jenkins.get().checkPermission(Jenkins.ADMINISTER);

if (req.hasParameter("remove")) {
UpdateCenter uc = Jenkins.get().getUpdateCenter();
Expand Down Expand Up @@ -1600,7 +1600,7 @@ private UpdateSite.Plugin getPlugin(String pluginName, String siteName) {
@RequirePOST
public HttpResponse doSiteConfigure(@QueryParameter String site) throws IOException {
Jenkins hudson = Jenkins.get();
hudson.checkPermission(CONFIGURE_UPDATECENTER);
hudson.checkPermission(Jenkins.ADMINISTER);
UpdateCenter uc = hudson.getUpdateCenter();
PersistedList<UpdateSite> sites = uc.getSites();
for (UpdateSite s : sites) {
Expand All @@ -1615,7 +1615,7 @@ public HttpResponse doSiteConfigure(@QueryParameter String site) throws IOExcept
@POST
public HttpResponse doProxyConfigure(StaplerRequest req) throws IOException, ServletException {
Jenkins jenkins = Jenkins.get();
jenkins.checkPermission(CONFIGURE_UPDATECENTER);
jenkins.checkPermission(Jenkins.ADMINISTER);

ProxyConfiguration pc = req.bindJSON(ProxyConfiguration.class, req.getSubmittedForm());
if (pc.name==null) {
Expand All @@ -1634,7 +1634,7 @@ public HttpResponse doProxyConfigure(StaplerRequest req) throws IOException, Ser
@RequirePOST
public HttpResponse doUploadPlugin(StaplerRequest req) throws IOException, ServletException {
try {
Jenkins.get().checkPermission(UPLOAD_PLUGINS);
Jenkins.get().checkPermission(Jenkins.ADMINISTER);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strictly speaking, none of the permission checks in this file matter, but if System Read is about to land, it probably makes sense to keep them.


ServletFileUpload upload = new ServletFileUpload(new DiskFileItemFactory());

Expand Down Expand Up @@ -2105,7 +2105,12 @@ public String toString() {
}
public static boolean FAST_LOOKUP = !SystemProperties.getBoolean(PluginManager.class.getName()+".noFastLookup");

/** @deprecated in Jenkins 2.222 use {@link Jenkins#ADMINISTER} instead */
@Deprecated
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
public static final Permission UPLOAD_PLUGINS = new Permission(Jenkins.PERMISSIONS, "UploadPlugins", Messages._PluginManager_UploadPluginsPermission_Description(),Jenkins.ADMINISTER,PermissionScope.JENKINS);
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved

/** @deprecated in Jenkins 2.222 use {@link Jenkins#ADMINISTER} instead */
@Deprecated
public static final Permission CONFIGURE_UPDATECENTER = new Permission(Jenkins.PERMISSIONS, "ConfigureUpdateCenter", Messages._PluginManager_ConfigureUpdateCenterPermission_Description(),Jenkins.ADMINISTER,PermissionScope.JENKINS);
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved

/**
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/cli/GroovyCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public String getShortDescription() {

protected int run() throws Exception {
// this allows the caller to manipulate the JVM state, so require the execute script privilege.
Jenkins.get().checkPermission(Jenkins.RUN_SCRIPTS);
Jenkins.get().checkPermission(Jenkins.ADMINISTER);

Binding binding = new Binding();
binding.setProperty("out",new PrintWriter(stdout,true));
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/cli/GroovyshCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public String getShortDescription() {
@Override
protected int run() {
// this allows the caller to manipulate the JVM state, so require the admin privilege.
Jenkins.get().checkPermission(Jenkins.RUN_SCRIPTS);
Jenkins.get().checkPermission(Jenkins.ADMINISTER);

// this being remote means no jline capability is available
System.setProperty("jline.terminal", UnsupportedTerminal.class.getName());
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/cli/InstallPluginCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ public String getShortDescription() {
@Override
protected int run() throws Exception {
Jenkins h = Jenkins.get();
h.checkPermission(PluginManager.UPLOAD_PLUGINS);
h.checkPermission(Jenkins.ADMINISTER);
PluginManager pm = h.getPluginManager();

if (name != null) {
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/hudson/util/RemotingDiagnostics.java
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ public void doIndex(StaplerResponse rsp) throws IOException {

@WebMethod(name="heapdump.hprof")
public void doHeapDump(StaplerRequest req, StaplerResponse rsp) throws IOException, InterruptedException {
owner.checkPermission(Jenkins.RUN_SCRIPTS);
owner.checkPermission(Jenkins.ADMINISTER);
rsp.setContentType("application/octet-stream");

FilePath dump = obtain();
Expand Down
2 changes: 1 addition & 1 deletion core/src/main/java/jenkins/management/ConsoleLink.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,6 @@ public String getUrlName() {

@Override
public Permission getRequiredPermission() {
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
return Jenkins.RUN_SCRIPTS;
return Jenkins.ADMINISTER;
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
}
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
}
6 changes: 4 additions & 2 deletions core/src/main/java/jenkins/model/Jenkins.java
Original file line number Diff line number Diff line change
Expand Up @@ -4462,7 +4462,7 @@ public void doScriptText(StaplerRequest req, StaplerResponse rsp) throws IOExcep
*/
public static void _doScript(StaplerRequest req, StaplerResponse rsp, RequestDispatcher view, VirtualChannel channel, ACL acl) throws IOException, ServletException {
// ability to run arbitrary script is dangerous
acl.checkPermission(RUN_SCRIPTS);
acl.checkPermission(ADMINISTER);

String text = req.getParameter("script");
if (text != null) {
Expand Down Expand Up @@ -4492,7 +4492,7 @@ public static void _doScript(StaplerRequest req, StaplerResponse rsp, RequestDis
*/
@RequirePOST
public void doEval(StaplerRequest req, StaplerResponse rsp) throws IOException, ServletException {
checkPermission(RUN_SCRIPTS);
checkPermission(ADMINISTER);
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
req.getWebApp().getDispatchValidator().allowDispatch(req, rsp);
try {
MetaClass mc = req.getWebApp().getMetaClass(getClass());
Expand Down Expand Up @@ -5265,6 +5265,8 @@ private static void computeVersion(ServletContext context) {


public static final Permission READ = new Permission(PERMISSIONS,"Read",Messages._Hudson_ReadPermission_Description(),Permission.READ,PermissionScope.JENKINS);
/** @deprecated in Jenkins 2.222 use {@link Jenkins#ADMINISTER} instead */
@Deprecated
mikecirioli marked this conversation as resolved.
Show resolved Hide resolved
public static final Permission RUN_SCRIPTS = new Permission(PERMISSIONS, "RunScripts", Messages._Hudson_RunScriptsPermission_Description(),ADMINISTER,PermissionScope.JENKINS);

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ public boolean getMasterKillSwitch() {
public void setMasterKillSwitch(boolean state) {
final Jenkins jenkins = Jenkins.get();
try {
jenkins.checkPermission(Jenkins.RUN_SCRIPTS);
jenkins.checkPermission(Jenkins.ADMINISTER);
File f = getMasterKillSwitchFile(jenkins);
FileUtils.writeStringToFile(f, Boolean.toString(state), Charset.defaultCharset());
// treat the file as the canonical source of information in case write fails
Expand All @@ -227,7 +227,7 @@ public void setMasterKillSwitch(boolean state) {
*/
@Override
public Object getTarget() {
Jenkins.get().checkPermission(Jenkins.RUN_SCRIPTS);
Jenkins.get().checkPermission(Jenkins.ADMINISTER);
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ public boolean configure(StaplerRequest req, JSONObject json) throws FormExcepti
* Unless this option is relevant, we don't let users choose this.
*/
public boolean isRelevant() {
return jenkins.hasPermission(Jenkins.RUN_SCRIPTS) && jenkins.isUseSecurity();
return jenkins.hasPermission(Jenkins.ADMINISTER) && jenkins.isUseSecurity();
}
}

5 changes: 2 additions & 3 deletions core/src/main/resources/hudson/Messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,9 @@ PluginManager.DisplayName=Plugin Manager
PluginManager.PortNotANumber=Port is not a number
PluginManager.PortNotInRange=Port doesn\u2019t range from {0} to {1}
PluginManager.UploadPluginsPermission.Description=\
The "upload plugin" permission allows a user to upload arbitrary plugins.
Deprecated - Please use the Overall/Administer permission instead
PluginManager.ConfigureUpdateCenterPermission.Description=\
The "configure update center" permission allows a user to \
configure update sites and proxy settings.
Deprecated - Please use the Overall/Administer permission instead
PluginManager.PluginCycleDependenciesMonitor.DisplayName=Cyclic Dependencies Detector
PluginManager.PluginUpdateMonitor.DisplayName=Invalid Plugin Configuration
PluginManager.CheckUpdateServerError=There were errors checking the update sites: {0}
Expand Down
7 changes: 0 additions & 7 deletions core/src/main/resources/hudson/Messages_bg.properties
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,6 @@ PluginManager.PortNotANumber=\
\u0421\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430 \u043f\u043e\u0440\u0442\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0447\u0438\u0441\u043b\u043e
PluginManager.PortNotInRange=\
\u0421\u0442\u043e\u0439\u043d\u043e\u0441\u0442\u0442\u0430 \u0437\u0430 \u043f\u043e\u0440\u0442\u0430 \u0442\u0440\u044f\u0431\u0432\u0430 \u0434\u0430 \u0435 \u0432 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 [{0}; {1}]
PluginManager.UploadPluginsPermission.Description=\
\u041f\u0440\u0430\u0432\u043e\u0442\u043e \u0437\u0430 \u043a\u0430\u0447\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0438 \u0434\u0430\u0432\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f \u0434\u0430 \u043a\u0430\u0447\u0438\
\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u043d\u0430 \u043f\u0440\u0438\u0441\u0442\u0430\u0432\u043a\u0430.
PluginManager.ConfigureUpdateCenterPermission.Description=\
\u041f\u0440\u0430\u0432\u043e\u0442\u043e \u0437\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u0432\u0430\u043d\u0435 \u0434\u0430\u0432\u0430 \u0432\u044a\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442 \u043d\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u0438\u0442\u0435\u043b\u044f \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438\u0442\u0435\
\u043d\u0430 \u0441\u0430\u0439\u0442\u043e\u0432\u0435\u0442\u0435 \u0438 \u0441\u044a\u0440\u0432\u044a\u0440\u0430-\u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a.

AboutJenkins.DisplayName=\
\u041e\u0442\u043d\u043e\u0441\u043d\u043e Jenkins
AboutJenkins.Description=\
Expand Down
4 changes: 0 additions & 4 deletions core/src/main/resources/hudson/Messages_de.properties
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,6 @@ FilePath.validateAntFileMask.whitespaceSeparator=Leerzeichen k\u00F6nnen nicht m
PluginManager.DisplayName=Plugins verwalten
PluginManager.PortNotANumber=Port ist keine Zahl
PluginManager.PortNotInRange=Port ist keine Zahl zwischen {0} und {1,number,#}
PluginManager.UploadPluginsPermission.Description=\
Dieses Recht erlaubt, beliebige Plugins hochzuladen.
PluginManager.ConfigureUpdateCenterPermission.Description=\
Dieses Recht ist notwendig, um Aktualisierungsserver und Proxy-Einstellungen zu konfigurieren.
PluginManager.PluginCycleDependenciesMonitor.DisplayName=Erkennung zyklischer Abh\u00E4ngigkeiten
PluginManager.PluginUpdateMonitor.DisplayName=Ung\u00FCltige Plugin-Konfiguration

Expand Down
6 changes: 0 additions & 6 deletions core/src/main/resources/hudson/Messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,6 @@ FilePath.TildaDoesntWork=''~'' n''est support\u00e9 que sur les shells Unix.
PluginManager.DisplayName=Gestion des plugins
PluginManager.PortNotANumber=Le port n''est pas un nombre
PluginManager.PortNotInRange=Le port n''est pas dans l''intervalle de {0} \u00e0 {1}
PluginManager.UploadPluginsPermission.Description=\
La permission "upload plugin" autorise un utilisateur \u00e0 uploader des plugins.
PluginManager.ConfigureUpdateCenterPermission.Description=\
La permission "configure update center" autorise un utilisateur \u00e0 \
configurer les sites de mise \u00e0 jour et le param\u00e9trage du proxy.

AboutJenkins.DisplayName=A propos de Jenkins
AboutJenkins.Description=Afficher les informations de version et de licence

Expand Down
5 changes: 0 additions & 5 deletions core/src/main/resources/hudson/Messages_it.properties
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,6 @@ FilePath.TildaDoesntWork="~"
PluginManager.DisplayName=Gestore plugin
PluginManager.PortNotANumber=La porta non � un numero
PluginManager.PortNotInRange=La porta non � compresa nell''intervallo da {0} a {1}
PluginManager.UploadPluginsPermission.Description=\
Il permesso "Carica plugin" consente a un utente di caricare plugin arbitrari.
PluginManager.ConfigureUpdateCenterPermission.Description=\
Il permesso "Configura Centro aggiornamenti" consente a un utente di \
configurare le impostazioni dei siti di aggiornamento e del proxy.
PluginManager.PluginCycleDependenciesMonitor.DisplayName=Rilevatore dipendenze cicliche
PluginManager.PluginUpdateMonitor.DisplayName=Configurazione plugin non valida

Expand Down
4 changes: 0 additions & 4 deletions core/src/main/resources/hudson/Messages_ja.properties
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ FilePath.TildaDoesntWork=''~'' \u306f\u3001Unix\u306e\u30b7\u30a7\u30eb\u3067\u3
PluginManager.DisplayName=\u30d7\u30e9\u30b0\u30a4\u30f3\u30de\u30cd\u30fc\u30b8\u30e3\u30fc
PluginManager.PortNotANumber=\u30dd\u30fc\u30c8\u756a\u53f7\u304c\u6570\u5b57\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
PluginManager.PortNotInRange=\u30dd\u30fc\u30c8\u756a\u53f7\u304c{0}\u304b\u3089{1}\u307e\u3067\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002
PluginManager.UploadPluginsPermission.Description=\
\u6a29\u9650"\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9"\u304c\u3001\u30d7\u30e9\u30b0\u30a4\u30f3\u306e\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3092\u8a31\u53ef\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
PluginManager.ConfigureUpdateCenterPermission.Description=\
\u6a29\u9650"\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30bb\u30f3\u30bf\u30fc\u306e\u66f4\u65b0"\u304c\u3001\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u30b5\u30a4\u30c8\u3084\u30d7\u30ed\u30ad\u30b7\u30fc\u306e\u8a2d\u5b9a\u3092\u8a31\u53ef\u3059\u308b\u3088\u3046\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u305b\u3093\u3002
AboutJenkins.DisplayName=Jenkins\u306b\u3064\u3044\u3066
AboutJenkins.Description=\u30d0\u30fc\u30b8\u30e7\u30f3\u3068\u30e9\u30a4\u30bb\u30f3\u30b9\u60c5\u5831\u3092\u8868\u793a\u3057\u307e\u3059\u3002

Expand Down
5 changes: 0 additions & 5 deletions core/src/main/resources/hudson/Messages_pt.properties
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,7 @@ Util.year={0} yr
FilePath.validateRelativePath.notDirectory=\u2018{0}\u2019 n\u00e3o \u00e9 um diret\u00f3rio
PluginManager.PortNotANumber=Porta n\u00e3o \u00e9 um n\u00famero
FilePath.validateRelativePath.noSuchFile=Arquivo n\u00e3o existe: \u2018{0}\u2019
PluginManager.ConfigureUpdateCenterPermission.Description=\
A permissao "configurar a central de atualiza\u00e7\u00f5es" permite o \
usu\u00e1rio configurar sites de atualiza\u00e7\u00e3o e configura\u00e7\u00f5es de proxy.
FilePath.validateAntFileMask.portionMatchButPreviousNotMatchAndSuggest=\u2018{0}\u2019 n\u00e3o corresponde a nenhum: \u2018{1}\u2019 existe mas n\u00e3o \u2018{2}\u2019
PluginManager.UploadPluginsPermission.Description= \
A permiss\u00e3o de "upload plugin" permite ao usu\u00e1rio fazer upload de qualquer plugin.
PluginManager.DisplayName=Gerenciados de plugins
FilePath.validateRelativePath.noSuchDirectory=N\u00e3o existe o diret\u00f3rio: \u2018{0}\u2019
Util.millisecond={0} ms
Expand Down
5 changes: 0 additions & 5 deletions core/src/main/resources/hudson/Messages_pt_BR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,6 @@ Util.year ={0} {0,choice,0#anos|1#ano|1<anos}
PluginManager.DisplayName=Gerenciador de plugins
PluginManager.PortNotANumber=A porta n\u00e3o \u00e9 um n\u00famero
PluginManager.PortNotInRange=A porta n\u00e3o est\u00e1 no intervalo de {0} at\u00e9 {1}
PluginManager.UploadPluginsPermission.Description=\
A permiss\u00e3o do plugin de upload permite que o usu\u00e1rio fa\u00e7a upload de qualquer plugin.
PluginManager.ConfigureUpdateCenterPermission.Description=\
A permiss\u00e3o do configurar o update center permite que os usu\u00e1rios configurem sites de update e configura\u00e7\u00f5es de proxy.

AboutJenkins.DisplayName=Sobre o Jenkins
AboutJenkins.Description=Veja a informa\u00e7\u00e3o de vers\u00e3o e licen\u00e7a.

Expand Down
2 changes: 0 additions & 2 deletions core/src/main/resources/hudson/Messages_sr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ PluginManager.PluginIsAlreadyInstalled.RestartRequired=\u041C\u043E\u0434\u0443\
PluginManager.DisplayName=\u0423\u043F\u0440\u0430\u0432\u0459\u0430\u045A\u0435 \u043C\u043E\u0434\u0443\u043B\u0438\u043C\u0430
PluginManager.PortNotANumber=\u0412\u0440\u0435\u0434\u043D\u043E\u0441\u0442 \u043F\u043E\u0440\u0442\u0430 \u043C\u043E\u0440\u0430 \u0431\u0438\u0442\u0438 \u0431\u0440\u043E\u0458
PluginManager.PortNotInRange=\u0411\u0440\u043E\u0458 \u043F\u043E\u0440\u0442\u0430 \u043C\u043E\u0440\u0430 \u0431\u0438\u0442\u0438 \u0438\u0437\u043C\u0435\u0452\u0443 {0} \u0438 {1}
PluginManager.UploadPluginsPermission.Description=\u041F\u0440\u0430\u0432\u043E \u0437\u0430 \u043E\u0442\u043F\u0440\u0435\u043C\u0430\u045A\u0435 \u043C\u043E\u0434\u0443\u043B\u0430 \u0434\u0430\u0458\u0435 \u043C\u043E\u0433\u0443\u045B\u043D\u043E\u0441\u0442 \u043A\u043E\u0440\u0438\u0441\u043D\u0438\u043A\u0443 \u0434\u0430 \u043E\u0442\u043F\u0440\u0435\u043C\u0438 \u0441\u0432\u043E\u0458\u0435 \u043C\u043E\u0434\u0443\u043B\u0435.
PluginManager.ConfigureUpdateCenterPermission.Description=
AboutJenkins.DisplayName=\u041E Jenkins-\u0443
AboutJenkins.Description=\u041F\u0440\u043E\u0432\u0435\u0440\u0438 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u0458\u0435 \u043E \u0432\u0435\u0440\u0437\u0438\u0458\u0438 \u0438 \u043B\u0438\u0446\u0435\u043D\u0446\u0438.
ProxyConfiguration.TestUrlRequired=URL \u0430\u0434\u0440\u0435\u0441\u0430 \u0437\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u0430\u045A\u0435 \u043C\u043E\u0440\u0430 \u0431\u0438\u0442\u0438 \u043D\u0430\u0432\u0435\u0434\u0435\u043D\u043E.
Expand Down
5 changes: 0 additions & 5 deletions core/src/main/resources/hudson/Messages_zh_TW.properties
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,5 @@ FilePath.TildaDoesntWork=''~'' \u53ea\u80fd\u5728 Unix Shell \u4e2d\u4f7f\u7528\
PluginManager.DisplayName=\u5916\u639b\u7a0b\u5f0f\u7ba1\u7406
PluginManager.PortNotANumber=\u9023\u63a5\u57e0\u4e0d\u662f\u6578\u5b57
PluginManager.PortNotInRange=\u9023\u63a5\u57e0\u53ea\u80fd\u4ecb\u65bc {0} \u5230 {1}
PluginManager.UploadPluginsPermission.Description=\
"upload plugin" \u6b0a\u9650\u5141\u8a31\u4f7f\u7528\u8005\u4e0a\u50b3\u4efb\u610f\u5916\u639b\u7a0b\u5f0f\u3002
PluginManager.ConfigureUpdateCenterPermission.Description=\
"configure update center" \u6b0a\u9650\u5141\u8a31\u4f7f\u7528\u8005\u8a2d\u5b9a\u66f4\u65b0\u7db2\u7ad9\u53ca\u4ee3\u7406\u4f3a\u670d\u5668\u8a2d\u5b9a\u3002

AboutJenkins.DisplayName=\u95dc\u65bc Jenkins
AboutJenkins.Description=\u67e5\u770b\u7248\u672c\u53ca\u6388\u6b0a\u8cc7\u8a0a
7 changes: 1 addition & 6 deletions core/src/main/resources/hudson/PluginManager/advanced.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ THE SOFTWARE.
<table id="pluginsAdv" class="pane" style="margin-top:0; border-top:none">
<tr style="border-top:none; white-space: normal">
<td>
<l:hasPermission permission="${app.pluginManager.CONFIGURE_UPDATECENTER}">
<h1>${%HTTP Proxy Configuration}</h1>
<f:form method="post" action="proxyConfigure" name="proxyConfigure">
<j:scope>
Expand All @@ -47,9 +46,7 @@ THE SOFTWARE.
<f:submit />
</f:block>
</f:form>
</l:hasPermission>

<l:hasPermission permission="${app.pluginManager.UPLOAD_PLUGINS}">
<h1>${%Upload Plugin}</h1>
<f:form method="post" action="uploadPlugin" name="uploadPlugin" enctype="multipart/form-data">
<f:block>
Expand All @@ -65,8 +62,7 @@ THE SOFTWARE.
<f:submit value="${%Upload}" />
</f:block>
</f:form>
</l:hasPermission>
<l:hasPermission permission="${app.pluginManager.CONFIGURE_UPDATECENTER}">

<h1>${%Update Site}</h1>
<f:form method="post" action="siteConfigure" name="siteConfigure">
<f:entry title="${%URL}" >
Expand All @@ -92,7 +88,6 @@ THE SOFTWARE.
</j:forEach>
</ul>
</j:if>
</l:hasPermission>
</td>
</tr>
</table>
Expand Down
2 changes: 0 additions & 2 deletions core/src/main/resources/hudson/PluginManager/tabBar.jelly
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ THE SOFTWARE.
<l:tab name="${%Updates}" active="${page=='updates'}" href="." />
<l:tab name="${%Available}" active="${page=='available'}" href="./available" />
<l:tab name="${%Installed}" active="${page=='installed'}" href="./installed" />
<j:if test="${h.hasPermission(app.pluginManager.UPLOAD_PLUGINS) || h.hasPermission(app.pluginManager.CONFIGURE_UPDATECENTER)}">
<l:tab name="${%Advanced}" active="${page=='advanced'}" href="./advanced" />
</j:if>
</l:tabBar>
</j:jelly>
Loading