summaryrefslogtreecommitdiffstats
path: root/srclimit.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 07:43:00 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 07:43:00 +0000
commitf74e883352a52dd3ed454627dc159aa65f98d7f3 (patch)
treeef77b7637e7135f0f61cad9ae9923215ed60066b /srclimit.h
parentAdding debian version 1:9.7p1-7. (diff)
downloadopenssh-f74e883352a52dd3ed454627dc159aa65f98d7f3.tar.xz
openssh-f74e883352a52dd3ed454627dc159aa65f98d7f3.zip
Merging upstream version 1:9.8p1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'srclimit.h')
-rw-r--r--srclimit.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/srclimit.h b/srclimit.h
index 6e04f32..74a6f2b 100644
--- a/srclimit.h
+++ b/srclimit.h
@@ -13,6 +13,26 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-void srclimit_init(int, int, int, int);
+struct xaddr;
+
+struct per_source_penalty;
+
+void srclimit_init(int, int, int, int,
+ struct per_source_penalty *, const char *);
int srclimit_check_allow(int, int);
void srclimit_done(int);
+
+#define SRCLIMIT_PENALTY_NONE 0
+#define SRCLIMIT_PENALTY_CRASH 1
+#define SRCLIMIT_PENALTY_AUTHFAIL 2
+#define SRCLIMIT_PENALTY_GRACE_EXCEEDED 3
+#define SRCLIMIT_PENALTY_NOAUTH 4
+
+/* meaningful exit values, used by sshd listener for penalties */
+#define EXIT_LOGIN_GRACE 3 /* login grace period exceeded */
+#define EXIT_CHILD_CRASH 4 /* preauth child crashed */
+#define EXIT_AUTH_ATTEMPTED 5 /* at least one auth attempt made */
+
+void srclimit_penalise(struct xaddr *, int);
+int srclimit_penalty_check_allow(int, const char **);
+void srclimit_penalty_info(void);