WvStreams
Main Page
Modules
Classes
Files
File List
File Members
uniconf
daemon
uniconfpamconn.cc
1
/*
2
* Worldvisions Weaver Software:
3
* Copyright (C) 1997-2002 Net Integration Technologies, Inc.
4
*
5
* Manages a UniConf daemon session which is authenticated through PAM.
6
*/
7
#include "uniconfpamconn.h"
8
#include "unisecuregen.h"
9
#include "unipermgen.h"
10
#include "uniunwrapgen.h"
11
#include "uniconfdaemonconn.h"
12
#include "uninullgen.h"
13
#include "wvpam.h"
14
#include "wvaddr.h"
15
16
UniConfPamConn::UniConfPamConn(
WvStream
*_s,
const
UniConf
&_root,
17
UniPermGen
*perms)
18
:
WvStreamClone
(NULL)
19
{
20
WvPam
pam(
"uniconfd"
);
21
WvString
rhost(*(
WvIPAddr
*)_s->
src
());
22
if
(pam.authenticate(rhost,
""
, WvString::null))
23
{
24
UniSecureGen
*sec =
new
UniSecureGen
(
new
UniUnwrapGen
(_root), perms);
25
26
// get the user and groups from PAM
27
WvString
user = pam.getuser();
28
WvStringList
groups;
29
pam.getgroups(groups);
30
31
sec->setcredentials(user, groups);
32
newroot.mountgen(sec,
false
);
33
setclone(
new
UniConfDaemonConn
(_s, newroot));
34
}
35
else
36
{
37
_s->print(
"FAIL {Not Authorized}\n"
);
38
_s->
flush_then_close
(1000);
39
}
40
}
Generated on Thu Mar 14 2013 19:25:35 for WvStreams by
1.8.1.2