Annotation of src/usr.bin/ssh/uidswap.h, Revision 1.8
1.8 ! itojun 1: /* $OpenBSD: uidswap.h,v 1.7 2001/04/06 21:00:17 markus Exp $ */
1.6 niklas 2:
1.1 deraadt 3: /*
1.2 deraadt 4: * Author: Tatu Ylonen <ylo@cs.hut.fi>
5: * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
6: * All rights reserved
1.3 markus 7: *
1.4 deraadt 8: * As far as I am concerned, the code I have written for this software
9: * can be used freely for any purpose. Any derived versions of this
10: * software must be clearly marked as such, and if the derived work is
11: * incompatible with the protocol description in the RFC file, it must be
12: * called by a name other than "ssh" or "Secure Shell".
1.2 deraadt 13: */
1.1 deraadt 14:
15: #ifndef UIDSWAP_H
16: #define UIDSWAP_H
17:
1.2 deraadt 18: /*
19: * Temporarily changes to the given uid. If the effective user id is not
20: * root, this does nothing. This call cannot be nested.
21: */
1.8 ! itojun 22: void temporarily_use_uid(struct passwd *);
1.2 deraadt 23:
24: /*
25: * Restores the original effective user id after temporarily_use_uid().
26: * This should only be called while temporarily_use_uid is effective.
27: */
1.5 markus 28: void restore_uid(void);
1.2 deraadt 29:
30: /*
31: * Permanently sets all uids to the given uid. This cannot be called while
32: * temporarily_use_uid is effective. This must also clear any saved uids.
33: */
1.8 ! itojun 34: void permanently_set_uid(struct passwd *);
1.1 deraadt 35:
1.2 deraadt 36: #endif /* UIDSWAP_H */