########################################################################
# Copyright (c) 2003, 2005 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
########################################################################

# Lines beginning with '#' or '//' are comments
#
# This file contains the default permissions to be granted
# to bundles with no specific permission if there are no
# default permission set. This file must be UTF8 encoded.
#
# In this file, FilePermissions with relative names are not
# mapped to an individual bundle's data directory.
#
# The permissions are listed one per
# line in PermissionInfo encoded format.
# See org.osgi.service.permissionadmin.PermissionInfo

(java.security.AllPermission)
