[apparmor] [patch 15/12] v3 unix socket rules
Seth Arnold
seth.arnold at canonical.com
Tue Sep 2 23:16:14 UTC 2014
On Sat, Aug 30, 2014 at 07:19:07PM -0700, John Johansen wrote:
> fix output of listen and setopts commands
>
> The listen and setopts commands have broken encodings because the
> tmp stream they use to handle diverging from the other commands
> has does not set its write position to to the end of the copied data.
> Instead the write head is set to the beginning so that when the
> new data for the command is written it overwrites the begging of
> the command instead of appending to it.
>
> Signed-off-by: John Johansen <john.johansen at canonical.com>
>
Acked-by: Seth Arnold <seth.arnold at canonical.com>
Thanks
> ---
>
> === modified file 'parser/af_unix.cc'
> --- parser/af_unix.cc 2014-08-30 05:32:14 +0000
> +++ parser/af_unix.cc 2014-08-31 02:09:00 +0000
> @@ -316,7 +312,7 @@
> */
> int unix_rule::gen_policy_re(Profile &prof)
> {
> - std::ostringstream buffer, tmp;
> + std::ostringstream buffer;
> std::string buf;
>
> int mask = mode;
> @@ -371,7 +367,8 @@
> }
>
> if (mask & AA_NET_LISTEN) {
> - tmp.str(buffer.str());
> + std::ostringstream tmp(buffer.str());
> + tmp.seekp(0, ios_base::end);
> tmp << "\\x" << std::setfill('0') << std::setw(2) << std::hex << CMD_LISTEN;
> /* TODO: backlog conditional: for now match anything*/
> tmp << "..";
> @@ -383,7 +380,8 @@
> goto fail;
> }
> if (mask & AA_NET_OPT) {
> - tmp.str(buffer.str());
> + std::ostringstream tmp(buffer.str());
> + tmp.seekp(0, ios_base::end);
> tmp << "\\x" << std::setfill('0') << std::setw(2) << std::hex << CMD_OPT;
> /* TODO: sockopt conditional: for now match anything */
> tmp << "..";
>
>
>
> --
> AppArmor mailing list
> AppArmor at lists.ubuntu.com
> Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <https://lists.ubuntu.com/archives/apparmor/attachments/20140902/c814a833/attachment.pgp>
More information about the AppArmor
mailing list