6432 Commits

Author SHA1 Message Date
Boris Schrijver
b1e5906923 CLOUDSTACK-8642: SSO Method not allowed bug fix. Due to CLOUDSTACK-8505 and commit 1c81b241e7914b24b06c3b7b3ee98bc0d3b4f68b
Signed-off-by: Daan Hoogland <daan@onecht.net>

This closes #598
2015-07-16 17:00:05 +02:00
Rohit Yadav
47d2d07eb9 CLOUDSTACK-8457: SAML UI Dialog fixes to use local $form
This uses local selector to access the DOM elements, the previous commit
would find a global element which is not in the context and fail changing the
element in the opened dialog.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #583
2015-07-15 18:36:46 +05:30
Rohit Yadav
76a10351a5 CLOUDSTACK-8457: SAML UI enhancements
Add option to authorize SAML SSO for user when adding user. Appends a domain to
user/account name if global setting is enabled, useful in case of multiple IDP
server. By default the setting is set to false (keep as it is).

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #575

(cherry picked from commit 7d11c7bc703be00c91ea267695a33756ebb14b57)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-07-14 10:20:30 +05:30
Rohit Yadav
42940a8828 CLOUDSTACK-8622: Reinstate working sessions in browser
- Login is based on sessionkey HttpOnly Cookie
- ApiServlet does login verification using sessionKey from both the request cookies
  and the API parameters. In both cases, if either or both are passed they should
  match the sessionKey stored in the current session of the HttpRequest
- UI: it no longer needs to read or set sessionkey cookie
- UI: it no longer needs to return g_sessionKey value in the API requests, though
  to support a sso mechanism g_sessionKey is still passed in the API is not null
- Secure jsessionid cookie is set to be HttpOnly and Secure
- SAML login should also set HttpOnly cookie before redirecting to UI
- SAML: listIdps & getSPMetadata APIs are readonly now, won't log out a logged in user

Performed tests (login, saml login if applicable, page refreshes, opening
multiple tabs, logout) with following combinations:
- SAML disabled, normal auth as admin, domain-admin and user
- SAML enabled, normal auth as admin, domain-admin and user; and saml sso as
  admin, domain-admin and user

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #574
This closes #308
2015-07-10 17:25:07 +05:30
Rohit Yadav
7c206c30a5 CLOUDSTACK-8621: Allow UI plugins to be shown on navigation bar
Introduces a boolean option in UI plugins setting it to 'true' would display
the UI plugin on the left navigation bar.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #563
2015-07-09 15:25:13 +05:30
Rohit Yadav
107595a6a5 CLOUDSTACK-8457: SAML auth plugin improvements for production usage
* Move config options to SAML plugin
  This moves all configuration options from Config.java to SAML auth manager. This
  allows us to use the config framework.
* Make SAML2UserAuthenticator validate SAML token in httprequest
* Make logout API use ConfigKeys defined in saml auth manager
* Before doing SAML auth, cleanup local states and cookies
* Fix configurations in 4.5.1 to 4.5.2 upgrade path
* Fail if idp has no sso URL defined
* Add a default set of SAML SP cert for testing purposes
  Now to enable and use saml, one needs to do a deploydb-saml after doing a deploydb
* UI remembers login selections, IDP server

- CLOUDSTACK-8458:
    * On UI show dropdown list of discovered IdPs
    * Support SAML Federation, where there may be more than one IdP
        - New datastructure to hold metadata of SP or IdP
        - Recursive processing of IdP metadata
        - Fix login/logout APIs to get new interface and metadata data structure
        - Add org/contact information to metadata
        - Add new API: listIdps that returns list of all discovered IdPs
        - Refactor and cleanup code and tests

- CLOUDSTACK-8459:
    * Add HTTP-POST binding to SP metadata
    * Authn requests must use either HTTP POST/Artifact binding

- CLOUDSTACK-8461:
    * Use unspecified x509 cert as a fallback encryption/signing key
      In case a IDP's metadata does not clearly say if their certificates need to be
      used as signing or encryption and we don't find that, fallback to use the
      unspecified key itself.

- CLOUDSTACK-8462:
    * SAML Auth plugin should not do authorization
      This removes logic to create user if they don't exist. This strictly now
      assumes that users have been already created/imported/authorized by admins.
      As per SAML v2.0 spec section 4.1.2, the SP provider should create authn requests using
      either HTTP POST or HTTP Artifact binding to transfer the message through a
      user agent (browser in our case). The use of HTTP Redirect was one of the reasons
      why this plugin failed to work for some IdP servers that enforce this.
    * Add new User Source
      By reusing the source field, we can find if a user has been SAML enabled or not.
      The limitation is that, once say a user is imported by LDAP and then SAML
      enabled - they won't be able to use LDAP for authentication
    * UI should allow users to pass in domain they want to log into, though it is
      optional and needed only when a user has accounts across domains with same
      username and authorized IDP server
    * SAML users need to be authorized before they can authenticate
        - New column entity to track saml entity id for a user
        - Reusing source column to check if user is saml enabled or not
        - Add new source types, saml2 and saml2disabled
        - New table saml_token to solve the issue of multiple users across domains and
          to enforce security by tracking authn token and checking the samlresponse for
          the tokens
        - Implement API: authorizeSamlSso to enable/disable saml authentication for a
          user
        - Stubs to implement saml token flushing/expiry

- CLOUDSTACK-8463:
    * Use username attribute specified in global setting
      Use username attribute defined by admin from a global setting
      In case of encrypted assertion/attributes:
      - Decrypt them
      - Check signature if provided to check authenticity of message using IdP's
        public key and SP's private key
      - Loop through attributes to find the username

- CLOUDSTACK-8538:
    * Add new global config for SAML request sig algorithm

- CLOUDSTACK-8539:
    * Add metadata refresh timer task and token expiring
        - Fix domain path and save it to saml_tokens
        - Expire hour old saml tokens
        - Refresh metadata based on timer task
        - Fix unit tests

This closes #489

(cherry picked from commit 20ce346f3acb794b08a51841bab2188d426bf7dc)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	client/WEB-INF/classes/resources/messages_hu.properties
	plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/wrapper/xenbase/CitrixCheckHealthCommandWrapper.java
	plugins/user-authenticators/saml2/src/org/apache/cloudstack/api/command/SAML2LoginAPIAuthenticatorCmd.java
	ui/scripts/ui-custom/login.js
2015-06-29 12:31:51 +02:00
Erik Weber
5e96d13944 CLOUDSTACK-8455: Use the correct label to display extractable checkbox
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #471
2015-06-17 13:14:54 +02:00
Rafael da Fonseca
6dbf476755 Fix css syntax error in cloudstack3.css
Signed-off-by: Daan Hoogland <daan.hoogland@gmail.com>

This closes #463
2015-06-15 23:07:03 +02:00
Vadim Kimlaychuk
94f1ebb60a CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules
This closes #302

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-29 21:18:49 +02:00
Rafael da Fonseca
487d90148c Fixed problem with static files reload: - Tomcat was not caching most static files in index.jsp due to changing timestamp - Page reload performance was very poor - Issue affects all versions since 4.0
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #277
2015-05-22 15:22:16 +01:00
Rafael da Fonseca
b5cc147862 Fixes breadcrumbs problem described in CLOUDSTACK-7907
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #282
2015-05-22 10:48:56 +05:30
Koushik Das
1cd2e9bc44 Merge branch 'CLOUDSTACK-8301' of https://github.com/apache/cloudstack 2015-05-22 09:47:59 +05:30
Vadim Kimlaychuk
bede3a87ad CLOUDSTACK-8231: Fixed UI empty drop-down list for LB rules
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #271
2015-05-20 21:28:15 +01:00
Daan Hoogland
1c112ceae0 Merge branch 'sonarqube' of https://github.com/karuturi/cloudstack
This closes #269
2015-05-20 14:14:15 +02:00
Rajani Karuturi
8571314406 Fixed blocker issues reported by sonarqube in js files
All of them are trailing comma in array or object

more details @
https://analysis.apache.org/component_issues?id=org.apache.cloudstack%3Acloudstack#resolved=false|severities=BLOCKER|languages=js
2015-05-20 17:19:20 +05:30
ramamurtis
2148dca24b CLOUDSTACK-8301: Enable configuring local storage use for system VMs at zone level. This commit contains the UI changes for the feature.
Signed-off-by: Koushik Das <koushik@apache.org>

This closes #259
2015-05-19 21:53:24 +05:30
Rohit Yadav
4b597ca2b9 rat: add license header to error.jsp
(cherry picked from commit 9c995f1cab259eb88d802887ee6333e164a6c6f8)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-18 23:22:26 +01:00
Rohit Yadav
98a1059413 ui: add custom error handling page
This makes sure we don't expose CloudStack stacktrace (if any) on the frontend
instead redirect to show an error handling page.

This closes #256

(cherry picked from commit 112cecc2d4e44d032fb57d9794b02fe694122447)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-18 23:11:59 +01:00
Erik Weber
ab1df169f2 CLOUDSTACK-1667: Make a better description of the extractable flag
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #245
2015-05-12 12:51:56 +02:00
Laszlo Hornyak
e77226b07b added hungarian to the list of localized languages
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-09 08:37:53 +02:00
Laszlo Hornyak
cb1f25d17f CSS for the hungarian localization
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-09 08:37:53 +02:00
Daan Hoogland
1c408dec37 Merge branch '4.5' after 4.5.1 vote passes 2015-05-07 16:03:26 +02:00
Rohit Yadav
cb3d03c7b0 ui: use cloudstack logo as favicon
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit ba9c4cfa81206647af2fd8165652290fa7236350)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:25:44 +02:00
Laszlo Hornyak
a686d2e8b3 added favicon
This closes #225

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 0347f733dd7768eca4448c8c110973c4f801f0b6)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:25:34 +02:00
Rohit Yadav
ba9c4cfa81 ui: use cloudstack logo as favicon
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:24:05 +02:00
Laszlo Hornyak
0347f733dd added favicon
This closes #225

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-03 15:23:32 +02:00
ramamurtis
5646a07513 CLOUDSTACK-8427: Some messages are hard-coded in javascript after Volume upload branch merge(0b835592)
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #208
2015-04-29 15:00:11 +05:30
Rajani Karuturi
0b8355920e Merge branch 'volume-upload' into master
This closes #206
2015-04-29 11:12:53 +05:30
Remi Bergsma
9a8ee5664f CLOUDSTACK-6543 Sort domain lists in UI
As recently discussed on the dev list:
This sorts the domain lists based on their path.
Especially handy when having a lot of domains,
like in a public cloud.

Cherry-picked to 4.5 branch since commit exists in 4.4 and master branch.

(cherry picked from commit befa28251d0e250f07c52a9a2cd4441cc8bd86d8)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-17 15:18:16 +02:00
Rajani Karuturi
5c152e5f3a volume upload: disabled all zones during template upload 2015-04-13 14:43:12 +05:30
Remi Bergsma
a7f8059fd3 CLOUDSTACK-6543 Sort domain lists in UI
As recently discussed on the dev list:
This sorts the domain lists based on their path.
Especially handy when having a lot of domains,
like in a public cloud.
2015-04-12 23:21:43 -05:00
KC Wang
01864ef77c CLOUDSTACK-6697: bigswitch networking plugin update
1. provide compatibility with the Big Cloud Fabric (BCF) controller
   L2 Connectivity Service in both VPC and non-VPC modes
2. virtual network terminology updates: VNS --> BCF_SEGMENT
3. uses HTTPS with trust-always certificate handling
4. topology sync support with BCF controller
5. support multiple (two) BCF controllers with HA
6. support VM migration
7. support Firewall, Static NAT, and Source NAT with NAT enabled option
8. add VifDriver for Indigo Virtual Switch (IVS)

This closes #151

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 13:02:02 +05:30
Rohit Yadav
72430247ed CLOUDSTACK-8364: don't async poll for deleteVolume which is not an async API
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 1ef585f9e65e0854984211f11d5c2c7c2977a957)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 12:41:57 +05:30
Rohit Yadav
1ef585f9e6 CLOUDSTACK-8364: don't async poll for deleteVolume which is not an async API
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-09 12:41:03 +05:30
Rohit Yadav
7144e9b35d CLOUDSTACK-8231: use hardcoded list of LB algorithms as backup
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 6f2facfa3900f064e19cee34add2895862ef0556)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-27 09:29:36 +05:30
Rohit Yadav
6f2facfa39 CLOUDSTACK-8231: use hardcoded list of LB algorithms as backup
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-27 09:28:16 +05:30
Rohit Yadav
9763c9b84d CLOUDSTACK-7915: as a backup use hardcoded LB algorithms in UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 221e429b456e4e08af783c424744741fded73f5b)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-26 12:47:51 +05:30
Rohit Yadav
221e429b45 CLOUDSTACK-7915: as a backup use hardcoded LB algorithms in UI
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-26 12:45:30 +05:30
Rohit Yadav
ca1e5c1690 ui: list all networks
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-26 12:45:16 +05:30
vetrivelc
fc9a4f66ca CLOUDSTACK-8094: Fixed incorrect label issue.
(cherry picked from commit 4e1284147e0f5489c25d275dd047854d17002691)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	ui/dictionary2.jsp
2015-03-23 16:44:06 +05:30
Rohit Yadav
3c429ee6b5 Merge remote-tracking branch 'sbp/feature/persisten-systemvm-redundant-vpc-REBASE'
This closes #118

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-17 15:44:57 +05:30
Wei Zhou
b6eace03e4 UI: Fix typo in ui/scripts/configuration.js
(cherry picked from commit 5a860fe0aed62245f51e48fb70ef277d067955a0)
2015-03-16 12:58:50 +01:00
Wei Zhou
5a860fe0ae UI: Fix typo in ui/scripts/configuration.js 2015-03-16 12:50:10 +01:00
wilderrodrigues
05e4fe17e2 Show all routers of a VPC
- For redundant VPCs, we should see 2 routers
   - For single VPCs, we should see 1 router.
2015-03-16 11:39:59 +01:00
wilderrodrigues
4c9f4fcdd3 Make virtual router id unique per redundant group
Customise the messages showed during VPC restart based on redundancy
Do not show "Make Redundant" option if VPC is already redundant
Show on VPC details if a VPC is redundant
2015-03-16 11:39:58 +01:00
wilderrodrigues
e350f1e76f Turn a single VPC into a redundant VPC
- when restarting a VPC, the user can check the option Make Redundant in order to change
    the VPC offering and make it redundant
2015-03-16 11:39:57 +01:00
wilderrodrigues
88129adac1 Implement the new VPC restart
- behaves just like network restart: if clean up is checked, all routers destroyed; if 1 router is gone and no
    clean up, only 1 new router created.
2015-03-16 11:39:52 +01:00
Antonio Fornie
09bd847040 Vpc redundancy enabled. Including Vpc & Vpc Offering creation. Marvin tests and UI. 2015-03-16 11:38:05 +01:00
Rohit Yadav
6c71d3bae1 ui: if session cookie exists, use it to set global session holder and invalidate it
The 19e3c0168e744a76b5e1dc24a5eafa776d342404 commit breaks SAML login and any
login where redirection is used.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit b79f13ccb54c6afc48c42bc94c61621dc6cac32d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:27 +05:30
Jessica Wang
a308f37232 CS-18149: UI - no longer store sessionKey in cookie. After
... this change, opening the 2nd browser window (of the same
domain) will show login screen (i.e. user has to enter
credentials again) and will cause the 1st browser window
session timeout.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 19e3c0168e744a76b5e1dc24a5eafa776d342404)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-13 15:02:27 +05:30