| | |
| | | import com.gitblit.utils.ContainerUtils;
|
| | | import com.gitblit.utils.DeepCopier;
|
| | | import com.gitblit.utils.FederationUtils;
|
| | | import com.gitblit.utils.HttpUtils;
|
| | | import com.gitblit.utils.JGitUtils;
|
| | | import com.gitblit.utils.JsonUtils;
|
| | | import com.gitblit.utils.MetricUtils;
|
| | |
| | | * @return a user object or null
|
| | | */
|
| | | public UserModel authenticate(HttpServletRequest httpRequest) {
|
| | | boolean checkValidity = settings.getBoolean(Keys.git.enforceCertificateValidity, true);
|
| | | String [] oids = getStrings(Keys.git.certificateUsernameOIDs).toArray(new String[0]);
|
| | | UserModel model = HttpUtils.getUserModelFromCertificate(httpRequest, checkValidity, oids);
|
| | | if (model != null) {
|
| | | UserModel user = GitBlit.self().getUserModel(model.username);
|
| | | logger.info("{0} authenticated by client certificate from {1}", user.username, httpRequest.getRemoteAddr());
|
| | | return user;
|
| | | }
|
| | | return null;
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * Notify users by email of something.
|
| | | * |
| | | * @param subject
|
| | | * @param message
|
| | | * @param toAddresses
|
| | | */
|
| | | public void sendHtmlMail(String subject, String message, Collection<String> toAddresses) {
|
| | | this.sendHtmlMail(subject, message, toAddresses.toArray(new String[0]));
|
| | | }
|
| | |
|
| | | /**
|
| | | * Notify users by email of something.
|
| | | * |
| | | * @param subject
|
| | | * @param message
|
| | | * @param toAddresses
|
| | | */
|
| | | public void sendHtmlMail(String subject, String message, String... toAddresses) {
|
| | | try {
|
| | | Message mail = mailExecutor.createMessage(toAddresses);
|
| | | if (mail != null) {
|
| | | mail.setSubject(subject);
|
| | | mail.setContent(message, "text/html");
|
| | | mailExecutor.queue(mail);
|
| | | }
|
| | | } catch (MessagingException e) {
|
| | | logger.error("Messaging error", e);
|
| | | }
|
| | | }
|
| | |
|
| | | /**
|
| | | * Returns the descriptions/comments of the Gitblit config settings.
|
| | | *
|
| | | * @return SettingsModel
|
| | |
| | | public void configureContext(IStoredSettings settings, boolean startFederation) {
|
| | | logger.info("Reading configuration from " + settings.toString());
|
| | | this.settings = settings;
|
| | | |
| | |
|
| | | repositoriesFolder = getRepositoriesFolder();
|
| | | logger.info("Git repositories folder " + repositoriesFolder.getAbsolutePath());
|
| | |
|
| | | // prepare service executors
|
| | | mailExecutor = new MailExecutor(settings);
|
| | | luceneExecutor = new LuceneExecutor(settings, repositoriesFolder);
|
| | | gcExecutor = new GCExecutor(settings);
|
| | |
|
| | | repositoriesFolder = getRepositoriesFolder();
|
| | | logger.info("Git repositories folder " + repositoriesFolder.getAbsolutePath());
|
| | |
|
| | | // calculate repository list settings checksum for future config changes
|
| | | repositoryListSettingsChecksum.set(getRepositoryListSettingsChecksum());
|
| | |
|