a geicko-2 based round robin ranking system designed to test c++ battleship submissions battleship.dunkirk.sh
at main 4.5 kB view raw
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