This file is indexed.

/usr/include/barry18/barry/ldifio.h is in libbarry-dev 0.18.5-1.

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
///
/// \file	ldifio.h
///		Storage, parser, and builder classes for ldif operations.
///

/*
    Copyright (C) 2010-2013, Net Direct Inc. (http://www.netdirect.ca/)

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

    See the GNU General Public License in the COPYING file at the
    root directory of this project for more details.
*/

#ifndef __BARRY_LDIFIO_H__
#define __BARRY_LDIFIO_H__

#include "dll.h"
#include "ldif.h"
#include <memory>
#include <iostream>
#include <fstream>

namespace Barry {

class Builder;

//
// LdifStore
//
/// Storage class suitable for use in a RecordParser<> or RecordBuilder<>.
/// Be sure to use the input constructors for RecordBuilder<> objects
/// and output constructors for RecordParser<> objects.
///
/// Examples:
///	Read contacts from an ldif stream on stdin:
///	new RecordBuilder<Contact, LdifStore>( new LdifStore(cin) );
///
///	Write contacts to an ldif stream on stdout:
///	new RecordParser<Contact, LdifStore>(
///		new LdifStore(cout, baseDN, dnAttr) );
///
class BXEXPORT LdifStore
{
	std::auto_ptr<std::ifstream> m_ifs;
	std::auto_ptr<std::ofstream> m_ofs;
	std::istream &m_is;
	std::ostream &m_os;
	bool m_end_of_file;

	Barry::ContactLdif m_ldif;

public:
	// input constructors
	LdifStore(const std::string &filename);
	LdifStore(std::istream &is);

	// output constructors
	LdifStore(const std::string &filename, const std::string &baseDN,
		const std::string &dnattr);
	LdifStore(std::ostream &os, const std::string &baseDN,
		const std::string &dnattr);

	// storage operator
	void operator() (const Contact &rec);

	// retrieval operator
	bool operator() (Contact &rec, const Builder &builder);
};

}

#endif