This file is indexed.

/usr/include/atheme/sasl.h is in atheme-services 7.2.9-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
/*
 * Copyright (c) 2006 Atheme Development Group
 * Rights to this code are as documented in doc/LICENSE.
 *
 * Data structures for SASL plugin use.
 *
 */

#ifndef SASL_H
#define SASL_H

typedef struct sasl_session_ sasl_session_t;
typedef struct sasl_message_ sasl_message_t;
typedef struct sasl_mechanism_ sasl_mechanism_t;

struct sasl_session_ {
  char *uid;
  char *buf, *p;
  int len, flags;

  server_t *server;

  struct sasl_mechanism_ *mechptr;
  void *mechdata;

  char *username;
  char *certfp;
  char *authzid;

  char *host;
  char *ip;
};

struct sasl_message_ {
  char *uid;
  char mode;
  char *buf;
  char *ext;

  server_t *server;
};

struct sasl_mechanism_ {
  char name[60];
  int (*mech_start) (struct sasl_session_ *sptr, char **buffer, size_t *buflen);
  int (*mech_step) (struct sasl_session_ *sptr, char *message, size_t length, char **buffer, size_t *buflen);
  void (*mech_finish) (struct sasl_session_ *sptr);
};

typedef struct {
  myuser_t *source_mu;
  myuser_t *target_mu;
  bool allowed;
} hook_sasl_may_impersonate_t;

typedef struct {
	void (*mech_register) (struct sasl_mechanism_ *mech);
	void (*mech_unregister) (struct sasl_mechanism_ *mech);
} sasl_mech_register_func_t;

#define ASASL_FAIL 0 /* client supplied invalid credentials / screwed up their formatting */
#define ASASL_MORE 1 /* everything looks good so far, but we're not done yet */
#define ASASL_DONE 2 /* client successfully authenticated */

#define ASASL_MARKED_FOR_DELETION   1 /* see delete_stale() in saslserv/main.c */
#define ASASL_NEED_LOG              2 /* user auth success needs to be logged still */

#endif

/* vim:cinoptions=>s,e0,n0,f0,{0,}0,^0,=s,ps,t0,c3,+s,(2s,us,)20,*30,gs,hs
 * vim:ts=8
 * vim:sw=8
 * vim:noexpandtab
 */