mod_auth_ccert/mod_auth_ccert.lua
changeset 1068 8ad0d234608c
parent 1067 8649f78b1dde
child 1069 d7719bf1aed6
equal deleted inserted replaced
1067:8649f78b1dde 1068:8ad0d234608c
    10 local id_on_xmppAddr = "1.3.6.1.5.5.7.8.5";
    10 local id_on_xmppAddr = "1.3.6.1.5.5.7.8.5";
    11 local now = os.time;
    11 local now = os.time;
    12 
    12 
    13 local cert_match = module:get_option("certificate_match", "xmppaddr");
    13 local cert_match = module:get_option("certificate_match", "xmppaddr");
    14 
    14 
    15 local username_extractor = {}
    15 local username_extractor = {};
    16 
    16 
    17 function username_extractor.xmppaddr(cert, authz)
    17 function username_extractor.xmppaddr(cert, authz, session)
    18 	local extensions = cert:extensions();
    18 	local extensions = cert:extensions();
    19 	local SANs = extensions[subject_alternative_name];
    19 	local SANs = extensions[subject_alternative_name];
    20 	local xmppAddrs = SANs and SANs[id_on_xmppAddr];
    20 	local xmppAddrs = SANs and SANs[id_on_xmppAddr];
    21 
    21 
    22 	if not xmppAddrs then
    22 	if not xmppAddrs then
    82 					(session.log or log)("warn", "%d: %s", i, table.concat(chain_errors, ", "));
    82 					(session.log or log)("warn", "%d: %s", i, table.concat(chain_errors, ", "));
    83 				end
    83 				end
    84 				return nil, false;
    84 				return nil, false;
    85 			end
    85 			end
    86 
    86 
    87 			return find_username(cert, authz);
    87 			return find_username(cert, authz, session);
    88 		end
    88 		end
    89 	});
    89 	});
    90 end
    90 end
    91 
    91 
    92 module:provides "auth";
    92 module:provides "auth";