a geicko-2 based round robin ranking system designed to test c++ battleship submissions
battleship.dunkirk.sh
1// Copyright (C) 2018 G.J.R. Timmer <gjr.timmer@gmail.com>.
2//
3// Use of this source code is governed by an MIT-style
4// license that can be found in the LICENSE file.
5
6//go:build !sqlite_userauth
7// +build !sqlite_userauth
8
9package sqlite3
10
11import (
12 "C"
13)
14
15// Authenticate will perform an authentication of the provided username
16// and password against the database.
17//
18// If a database contains the SQLITE_USER table, then the
19// call to Authenticate must be invoked with an
20// appropriate username and password prior to enable read and write
21// access to the database.
22//
23// Return SQLITE_OK on success or SQLITE_ERROR if the username/password
24// combination is incorrect or unknown.
25//
26// If the SQLITE_USER table is not present in the database file, then
27// this interface is a harmless no-op returnning SQLITE_OK.
28func (c *SQLiteConn) Authenticate(username, password string) error {
29 // NOOP
30 return nil
31}
32
33// authenticate provides the actual authentication to SQLite.
34// This is not exported for usage in Go.
35// It is however exported for usage within SQL by the user.
36//
37// Returns:
38//
39// C.SQLITE_OK (0)
40// C.SQLITE_ERROR (1)
41// C.SQLITE_AUTH (23)
42func (c *SQLiteConn) authenticate(username, password string) int {
43 // NOOP
44 return 0
45}
46
47// AuthUserAdd can be used (by an admin user only)
48// to create a new user. When called on a no-authentication-required
49// database, this routine converts the database into an authentication-
50// required database, automatically makes the added user an
51// administrator, and logs in the current connection as that user.
52// The AuthUserAdd only works for the "main" database, not
53// for any ATTACH-ed databases. Any call to AuthUserAdd by a
54// non-admin user results in an error.
55func (c *SQLiteConn) AuthUserAdd(username, password string, admin bool) error {
56 // NOOP
57 return nil
58}
59
60// authUserAdd enables the User Authentication if not enabled.
61// Otherwise it will add a user.
62//
63// When user authentication is already enabled then this function
64// can only be called by an admin.
65//
66// This is not exported for usage in Go.
67// It is however exported for usage within SQL by the user.
68//
69// Returns:
70//
71// C.SQLITE_OK (0)
72// C.SQLITE_ERROR (1)
73// C.SQLITE_AUTH (23)
74func (c *SQLiteConn) authUserAdd(username, password string, admin int) int {
75 // NOOP
76 return 0
77}
78
79// AuthUserChange can be used to change a users
80// login credentials or admin privilege. Any user can change their own
81// login credentials. Only an admin user can change another users login
82// credentials or admin privilege setting. No user may change their own
83// admin privilege setting.
84func (c *SQLiteConn) AuthUserChange(username, password string, admin bool) error {
85 // NOOP
86 return nil
87}
88
89// authUserChange allows to modify a user.
90// Users can change their own password.
91//
92// Only admins can change passwords for other users
93// and modify the admin flag.
94//
95// The admin flag of the current logged in user cannot be changed.
96// THis ensures that their is always an admin.
97//
98// This is not exported for usage in Go.
99// It is however exported for usage within SQL by the user.
100//
101// Returns:
102//
103// C.SQLITE_OK (0)
104// C.SQLITE_ERROR (1)
105// C.SQLITE_AUTH (23)
106func (c *SQLiteConn) authUserChange(username, password string, admin int) int {
107 // NOOP
108 return 0
109}
110
111// AuthUserDelete can be used (by an admin user only)
112// to delete a user. The currently logged-in user cannot be deleted,
113// which guarantees that there is always an admin user and hence that
114// the database cannot be converted into a no-authentication-required
115// database.
116func (c *SQLiteConn) AuthUserDelete(username string) error {
117 // NOOP
118 return nil
119}
120
121// authUserDelete can be used to delete a user.
122//
123// This function can only be executed by an admin.
124//
125// This is not exported for usage in Go.
126// It is however exported for usage within SQL by the user.
127//
128// Returns:
129//
130// C.SQLITE_OK (0)
131// C.SQLITE_ERROR (1)
132// C.SQLITE_AUTH (23)
133func (c *SQLiteConn) authUserDelete(username string) int {
134 // NOOP
135 return 0
136}
137
138// AuthEnabled checks if the database is protected by user authentication
139func (c *SQLiteConn) AuthEnabled() (exists bool) {
140 // NOOP
141 return false
142}
143
144// authEnabled perform the actual check for user authentication.
145//
146// This is not exported for usage in Go.
147// It is however exported for usage within SQL by the user.
148//
149// Returns:
150//
151// 0 - Disabled
152// 1 - Enabled
153func (c *SQLiteConn) authEnabled() int {
154 // NOOP
155 return 0
156}
157
158// EOF