Commit Graph

35 Commits (db63ee978dcd678caee0db71e5e1b91f9f293880)

Author SHA1 Message Date
Jordan Wright 44f88401bb
Performance Improvements for Campaign and Group Creation (#1686)
This commit significantly improves the performance of campaign and group creation by changing database access to use transactions.

It should also make things more consistent with campaign creation. Specifically, this will ensure that the entire campaign gets created before emails start sending, while I anticipate this will fix #1643, #1080, (possibly) #1677, and #1552.
2019-12-02 23:00:11 -06:00
Jordan Wright 47f0049c30
Refactor servers (#1321)
* Refactoring servers to support custom workers and graceful shutdown.
* Refactoring workers to support custom mailers.
* Refactoring mailer to be an interface, with proper instances instead of a single global instance
* Cleaning up a few things. Locking maillogs for campaigns set to launch immediately to prevent a race condition.
* Cleaning up API middleware to be simpler
* Moving template parameters to separate struct
* Changed LoadConfig to return config object
* Cleaned up some error handling, removing uninitialized global error in models package
* Changed static file serving to use the unindexed package
2018-12-15 15:42:32 -06:00
Jordan Wright 7dcf30f277
Add Support for Timed Campaigns (#1184)
This builds on the work from @c-f in #1090 to fully add support for "timed" campaigns, in which the emails are spaced apart as opposed to all being sent at once.
2018-09-02 11:17:52 -05:00
Jordan Wright ebb6cd61b2 Implemented the ability to preview landing pages when sending a test email. 2018-06-08 21:20:52 -05:00
Konrads Smelkovs 29555085c0 If Subject is empty, don't set the header
Fixes #955
2018-02-10 13:46:08 -06:00
Shuhei Kitagawa 44afb2b965 Isolate model tests (#933)
* isolates Group model tests

* move SMTP related tests from models_test.go to smtp_test.go

* isolate Page model tests

* isolate Result model tests
2018-01-19 18:11:00 -06:00
Shuhei Kitagawa 55b0da4aa9 Separate user model test cases into a independent test file (#930) 2018-01-18 19:54:12 -06:00
Shuhei Kitagawa 405bc5effe Refactor GetUserByUsername method not to suppress an error (#920)
Also adding some other tests for the User models.
2018-01-11 18:37:38 -06:00
Shuhei Kitagawa db19f0ac2a Remove redundant return nil statement in user.go (#921)
Removing some redundant statements in user.go.
Adding test cases for user models.
2018-01-11 18:11:57 -06:00
Jordan Wright 44154f3bf0 Removing duplicates in campaigns. Fixes #855 2017-12-11 22:12:17 -06:00
Jordan Wright 76ece15b71
Email refactoring (#878)
The initial pass at refactoring the way we send emails.
2017-12-09 15:42:07 -06:00
Jordan Wright 269568148e Phishing emails are now sent in "First Last <email@domain.com>" format. 2017-06-16 22:21:08 -05:00
Jordan Wright 66c4be3d4f Adding support for custom headers in sending profiles (#544)
Closes #215 
Closes #128
2017-02-19 18:43:08 -06:00
Jordan Wright ea7bb04156 Changed result ID's to be 7 random alphanumeric characters. Fixes #518 2017-01-27 21:16:47 -06:00
Jordan Wright f12af50d46 Adding support for Mysql (#442)
Thanks, @svigne1!

Fixes #53
2016-11-19 10:37:22 -06:00
Rob Cutmore 2d4a755c2c Check for specific error in group tests 2016-07-18 18:47:28 -04:00
Rob Cutmore f9a15cfe3d Add more tests for getting group(s) 2016-07-16 08:38:27 -04:00
Rob Cutmore 3a9bc91415 Add tests for getting group(s) 2016-07-16 07:53:56 -04:00
Rob Cutmore b5b0f0ddf8 Use generic names for Group tests 2016-07-15 07:37:16 -04:00
Rob Cutmore bc678878e2 Put User tests together 2016-07-15 07:31:44 -04:00
Rob Cutmore e028806b5a Add cleanup between tests for models 2016-07-15 07:28:11 -04:00
Rob Cutmore 92f4ca6a90 Add empty attribute test for PutGroup
If passing a Target instance to the database Updates method then
empty attributes will be ignored. Using a map[string]interface
ensures all changed attributes, even empty ones, are persisted to
database.
2016-07-04 06:39:38 -04:00
Rob Cutmore 731c621095 Add test for PutGroup function 2016-07-02 18:22:44 -04:00
Jordan Wright 52b9eda3b2 Added support for redirect URL's after creds are submitted. Fixes #210 2016-03-18 20:19:13 -05:00
Jordan Wright 6b61b24f68 Merge branch 'master' into 78-store-smtp-settings
# Conflicts:
#	models/models_test.go
#	static/js/app/landing_pages.js
2016-02-28 22:08:39 -06:00
Jordan Wright af76603949 Adding tests 2016-02-25 19:58:02 -06:00
Jordan Wright 78203ad208 Added tests for SMTP 2016-02-21 22:13:06 -06:00
Jordan Wright 379edf73a3 Adding first round of database migrations using goose 2016-01-18 21:13:32 -06:00
Jordan Wright 25a7a32003 Added test for #60 2016-01-12 20:52:13 -06:00
William Woodson 3a0fa4f93f Update bcrypt dependency and code moved to gophish group 2016-01-10 11:04:03 -06:00
unknown 5756e950ab With in-memory db, no need to delete. 2015-08-15 04:36:50 -05:00
unknown fa21fec437 Let's try the :memory: db for testing 2015-08-15 04:34:41 -05:00
unknown be9064f718 Added ability to delete campaign from campaign results - needs some cleanup, but it works 2015-02-21 01:27:32 -06:00
Jordan f0e7ac46c8 Integrated gorm with templates - Gorm integration complete
Updated groups to belong to one user. I may make a Team and TeamGroups, and TeamUsers m2m relationships later.
Added another test - more on the way soon.
2014-03-27 13:19:57 -05:00
Jordan cb9c405f46 Added better testing with gocheck
Fixed some typos leading to syntax errors
TODO: Finish up gorm integration into templates
2014-03-26 21:42:07 -05:00