! $OpenBSD: Xsystrace.ad,v 1.1.1.1 2006/11/26 10:58:43 matthieu Exp $
!
! Copyright (c) 2002 Matthieu Herrb and Niels Provos
! All rights reserved.
!
! Redistribution and use in source and binary forms, with or without
! modification, are permitted provided that the following conditions
! are met:
!
!    - Redistributions of source code must retain the above copyright
!      notice, this list of conditions and the following disclaimer.
!    - Redistributions in binary form must reproduce the above
!      copyright notice, this list of conditions and the following
!      disclaimer in the documentation and/or other materials provided
!      with the distribution.
!
! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
! "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
! LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
! FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
! COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
! INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
! BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
! LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
! CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
! LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
! ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
! POSSIBILITY OF SUCH DAMAGE.
!

*background: #d7d7d7
*.font: -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1
*borderWidth: 0

!
! 3D frame for Forms
!
*.Form.displayList:\
foreground	gray90;\
lines		1,-2,1,16,-2,16;\
lines		0,-1,-1,-1,-1,15;\
foreground	gray40;\
lines		0,-2,0,15,-2,15;\
lines		1,-2,-2,-2,-2,16

*.tip.background: #ffffc0
*.tip.font: -*-helvetica-medium-r-*--10-*-*-*-*-*-iso8859-1

!
! Generic 3D Menu
!
*MenuButton.foreground:			gray20
*MenuButton.displayList:\
line-style	solid;\
foreground	gray40;\
lines		1,-1,-1,-1,-1,1;\
foreground	gray90;\
lines		-1,0,0,0,0,-1;\
line-style	onoffdash;\
foreground	gray80;\
draw-rect	1,1,-2,-2
!
*SimpleMenu.?.foreground:		gray20
*SimpleMenu.displayList:\
foreground	gray40;\
lines		1,-1,-1,-1,-1,1;\
foreground	gray90;\
lines		-1,0,0,0,0,-1
!
! Generic 3D Text field
!
*Text.?.foreground:			gray20
*Text.borderWidth:			0
*Text.background:			gray96
*Text.?.cursorColor:			rgb:d/5/5
*Text.displayList:\
foreground	gray90;\
lines		1,-1,-1,-1,-1,1;\
foreground	gray40;\
lines		-1,0,0,0,0,-1
!
! Generic 3D buttons
!
*Command.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1

!
! Widgets placement
!
*date-label.fromHoriz: title-label
*processInfo-form.fromVert: title-form
*processInfo-form.vertDistance: 0
*syscallInfo-form.fromVert: processInfo-form
*syscallInfo-form.vertDistance: 0
*status-form.fromVert: syscallInfo-form
*status-form.vertDistance: 0
*errorCode-form.fromVert: status-form
*errorCode-form.vertDistance: 0
*specialProc-form.fromHoriz: errorCode-form
*specialProc-form.fromVert: status-form
*specialProc-form.vertDistance: 0
*buttons-form.fromVert: specialProc-form
*buttons-form.vertDistance: 0
!
*processName-label.fromVert: processInfo-label
*processName-value.fromHoriz: processName-label
*processName-value.fromVert: processInfo-label
*processPid-label.fromVert: processName-label
*processPid-value.fromHoriz: processPid-label
*processPid-value.fromVert: processName-value
*policyName-label.fromVert: processPid-label
*policyName-value.fromVert: processPid-value
*policyName-value.fromHoriz: policyName-label
!
*syscallInfo-value.fromVert: syscallInfo-label
*filter-label.fromVert: syscallInfo-value
*filter-text.fromHoriz: filter-label
*filter-text.fromVert: syscallInfo-value
*filter-menu-button.fromHoriz: filter-text
*filter-menu-button.fromVert: syscallInfo-value
*filter-button.fromHoriz: filter-menu-button
*filter-button.fromVert: syscallInfo-value
*status-value.fromVert: status-label
*errorCode-text.fromVert: errorCode-label
*errorCode-button.fromHoriz: errorCode-text
*errorCode-button.fromVert: errorCode-label
*kill-button.fromVert: specialProc-label
*review-button.fromHoriz: kill-button
*review-button.fromVert: specialProc-label
*auto-button.fromHoriz: review-button
*auto-button.fromVert: specialProc-label
*allow-button.fromHoriz: deny-button
*deny-all-button.fromHoriz: allow-button
*deny-all-button.horizDistance: 15
*allow-all-button.fromHoriz: deny-all-button
!
*review-text.fromVert: review-label
*done-button.fromVert: review-text
!
*wizard-help-text.fromVert: wizard-help-label
*wizard-form.fromVert: wizard-help-form
*wizard-form.vertDistance: 0
*wizard-text.fromVert: wizard-label
*wizard-ok-button.fromVert: wizard-text
*wizard-cancel-button.fromHoriz: wizard-ok-button
*wizard-cancel-button.fromVert: wizard-text
!
! Main form
!
*.form.displayList:
*.wizard-top.displayList:
!
! Logo Display
!
*title-form.displayList:
*title-label.label: 
*title-label.width: 209
*title-label.height: 28
*title-label.displayList:\
image xpm:logo.xpm,0,0,0,0
!
*date-label.width: 200
!
! Process Information
!
*processName-label.width: 120
*processName-label.justify: left
!*processName-value.font: -*-helvetica-bold-r-*--14-*-*-*-*-*-iso8859-1
*processName-value.foreground: red2
*processName-value.justify: left
*processName-value.width: 335
*processPid-label.width: 120
*processPid-label.justify: left
!*processPid-value.font: -*-helvetica-bold-r-*--14-*-*-*-*-*-iso8859-1
*processPid-value.foreground: red2
*processPid-value.justify: left
*processPid-value.width: 335
*policyName-label.width: 120
*policyName-label.justify: left
!*policyName-value.font: -*-helvetica-bold-r-*--14-*-*-*-*-*-iso8859-1
*policyName-value.foreground: red2
*policyName-value.width: 335
*policyName-value.justify: left
!
! Syscall Information
!
*syscallInfo-value.font: -*-helvetica-bold-r-*--14-*-*-*-*-*-iso8859-1
*syscallInfo-value.foreground: red2
*syscallInfo-value.width: 460
!
! Syscall Filter text entry 
!
*filter-text.width: 270
*filter-text.background: gray90
*filter-text.translations: #override \
<Key>Return: filter-changed()
!
*status-value.width: 460
*status-value.label: 
!
! Special processing buttons
!
*kill-button.width: 65
*kill-button.height: 40
*kill-button.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1;\
image xpm:skull.xpm,5,5,0,0;\
foreground black;\
font -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1;\
draw-string 40,25,Kill
!
*review-button.height: 40
!
*auto-button.height: 40
!
*buttons-form.displayList: 
!
! Permit button
!
*allow-button.width: 100
*allow-button.height: 50
*allow-button.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1;\
image xpm:permit.xpm,0,0,0,0;\
foreground black;\
font -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1;\
draw-string 55,30,Permit
!
! Deny button
!
*deny-button.width: 100
*deny-button.height: 50
*deny-button.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1;\
image xpm:deny.xpm,0,0,0,0;\
foreground black;\
font -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1;\
draw-string 55,30,Deny
!
! Permit Always button
!
*allow-all-button.width: 120
*allow-all-button.height: 50
*allow-all-button.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1;\
image xpm:permit-always.xpm,5,0,0,0;\
foreground black;\
font -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1;\
draw-string 55,20,"Permit";\
draw-string 60,35,"Always"
!
! Deny Always button
!
*deny-all-button.width: 120
*deny-all-button.height: 50
*deny-all-button.displayList:\
foreground  gray40;\
lines 1,-1,-1,-1,-1,1;\
foreground      gray90;\
lines           -1,0,0,0,0,-1;\
image xpm:deny-always.xpm,5,0,0,0;\
foreground black;\
font -*-helvetica-medium-r-*--12-*-*-*-*-*-iso8859-1;\
draw-string 55,20,"Deny";\
draw-string 60,35,"Always";
!
!
*review-text.width: 380
*review-text.height: 70
*review-text.scrollVertical: Always
*review-text*borderwidth: 1
!
*wizard-text.width: 100
*wizard-text.height: 100
*wizard-text.verticalList: True
*wizard-text.forceColumns: True
*wizard-text.defaultColumns: 1
*wizard-text.background: white
*wizard-text*borderwidth: 1
!
! Various labels
!
*processInfo-label.label: Process Information
*processName-label.label: Process Name: 
*processPid-label.label: Process Id: 
*policyName-label.label: Policy Name:
*syscallInfo-label.label: System Call Information
*filter-label.label: Filter Expression:
*filter-button.label: Wizard
*status-label.label: Status:
*kill-button.label:
*review-button.label: Review Filter
*auto-button.label: Automatic
*allow-button.label: 
*deny-button.label: 
*allow-all-button.label:
*deny-all-button.label:
*review-label.label: Filter List
*done-button.label: OK
!
*filter-menu-button.width: 25
*filter-menu-button.label: 
*filter-menu-button.displayList:\
foreground gray90;\
lines -1,0,0,0,0,-1;\
lines 12,15,5,5,20,5;\
foreground gray40;\
lines 1,-1,-1,-1,-1,1;\
lines 12,15,20,5
!
*wizard-help-label.label: Systrace Notification
*wizard-help-text.label: \
This dialog allows the selection of default policies\n\
for the current application. The following list \n\
describes potential templates that can be used as \n\
a quick start for a new policy.
*wizard-label.label: Templates
*wizard-ok-button.label: OK
*wizard-cancel-button.label: Cancel
!
*errorCode-label.label: Error Code:
*errorCode-button.label:
*errorCode-text.width: 200
*errorCode-text.background: gray90
*errorCode-text.translations: #override \
<Key>Return: errorcode-changed()
*errorCode-button.width: 25
*errorCode-button.displayList:\
foreground gray90;\
lines -1,0,0,0,0,-1;\
lines 12,15,5,5,20,5;\
foreground gray40;\
lines 1,-1,-1,-1,-1,1;\
lines 12,15,20,5
!
*specialProc-label.label: Special Processing
!
!
! Tips
!
*filter-text.tip: \
Enter a filter expression that will \n\
be added to the current policy. \n\
A sample policy can be choosed from the \n\
pull-down list.

*filter-menu-button.tip: \
Give a choice of sample policies \n\
for the current system call.

*filter-button.tip: \
Pops up a dialog that allows to \n\
select a template policy.

*errorCode-button.tip: \
Configure the error code that is \n\
returned to the application when \n\
the system call is denied.

*errorCode-text.tip: \
You can enter an error code here\n\
that's not listed in the menu on\n\
the right. 

*kill-button.tip: \
This button will terminate\n\
the current application.

*review-button.tip: \
Review the configured policy\n\
for this system call. 

*auto-button.tip: \
Detaches the interactive monitoring from\n\
the current policy. If a policy exists, all\n\
system calls not covered by it will be\n\
denied. Otherwise, if no policy exists,\n\
all system calls for this process will be\n\
allowed.

*allow-button.tip: \
Allows the current system call.  If the\n\
application attempts the system call again,\n\
a new warning will be generated.

*deny-button.tip: \
Denies the current system call. \n\
The error code above is returned to the\n\
application. The application is allowed\n\
to attempt the system call again

*allow-all-button.tip: \
Permits this system call forever. No more\n\
monitoring of this system call is happening.\n\
Use this option very carefully.

*deny-all-button.tip: \
Denies the application to execute the system\n\
call ever again. The error configured above\n\
will be returned. Use this option carefully.

