diff --git a/refpolicy/policy/modules/admin/usermanage.te b/refpolicy/policy/modules/admin/usermanage.te index 8c3897a4..446197ec 100644 --- a/refpolicy/policy/modules/admin/usermanage.te +++ b/refpolicy/policy/modules/admin/usermanage.te @@ -1,5 +1,5 @@ -policy_module(usermanage,1.3.5) +policy_module(usermanage,1.3.6) ######################################## # @@ -25,7 +25,7 @@ type crack_exec_t; domain_entry_file(crack_t,crack_exec_t) type crack_db_t; -files_config_file(crack_db_t) +files_type(crack_db_t) type crack_tmp_t; files_tmp_file(crack_tmp_t) diff --git a/refpolicy/policy/modules/kernel/filesystem.te b/refpolicy/policy/modules/kernel/filesystem.te index aeeccb6c..867de410 100644 --- a/refpolicy/policy/modules/kernel/filesystem.te +++ b/refpolicy/policy/modules/kernel/filesystem.te @@ -1,5 +1,5 @@ -policy_module(filesystem,1.3.9) +policy_module(filesystem,1.3.10) ######################################## # @@ -159,7 +159,7 @@ genfscon udf / gen_context(system_u:object_r:iso9660_t,s0) type removable_t; allow removable_t noxattrfs:filesystem associate; fs_noxattr_type(removable_t) -files_config_file(removable_t) +files_type(removable_t) # # nfs_t is the default type for NFS file systems diff --git a/refpolicy/policy/modules/services/cups.te b/refpolicy/policy/modules/services/cups.te index 69d6faff..0c24a94e 100644 --- a/refpolicy/policy/modules/services/cups.te +++ b/refpolicy/policy/modules/services/cups.te @@ -1,5 +1,5 @@ -policy_module(cups,1.3.8) +policy_module(cups,1.3.9) ######################################## # @@ -131,8 +131,10 @@ kernel_tcp_recvfrom(cupsd_t) corenet_non_ipsec_sendrecv(cupsd_t) corenet_tcp_sendrecv_all_if(cupsd_t) corenet_udp_sendrecv_all_if(cupsd_t) +corenet_raw_sendrecv_all_if(cupsd_t) corenet_tcp_sendrecv_all_nodes(cupsd_t) corenet_udp_sendrecv_all_nodes(cupsd_t) +corenet_raw_sendrecv_all_nodes(cupsd_t) corenet_tcp_sendrecv_all_ports(cupsd_t) corenet_udp_sendrecv_all_ports(cupsd_t) corenet_tcp_bind_all_nodes(cupsd_t) @@ -153,6 +155,8 @@ dev_read_usbfs(cupsd_t) fs_getattr_all_fs(cupsd_t) fs_search_auto_mountpoints(cupsd_t) +# from old usercanread attrib: +fs_read_removable_files(cupsd_t) term_dontaudit_use_console(cupsd_t) term_write_unallocated_ttys(cupsd_t) @@ -250,10 +254,6 @@ optional_policy(` inetd_core_service_domain(cupsd_t,cupsd_exec_t,cupsd_t) ') -optional_policy(` - mount_send_nfs_client_request(cupsd_t) -') - optional_policy(` nscd_socket_use(cupsd_t) ') @@ -262,9 +262,14 @@ optional_policy(` portmap_udp_chat(cupsd_t) ') +optional_policy(` + # from old usercanread attrib: + rpc_read_nfs_content(cupsd_t) + rpc_read_nfs_state_data(cupsd_t) +') + optional_policy(` samba_rw_var_files(cupsd_t) - # cjp: rw_dir_perms was here, but doesnt make sense ') optional_policy(` @@ -275,6 +280,16 @@ optional_policy(` udev_read_db(cupsd_t) ') +optional_policy(` + # from old usercanread attrib: + usermanage_read_crack_db(cupsd_t) +') + +optional_policy(` + # from old usercanread attrib: + xserver_read_xkb_libs(cupsd_t) +') + ifdef(`TODO',` allow web_client_domain cupsd_t:tcp_socket { connectto recvfrom }; allow cupsd_t web_client_domain:tcp_socket { acceptfrom recvfrom }; @@ -308,11 +323,6 @@ allow cupsd_config_t cupsd_t:{ file lnk_file } { getattr read }; allow cupsd_config_t cupsd_t:dir { search getattr read }; allow cupsd_config_t cupsd_t:{ file lnk_file } { read getattr }; allow cupsd_config_t cupsd_t:process getattr; -# We need to suppress this denial because procps tries to access -# /proc/pid/environ and this now triggers a ptrace check in recent kernels -# (2.4 and 2.6). Might want to change procps to not do this, or only if -# running in a privileged domain. -dontaudit cupsd_config_t cupsd_t:process ptrace; allow cupsd_config_t cupsd_config_var_run_t:file create_file_perms; allow cupsd_config_t cupsd_config_var_run_t:dir rw_dir_perms; @@ -338,14 +348,12 @@ kernel_read_system_state(cupsd_config_t) kernel_read_kernel_sysctls(cupsd_config_t) kernel_tcp_recvfrom(cupsd_config_t) -corenet_tcp_sendrecv_all_if(cupsd_config_t) -corenet_raw_sendrecv_all_if(cupsd_config_t) -corenet_tcp_sendrecv_all_nodes(cupsd_config_t) -corenet_raw_sendrecv_all_nodes(cupsd_config_t) -corenet_tcp_sendrecv_all_ports(cupsd_config_t) corenet_non_ipsec_sendrecv(cupsd_config_t) -corenet_tcp_bind_all_nodes(cupsd_config_t) +corenet_tcp_sendrecv_all_if(cupsd_config_t) +corenet_tcp_sendrecv_all_nodes(cupsd_config_t) +corenet_tcp_sendrecv_all_ports(cupsd_config_t) corenet_tcp_connect_all_ports(cupsd_config_t) +corenet_sendrecv_all_client_packets(cupsd_config_t) dev_read_sysfs(cupsd_config_t) dev_read_urand(cupsd_config_t) @@ -493,15 +501,13 @@ kernel_read_kernel_sysctls(cupsd_lpd_t) kernel_read_system_state(cupsd_lpd_t) kernel_read_network_state(cupsd_lpd_t) +corenet_non_ipsec_sendrecv(cupsd_lpd_t) corenet_tcp_sendrecv_all_if(cupsd_lpd_t) corenet_udp_sendrecv_all_if(cupsd_lpd_t) -corenet_raw_sendrecv_all_if(cupsd_lpd_t) corenet_tcp_sendrecv_all_nodes(cupsd_lpd_t) corenet_udp_sendrecv_all_nodes(cupsd_lpd_t) -corenet_raw_sendrecv_all_nodes(cupsd_lpd_t) corenet_tcp_sendrecv_all_ports(cupsd_lpd_t) corenet_udp_sendrecv_all_ports(cupsd_lpd_t) -corenet_non_ipsec_sendrecv(cupsd_lpd_t) corenet_tcp_bind_all_nodes(cupsd_lpd_t) corenet_udp_bind_all_nodes(cupsd_lpd_t) corenet_tcp_connect_ipp_port(cupsd_lpd_t) @@ -546,10 +552,9 @@ allow hplip_t self:fifo_file rw_file_perms; allow hplip_t self:process signal_perms; allow hplip_t self:unix_dgram_socket create_socket_perms; allow hplip_t self:unix_stream_socket create_socket_perms; +allow hplip_t self:netlink_route_socket r_netlink_socket_perms; allow hplip_t self:tcp_socket create_stream_socket_perms; allow hplip_t self:udp_socket create_socket_perms; -allow hplip_t self:netlink_route_socket r_netlink_socket_perms; -# cjp: raw? allow hplip_t self:rawip_socket create_socket_perms; allow hplip_t cupsd_etc_t:dir search; @@ -568,6 +573,7 @@ files_pid_filetrans(hplip_t,hplip_var_run_t,file) kernel_read_system_state(hplip_t) kernel_read_kernel_sysctls(hplip_t) +corenet_non_ipsec_sendrecv(hplip_t) corenet_tcp_sendrecv_all_if(hplip_t) corenet_udp_sendrecv_all_if(hplip_t) corenet_raw_sendrecv_all_if(hplip_t) @@ -576,7 +582,6 @@ corenet_udp_sendrecv_all_nodes(hplip_t) corenet_raw_sendrecv_all_nodes(hplip_t) corenet_tcp_sendrecv_all_ports(hplip_t) corenet_udp_sendrecv_all_ports(hplip_t) -corenet_non_ipsec_sendrecv(hplip_t) corenet_tcp_bind_all_nodes(hplip_t) corenet_udp_bind_all_nodes(hplip_t) corenet_tcp_bind_hplip_port(hplip_t) @@ -641,8 +646,6 @@ optional_policy(` udev_read_db(hplip_t) ') -allow hplip_t devpts_t:chr_file { getattr ioctl }; - ######################################## # # PTAL local policy @@ -675,12 +678,10 @@ kernel_read_kernel_sysctls(ptal_t) kernel_list_proc(ptal_t) kernel_read_proc_symlinks(ptal_t) -corenet_tcp_sendrecv_all_if(ptal_t) -corenet_raw_sendrecv_all_if(ptal_t) -corenet_tcp_sendrecv_all_nodes(ptal_t) -corenet_raw_sendrecv_all_nodes(ptal_t) -corenet_tcp_sendrecv_all_ports(ptal_t) corenet_non_ipsec_sendrecv(ptal_t) +corenet_tcp_sendrecv_all_if(ptal_t) +corenet_tcp_sendrecv_all_nodes(ptal_t) +corenet_tcp_sendrecv_all_ports(ptal_t) corenet_tcp_bind_all_nodes(ptal_t) corenet_tcp_bind_ptal_port(ptal_t) diff --git a/refpolicy/policy/modules/services/rpc.if b/refpolicy/policy/modules/services/rpc.if index 912f8fff..429e099d 100644 --- a/refpolicy/policy/modules/services/rpc.if +++ b/refpolicy/policy/modules/services/rpc.if @@ -217,6 +217,26 @@ interface(`rpc_domtrans_nfsd',` allow nfsd_t $1:process sigchld; ') +######################################## +## +## Read NFS exported content. +## +## +## +## Domain allowed access. +## +## +# +interface(`rpc_read_nfs_content',` + gen_require(` + type nfsd_ro_t, nfsd_rw_t; + ') + + allow $1 { nfsd_ro_t nfsd_rw_t }:dir list_dir_perms; + allow $1 { nfsd_ro_t nfsd_rw_t }:file read_file_perms; + allow $1 { nfsd_ro_t nfsd_rw_t }:lnk_file { getattr read }; +') + ######################################## ## ## Allow domain to create read and write NFS directories. @@ -313,3 +333,23 @@ interface(`rpc_search_nfs_state_data',` files_search_var_lib($1) allow $1 var_lib_nfs_t:dir search; ') + +######################################## +## +## Read NFS state data in /var/lib/nfs. +## +## +## +## Domain allowed access. +## +## +# +interface(`rpc_read_nfs_state_data',` + gen_require(` + type var_lib_nfs_t; + ') + + files_search_var_lib($1) + allow $1 var_lib_nfs_t:dir search_dir_perms; + allow $1 var_lib_nfs_t:file read_file_perms; +') diff --git a/refpolicy/policy/modules/services/rpc.te b/refpolicy/policy/modules/services/rpc.te index 1305e089..98e1064d 100644 --- a/refpolicy/policy/modules/services/rpc.te +++ b/refpolicy/policy/modules/services/rpc.te @@ -1,5 +1,5 @@ -policy_module(rpc,1.2.7) +policy_module(rpc,1.2.8) ######################################## # @@ -24,13 +24,12 @@ rpc_domain_template(rpcd) rpc_domain_template(nfsd) type nfsd_rw_t; -files_config_file(nfsd_rw_t) +files_type(nfsd_rw_t) type nfsd_ro_t; -files_config_file(nfsd_ro_t) +files_type(nfsd_ro_t) type var_lib_nfs_t; -files_config_file(var_lib_nfs_t) files_mountpoint(var_lib_nfs_t) ######################################## diff --git a/refpolicy/policy/modules/services/samba.te b/refpolicy/policy/modules/services/samba.te index 7364109a..f3b82ab3 100644 --- a/refpolicy/policy/modules/services/samba.te +++ b/refpolicy/policy/modules/services/samba.te @@ -1,5 +1,5 @@ -policy_module(samba,1.2.6) +policy_module(samba,1.2.7) ################################# # @@ -33,7 +33,7 @@ type samba_secrets_t; files_type(samba_secrets_t) type samba_share_t; # customizable -files_config_file(samba_share_t) +files_type(samba_share_t) type samba_var_t; files_type(samba_var_t) diff --git a/refpolicy/policy/modules/services/xserver.te b/refpolicy/policy/modules/services/xserver.te index ee6fb5c8..cff31cf1 100644 --- a/refpolicy/policy/modules/services/xserver.te +++ b/refpolicy/policy/modules/services/xserver.te @@ -1,5 +1,5 @@ -policy_module(xserver,1.1.8) +policy_module(xserver,1.1.9) ######################################## # @@ -54,7 +54,7 @@ files_tmpfs_file(xdm_tmpfs_t) # type for /var/lib/xkb type xkb_var_lib_t; -files_config_file(xkb_var_lib_t) +files_type(xkb_var_lib_t) # Type for the executable used to start the X server, e.g. Xwrapper. type xserver_exec_t; diff --git a/refpolicy/policy/modules/system/miscfiles.te b/refpolicy/policy/modules/system/miscfiles.te index dbe8c96b..7ccd2bc4 100644 --- a/refpolicy/policy/modules/system/miscfiles.te +++ b/refpolicy/policy/modules/system/miscfiles.te @@ -1,5 +1,5 @@ -policy_module(miscfiles,1.0.1) +policy_module(miscfiles,1.0.2) ######################################## # @@ -17,7 +17,7 @@ files_type(cert_t) # files in /usr # type fonts_t; -files_config_file(fonts_t) +files_type(fonts_t) # # type for /usr/share/hwdata