X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fuser_ops.h;h=f58ec1bb6489cfbdfa5c1dfefc2598d58742ee1e;hb=9ffea7c3315046ddcea2589656c13da5f5e0c076;hp=1a61e34dcd633f2223cf77a2cc345c1085590b60;hpb=c61307c63378edc18a9adbd628f5fbfc4a78025c;p=citadel.git diff --git a/citadel/user_ops.h b/citadel/user_ops.h index 1a61e34dc..f58ec1bb6 100644 --- a/citadel/user_ops.h +++ b/citadel/user_ops.h @@ -1,79 +1,63 @@ -/* $Id$ */ +/* + * Header file for server functions which perform operations on user objects. + * + * Copyright (c) 1987-2019 by the citadel.org team + * + * This program is open source software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License, version 3. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#ifndef __USER_OPS_H__ +#define __USER_OPS_H__ + +#include +#include + int hash (char *str); -/* getuser is deprecated, use CtdlGetUser instead */ -int getuser (struct ctdluser *, char *) __attribute__ ((deprecated)); -/* lgetuser is deprecated, use CtdlGetUserLock instead */ -int lgetuser (struct ctdluser *, char *) __attribute__ ((deprecated)); -/* putuser is deprecated, use CtdlPutUser instead */ -void putuser (struct ctdluser *) __attribute__ ((deprecated)); -/* lputuser is deprecated, use CtdlPutUserLock instead */ -void lputuser (struct ctdluser *) __attribute__ ((deprecated)); int is_aide (void); int is_room_aide (void); -/* getuserbynumber is deprecated, use CtdlGetUserByNumber instead */ -int getuserbynumber (struct ctdluser *usbuf, long int number) __attribute__ ((deprecated)); +int CtdlCheckInternetMailPermission(struct ctdluser *who); void rebuild_usersbynumber(void); -void cmd_user (char *cmdbuf); void session_startup (void); void logged_in_response(void); -void logout (void); int purge_user (char *pname); -int create_user (char *newusername, int become_user); +int getuserbyuid(struct ctdluser *usbuf, uid_t number); + +int create_user(char *newusername, int become_user, uid_t uid); +enum { + CREATE_USER_DO_NOT_BECOME_USER, + CREATE_USER_BECOME_USER +}; +#define NATIVE_AUTH_UID (-1) + void do_login(void); int CtdlInvtKick(char *iuser, int op); -void ForEachUser(void (*CallBack)(struct ctdluser *EachUser, void *out_data), - void *in_data); -void ListThisUser(struct ctdluser *usbuf, void *data); +void ForEachUser(void (*CallBack) (char *, void *out_data), void *in_data); int NewMailCount(void); int InitialMailCheck(void); -void put_visit(struct visit *newvisit); -void CtdlGetRelationship(struct visit *vbuf, - struct ctdluser *rel_user, - struct ctdlroom *rel_room); -void CtdlSetRelationship(struct visit *newvisit, - struct ctdluser *rel_user, - struct ctdlroom *rel_room); +void put_visit(visit *newvisit); +/* MailboxName is deprecated us CtdlMailboxName instead */ void MailboxName(char *buf, size_t n, const struct ctdluser *who, - const char *prefix); + const char *prefix) __attribute__ ((deprecated)); int GenerateRelationshipIndex( char *IndexBuf, long RoomID, long RoomGen, long UserID); int CtdlAssociateSystemUser(char *screenname, char *loginname); -int CtdlLoginExistingUser(char *authname, char *username); - -/* - * Values which may be returned by CtdlLoginExistingUser() - */ -enum { - pass_ok, - pass_already_logged_in, - pass_no_user, - pass_internal_error, - pass_wrong_password -}; -int CtdlTryPassword(char *password); void CtdlSetPassword(char *new_pw); -/* - * Values which may be returned by CtdlTryPassword() - */ -enum { - login_ok, - login_already_logged_in, - login_too_many_users, - login_not_found -}; - - int CtdlForgetThisRoom(void); void cmd_newu (char *cmdbuf); -void BumpNewMailCounter(long); void start_chkpwd_daemon(void); @@ -83,5 +67,9 @@ void start_chkpwd_daemon(void); #define RENAMEUSER_ALREADY_EXISTS 3 /* An account with the desired new name already exists */ int rename_user(char *oldname, char *newname); -INLINE void makeuserkey(char *key, char *username); -int internal_create_user (char *username, struct ctdluser *usbuf, uid_t uid); + +long cutusername(char *username); +void makeuserkey(char *key, const char *username, long len); +int internal_create_user(char *username, struct ctdluser *usbuf, uid_t uid); + +#endif