Browse Source

Expose authorizeRoomCreation flag to web client.

pull/156/head
Simon Eisenmann 11 years ago
parent
commit
e2cfbf7803
  1. 4
      src/app/spreed-webrtc-server/config.go
  2. 2
      src/app/spreed-webrtc-server/room_manager.go
  3. 2
      src/app/spreed-webrtc-server/room_manager_test.go

4
src/app/spreed-webrtc-server/config.go

@ -45,8 +45,8 @@ type Config struct {
UsersMode string // Users mode string UsersMode string // Users mode string
DefaultRoomEnabled bool // Flag if default room ("") is enabled DefaultRoomEnabled bool // Flag if default room ("") is enabled
Plugin string // Plugin to load Plugin string // Plugin to load
AuthorizeRoomCreation bool // Whether a user account is required to create rooms
globalRoomID string // Id of the global room (not exported to Javascript) globalRoomID string // Id of the global room (not exported to Javascript)
authorizeRoomCreation bool // Whether a user account is required to create rooms (not exported to Javascript)
contentSecurityPolicy string // HTML content security policy contentSecurityPolicy string // HTML content security policy
contentSecurityPolicyReportOnly string // HTML content security policy in report only mode contentSecurityPolicyReportOnly string // HTML content security policy in report only mode
} }
@ -100,8 +100,8 @@ func NewConfig(container phoenix.Container, tokens bool) *Config {
UsersMode: container.GetStringDefault("users", "mode", ""), UsersMode: container.GetStringDefault("users", "mode", ""),
DefaultRoomEnabled: container.GetBoolDefault("app", "defaultRoomEnabled", true), DefaultRoomEnabled: container.GetBoolDefault("app", "defaultRoomEnabled", true),
Plugin: container.GetStringDefault("app", "plugin", ""), Plugin: container.GetStringDefault("app", "plugin", ""),
AuthorizeRoomCreation: container.GetBoolDefault("app", "authorizeRoomCreation", false),
globalRoomID: container.GetStringDefault("app", "globalRoom", ""), globalRoomID: container.GetStringDefault("app", "globalRoom", ""),
authorizeRoomCreation: container.GetBoolDefault("app", "authorizeRoomCreation", false),
contentSecurityPolicy: container.GetStringDefault("app", "contentSecurityPolicy", ""), contentSecurityPolicy: container.GetStringDefault("app", "contentSecurityPolicy", ""),
contentSecurityPolicyReportOnly: container.GetStringDefault("app", "contentSecurityPolicyReportOnly", ""), contentSecurityPolicyReportOnly: container.GetStringDefault("app", "contentSecurityPolicyReportOnly", ""),
} }

2
src/app/spreed-webrtc-server/room_manager.go

@ -165,7 +165,7 @@ func (rooms *roomManager) GetOrCreate(id string, credentials *DataRoomCredential
return room, nil return room, nil
} }
if rooms.UsersEnabled && rooms.authorizeRoomCreation && !session.Authenticated() { if rooms.UsersEnabled && rooms.AuthorizeRoomCreation && !session.Authenticated() {
rooms.Unlock() rooms.Unlock()
return nil, NewDataError("room_join_requires_account", "Room creation requires a user account") return nil, NewDataError("room_join_requires_account", "Room creation requires a user account")
} }

2
src/app/spreed-webrtc-server/room_manager_test.go

@ -33,7 +33,7 @@ func NewTestRoomManager() (RoomManager, *Config) {
func Test_RoomManager_JoinRoom_ReturnsAnErrorForUnauthenticatedSessionsWhenCreationRequiresAnAccount(t *testing.T) { func Test_RoomManager_JoinRoom_ReturnsAnErrorForUnauthenticatedSessionsWhenCreationRequiresAnAccount(t *testing.T) {
roomManager, config := NewTestRoomManager() roomManager, config := NewTestRoomManager()
config.UsersEnabled = true config.UsersEnabled = true
config.authorizeRoomCreation = true config.AuthorizeRoomCreation = true
unauthenticatedSession := &Session{} unauthenticatedSession := &Session{}
_, err := roomManager.JoinRoom("foo", nil, unauthenticatedSession, nil) _, err := roomManager.JoinRoom("foo", nil, unauthenticatedSession, nil)

Loading…
Cancel
Save