This file is indexed.

/etc/freeradius/3.0/mods-available/smsotp is in freeradius-config 3.0.16+dfsg-1ubuntu3.

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
# -*- text -*-
#
#  $Id: 3be32b85f56a84725fe1a6bf508e459dbe6c4e02 $

#  SMS One-time Password system.
#
#  This module will extend FreeRadius with a socks interface to create and
#  validate One-Time-Passwords. The program for that creates the socket
#  and interacts with this module is not included here.
#
#  The module does not check the User-Password, this should be done with
#  the "pap" module.  See the example below.
#
#  The module must be used in the "authorize" section to set
#  Auth-Type properly.  The first time through, the module is called
#  in the "authenticate" section to authenticate the user password, and
#  to send the challenge.  The second time through, it authenticates
#  the response to the challenge. e.g.:
#
#  authorize {
#	...
#	smsotp
#	...
#  }
#
#  authenticate {
#	...
#	Auth-Type smsotp {
#		pap
#		smsotp
#	}
#
#	Auth-Type smsotp-reply {
#		smsotp
#	}
#	...
#  }
#
smsotp {
	#  The location of the socket.
	socket = "/var/run/smsotp_socket"

	#  Defines the challenge message that will be send to the
	#  NAS. Default is "Enter Mobile PIN" }
	challenge_message = "Enter Mobile PIN:"

	#  Defines the Auth-Type section that is run for the response to
	#  the challenge. Default is "smsotp-reply".
	challenge_type = "smsotp-reply"

	#  Control how many sockets are used to talk to the SMSOTPd
	#
	pool {
		# Number of connections to start
		start = 5

		# Minimum number of connections to keep open
		min = 4

		# Maximum number of connections
		#
		# If these connections are all in use and a new one
		# is requested, the request will NOT get a connection.
		max = 10

		# Spare connections to be left idle
		#
		# NOTE: Idle connections WILL be closed if "idle_timeout"
		# is set.
		spare = 3

		# Number of uses before the connection is closed
		#
		# 0 means "infinite"
		uses = 0

		# The lifetime (in seconds) of the connection
		lifetime = 0

		# idle timeout (in seconds).  A connection which is
		# unused for this length of time will be closed.
		idle_timeout = 60

		# NOTE: All configuration settings are enforced.  If a
		# connection is closed because of "idle_timeout",
		# "uses", or "lifetime", then the total number of
		# connections MAY fall below "min".  When that
		# happens, it will open a new connection.  It will
		# also log a WARNING message.
		#
		# The solution is to either lower the "min" connections,
		# or increase lifetime/idle_timeout.
	}
}