xref: /freebsd/lib/libugidfw/bsde_get_rule.3 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
147ab23aaSRobert Watson.\" Copyright (c) 2003-2004 Networks Associates Technology, Inc.
2d69f8207SChris Costello.\" All rights reserved.
3d69f8207SChris Costello.\"
4d69f8207SChris Costello.\" This software was developed for the FreeBSD Project by Chris
5d69f8207SChris Costello.\" Costello at Safeport Network Services and Network Associates
6d69f8207SChris Costello.\" Laboratories, the Security Research Division of Network Associates,
7d69f8207SChris Costello.\" Inc. under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part
8d69f8207SChris Costello.\" of the DARPA CHATS research program.
9d69f8207SChris Costello.\"
10d69f8207SChris Costello.\" Redistribution and use in source and binary forms, with or without
11d69f8207SChris Costello.\" modification, are permitted provided that the following conditions
12d69f8207SChris Costello.\" are met:
13d69f8207SChris Costello.\" 1. Redistributions of source code must retain the above copyright
14d69f8207SChris Costello.\"    notice, this list of conditions and the following disclaimer.
15d69f8207SChris Costello.\" 2. Redistributions in binary form must reproduce the above copyright
16d69f8207SChris Costello.\"    notice, this list of conditions and the following disclaimer in the
17d69f8207SChris Costello.\"    documentation and/or other materials provided with the distribution.
18d69f8207SChris Costello.\"
19d69f8207SChris Costello.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
20d69f8207SChris Costello.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21d69f8207SChris Costello.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22d69f8207SChris Costello.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
23d69f8207SChris Costello.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24d69f8207SChris Costello.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25d69f8207SChris Costello.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26d69f8207SChris Costello.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27d69f8207SChris Costello.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28d69f8207SChris Costello.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29d69f8207SChris Costello.\" SUCH DAMAGE.
30d69f8207SChris Costello.\"
3147ab23aaSRobert Watson.Dd February 24, 2004
32d69f8207SChris Costello.Dt BSDE_GET_RULE 3
33*aa12cea2SUlrich Spörlein.Os
34d69f8207SChris Costello.Sh NAME
3547ab23aaSRobert Watson.Nm bsde_add_rule ,
36d69f8207SChris Costello.Nm bsde_get_rule ,
37d69f8207SChris Costello.Nm bsde_set_rule ,
38d69f8207SChris Costello.Nm bsde_delete_rule
399be02550SRuslan Ermilov.Nd "file system firewall rules list management"
40d69f8207SChris Costello.Sh LIBRARY
41d69f8207SChris Costello.Lb libugidfw
42d69f8207SChris Costello.Sh SYNOPSIS
43d69f8207SChris Costello.In ugidfw.h
44d69f8207SChris Costello.Ft int
4547ab23aaSRobert Watson.Fo bsde_add_rule
4647ab23aaSRobert Watson.Fa "int *rulenum" "struct mac_bsdextended_rule *rule"
4747ab23aaSRobert Watson.Fa "size_t buflen" "char *errstr"
4847ab23aaSRobert Watson.Fc
4947ab23aaSRobert Watson.Ft int
509be02550SRuslan Ermilov.Fo bsde_get_rule
519be02550SRuslan Ermilov.Fa "int rulenum" "struct mac_bsdextended_rule *rule"
529be02550SRuslan Ermilov.Fa "size_t errlen" "char *errstr"
539be02550SRuslan Ermilov.Fc
54d69f8207SChris Costello.Ft int
559be02550SRuslan Ermilov.Fo bsde_set_rule
569be02550SRuslan Ermilov.Fa "int rulenum" "struct mac_bsdextended_rule *rule"
579be02550SRuslan Ermilov.Fa "size_t errlen" "char *errstr"
589be02550SRuslan Ermilov.Fc
59d69f8207SChris Costello.Ft int
60d69f8207SChris Costello.Fn bsde_delete_rule "int rulenum" "size_t errlen" "char *errstr"
61d69f8207SChris Costello.Sh DESCRIPTION
62d69f8207SChris CostelloThe
6347ab23aaSRobert Watson.Fn bsde_add_rule
6447ab23aaSRobert Watsonfunction fills the next available
6547ab23aaSRobert Watsonrule (in
6647ab23aaSRobert Watson.Vt "struct mac_bsdextended_rule"
6747ab23aaSRobert Watsonform, either from
6847ab23aaSRobert Watson.Fn bsde_get_rule
6947ab23aaSRobert Watsonor
7047ab23aaSRobert Watson.Xr bsde_parse_rule 3 ) .
7147ab23aaSRobert WatsonIf an error occurs,
7247ab23aaSRobert Watson.Fa *errstr
7347ab23aaSRobert Watsonis filled with the error string
7447ab23aaSRobert Watson(up to
7547ab23aaSRobert Watson.Fa errlen
7647ab23aaSRobert Watsoncharacters, including the terminating
7747ab23aaSRobert Watson.Dv NUL ) .
7847ab23aaSRobert WatsonIf successful and
7947ab23aaSRobert Watson.Fa rulenum
80862b46f6SRuslan Ermilovis
81862b46f6SRuslan Ermilov.No non- Ns Dv NULL ,
82862b46f6SRuslan Ermilovthe rule number used will be returned in
8347ab23aaSRobert Watson.Fa *rulenum .
8447ab23aaSRobert Watson.Pp
8547ab23aaSRobert WatsonThe
86d69f8207SChris Costello.Fn bsde_get_rule
87d69f8207SChris Costellofunction fills in
88d69f8207SChris Costello.Fa *rule
89d69f8207SChris Costellowith the rule numbered
90d69f8207SChris Costello.Fa rulenum .
91d69f8207SChris CostelloIf an error occurs,
92d69f8207SChris Costello.Fa *errstr
93d69f8207SChris Costellois filled in with the error string
94d69f8207SChris Costello(up to
95d69f8207SChris Costello.Fa errlen
969be02550SRuslan Ermilovcharacters, including the terminating
979be02550SRuslan Ermilov.Dv NUL ) .
98d69f8207SChris Costello.Pp
99d69f8207SChris CostelloThe
100d69f8207SChris Costello.Fn bsde_set_rule
101d69f8207SChris Costellofunction fills the slot numbered
102d69f8207SChris Costello.Fa rulenum
103d69f8207SChris Costellowith the specified rule
104d69f8207SChris Costello(in
105d69f8207SChris Costello.Vt "struct mac_bsdextended_rule"
106d69f8207SChris Costelloform, either from
1079be02550SRuslan Ermilov.Fn bsde_get_rule
108d69f8207SChris Costelloor
109d69f8207SChris Costello.Xr bsde_parse_rule 3 ) .
110d69f8207SChris CostelloIf an error occurs,
111d69f8207SChris Costello.Fa *errstr
112d69f8207SChris Costellois filled with the error string
113d69f8207SChris Costello(up to
114d69f8207SChris Costello.Fa errlen
1159be02550SRuslan Ermilovcharacters, including the terminating
1169be02550SRuslan Ermilov.Dv NUL ) .
117d69f8207SChris Costello.Pp
118d69f8207SChris CostelloThe
119d69f8207SChris Costello.Fn bsde_delete_rule
120d69f8207SChris Costellofunction deletes the rule numbered
121d69f8207SChris Costello.Fa rulenum .
122d69f8207SChris CostelloIf an error occurs,
123d69f8207SChris Costello.Fa *errstr
124d69f8207SChris Costellois filled with the error string
125d69f8207SChris Costello(up to
126d69f8207SChris Costello.Fa errlen
1279be02550SRuslan Ermilovcharacters, including the terminating
1289be02550SRuslan Ermilov.Dv NUL ) .
129d69f8207SChris Costello.Sh RETURN VALUES
130d69f8207SChris CostelloThe
131d69f8207SChris Costello.Fn bsde_get_rule ,
132d69f8207SChris Costello.Fn bsde_set_rule ,
133d69f8207SChris Costelloand
134d69f8207SChris Costello.Fn bsde_delete_rule
1359be02550SRuslan Ermilovfunctions return 0 if successful;
1369be02550SRuslan Ermilovotherwise the value \-1 is returned and the value of
137d69f8207SChris Costello.Fa *errstr
138d69f8207SChris Costellois filled in as documented in
139d69f8207SChris Costello.Sx DESCRIPTION .
140d69f8207SChris Costello.Sh SEE ALSO
141d69f8207SChris Costello.Xr bsde_get_rule_count 3 ,
142d69f8207SChris Costello.Xr bsde_get_rule_slots 3 ,
143d69f8207SChris Costello.Xr bsde_parse_rule 3 ,
144d69f8207SChris Costello.Xr bsde_parse_rule_string 3 ,
145d69f8207SChris Costello.Xr bsde_rule_to_string 3 ,
146d69f8207SChris Costello.Xr libugidfw 3 ,
147d69f8207SChris Costello.Xr mac_bsdextended 4 ,
148d69f8207SChris Costello.Xr ugidfw 8
149d69f8207SChris Costello.Sh AUTHORS
150d69f8207SChris CostelloThis software was contributed to the
151d69f8207SChris Costello.Fx
152d69f8207SChris CostelloProject by Network Associates Labs,
153d69f8207SChris Costellothe Security Research Division of Network Associates
1541a0a9345SRuslan ErmilovInc.
1551a0a9345SRuslan Ermilovunder DARPA/SPAWAR contract N66001-01-C-8035
1569be02550SRuslan Ermilov.Pq Dq CBOSS ,
157d69f8207SChris Costelloas part of the DARPA CHATS research program.
158