aboutsummaryrefslogtreecommitdiff
path: root/openssl/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2017-10-08 16:52:30 -0700
committerGitHub <[email protected]>2017-10-08 16:52:30 -0700
commit79d617257123fba4403bd55ee43e62de1e9fef9d (patch)
treef3d91ee24ad72f003dc48f434e9c5122bb5a18cd /openssl/src
parentMerge pull request #744 from AndyGauge/doc-bn (diff)
parentMove OpenSSL implementation details into a normal comment (diff)
downloadrust-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.rs15
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) }
}