This file is indexed.

/usr/include/gloox/jingleiceudp.h is in libgloox-dev 1.0.13-3build1.

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
137
138
139
140
141
/*
  Copyright (c) 2013-2015 by Jakob Schröter <js@camaya.net>
  This file is part of the gloox library. http://camaya.net/gloox

  This software is distributed under a license. The full license
  agreement can be found in the file LICENSE in this distribution.
  This software may not be copied, modified, sold or distributed
  other than expressed in the named license agreement.

  This software is distributed without any warranty.
*/


#ifndef JINGLEICEUDP_H__
#define JINGLEICEUDP_H__

#include "jingleplugin.h"

#include <string>
#include <list>

namespace gloox
{

  class Tag;

  namespace Jingle
  {

    /**
     * @brief An abstraction of the signaling part of Jingle ICE-UDP Transport Method (@xep{0176}).
     *
     * XEP Version: 1.0
     *
     * @author Jakob Schröter <js@camaya.net>
     * @since 1.0.7
     */
    class GLOOX_API ICEUDP : public Plugin
    {
      public:
        /**
         * Describes the candidate type.
         */
        enum Type
        {
          Host,                     /**< A host candidate. */
          PeerReflexive,            /**< A peer reflexive candidate. */
          Relayed,                  /**< A relayed candidate. */
          ServerReflexive           /**< A server reflexive candidate. */
        };

        /**
         * Describes a single transport candidate.
         */
        struct Candidate
        {
          std::string component;    /**< A Component ID as defined in ICE-CORE. */
          std::string foundation;   /**< A Foundation as defined in ICE-CORE.*/
          std::string generation;   /**< An index, starting at 0, that enables the parties to keep track of
                                         updates to the candidate throughout the life of the session. */
          std::string id;           /**< A unique identifier for the candidate. */
          std::string ip;           /**< The IP address for the candidate transport mechanism. */
          std::string network;      /**< An index, starting at 0, referencing which network this candidate is on for a given peer. */
          int port;                 /**< The port at the candidate IP address. */
          int priority;             /**< A Priority as defined in ICE-CORE. */
          std::string protocol;     /**< The protocol to be used. Should be @b udp. */
          std::string rel_addr;     /**< A related address as defined in ICE-CORE. */
          int rel_port;             /**< A related port as defined in ICE-CORE. */
          Type type;                /**< A Candidate Type as defined in ICE-CORE. */
        };

        /** A list of transport candidates. */
        typedef std::list<Candidate> CandidateList;

        /**
         * Constructs a new instance.
         * @param pwd The @c pwd value.
         * @param ufrag The @c ufrag value.
         * @param candidates A list of connection candidates.
         */
        ICEUDP( const std::string& pwd, const std::string& ufrag, CandidateList& candidates );

        /**
         * Constructs a new instance from the given tag.
         * @param tag The Tag to parse.
         */
        ICEUDP( const Tag* tag = 0 );

        /**
         * Virtual destructor.
         */
        virtual ~ICEUDP() {}

        /**
         * Returns the @c pwd value.
         * @return The @c pwd value.
         */
        const std::string& pwd() const { return m_pwd; }

        /**
         * Returns the @c ufrag value.
         * @return The @c ufrag value.
         */
        const std::string& ufrag() const { return m_ufrag; }

        /**
         * Returns the list of connection candidates.
         * @return The list of connection candidates.
         */
        const CandidateList& candidates() const { return m_candidates; }

        // reimplemented from Plugin
        virtual const StringList features() const;

        // reimplemented from Plugin
        virtual const std::string& filterString() const;

        // reimplemented from Plugin
        virtual Tag* tag() const;

        // reimplemented from Plugin
        virtual Plugin* newInstance( const Tag* tag ) const;

        // reimplemented from Plugin
        virtual Plugin* clone() const
        {
          return new ICEUDP( *this );
        }

      private:
        std::string m_pwd;
        std::string m_ufrag;
        CandidateList m_candidates;

    };

  }

}

#endif // JINGLEICEUDP_H__