AppServer/Plugins

Plug-ins

The plug-in commandments

I. A plugin's existence or lack thereof shall not affect the server in a negative way
II. The server shall not concern itself with a plugin's existence
III. All plugins shall be loaded by the PluginLauncher
IV. All plugin main classes shall implement IRed5Plugin
V. Plugins shall be contained within a jar or zip
VI. A plugin shall only live within the red5/plugins directory

Plug-in downloads

 Admin 1.0 Unzip and place all the files in your red5/plugins directory.

Fixing plug-in startup errors

Admin Plugin

If you see this error:

2009-11-03 14:54:57,776 [main] ERROR o.red5.server.plugin.PluginLauncher - Error loading plugin: org.red5.server.plugin.admin.AdminPlugin; Method: null; Exception: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'authClientRegistry' defined in class path resource [admin-security.xml]: Instantiation of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/security/BadCredentialsException

It means you are missing some library jars required by the admin. To resolve this, just place the following jars in the red5/plugins directory:

derby-10.5.3.0.jar
commons-dbcp-1.2.2.jar
spring-jdbc-2.5.6.jar
spring-orm-2.5.6.jar
spring-security-core-2.5.6.jar
spring-tx-2.5.6.jar

If you are using a security manager with Red5 and the admin plug-in, you must add the following entries to your policy file:

grant codeBase "file:plugins/adminplugin.jar" {
  permission java.lang.RuntimePermission "getenv.DERBY_HOME";
  permission java.util.PropertyPermission "derby.*", "read";
  permission java.io.FilePermission "${derby.system.home}","read";
  permission java.io.FilePermission "${derby.system.home}${/}*", "read,write,delete";
  permission java.io.FilePermission "${user.dir}${/}-", "read,write,delete";
  permission java.io.FilePermission "${derby.system.home}${/}Admin${/}-", "read,write,delete";
};

grant codeBase "file:plugins/derby-10.5.3.0.jar" {
  permission java.lang.RuntimePermission "createClassLoader";
  permission java.util.PropertyPermission "derby.*", "read";
  permission java.io.FilePermission "${derby.system.home}","read";
  permission java.io.FilePermission "${derby.system.home}${/}*", "read,write,delete";
  permission java.io.FilePermission "${user.dir}${/}-", "read,write,delete";
  permission java.io.FilePermission "${derby.system.home}${/}Admin${/}-", "read,write,delete";
  permission java.util.PropertyPermission "derby.storage.jvmInstanceId", "write"; 
};

Adding or modifying admin users

This page will allow you to add or modify users, make sure you remove it when you are done since it allows anyone to add users to your admin.
Instructions:
1. Get the "helper" page here:  http://red5.googlecode.com/files/admin.jsp
2. Start your server
3. Put the admin.jsp page in red5/webapps/root directory
4. Request the page via browser -  http://localhost:5080/admin.jsp
5. Enter your info and submit
6. Go to the admin panel and login