aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorjohnthagen <[email protected]>2017-10-03 17:32:49 -0400
committerjohnthagen <[email protected]>2017-10-03 17:32:49 -0400
commit4f8195c472fd9bf12ff61dc500db4e515c25e867 (patch)
tree7f3e49764efd9c73b2dbb003fed542cb2b50acf2 /openssl/src
parentMerge pull request #743 from AndyGauge/doc-asn1 (diff)
downloadrust-openssl-4f8195c472fd9bf12ff61dc500db4e515c25e867.tar.xz
rust-openssl-4f8195c472fd9bf12ff61dc500db4e515c25e867.zip
Document conf module
Diffstat (limited to 'openssl/src')
-rw-r--r--openssl/src/conf.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/openssl/src/conf.rs b/openssl/src/conf.rs
index a648bb15..91030138 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,6 +7,12 @@ use error::ErrorStack;
pub struct ConfMethod(*mut ffi::CONF_METHOD);
impl ConfMethod {
+ /// Retrieve handle to the default OpenSSL configuration file processing function.
+ ///
+ /// # OpenSSL Implementation Details
+ ///
+ /// `NCONF` stands for "New Conf", as described in crypto/conf/conf_lib.c. This is
+ /// a newer API than the "CONF classic" functions.
pub fn default() -> ConfMethod {
unsafe {
ffi::init();
@@ -13,10 +20,12 @@ impl ConfMethod {
}
}
+ /// 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 +40,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) }
}