Commit 1b9bf4e1 authored by Ondrej Zajicek (work)'s avatar Ondrej Zajicek (work)
Browse files

Nest: Fix export of tmpattrs through pipes

Pipes copy the original rte with old values, so they require rte to be
exported with stored tmpattrs. Other protocols access stored attributes
using eattr list, so they require rte to be exported with expanded
tmpattrs. This is temporary hack, we plan to remove whoe tmpattr mechanism.

Thanks to Paul Donohue for the bugreport.
parent 3ebabab2
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -618,6 +618,12 @@ export_filter_(struct channel *c, rte *rt0, rte **rt_free, linpool *pool, int si
      goto reject;
    }

#ifdef CONFIG_PIPE
  /* Pipes need rte with stored tmpattrs, remaining protocols need expanded tmpattrs */
  if (p->proto == &proto_pipe)
    rte_store_tmp_attrs(rt, pool, NULL);
#endif

 accept:
  if (rt != rt0)
    *rt_free = rt;