<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>dmlite: include/dmlite/cpp/utils/security.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">dmlite  <span id="projectnumber">0.6</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_c6836824bdef15bafab59627cccf2d55.html">dmlite</a></li><li class="navelem"><a class="el" href="dir_5eb0003806ff55b9e42d6823777110d1.html">cpp</a></li><li class="navelem"><a class="el" href="dir_13314eb41997cce6fad686c16a856305.html">utils</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">security.h File Reference</div> </div> </div><!--header--> <div class="contents"> <p>Security functionality shared between modules. <a href="#details">More...</a></p> <div class="textblock"><code>#include <stdint.h></code><br/> <code>#include <sys/stat.h></code><br/> <code>#include <string></code><br/> <code>#include <vector></code><br/> <code>#include "<a class="el" href="authn_8h_source.html">../authn.h</a>"</code><br/> <code>#include "<a class="el" href="exceptions_8h_source.html">../exceptions.h</a>"</code><br/> </div><div class="textblock"><div class="dynheader"> Include dependency graph for security.h:</div> <div class="dyncontent"> <div class="center"><img src="security_8h__incl.png" border="0" usemap="#include_2dmlite_2cpp_2utils_2security_8h" alt=""/></div> <map name="include_2dmlite_2cpp_2utils_2security_8h" id="include_2dmlite_2cpp_2utils_2security_8h"> <area shape="rect" id="node11" href="authn_8h.html" title="Authentication API. Any sort of security check is plugin-specific." alt="" coords="717,96,794,123"/><area shape="rect" id="node18" href="exceptions_8h.html" title="Exceptions used by the API." alt="" coords="894,253,990,280"/><area shape="rect" id="node13" href="config_8h.html" title="Header generated by CMake with the build configuration used." alt="" coords="1052,336,1186,363"/><area shape="rect" id="node15" href="base_8h.html" title="Base interfaces." alt="" coords="878,171,939,197"/><area shape="rect" id="node31" href="extensible_8h.html" title="Extensible types (hold metadata)." alt="" coords="478,171,598,197"/><area shape="rect" id="node21" href="errno_8h.html" title="Error codes." alt="" coords="683,336,811,363"/></map> </div> </div><div class="textblock"><div class="dynheader"> This graph shows which files directly or indirectly include this file:</div> <div class="dyncontent"> <div class="center"><img src="security_8h__dep__incl.png" border="0" usemap="#include_2dmlite_2cpp_2utils_2security_8hdep" alt=""/></div> <map name="include_2dmlite_2cpp_2utils_2security_8hdep" id="include_2dmlite_2cpp_2utils_2security_8hdep"> <area shape="rect" id="node3" href="p_2inode_8h.html" title="Low-level access API." alt="" coords="205,97,331,138"/><area shape="rect" id="node5" href="p_2catalog_8h.html" title="Catalog API." alt="" coords="103,187,229,229"/><area shape="rect" id="node9" href="_catalog_8h.html" title="Implementation of a Catalog using other plugins, as INode." alt="" coords="185,376,351,403"/><area shape="rect" id="node11" href="pooldriver_8h.html" title="Pool handling API." alt="" coords="306,187,432,229"/><area shape="rect" id="node7" href="_dummy_catalog_8h.html" title="A dummy plugin that just delegates calls to a decorated one." alt="" coords="5,278,179,319"/><area shape="rect" id="node13" href="poolmanager_8h.html" title="Pool API." alt="" coords="357,278,483,319"/><area shape="rect" id="node15" href="_dummy_pool_8h.html" title="A dummy plugin that just delegates calls to a decorated one." alt="" coords="375,369,531,410"/></map> </div> </div> <p><a href="security_8h_source.html">Go to the source code of this file.</a></p> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a> Classes</h2></td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdmlite_1_1_acl_entry.html">dmlite::AclEntry</a></td></tr> <tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">ACL Entry. <a href="structdmlite_1_1_acl_entry.html#details">More...</a><br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structdmlite_1_1_acl.html">dmlite::Acl</a></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a> Namespaces</h2></td></tr> <tr class="memitem:namespacedmlite"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html">dmlite</a></td></tr> <tr class="memdesc:namespacedmlite"><td class="mdescLeft"> </td><td class="mdescRight">Namespace for the dmlite C++ API. <br/></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a> Enumerations</h2></td></tr> <tr class="memitem:a436696b20907216d576d7a8145d7484a"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484a">dmlite::TokenResult</a> { <br/>   <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aa39c20aac56c0e4f697aa554998f1b4a4">dmlite::kTokenOK</a> = 0, <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aabf9e71bf68794b084d3d53ebfcedc023">dmlite::kTokenMalformed</a>, <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aa21e583dc664889ad9a6ab0fcc2a50206">dmlite::kTokenInvalid</a>, <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aa15955f03fdea42f4fd4a6c50d2811a3e">dmlite::kTokenExpired</a>, <br/>   <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aa88d191c79a0ea7620ca6b38c1883624d">dmlite::kTokenInvalidMode</a>, <a class="el" href="namespacedmlite.html#a436696b20907216d576d7a8145d7484aa2d32659356224ab515c6402fc7d24a60">dmlite::kTokenInternalError</a> <br/> }</td></tr> <tr class="memdesc:a436696b20907216d576d7a8145d7484a"><td class="mdescLeft"> </td><td class="mdescRight">Possible outputs for validateToken. <a href="namespacedmlite.html#a436696b20907216d576d7a8145d7484a">More...</a><br/></td></tr> <tr class="separator:a436696b20907216d576d7a8145d7484a"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:a8a9fc43c7b4c90ab1173adc1b81547c8"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#a8a9fc43c7b4c90ab1173adc1b81547c8">dmlite::hasGroup</a> (const std::vector< GroupInfo > &groups, gid_t gid)</td></tr> <tr class="separator:a8a9fc43c7b4c90ab1173adc1b81547c8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aaa6f07f330242f13c3afd4c1abe077c9"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#aaa6f07f330242f13c3afd4c1abe077c9">dmlite::checkPermissions</a> (const SecurityContext *context, const Acl &acl, const struct::stat &stat, mode_t mode)</td></tr> <tr class="separator:aaa6f07f330242f13c3afd4c1abe077c9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92eee2fd3506c5eadc2197f26878c672"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#a92eee2fd3506c5eadc2197f26878c672">dmlite::voFromDn</a> (const std::string &mapfile, const std::string &dn)</td></tr> <tr class="separator:a92eee2fd3506c5eadc2197f26878c672"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a92d4eb4b77e1867470bc15d36f7a9252"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#a92d4eb4b77e1867470bc15d36f7a9252">dmlite::voFromRole</a> (const std::string &role)</td></tr> <tr class="separator:a92d4eb4b77e1867470bc15d36f7a9252"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa878b8bd2169a38010b1f519e41c4db0"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#aa878b8bd2169a38010b1f519e41c4db0">dmlite::getCertificateSubject</a> (const std::string &path)</td></tr> <tr class="memdesc:aa878b8bd2169a38010b1f519e41c4db0"><td class="mdescLeft"> </td><td class="mdescRight">Get the subject from the certificate. <a href="#aa878b8bd2169a38010b1f519e41c4db0">More...</a><br/></td></tr> <tr class="separator:aa878b8bd2169a38010b1f519e41c4db0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:afed77c599f0ce4b340f001676fc6f1db"><td class="memItemLeft" align="right" valign="top">std::string </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#afed77c599f0ce4b340f001676fc6f1db">dmlite::generateToken</a> (const std::string &id, const std::string &pfn, const std::string &passwd, time_t lifetime, bool write=false)</td></tr> <tr class="separator:afed77c599f0ce4b340f001676fc6f1db"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adb16ae28d1f0e696f588104e538a67b5"><td class="memItemLeft" align="right" valign="top">TokenResult </td><td class="memItemRight" valign="bottom"><a class="el" href="namespacedmlite.html#adb16ae28d1f0e696f588104e538a67b5">dmlite::validateToken</a> (const std::string &token, const std::string &id, const std::string &pfn, const std::string &passwd, bool write=false)</td></tr> <tr class="separator:adb16ae28d1f0e696f588104e538a67b5"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <div class="textblock"><p>Security functionality shared between modules. </p> <p>This is not a plugin! </p> <dl class="section author"><dt>Author</dt><dd>Alejandro Álvarez Ayllón <a href="#" onclick="location.href='mai'+'lto:'+'aal'+'va'+'rez'+'@c'+'ern'+'.c'+'h'; return false;">aalva<span style="display: none;">.nosp@m.</span>rez@<span style="display: none;">.nosp@m.</span>cern.<span style="display: none;">.nosp@m.</span>ch</a> </dd></dl> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Jul 12 2013 07:34:22 for dmlite by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> </body> </html>