Re: SELinux + FUSE + Podman + rclone +gdrive = ???

Lukas Vrabec <[email protected]>
Newsgroups gmane.linux.redhat.fedora.selinux
Organization Red Hat, Inc.
Message-ID <[email protected]>
On 10/28/20 10:46 AM, Chris S wrote:
> Howdy folks! 
> 
> Have an interesting concoction of technologies mixed together and have
> found myself in a pickle. 
> 
> Currently I have a host that has pods with containers. From the host I
> am using rclone hooked up to Google Drive (and fuse mounted).
> 
> When looking at the directory I have mounted with rclone you see the
> following SELinux label:
> 
>     system_u:object_r:fusefs_t:s0
> 
> 
> Trying to relabel this with chcon does not work (probably expected)
> getting permission denied.
> 
> 
> When mounting the volume into the container with :z exhibits similar
> behavior:
> 
> Error: relabel failed "/gdrive": operation not supported
> 
> 
> I then bash into a test CentOS container with the volume mapped in
> (without the labeling :z) and attempt to touch a file to generate an
> audit alert:
> 
>     sudo grep touch /var/log/audit/audit.log
> 
>     type=AVC msg=audit(1603873529.524:951948): avc:  denied  { write }
>     for  pid=2226162 comm="touch" name="gdrive" dev="dm-0" ino=2359297
>     scontext=system_u:system_r:container_t:s0:c296,c525
>     tcontext=system_u:object_r:container_file_t:s0:c332,c605 tclass=dir
>     permissive=0
> 
> 
> After finding the event, I attempt to pipe this into audit2allow:
> 
>     grep touch /var/log/audit/audit.log | audit2allow -R -M gdrive_allow
> 
> 
> I then ran into this error:
> 
>     could not open interface info [/var/lib/sepolgen/interface_info]
> 
> 
> At which point I installed sepolgen-ifge ​- I then re-ran the
> audit2allow command.
> 
> 
> This is where I get some interesting behavior:
> 
>     compilation failed:
>     find: ‘thinclient_drives’: Permission denied
>     /usr/share/selinux/devel/include/services/container.if:13: Error:
>     duplicate definition of container_runtime_domtrans(). Original
>     definition on 13.
>     /usr/share/selinux/devel/include/services/container.if:40: Error:
>     duplicate definition of container_runtime_run(). Original definition
>     on 40.
>     /usr/share/selinux/devel/include/services/container.if:60: Error:
>     duplicate definition of container_runtime_exec(). Original
>     definition on 60.
>     /usr/share/selinux/devel/include/services/container.if:79: Error:
>     duplicate definition of container_read_state(). Original definition
>     on 79.
>     /usr/share/selinux/devel/include/services/container.if:97: Error:
>     duplicate definition of container_search_lib(). Original definition
>     on 97.
>     /usr/share/selinux/devel/include/services/container.if:116: Error:
>     duplicate definition of container_exec_lib(). Original definition on
>     116.
>     /usr/share/selinux/devel/include/services/container.if:135: Error:
>     duplicate definition of container_read_lib_files(). Original
>     definition on 135.
>     /usr/share/selinux/devel/include/services/container.if:154: Error:
>     duplicate definition of container_read_share_files(). Original
>     definition on 154.
>     /usr/share/selinux/devel/include/services/container.if:175: Error:
>     duplicate definition of container_runtime_read_tmpfs_files().
>     Original definition on 175.
>     /usr/share/selinux/devel/include/services/container.if:196: Error:
>     duplicate definition of container_manage_share_files(). Original
>     definition on 196.
>     /usr/share/selinux/devel/include/services/container.if:217: Error:
>     duplicate definition of container_manage_share_dirs(). Original
>     definition on 217.
>     /usr/share/selinux/devel/include/services/container.if:237: Error:
>     duplicate definition of container_exec_share_files(). Original
>     definition on 237.
>     /usr/share/selinux/devel/include/services/container.if:255: Error:
>     duplicate definition of container_manage_config_files(). Original
>     definition on 255.
>     /usr/share/selinux/devel/include/services/container.if:274: Error:
>     duplicate definition of container_manage_lib_files(). Original
>     definition on 274.
>     /usr/share/selinux/devel/include/services/container.if:294: Error:
>     duplicate definition of container_manage_files(). Original
>     definition on 294.
>     /usr/share/selinux/devel/include/services/container.if:313: Error:
>     duplicate definition of container_manage_dirs(). Original definition
>     on 313.
>     /usr/share/selinux/devel/include/services/container.if:331: Error:
>     duplicate definition of container_manage_lib_dirs(). Original
>     definition on 331.
>     /usr/share/selinux/devel/include/services/container.if:367: Error:
>     duplicate definition of container_lib_filetrans(). Original
>     definition on 367.
>     /usr/share/selinux/devel/include/services/container.if:385: Error:
>     duplicate definition of container_read_pid_files(). Original
>     definition on 385.
>     /usr/share/selinux/devel/include/services/container.if:404: Error:
>     duplicate definition of container_systemctl(). Original definition
>     on 404.
>     /usr/share/selinux/devel/include/services/container.if:429: Error:
>     duplicate definition of container_rw_sem(). Original definition on 429.
>     /usr/share/selinux/devel/include/services/container.if:448: Error:
>     duplicate definition of container_append_file(). Original definition
>     on 448.
>     /usr/share/selinux/devel/include/services/container.if:466: Error:
>     duplicate definition of container_use_ptys(). Original definition on
>     466.
>     /usr/share/selinux/devel/include/services/container.if:484: Error:
>     duplicate definition of container_filetrans_named_content().
>     Original definition on 484.
>     /usr/share/selinux/devel/include/services/container.if:537: Error:
>     duplicate definition of container_stream_connect(). Original
>     definition on 546.
>     /usr/share/selinux/devel/include/services/container.if:558: Error:
>     duplicate definition of container_spc_stream_connect(). Original
>     definition on 567.
>     /usr/share/selinux/devel/include/services/container.if:579: Error:
>     duplicate definition of container_admin(). Original definition on 588.
>     /usr/share/selinux/devel/include/services/container.if:626: Error:
>     duplicate definition of container_auth_domtrans(). Original
>     definition on 635.
>     /usr/share/selinux/devel/include/services/container.if:645: Error:
>     duplicate definition of container_auth_exec(). Original definition
>     on 654.
>     /usr/share/selinux/devel/include/services/container.if:664: Error:
>     duplicate definition of container_auth_stream_connect(). Original
>     definition on 673.
>     /usr/share/selinux/devel/include/services/container.if:683: Error:
>     duplicate definition of container_runtime_typebounds(). Original
>     definition on 692.
>     /usr/share/selinux/devel/include/services/container.if:702: Error:
>     duplicate definition of container_runtime_entrypoint(). Original
>     definition on 711.
>     /usr/share/selinux/devel/include/services/container.if:709: Error:
>     duplicate definition of docker_exec_lib(). Original definition on 718.
>     /usr/share/selinux/devel/include/services/container.if:713: Error:
>     duplicate definition of docker_read_share_files(). Original
>     definition on 722.
>     /usr/share/selinux/devel/include/services/container.if:717: Error:
>     duplicate definition of docker_exec_share_files(). Original
>     definition on 726.
>     /usr/share/selinux/devel/include/services/container.if:721: Error:
>     duplicate definition of docker_manage_lib_files(). Original
>     definition on 730.
>     /usr/share/selinux/devel/include/services/container.if:726: Error:
>     duplicate definition of docker_manage_lib_dirs(). Original
>     definition on 735.
>     /usr/share/selinux/devel/include/services/container.if:730: Error:
>     duplicate definition of docker_lib_filetrans(). Original definition
>     on 739.
>     /usr/share/selinux/devel/include/services/container.if:734: Error:
>     duplicate definition of docker_read_pid_files(). Original definition
>     on 743.
>     /usr/share/selinux/devel/include/services/container.if:738: Error:
>     duplicate definition of docker_systemctl(). Original definition on 747.
>     /usr/share/selinux/devel/include/services/container.if:742: Error:
>     duplicate definition of docker_use_ptys(). Original definition on 751.
>     /usr/share/selinux/devel/include/services/container.if:746: Error:
>     duplicate definition of docker_stream_connect(). Original definition
>     on 755.
>     /usr/share/selinux/devel/include/services/container.if:750: Error:
>     duplicate definition of docker_spc_stream_connect(). Original
>     definition on 759.
>     /usr/share/selinux/devel/include/services/container.if:764: Error:
>     duplicate definition of container_spc_read_state(). Original
>     definition on 773.
>     /usr/share/selinux/devel/include/services/container.if:783: Error:
>     duplicate definition of container_runtime_domain_template().
>     Original definition on 792.
>     /usr/share/selinux/devel/include/services/container.if:819: Error:
>     duplicate definition of container_domain_template(). Original
>     definition on 828.
>     /usr/share/selinux/devel/include/services/container.if:847: Error:
>     duplicate definition of container_spc_rw_pipes(). Original
>     definition on 856.
>     Compiling targeted gdrive_allow module
>     gdrive_allow.te:15:ERROR 'syntax error' at token 'mlsconstrain' on
>     line 3339:
>     # mlsconstrain dir { ioctl read lock search } ((h1 dom h2 -Fail-)
>      or (t1 != mcs_constrained_type -Fail-) ); Constraint DENIED
>     mlsconstrain dir { write setattr append unlink link rename add_name
>     remove_name } ((h1 dom h2 -Fail-)  or (t1 != mcs_constrained_type
>     -Fail-) ); Constraint DENIED
>     /usr/bin/checkmodule:  error(s) encountered while parsing configuration
>     make: *** [/usr/share/selinux/devel/include/Makefile:157:
>     tmp/gdrive_allow.mod] Error 1
> 
> 
> What stands out here is  *gdrive_allow.te:15:ERROR 'syntax error' at
> token 'mlsconstrain' on line 3339*
> This leads me to believe that audit2allow is not equip to handle this
> kind of rule - specifically:
> 
>     policy_module(gdrive_allow, 1.0)
> 
> 
>     require {
> 
>     type container_file_t;
> 
>     type container_t;
> 
>     class dir write;
> 
>     }
> 
> 
>     #============= container_t ==============
> 
> 
>     #!!!! This avc is a constraint violation.  You would need to modify
>     the attributes of either the source or target types to allow this
>     access.
> 
>     #Constraint rule: 
> 
>     #mlsconstrain dir { ioctl read lock search } ((h1 dom h2 -Fail-)  or
>     (t1 != mcs_constrained_type -Fail-) ); Constraint DENIED
> 
>     mlsconstrain dir { write setattr append unlink link rename add_name
>     remove_name } ((h1 dom h2 -Fail-)  or (t1 != mcs_constrained_type
>     -Fail-) ); Constraint DENIED
> 
>     mlsconstrain dir { relabelfrom } ((h1 dom h2 -Fail-)  or (t1 !=
>     mcs_constrained_type -Fail-) ); Constraint DENIED
> 
>     mlsconstrain dir { create relabelto } ((h1 dom h2 -Fail-)  or (t1 !=
>     mcs_constrained_type -Fail-) ); Constraint DENIED
> 
> 
>     #Possible cause is the source level (s0:c296,c525) and target level
>     (s0:c332,c605) are different.
> 
>     allow container_t container_file_t:dir write;
> 
> *
> *
> At the current point in time, I am at a stand still as I cannot relabel
> the source. Any help would be extremely appreciated - I refuse to turn
> SELinux off hehe :)
> 
> CentOS Linux release 8.2.2004 (Core) 
> 
> 4.18.0-193.19.1.el8_2.x86_64
> 
> podman version 1.6.4
> 
> container-selinux-2.124.0-1.module_el8.2.0+305+5e198a41.noarch
> 
> policycoreutils-devel-2.9-9.el8.x86_64
> 
> selinux-policy-devel-3.14.3-41.el8_2.6.noarch
> 
> 

Hello,

Did you mount /gdrive to some previous container? Because it was
relabeled to correct SELinux type: container_file_t but it gets also
concrete MCS categories "c332,c605", now, you're trying to access the
volume but with different container with different unique categories
"c296,c525".

It's expected that each container has same type "container_t" but unique
categories.

To make it working, you need to label /gdrive as container_file_t but
with *NO* category. You can use restorecon and chcon commands, problem
is that you see permission denied. Do you execute these commands with
root privileges?

Thanks,
Lukas.

> 
> Regards,
> 
> Christopher
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> selinux mailing list -- [email protected]
> To unsubscribe send an email to [email protected]
> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives: https://lists.fedoraproject.org/archives/list/[email protected]
> 


-- 
Lukas Vrabec
SELinux Evangelist,
Senior Software Engineer, Security Technologies
Red Hat, Inc.

_______________________________________________
selinux mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/[email protected]
OpenPGP_0x8CDA63AD633F6955_and_old_rev.asc (application/pgp-keys, 7.4 KB)
-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFqX9fsBEACvMZuLfMn8Fj1XFIir6sXAec5zg1ND0GqmcQM6CnvIPPtD9CDS8W4ppywBw/Qo
FHLH9XrrqNONXu/MfxerGvRu1SRtxDkQGphtR1saTZ+0WFn6b8JwrQRzn1zL3bEB55AB5APHcxJ+
0MLJSCczbWnZ4DymuPBiEigI5yogYx7XTnbCqgsiECEWId4epatX8fyIEfensCjqGc613QCppKkC
ABzjvR0ivu5csHvN3ZZB56h4EXiZupqzJXric4NnyqO2kDnErKzzzpB1ILiRUWbOogO0prR9jgeI
TWA3baACcjg/+byTCClp19PE5eu6e9LSlJAC0qsTFJC+XbMhDLuieCmBkso3uLV8Icka3IOspTp/
jXwJY+jZ4vLvVWbBmNM6vBZ8sZIOXBT9L4SieYyvPb/fy5SukV/0LzXIKoCNC757AG51TiBLFML8
7qbys7+5ug5J6lAvYVbmCxSmTPTcB20MJWwUsRlXMG9l55mWkDs5VlPm7brq28FCebh+l5K+IKt+
D3PkQlrQKa3YYgL/2QPnd65nUHBL4UfX+1vO3yBqUE7Ohz5RZ7e5MlxirTPea9GMTfv6/QWyLF+s
zlFgbdqF5yICa0sn0kjHFjD5NQlmIEdmXD44RACPVMTnQhJ4trZ7cCiFnDtliAa9Glqedn8nmWQz
S+AiMYLnrJ91fQARAQABzSFMdWthcyBWcmFiZWMgPGx2cmFiZWNAcmVkaGF0LmNvbT7CwY4EEwEI
ADgWIQTHh3QCUBS0Ag7mUIaM2mOtYz9pVQUCWpf1+wIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIX
gAAKCRCM2mOtYz9pVclWD/9ijfuaXSv8CndLbMJWzmOvfjkQPBM9txIK81KgP7pj3bCQg+toQndm
sNRp6KSr4hSBz33qqMZ2i7IV20FWxxSgvNatjs+YGSRBEmrsTmWc2fJkU8tYSL6ksEaFt0Te7N2Q
hpflSp72oVXM4v05vuGQP2rMFibDXaP7bUk61+vUkD1N3Rwc/Kmhubk3smYXuA0PEJqs9XFEn4nF
4ps4FKmsdGcSrbjJRO/QMjYGQcWjynnBlneOugTY7dPkxti8yVKVE5O7zd69E6yQoqc1ydEuX78H
qtbhiJGZRV1ZsEVBhJQX6mAVPMNyEAW56Tc3TH4w9WPcOyWUpYDfGyzcCcxeh/kcL5qDlf9nIjze
uzM9x75mmZ8Cp2LmN6IFEgeetnoHWmozg6+juZIIxs18fkLqWcnSUO/Eh9Yfk9U5wfQuUy4nb7aL
u5f0vfllo7ViPXxXu6mMHhda4xKAlVbQtZU1tP/mS4H/pNXSzW5stpQzb2Ohw5G+0rslH6hSbm85
WKWYLahSq1kETfAgsv/z+QqrDNEHXa0OSKtS4JGS1A/D4+nAComd2SwlfR34TqcyAPaB/21czpeE
/JoN5jGdA6UHHHXGPk495ke25rjokAK8LvEz00fpNpuaQf8W7YAjc1AJUiZ6EJBOqgpqF/K8WQ+G
2So7c6E9J4xO8ZpfDMh+RM7ATQRal/bsAQgAzOxD4ZICqWi+OTf2luLCHk76yShxNRj6+DOJJUo3
1xoFRhgThqAKrSrVdTZT9ZOPyRWcN0hvzrbywOcSXBQE8B76vJipXtG2sGslEfwWUmAObYPxLDtb
I5FTZ8tdduDfuk8QMbCJptWHTS01tJKnClSdfApL27qSxOLmsRNxhP4ht0Q19bBGHdYaKiZenUc+
MmPR/zSLgz4IxzMVBS9VNF069NVDKEOsrDeRNnYAbEf52X/sgDl1CFmG1GSEVamteKni3i2o4TT6
uLVzSpOq45MjIx1ALCxqKZjrpt+Rv7FnBFi3HLHz978DF9vQiJ0n1jero77zt+3vLVtZ/f97kQAR
AQABwsKsBBgBCAAgFiEEx4d0AlAUtAIO5lCGjNpjrWM/aVUFAlqX9uwCGwIBQAkQjNpjrWM/aVXA
dCAEGQEIAB0WIQTfCs/cCtejJiABLstHIBrELynOBgUCWpf27AAKCRBHIBrELynOBsUoB/9lookA
kdhDRhqv3I2tECBBszKt7Fo1d8vhHC7NGGfm3yDAUO4hXB4sobrhDPfpv6lL7QtdlhgTRku6TruT
1qLtjaV+IrGB1A+Y1B5w6WO0RXi197gh5TlufeRWFOimK+xV2lJt5HXJRO/6Oh+54kdhE/49mx7o
Ly8flOvxRNC4RXTUZMKKT5ptsuYfwYXpmCcqEzPhejhyZnmY9+UTMEENjsV72l+B6BGfPY8lUZdR
dumqAF5tWkh5vHT+aH+hpPOYYUz7ne7ueyVFoCH9fwNA3o7r5/AGDroMpr+2uu94c/YF04+kZJ/H
6dsnekJA9JgeoxyNVTUXBrsOJ8DcINucr64P/09kfT9VePExSWppVLt7zM0yt/35WodBpJayoS6l
Q/BFip3u7BZwz4y4gzTfovKOj1ktwJyxeaPaIbJnCtgDRF8drkfrTTDwFy9RnJz76WKOyGNARVtr
9OStI14wGQKoRaAePn8uhkbv7zvzvYkse6Gr2uhoFL0/UeWbT48huZhAlzf81yT46nErrT03h+CD
DuWaF/sdqHNeSNNr2OPE22A1mFLtkYaylpv+l8NUy4TDTPKyK2O3yQCqurJx/2jKVSFojnmpYNmA
mVciYMiL8dF5wzr2RJUqsVx3X007Tbx4F0x7KD4+9Q9XI2Mw+yHCMZ0HpCZc9QUzE5oSdUCd2N53
qStoziLp3kJlrCeXEKIE7lV6aoN/BOSEN1NFU0jtR8pHpvZoyZA/3Dm1vKqHjBDoGNr33Yk537Rx
8lnkoF513us3FxtWQDzxteQDq24SqfrOOir6dSLHatCOV8cX2Yw1+PHuIx5utLXaLMXHvbkaa2Qf
3sUY0hvGT2quw+fACkQ+4FA0yLP969E4tfenlQVX1wt8QH5VY4KixL4ReDoCS5Y07cO0wkzI1EYP
S4iS4QTcQLNP7EKh3NreV9/hszggrdXnj5p6T2uK1AMCy6wftJBwUx1XoJjodxEY08huxMYJtbY8
gIK+Tg2/4eDp3bSWzHU8nTumbUbpf5VcMkvYzsBNBFqX9wsBCADIMwnyvUHLXR+CRcCW93/8zMrt
RRNxRVyMuMVWrmBEArSun3sAw+lpmN8FKSkmpD8SO2SYdE0jiAU47OJ7mHL4A1YAqXh3EOjf+GaC
lcjie46Vb61kR4N7tCymk9wVLxNlrPDb2cxQ9xm8t186z/e9RuUfaH/RIBhWUUBAWxdfTuwqX5Rb
foOl8+2I5q+C06r56VvgT/fzC3tNtl/fB4+8Cc0iKXi9pRGKTEQOfbhxTSogbm4GD4rPs9q4v3CQ
T3czjSyhrL4uboYGUf82UjQ2ae+XLclDnaUnYfjpVrregsW12c5KPN0uuc3Fepvn0G4eQfNhwqqG
A9zZqCVJMkDjABEBAAHCwXYEGAEIACAWIQTHh3QCUBS0Ag7mUIaM2mOtYz9pVQUCWpf3CwIbDAAK
CRCM2mOtYz9pVYeoD/sH++dZ8QLMb3JNQiW6mEIKoEmZH5FrOP7t7UWuUmpAlTcUJ87n1221pLcd
r/56uFBRIdvpp0YC5rB9ACaqD6gxoiNQmR0MkLzN25GWSeD8+bs2thO2SZecO0r+/dAvwgnU3rs+
LdVqLcUGPfFwebRH94ZQiPjgY/Ci6LkV6CNDP/rg9odtfYQnL5EHs9yWZdi5f/kLewdrYOAen+i5
Sw0oZOiM6tSNOTt59yd3LPi6NKDb3rVnul7UU9KkvV7NxZykvs+hyYmUbwnS5UAvFyC40B/dgK9u
YongPlzVb4MQmaB0rimSlHMMsHRBMnPxNr/F9kpFkYnbIqQwAYIf3FoQ0QuwCn3YljTEJYdbMM3i
vl5woclVI6M1JytwpFGq6VX3sRhctk+Xe3JOk8Rxt6cvjKeoSmaaxg+kVt4a50LYysh0n3VoETg8
d1Gq9NnWfhEFtJ0rNy01aZLO28gyDy4sSJiudkSFo17UtabrhcP/hv5ocvaGSzTfXEyYaw4Su23A
0RC8ska1wAtlZpTYmZ6Mumw2vAkc6bOeh7npcrAfduWSaXtHrUxjuxy6sVCl58IOo2+2AMJaFdMq
ktne5U1i8Lrrt8r507w4sBasTReQXL5i/AhqOnHt+FkhpVT5J1sE79VM5gwszP3AvBqOREcSfhCm
Gay+X9lHV3XhGE8GWM7ATQRal/cgAQgAmDkYFhMR4AWJSu7WudEePeRbddpraaUOd+6jV7XxhqZz
AB6aIdj+0JVoNv44FkYLwvA7EDeTXpKI78MmQmkRH6l9x4Z8/XhgsddkMwpHv6Q1EnUZSv25m7w7
/lZI/q13NbgaMHWvXRs3R7/fskAGQyHojcVFBqcgapQE66RMNMYKfM+twt25KNEFA9gYqg+oWLsj
AOoYsIhOmysH42qGZZGR08g5h19qgfQ215zT0nLRPU7p2CFDpHzFgxOTMhjkfByqfddErxEsb60n
j73dVSUjQRhbosxDQdnJWTpNgk+8hg4pMUV8/jY3MaYGVWm+pG2VzDkeZl8w3TfL7xVkFQARAQAB
wsF2BBgBCAAgFiEEx4d0AlAUtAIO5lCGjNpjrWM/aVUFAlqX9yACGyAACgkQjNpjrWM/aVVmQA//
WuDuZ2U04eL2qDkja76qlfwASeYffDGcABYO7ZGVpuHTZ+Mv0fGvj9zDiwn1AjjUkhtPSo7QSqGe
AJH4v4MPKDtY/prrs0l+I2znRAoCNBb9Hn7bkFWucFiuavCgxc9l/eztdpexFbjK/RKd0YBLbuYm
B9ihdPDsH8tyrpPrSlmw90b0690QUpwFDmbgZaI+DZ2vaQU3U7FRtJ46mriopxyGV9c+5eUCS6bj
fy40ViYBw7WC7mt0DDrq1bKYfhpBWaFaDiBOSfbVmRpldJ/jRbjOfUX0+RMS619rRfzRaQIXIL1m
rT127C9f5xnNUdlvXQaYhRqGyXiAO+bbA2VyrFL/2WJY6dCilJsFBfBqAPkF6pXJGHAEYLCrFGE1
5Z7CETg+ZUCuACyyF1cIBIyhnhMOt3hUImIV+/ASDWjolAHrdjgLuKGb0DFK3gXQ2Jw75ikX7gyY
TshmPCDw4b10S/mMbZUvAiV1zLR5WK357eZxfh4d6CiCSUvogFZffNpVrxG93upnQoPc26H61wSH
4N4xv0W4B5p4iHN12gCJkyKlBkTslbqy3X+N+LonAGmJ0IRoDbO8kmYvXmiikIdCfsRMIBAOpNol
k5IOAuvHfotk8p/rMx4DdPZQ4Bcoy5Nzochh/99bpx83PFk5jNtR0A/Kc7zB0QvWUwxSaUxUdfXG
wE0EWw5QMAEIANRWKPJACRAdG0cmr9zBhMR5XinhyL2gKX9Z+2bl5s0DBKAlBAyZPyGBDuvK8ax7
OnepDwLMh8jKx/78FLQZrPuGxCqe5fPTEQrGAEcsar2uHyl343htKwVUxO//8AGM85XFb442wnf8
t1VOXJqHHSn7L7i9b7phuvxKQpbVe2HhyNoH3Jswu+0xksomJTHdaUzzPEDFC+B1pnnmG+GO/ej5
CmoCbBtBN6TEd4y6FudiJvcyvzHHmzYpwsNPA4jjdAEQp2Ow9SC/qMLQEHXZF6A+XGhgkmAaXJg/
RsdJvK23X4z0J0hE1mTwSOiFFjgx2Jud3TEscin+SkgwPwx9pfUAEQEAAcLAdgQgAQgAIBYhBKLu
qJfheMIARXHw/oV15Hok0DMYBQJbTHXOAh0AAAoJEIV15Hok0DMYonMIAJq1zS1gJWbcverXgJY7
0Vp+rcAjur125mO6p5x2v0RzBld4g+dyM89fWupoV1q/LgUs2nf2dZABvyoESOGEoMdeKvucNNVp
ZWbriRJ+FcUO7s1xfS9Cdc5v2os3u1d+XE0jxSEl8ifaf0k36G/8Wyac+wuzltdvYe/o9FTIc/zC
wQc0X8cJClPwOCmeP4/Zt7Bm/uhatedtjEIOWVEHPwrliaRbmIjNcdbIPswLzW/Eah2gRyju1CEQ
7M2WgsfSwUU1Lw+NUu5jevFz+TyW/kwLbyxkw7/5Z1phhLPPTrvXK3lZTspQUHwFXqgGIjiiqUmQ
yqi9Kx4CUsNBZGfLsPXNIUx1a2FzIFZyYWJlYyA8bHZyYWJlY0ByZWRoYXQuY29tPsLAlAQTAQgA
PhYhBKLuqJfheMIARXHw/oV15Hok0DMYBQJbDlAwAhsDBQkB4TOABQsJCAcCBhUKCQgLAgQWAgMB
Ah4BAheAAAoJEIV15Hok0DMY8bAH+wXWHOIvHMQBfWRMaRfGaQnuqx6+X/OxGXIX+BKUDV+zClAj
6b8CAkntAM18ot/b5tnwzKrjBVMZowUqa9kY+1ZSwy6SGFTtf6tV6k6uT9vKZB8ODFiA5PzEs8Qt
yBJtkzAC2MDSpjtD/yJMy5oNwwTWKbS238L10gcpsq1XdsjzM2eLnSLaSSuX/rD89GpU9LOQ7bXv
vV1CqxDM6u1MXVilcvpOrVFEUi1WR5hvbL921HPn9okaoyuvG8MvptcCUQ3B5QB/1ktvVJ/qgjRu
0e/PZpUD7O7v5C24cxRzTlnq0HhDbRZRX1XLvNu2DHX5V8hwRDf4kxBIH6EsYQQnTYbOwE0EWw5Q
MAEIAM+8/S4PqLtBK/E1MflhjtwstOEYcBOL5e8VxicpKiq5GMREXr7eD4+uoXylTMs9fe75aczT
ZovQE+OB3ypp3D1A7E0MG52/lNZ2eWE2yTHXaCbi474PZNRczWtQSkSHtTwJZR1tdkcHqrtw8xSr
MtK7TvoOV1iH/9RDdc4V/WvXoDcXtjGz+G6LuLjiEclf+a2rqwdpmgfEsdxqH61Dc0+RP3TjqgwV
LJvsRcMvm1ICWrHe8BNZ+7wwyZSy/et1o/WDdbNOXynSQkhfZvTL+uOyxLdOmYzn+TEBPvH7FQc9
p29rVNmo7ltxrrH7hU1TctwLiahaUmYH6WjbsPiUvS8AEQEAAcLAfAQYAQgAJhYhBKLuqJfheMIA
RXHw/oV15Hok0DMYBQJbDlAwAhsMBQkB4TOAAAoJEIV15Hok0DMYZTwH/ia1oOWiFg7zCfyDlEJC
+ODppDDJLSkrz5pzWOIJWvkZA5ju6G17lkKe+0FlVV27lbKB+HqXiJ7gWI6+5MsG9qCqngxoQ/3V
i6ldoSuLWTIjwcABiOHN6Tjf6ctgfy0wJmiaqXRWkGxtyKzDa5EMxFDF/T1ogcYVbcFiIMFKw1x9
2il8tAIfo5T/sm25t4s0jBk8OspL78U1g62uNZPNKrS4G9FkcJVd52Jtg3yyi+XDcChN2gZtn1bY
jgvLoKRAHH9w5Peh7hzVn9Ch7WXAAQMnbMJlV3O0CP9Qtx1ZWDzHJAposYeb7s0OHpRNZWwzcZC8
eXgksq/ZweRzD5tHhNg=
=ELQp
-----END PGP PUBLIC KEY BLOCK-----
OpenPGP_signature (application/pgp-signature, 488 B) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.