diff options
| author | Steven Fackler <[email protected]> | 2017-10-08 16:52:30 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2017-10-08 16:52:30 -0700 |
| commit | 79d617257123fba4403bd55ee43e62de1e9fef9d (patch) | |
| tree | f3d91ee24ad72f003dc48f434e9c5122bb5a18cd /openssl/src | |
| parent | Merge pull request #744 from AndyGauge/doc-bn (diff) | |
| parent | Move OpenSSL implementation details into a normal comment (diff) | |
| download | rust-openssl-79d617257123fba4403bd55ee43e62de1e9fef9d.tar.xz rust-openssl-79d617257123fba4403bd55ee43e62de1e9fef9d.zip | |
Merge pull request #749 from johnthagen/conf
Document conf module
Diffstat (limited to 'openssl/src')
| -rw-r--r-- | openssl/src/conf.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/openssl/src/conf.rs b/openssl/src/conf.rs index a648bb15..56654ecb 100644 --- a/openssl/src/conf.rs +++ b/openssl/src/conf.rs @@ -1,3 +1,4 @@ +//! Interface for processing OpenSSL configuration files. use ffi; use cvt_p; @@ -6,17 +7,22 @@ use error::ErrorStack; pub struct ConfMethod(*mut ffi::CONF_METHOD); impl ConfMethod { + /// Retrieve handle to the default OpenSSL configuration file processing function. pub fn default() -> ConfMethod { unsafe { ffi::init(); + // `NCONF` stands for "New Conf", as described in crypto/conf/conf_lib.c. This is + // a newer API than the "CONF classic" functions. ConfMethod(ffi::NCONF_default()) } } + /// Construct from raw pointer. pub unsafe fn from_ptr(ptr: *mut ffi::CONF_METHOD) -> ConfMethod { ConfMethod(ptr) } + /// Convert to raw pointer. pub fn as_ptr(&self) -> *mut ffi::CONF_METHOD { self.0 } @@ -31,6 +37,15 @@ foreign_type! { } impl Conf { + /// Create a configuration parser. + /// + /// # Examples + /// + /// ``` + /// use openssl::conf::{Conf, ConfMethod}; + /// + /// let conf = Conf::new(ConfMethod::default()); + /// ``` pub fn new(method: ConfMethod) -> Result<Conf, ErrorStack> { unsafe { cvt_p(ffi::NCONF_new(method.as_ptr())).map(Conf) } } |