This file is indexed.

/usr/share/fwbuilder-5.1.0.3599/migration/FWObjectDatabase_1.0.2.xslt is in fwbuilder-common 5.1.0-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!--
   Filename:     1.0.2/FWObjectDatabase.xslt
   Author:       Vadim Kurland
   Build date:   12/25/2003
   Last changed: 03/28/2004
   Version:      1.0.0
   Description:  translates fwbuilder object database from v1.0.2 to v2.0.0

                 removes standard object group "ScratchPad" ( id=sysid3 )

                 adds libraries and moves all user defined objects to
                 library "User"

                 and all standard objects to library "Standard"

                 makes library Standard read-only using attribute 'ro'
-->

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:fwb="http://www.fwbuilder.org/1.0/"
    exclude-result-prefixes="fwb">


<xsl:output method="xml" version="1.0" 
   doctype-system="fwbuilder.dtd" indent="yes" encoding="utf-8"/>

<xsl:template match="fwb:ObjectRef|fwb:ServiceRef|fwb:IntervalRef|fwb:CustomServiceCommand|fwb:Option" mode="copy_std" priority="10">
  <xsl:copy-of select="."/>
</xsl:template>

<xsl:template match="*[@library='Standard']" mode="copy_std" priority="6">
  <xsl:if test="@id!='sysid3'">
    <xsl:copy>
      <xsl:for-each select="@*">
        <xsl:if test="not (name()='library')">
          <xsl:copy-of select="."/>
        </xsl:if>
      </xsl:for-each>
      <xsl:apply-templates select="*" mode="copy_std"/>
    </xsl:copy>
  </xsl:if>
</xsl:template>

<xsl:template match="*" mode="copy_std" priority="1"/>

<!-- ###################################################################### -->

<!--
  elements that have data in the body. It is simpler to just use deep-copy 
  to copy it all.
-->
<xsl:template match="fwb:ObjectRef|fwb:ServiceRef|fwb:IntervalRef|fwb:CustomServiceCommand|fwb:Option"
  mode="copy_usr" priority="10">
  <xsl:copy-of select="."/>
</xsl:template>

<!-- special-case group /User/Objects because we need to
     add a new subgroup 'Addresses' -->

<xsl:template match="*[@id='stdid01']" mode="copy_usr" priority="8">
  <xsl:copy>
    <xsl:for-each select="@*">
      <xsl:if test="not (name()='library')">
        <xsl:if test="name()='id'">
          <xsl:attribute name="id">
            <xsl:value-of select="."/>
            <xsl:if test="starts-with(.,'stdid')">_1</xsl:if>
          </xsl:attribute>
        </xsl:if>
        <xsl:if test="not (name()='id')">
          <xsl:copy select="."/>
        </xsl:if>
      </xsl:if>
    </xsl:for-each>
    <ObjectGroup xmlns="http://www.fwbuilder.org/1.0/" id="stdid16_1" name="Addresses"/>
    <xsl:apply-templates select="*[starts-with(@id,'stdid') or not(@library)]" mode="copy_usr"/>
  </xsl:copy>
</xsl:template>


<!--
   replace Ids of the standard objects that are in the User library with
   new Ids to avoid duplicates. Generate new Ids by appending "_1" to the old ones
-->
<xsl:template match="*[(starts-with(@id,'stdid') and not(starts-with(@id,'stdid14'))) or not(@library)]"
  mode="copy_usr" priority="6">
  <xsl:copy>
    <xsl:for-each select="@*">
      <xsl:if test="not (name()='library')">
        <xsl:if test="name()='id'">
          <xsl:attribute name="id">
            <xsl:value-of select="."/>
            <xsl:if test="starts-with(.,'stdid')">_1</xsl:if>
          </xsl:attribute>
        </xsl:if>
        <xsl:if test="not (name()='id')">
          <xsl:copy-of select="."/>
        </xsl:if>
      </xsl:if>
    </xsl:for-each>
    <xsl:apply-templates select="*" mode="copy_usr"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="*" mode="copy_usr" priority="1"/>

<!-- ###################################################################### -->

<xsl:template match="*[attribute::id='root']">
  <FWObjectDatabase xmlns="http://www.fwbuilder.org/1.0/">
  <xsl:attribute name="version">2.0.0</xsl:attribute>
  <xsl:attribute name="id">root</xsl:attribute>

<Library>
  <xsl:attribute name="id">syslib000</xsl:attribute>
  <xsl:attribute name="name">Standard</xsl:attribute>
  <xsl:attribute name="comment">Standard objects</xsl:attribute>
  <xsl:attribute name="color">#d4f8ff</xsl:attribute>
  <xsl:attribute name="ro">True</xsl:attribute>
  <xsl:apply-templates select="*[@library='Standard']" mode="copy_std"/>
</Library>

<Library>
  <xsl:attribute name="id">syslib001</xsl:attribute>
  <xsl:attribute name="name">User</xsl:attribute>
  <xsl:attribute name="comment">User defined objects</xsl:attribute>
  <xsl:attribute name="color">#d2ffd0</xsl:attribute>
  <xsl:apply-templates select="*[starts-with(@id,'stdid')]" mode="copy_usr"/>
</Library>


  </FWObjectDatabase>
</xsl:template>

</xsl:stylesheet>