Blame view

net/netlabel/netlabel_unlabeled.h 2.59 KB
d15c345fe   Paul Moore   [NetLabel]: core ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  /*
   * NetLabel Unlabeled Support
   *
   * This file defines functions for dealing with unlabeled packets for the
   * NetLabel system.  The NetLabel system manages static and dynamic label
   * mappings for network protocols such as CIPSO and RIPSO.
   *
   * Author: Paul Moore <paul.moore@hp.com>
   *
   */
  
  /*
   * (c) Copyright Hewlett-Packard Development Company, L.P., 2006
   *
   * This program is free software;  you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation; either version 2 of the License, or
   * (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY;  without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
   * the GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License
   * along with this program;  if not, write to the Free Software
   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
   *
   */
  
  #ifndef _NETLABEL_UNLABELED_H
  #define _NETLABEL_UNLABELED_H
  
  #include <net/netlabel.h>
  
  /*
   * The following NetLabel payloads are supported by the Unlabeled subsystem.
   *
d15c345fe   Paul Moore   [NetLabel]: core ...
39
40
41
42
43
   * o ACCEPT
   *   This message is sent from an application to specify if the kernel should
   *   allow unlabled packets to pass if they do not match any of the static
   *   mappings defined in the unlabeled module.
   *
fd3858554   Paul Moore   [NetLabel]: rewor...
44
   *   Required attributes:
d15c345fe   Paul Moore   [NetLabel]: core ...
45
   *
fd3858554   Paul Moore   [NetLabel]: rewor...
46
   *     NLBL_UNLABEL_A_ACPTFLG
d15c345fe   Paul Moore   [NetLabel]: core ...
47
48
49
50
51
   *
   * o LIST
   *   This message can be sent either from an application or by the kernel in
   *   response to an application generated LIST message.  When sent by an
   *   application there is no payload.  The kernel should respond to a LIST
fd3858554   Paul Moore   [NetLabel]: rewor...
52
   *   message with a LIST message on success.
d15c345fe   Paul Moore   [NetLabel]: core ...
53
   *
fd3858554   Paul Moore   [NetLabel]: rewor...
54
   *   Required attributes:
d15c345fe   Paul Moore   [NetLabel]: core ...
55
   *
fd3858554   Paul Moore   [NetLabel]: rewor...
56
   *     NLBL_UNLABEL_A_ACPTFLG
d15c345fe   Paul Moore   [NetLabel]: core ...
57
58
59
60
61
62
   *
   */
  
  /* NetLabel Unlabeled commands */
  enum {
  	NLBL_UNLABEL_C_UNSPEC,
d15c345fe   Paul Moore   [NetLabel]: core ...
63
64
65
66
67
  	NLBL_UNLABEL_C_ACCEPT,
  	NLBL_UNLABEL_C_LIST,
  	__NLBL_UNLABEL_C_MAX,
  };
  #define NLBL_UNLABEL_C_MAX (__NLBL_UNLABEL_C_MAX - 1)
fd3858554   Paul Moore   [NetLabel]: rewor...
68
69
70
71
72
73
74
75
76
77
  /* NetLabel Unlabeled attributes */
  enum {
  	NLBL_UNLABEL_A_UNSPEC,
  	NLBL_UNLABEL_A_ACPTFLG,
  	/* (NLA_U8)
  	 * if true then unlabeled packets are allowed to pass, else unlabeled
  	 * packets are rejected */
  	__NLBL_UNLABEL_A_MAX,
  };
  #define NLBL_UNLABEL_A_MAX (__NLBL_UNLABEL_A_MAX - 1)
d15c345fe   Paul Moore   [NetLabel]: core ...
78
79
80
81
82
83
84
85
86
87
  /* NetLabel protocol functions */
  int netlbl_unlabel_genl_init(void);
  
  /* Process Unlabeled incoming network packets */
  int netlbl_unlabel_getattr(struct netlbl_lsm_secattr *secattr);
  
  /* Set the default configuration to allow Unlabeled packets */
  int netlbl_unlabel_defconf(void);
  
  #endif