This file is indexed.

/usr/include/freeradius/sha1.h is in libfreeradius-dev 2.1.10+dfsg-3ubuntu0.12.04.2.

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
#ifndef _FR_SHA1_H
#define _FR_SHA1_H

#ifndef WITH_OPENSSL_SHA1
typedef struct {
    uint32_t state[5];
    uint32_t count[2];
    uint8_t buffer[64];
} fr_SHA1_CTX;

void fr_SHA1Transform(uint32_t state[5], const uint8_t buffer[64]);
void fr_SHA1Init(fr_SHA1_CTX* context);
void fr_SHA1Update(fr_SHA1_CTX* context, const uint8_t* data, unsigned int len);
void fr_SHA1Final(uint8_t digest[20], fr_SHA1_CTX* context);

/*
 * this version implements a raw SHA1 transform, no length is appended,
 * nor any 128s out to the block size.
 *
 *	Hmm... this function doesn't appear to be used anywhere.
 */
void fr_SHA1FinalNoLen(uint8_t digest[20], fr_SHA1_CTX* context);

#else  /* WITH_OPENSSL_SHA1 */

#include <openssl/sha.h>

#define fr_SHA1_CTX	SHA_CTX
#define fr_SHA1Init	SHA1_Init
#define fr_SHA1Update	SHA1_Update
#define fr_SHA1Final	SHA1_Final
#define fr_SHA1Transform SHA1_Transform
#endif

/*
 * FIPS 186-2 PRF based upon SHA1.
 *
 *	Hmm... this is only used in src/modules/rlm_eap/libeap/
 *	why is the prototype here?
 */
extern void fips186_2prf(uint8_t mk[20], uint8_t finalkey[160]);

#endif /* _FR_SHA1_H */