From: "Justin P. mattock" <justinmattock@gmail.com>
To: Alan Rouse <alan.rouse@ericsson.com>
Cc: Stephen Smalley <sds@tycho.nsa.gov>,
Dominick Grift <domg472@gmail.com>,
"'selinux@tycho.nsa.gov'" <selinux@tycho.nsa.gov>
Subject: Re: SELinux Policy in OpenSUSE 11.2
Date: Wed, 17 Feb 2010 10:50:33 -0800 [thread overview]
Message-ID: <4B7C3A79.1070601@gmail.com> (raw)
In-Reply-To: <5A5E55DF96F73844AF7DFB0F48721F0F529A780180@EUSAACMS0703.eamcs.ericsson.se>
On 02/17/2010 10:34 AM, Alan Rouse wrote:
> Here's some info about the system now (booting successfully to desktop with selinux enabled)
>
> /etc/selinux/config:
> SELINUX=permissive
> SELINUXTYPE=refpolicy-standard
>
> /etc/dbus-1/system.conf contains:
> <include if_selinux_enabled="yes" selinux_root_relative="yes">contexts/dbus_contexts</include>
>
> var/log/messages does not have any AVC messages in it.
>
> sestatus -v:
> SELinux status: enabled
> SELinuxfs mount: /selinux
> Current mode: permissive
> Mode from config file: permissive
> Policy version: 24
> Policy from config file: refpolicy-standard
>
> Process contexts:
> Current context: system_u:system_r:kernel_t
> Init context: system_u:system_r:kernel_t
> /sbin/mingetty system_u:system_r:kernel_t
>
> File contexts:
> Controlling term: system_u:object_r:devpts_t
> /etc/passwd system_u:object_r:file_t
> /etc/shadow system_u:object_r:file_t
> /bin/bash system_u:object_r:file_t
> /bin/login system_u:object_r:file_t
> /bin/sh system_u:object_r:file_t -> system_u:object_r:file_t
> /sbin/agetty system_u:object_r:file_t
> /sbin/init system_u:object_r:file_t
> /sbin/mingetty system_u:object_r:file_t
> /usr/sbin/sshd system_u:object_r:file_t
> /lib/libc.so.6 system_u:object_r:file_t -> system_u:object_r:file_t
> /lib/ld-linux.so.2 system_u:object_r:file_t -> system_u:object_r:file_t
>
> pstree -Z:
> init(`system_u:system_r:kernel_t')
> |-acpid(`system_u:system_r:kernel_t')
> |-auditd(`system_u:system_r:kernel_t')
> | |-audispd(`system_u:system_r:kernel_t')
> | | `-{audispd}(`system_u:system_r:kernel_t')
> | `-{auditd}(`system_u:system_r:kernel_t')
> |-avahi-daemon(`system_u:system_r:kernel_t')
> |-bash(`system_u:system_r:kernel_t')
> | `-tomboy(`system_u:system_r:kernel_t')
> | |-{tomboy}(`system_u:system_r:kernel_t')
> | `-{tomboy}(`system_u:system_r:kernel_t')
> |-bonobo-activati(`system_u:system_r:kernel_t')
> | `-{bonobo-activati}(`system_u:system_r:kernel_t')
> |-console-kit-dae(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | |-{console-kit-dae}(`system_u:system_r:kernel_t')
> | `-{console-kit-dae}(`system_u:system_r:kernel_t')
> |-cron(`system_u:system_r:kernel_t')
> |-cupsd(`system_u:system_r:kernel_t')
> |-dbus-daemon(`system_u:system_r:kernel_t')
> | `-{dbus-daemon}(`system_u:system_r:kernel_t')
> |-dbus-daemon(`system_u:system_r:kernel_t')
> | `-{dbus-daemon}(`system_u:system_r:kernel_t')
> |-dbus-daemon(`system_u:system_r:kernel_t')
> | `-{dbus-daemon}(`system_u:system_r:kernel_t')
> |-dbus-launch(`system_u:system_r:kernel_t')
> |-dbus-launch(`system_u:system_r:kernel_t')
> |-dbus-launch(`system_u:system_r:kernel_t')
> |-devkit-disks-da(`system_u:system_r:kernel_t')
> | `-devkit-disks-da(`system_u:system_r:kernel_t')
> |-devkit-power-da(`system_u:system_r:kernel_t')
> |-dhcpcd(`system_u:system_r:kernel_t')
> |-gconfd-2(`system_u:system_r:kernel_t')
> |-gconfd-2(`system_u:system_r:kernel_t')
> |-gdm(`system_u:system_r:kernel_t')
> | `-gdm-simple-slav(`system_u:system_r:kernel_t')
> | |-Xorg(`system_u:system_r:kernel_t')
> | `-gdm-session-wor(`system_u:system_r:kernel_t')
> | `-gnome-session(`system_u:system_r:kernel_t')
> | |-bluetooth-apple(`system_u:system_r:kernel_t')
> | |-gnome-do(`system_u:system_r:kernel_t')
> | | `-gnome-do(`system_u:system_r:kernel_t')
> | | |-{gnome-do}(`system_u:system_r:kernel_t')
> | | |-{gnome-do}(`system_u:system_r:kernel_t')
> | | `-{gnome-do}(`system_u:system_r:kernel_t')
> | |-gnome-panel(`system_u:system_r:kernel_t')
> | |-gnome-power-man(`system_u:system_r:kernel_t')
> | |-gnome-volume-co(`system_u:system_r:kernel_t')
> | |-gpk-update-icon(`system_u:system_r:kernel_t')
> | |-metacity(`system_u:system_r:kernel_t')
> | |-nautilus(`system_u:system_r:kernel_t')
> | |-nm-applet(`system_u:system_r:kernel_t')
> | |-polkit-gnome-au(`system_u:system_r:kernel_t')
> | |-python(`system_u:system_r:kernel_t')
> | |-ssh-agent(`system_u:system_r:kernel_t')
> | `-{gnome-session}(`system_u:system_r:kernel_t')
> |-gnome-keyring-d(`system_u:system_r:kernel_t')
> | |-{gnome-keyring-d}(`system_u:system_r:kernel_t')
> | `-{gnome-keyring-d}(`system_u:system_r:kernel_t')
> |-gnome-screensav(`system_u:system_r:kernel_t')
> |-gnome-settings-(`system_u:system_r:kernel_t')
> | `-{gnome-settings-}(`system_u:system_r:kernel_t')
> |-gnome-terminal(`system_u:system_r:kernel_t')
> | |-bash(`system_u:system_r:kernel_t')
> | | `-su(`system_u:system_r:kernel_t')
> | | `-bash(`system_u:system_r:kernel_t')
> | | `-pstree(`system_u:system_r:kernel_t')
> | |-gnome-pty-helpe(`system_u:system_r:kernel_t')
> | `-{gnome-terminal}(`system_u:system_r:kernel_t')
> |-gvfs-fuse-daemo(`system_u:system_r:kernel_t')
> | |-{gvfs-fuse-daemo}(`system_u:system_r:kernel_t')
> | |-{gvfs-fuse-daemo}(`system_u:system_r:kernel_t')
> | `-{gvfs-fuse-daemo}(`system_u:system_r:kernel_t')
> |-gvfs-gdu-volume(`system_u:system_r:kernel_t')
> |-gvfs-gphoto2-vo(`system_u:system_r:kernel_t')
> |-gvfsd(`system_u:system_r:kernel_t')
> |-gvfsd-burn(`system_u:system_r:kernel_t')
> |-gvfsd-trash(`system_u:system_r:kernel_t')
> |-hald(`system_u:system_r:kernel_t')
> | `-hald-runner(`system_u:system_r:kernel_t')
> | |-hald-addon-acpi(`system_u:system_r:kernel_t')
> | |-hald-addon-inpu(`system_u:system_r:kernel_t')
> | |-hald-addon-stor(`system_u:system_r:kernel_t')
> | `-hald-addon-stor(`system_u:system_r:kernel_t')
> |-main-menu(`system_u:system_r:kernel_t')
> |-master(`system_u:system_r:kernel_t')
> | |-pickup(`system_u:system_r:kernel_t')
> | `-qmgr(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-mingetty(`system_u:system_r:kernel_t')
> |-nm-system-setti(`system_u:system_r:kernel_t')
> |-notification-da(`system_u:system_r:kernel_t')
> |-nscd(`system_u:system_r:kernel_t')
> |-polkitd(`system_u:system_r:kernel_t')
> |-pulseaudio(`system_u:system_r:kernel_t')
> | |-gconf-helper(`system_u:system_r:kernel_t')
> | `-{pulseaudio}(`system_u:system_r:kernel_t')
> |-pulseaudio(`system_u:system_r:kernel_t')
> | |-gconf-helper(`system_u:system_r:kernel_t')
> | `-{pulseaudio}(`system_u:system_r:kernel_t')
> |-rpcbind(`system_u:system_r:kernel_t')
> |-rsyslogd(`system_u:system_r:kernel_t')
> | |-{rsyslogd}(`system_u:system_r:kernel_t')
> | |-{rsyslogd}(`system_u:system_r:kernel_t')
> | |-{rsyslogd}(`system_u:system_r:kernel_t')
> | `-{rsyslogd}(`system_u:system_r:kernel_t')
> |-rtkit-daemon(`system_u:system_r:kernel_t')
> | |-{rtkit-daemon}(`system_u:system_r:kernel_t')
> | `-{rtkit-daemon}(`system_u:system_r:kernel_t')
> |-seahorse-agent(`system_u:system_r:kernel_t')
> |-seahorse-daemon(`system_u:system_r:kernel_t')
> |-startpar(`system_u:system_r:kernel_t')
> |-startpar(`system_u:system_r:kernel_t')
> |-udevd(`system_u:system_r:kernel_t')
> | |-udevd(`system_u:system_r:kernel_t')
> | `-udevd(`system_u:system_r:kernel_t')
> |-vmtoolsd(`system_u:system_r:kernel_t')
> `-vmware-user(`system_u:system_r:kernel_t')
>
> -----Original Message-----
> From: Stephen Smalley [mailto:sds@tycho.nsa.gov]
> Sent: Wednesday, February 17, 2010 11:58 AM
> To: Alan Rouse
> Cc: Justin P. mattock; Dominick Grift; 'selinux@tycho.nsa.gov'
> Subject: RE: SELinux Policy in OpenSUSE 11.2
>
> On Wed, 2010-02-17 at 11:34 -0500, Alan Rouse wrote:
>> Renaming didn't work for me in the image we've been discussing... However, after building another clean OpenSuse 11.2 image, installing the previously mentioned list of packages, and editing the grub menu.lst for selinux, I created a symlink named "targeted" to the refpolicy-standard directory, and it now boots into the desktop nicely (using the version of policy in the OpenSuse 11.2 repository.) Sestatus shows selinux active and in permissive mode. There are no AVC messages in /var/log/audit/audit.log. Audit2allow -al gives
>>
>> allow kernel_t file_t:file execmod;
>> allow kernel_t self:process { execstack execmem };
>>
>> I don't understand why those are suggested since there are no AVC messages... But this looks far better than before!
>>
>> Thanks Justin. Now we just need to find out where it's hard coded to "targeted" and get that fixed...
>
> libselinux will default to "targeted" if there is no SELINUXTYPE= definition in /etc/selinux/config.
>
> Or your /etc/dbus-1/system.conf might have a hardcoded path to it rather than using selinux_root_relative="yes". Or the version of dbus shipped in OpenSUSE 11.2 might not support that (I don't know).
>
> Check /var/log/messages as well for avc messages; if you aren't running auditd or before auditd starts, the avc messages will go to /var/log/messages or wherever syslog is configured to report kern.warn.
>
> What does sestatus -v and pstree -Z show now?
>
> --
> Stephen Smalley
> National Security Agency
>
>
from what it looks like the policy will boot
even if the config is set too refpolicy-standard
and you have targeted in /etc/selinux
once you remove targeted from there the system craps out.
what comes to mind is what Stephen was saying "Or the version of dbus
shipped in OpenSUSE 11.2 might not support that"
which makes me ask the question "Is there something in
dbus that was changed before compiling, that hard wires the
binary(dbus-launch) to that location?".
but then like Stephen had said:
libselinux will default to "targeted" if there is no SELINUXTYPE=
definition in /etc/selinux/config.
(this might be what this is i.g. libselinux is getting confused
with SELINUXTYPE and defaults to targeted question is why/what would
cause this?).
another issue that might be related is rebooting
I get an error with dbus trying to unmount /selinux
(even though /selinux is mounted with selinuxfs).
error message rebooting
could not find /selinux in mtab
dbus error's out, then continues to reboot.
(adding selinuxfs to fstab does not resolve this issue).
Justin P. Mattock
--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with
the words "unsubscribe selinux" without quotes as the message.
next prev parent reply other threads:[~2010-02-17 18:50 UTC|newest]
Thread overview: 113+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-16 14:55 SELinux Policy in OpenSUSE 11.2 Alan Rouse
2010-02-16 15:22 ` Dominick Grift
2010-02-16 18:04 ` Alan Rouse
2010-02-16 18:35 ` Dominick Grift
2010-02-16 18:52 ` Dominick Grift
2010-02-16 19:28 ` Stephen Smalley
2010-02-16 20:06 ` Justin P. mattock
2010-02-16 19:10 ` Stephen Smalley
2010-02-16 19:19 ` Alan Rouse
2010-02-16 19:38 ` Stephen Smalley
2010-02-16 21:30 ` Alan Rouse
2010-02-16 22:52 ` Dominick Grift
2010-02-17 3:36 ` Justin P. mattock
2010-02-17 7:16 ` Justin P. mattock
2010-02-17 13:43 ` Stephen Smalley
2010-02-17 15:35 ` Justin P. mattock
2010-02-17 16:34 ` Alan Rouse
2010-02-17 16:58 ` Stephen Smalley
2010-02-17 18:34 ` Alan Rouse
2010-02-17 18:50 ` Justin P. mattock [this message]
2010-02-17 18:58 ` Stephen Smalley
2010-02-17 19:39 ` Alan Rouse
2010-02-17 19:47 ` Justin P. mattock
2010-02-17 20:00 ` Stephen Smalley
2010-02-17 20:03 ` Alan Rouse
2010-02-17 20:12 ` Dominick Grift
2010-02-17 20:18 ` Stephen Smalley
2010-02-17 20:17 ` Alan Rouse
2010-02-17 20:25 ` Stephen Smalley
[not found] ` <5A5E55DF96F73844AF7DFB0F48721F0F529A7802A0@EUSAACMS0703.eamcs.ericsson.se>
[not found] ` <1266438910.4945.137.camel@moss-pluto.epoch.ncsc.mil>
2010-02-17 20:49 ` Alan Rouse
2010-02-17 21:09 ` Stephen Smalley
2010-02-17 21:11 ` Alan Rouse
2010-02-17 21:29 ` Stephen Smalley
2010-02-17 21:37 ` Stephen Smalley
2010-02-17 21:48 ` Alan Rouse
2010-02-18 14:16 ` Stephen Smalley
2010-02-18 21:28 ` Stephen Smalley
2010-02-18 16:03 ` Stephen Smalley
2010-02-18 17:36 ` Alan Rouse
2010-02-18 17:53 ` Stephen Smalley
2010-02-18 18:21 ` Alan Rouse
2010-02-19 14:49 ` Stephen Smalley
2010-02-19 15:29 ` Alan Rouse
2010-02-19 17:46 ` Stephen Smalley
2010-02-19 20:23 ` Alan Rouse
2010-02-19 21:06 ` Stephen Smalley
2010-02-19 21:10 ` Alan Rouse
[not found] ` <5A5E55DF96F73844AF7DFB0F48721F0F529A780365@EUSAACMS0703.eamcs.ericsson.se>
2010-02-18 14:12 ` Stephen Smalley
2010-02-18 14:45 ` Alan Rouse
2010-02-17 20:08 ` Alan Rouse
2010-02-18 21:40 ` Justin P. mattock
2010-02-18 21:53 ` Alan Rouse
2010-02-18 23:17 ` Justin P. mattock
2010-02-19 14:35 ` Stephen Smalley
2010-02-19 15:43 ` Justin P. mattock
2010-02-19 15:58 ` Alan Rouse
2010-02-19 16:26 ` Justin P. mattock
2010-02-19 14:28 ` Stephen Smalley
2010-02-19 15:48 ` Justin P. mattock
2010-02-19 18:46 ` Justin P. mattock
2010-02-19 21:08 ` Alan Rouse
2010-02-19 21:19 ` Dominick Grift
2010-02-19 21:22 ` Justin P. mattock
2010-02-19 21:25 ` Stephen Smalley
2010-02-19 21:30 ` Alan Rouse
2010-02-19 21:37 ` Stephen Smalley
2010-02-19 21:53 ` Alan Rouse
2010-02-22 14:10 ` Stephen Smalley
[not found] ` <5A5E55DF96F73844AF7DFB0F48721F0F52E41FF16B@EUSAACMS0703.eamcs.ericsson.se>
[not found] ` <1266850844.15933.38.camel@moss-pluto.epoch.ncsc.mil>
2010-02-22 17:39 ` Alan Rouse
2010-02-22 17:56 ` Stephen Smalley
2010-02-22 19:12 ` Alan Rouse
2010-02-22 19:37 ` Stephen Smalley
2010-02-19 23:48 ` Justin P. mattock
2010-02-22 1:29 ` Justin P. mattock
2010-02-19 21:47 ` Justin P. mattock
2010-02-22 14:00 ` Stephen Smalley
2010-02-22 19:27 ` Justin Mattock
[not found] ` <dd18b0c31002221129s4be9b56cha13b7be39c2cba36@mail.gmail.com>
2010-02-22 19:57 ` Justin P. mattock
2010-02-22 20:24 ` Stephen Smalley
2010-02-22 21:25 ` Justin Mattock
2010-02-22 21:42 ` Stephen Smalley
2010-02-22 22:10 ` Justin P. mattock
2010-02-22 22:35 ` Justin Mattock
2010-02-23 6:17 ` Justin P. mattock
2010-02-23 13:40 ` Stephen Smalley
2010-02-23 14:13 ` Justin P. mattock
2010-02-23 15:56 ` Alan Rouse
2010-02-23 16:10 ` Stephen Smalley
2010-02-23 17:41 ` Justin P. mattock
2010-02-23 18:01 ` Stephen Smalley
2010-02-23 18:30 ` Justin P. mattock
2010-02-23 18:42 ` Stephen Smalley
2010-02-23 18:58 ` Justin P. mattock
2010-02-23 19:00 ` Stephen Smalley
2010-02-23 19:03 ` Justin Mattock
2010-02-23 20:37 ` Justin P. mattock
2010-02-22 17:58 ` Alan Rouse
2010-02-22 18:23 ` Justin P. mattock
2010-02-22 18:31 ` Alan Rouse
2010-02-22 18:49 ` Justin P. mattock
[not found] ` <5A5E55DF96F73844AF7DFB0F48721F0F529A780232@EUSAACMS0703.eamcs.ericsson.se>
2010-02-17 19:58 ` Stephen Smalley
2010-02-17 20:09 ` Justin P. mattock
2010-02-17 20:21 ` Stephen Smalley
2010-02-17 23:22 ` Justin P. mattock
2010-02-18 15:17 ` Alan Rouse
2010-02-18 18:33 ` Justin P. mattock
2010-02-18 18:44 ` Alan Rouse
2010-02-17 13:35 ` Stephen Smalley
2010-02-17 15:14 ` Alan Rouse
2010-02-17 15:33 ` Stephen Smalley
-- strict thread matches above, loose matches on Subject: below --
2010-02-17 14:04 Thomas
2010-04-29 6:43 Justin P. Mattock
2010-04-29 7:01 ` Justin P. Mattock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B7C3A79.1070601@gmail.com \
--to=justinmattock@gmail.com \
--cc=alan.rouse@ericsson.com \
--cc=domg472@gmail.com \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.