cmbbs

package
v0.24.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2023 License: GPL-3.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrSemAlreadyExists   = errors.New("sem already exists")
	ErrSemNotExists       = errors.New("sem not exists")
	ErrSemInvalid         = errors.New("sem invalid")
	ErrInvalidOp          = errors.New("invalid op")
	ErrInvalidPasswd2Size = errors.New("invalid passwd2 size")
)
View Source
var (
	IsTest    = false
	TestMutex sync.Mutex

	TestPASSWDSEM_KEY = 32763
)

Functions

func CheckPasswd

func CheckPasswd(expected []byte, input []byte) (bool, error)

CheckPasswd

Params

expected: expected-passwd-hash
input: input-passwd

Return

bool: true: good (password matched). false: bad (password not matched).
error: err

func GenPasswd

func GenPasswd(passwd []byte) (passwdHash *ptttype.Passwd_t, err error)

GenPasswd

If passwd as empty: return empty passwd (unable to login)

func LogAttempt

func LogAttempt(userID *ptttype.UserID_t, ip *ptttype.IPv4_t, isWithUserHome bool)

func PasswdDestroy

func PasswdDestroy() error

PasswdDestroy

XXX [WARNING] know what you are doing before using Close!. This is to be able to close the semaphore for the completeness of the sem-usage. However, in production, we create sem without the need of closing the sem.

We simply use ipcrm to delete the sem if necessary.

Currently used only in test.

XXX [2020-12-06] We don't do PasswdDestroy.

Just let PasswdInit do the checking to avoid the duplication of sem.

func PasswdGetUser2 added in v0.7.1

func PasswdGetUser2(userID *ptttype.UserID_t) (user *ptttype.Userec2Raw, err error)

func PasswdGetUserLevel2 added in v0.7.1

func PasswdGetUserLevel2(userID *ptttype.UserID_t) (userLevel2 ptttype.PERM2, err error)

func PasswdInit

func PasswdInit() error

func PasswdLoadUser

func PasswdLoadUser(userID *ptttype.UserID_t) (ptttype.UID, *ptttype.UserecRaw, error)

PasswdLoadUser

Params

userID: user-id

Return

Uid: uid
*ptttype.UserecRaw: user.
error: err.

func PasswdLock

func PasswdLock() error

func PasswdQuery

func PasswdQuery(uid ptttype.UID) (*ptttype.UserecRaw, error)

PasswdQuery

Params

uid: uid

Return

*ptttype.UserecRaw: user.
error: err.

func PasswdQueryPasswd added in v0.6.0

func PasswdQueryPasswd(uid ptttype.UID) (passwdHash *ptttype.Passwd_t, err error)

PasswdQueryPasswd

Params

uid: uid

Return

*ptttype.UserecRaw: user.
error: err.

func PasswdQueryUserLevel added in v0.7.1

func PasswdQueryUserLevel(uid ptttype.UID) (userLevel ptttype.PERM, err error)

PasswdQueryUserLevel

Params

uid: uid

Return

userLevel: userLevel.
error: err.

func PasswdUnlock

func PasswdUnlock() error

func PasswdUpdate

func PasswdUpdate(uid ptttype.UID, user *ptttype.UserecRaw) error

func PasswdUpdateEmail added in v0.7.0

func PasswdUpdateEmail(uid ptttype.UID, email *ptttype.Email_t) error

func PasswdUpdatePasswd added in v0.6.0

func PasswdUpdatePasswd(uid ptttype.UID, passwdHash *ptttype.Passwd_t) error

func PasswdUpdateUserLevel2 added in v0.7.1

func PasswdUpdateUserLevel2(userID *ptttype.UserID_t, perm ptttype.PERM2, isSet bool) (err error)

func SetIsTest

func SetIsTest()

func Stampfile added in v0.12.0

func Stampfile(boardFilename string, header *ptttype.FileHeaderRaw) (filename string, err error)

func StampfileU added in v0.12.0

func StampfileU(boardFilename string, header *ptttype.FileHeaderRaw) (filename string, err error)

func SubjectEx added in v0.12.0

func SubjectEx(title *ptttype.Title_t) (titleType ptttype.SubjectType, newTitle []byte)

func UnsetIsTest

func UnsetIsTest()

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL