git.fiddlerwoaroof.com
Browse code

low-level pam get user

Greg Wiley authored on 02/05/2017 16:11:51
Showing 2 changed files
... ...
@@ -25,6 +25,10 @@ public:
25 25
     {
26 26
         return ::pam_get_item (handle, PAM_CONV, (const void **)out);
27 27
     }
28
+    int get_user (pam_handle *handle, const char **out)
29
+    {
30
+        return ::pam_get_item (handle, PAM_USER, (const void **)out);
31
+    }
28 32
 };
29 33
 }
30 34
 
... ...
@@ -19,6 +19,9 @@ class pam_ifc
19 19
 {
20 20
 public:
21 21
     virtual ~pam_ifc() {}
22
+    virtual int get_user (pam_handle *handle, const char **out) {
23
+        return PAM_SERVICE_ERR;
24
+    }
22 25
     virtual int get_conv (pam_handle *handle, const pam_conv **out)
23 26
     {
24 27
         return PAM_SERVICE_ERR;
... ...
@@ -33,6 +36,9 @@ private:
33 36
 public:
34 37
     pam (const delegate &delegate) : delegate_ (delegate) {}
35 38
     pam() : pam (delegate (new pam_ifc)) {}
39
+    int get_user(pam_handle *handle, const char **out) {
40
+        return delegate_->get_user(handle, out);
41
+    }
36 42
     int get_conv (pam_handle *handle, const pam_conv **out)
37 43
     {
38 44
         return delegate_->get_conv (handle, out);