Age | Commit message (Collapse) | Author |
|
Previously we only allowed "\w+" there, which was far less than what RT
supports. This commit changes to ".+" to remove the unnecessary limit.
Inspired by PR #336 on github. Thanks chutzimir!
|
|
|
|
|
|
This merge contains a few extra tests updates so they can pass after the
merge.
|
|
|
|
This merge contains a few extra tests updates so they can pass after the
merge. Upgrade steps in 4.4.6 have been ported to 5.0.3 accordingly too.
|
|
This is mainly to disable certificate verification when --no-verify-ssl
is passed. LWP::Protocol::https automatically does this if you install
it from CPAN, but Linux vendors removed this automation to fix a
security issue, see also:
https://rt.cpan.org/Public/Bug/Display.html?id=81948
https://ubuntu.com/security/CVE-2014-3230
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746579
Without this, you could get the following error when using system perl
even if --no-verify-ssl is passed:
Can't connect to ... (certificate verify failed)
|
|
rt-crontool supported --log explicitly but set LogToSTDERR too
late(after Init) to catch init logs. By adding --log in
RT::Interface::CLI, we can set log level from the beginning.
|
|
|
|
|
|
|
|
6076e503 moved help handling to the CLI module, so the
local $help is no longer needed in rt-crontool.
|
|
rt-crontool defines the verbose flag with the option to
also use the letter v like 'verbose|v'. Since that didn't
match the exception in CLI's Init, 6076e50322 included
an entry in OPT to set 'verbose' to 1 to skip the default
verbose behavior. It turned out that only worked sometimes
based on the hash order, which is random. Sometimes $verbose
would not be defined.
Add an explicit exception in the Init handler to match on the
'verbose|v' alternate to allow $verbose to be set and
used in rt-crontool.
|
|
|
|
This allows us to use pod2usage and avoid updating help
documentation in two places.
|
|
|
|
|
|
|
|
|
|
|
|
When the option is on, skip the action Commit code.
|
|
|
|
|
|
|
|
|
|
Commit a02495fea added support for multiple actions in an
rt-crontool run. Previously each action would get the same
template object resulting in re-used headers like To, Cc,
and Bcc. This could result in unexpected behavior like incorrect
recipients or the appearance that the first action provided
was being executed multiple times.
Reload the template object each time to provide the action with
an empty template.
|
|
|
|
we may get errors like "# TimeWorked: That is already the current value" and vi
being popped up for a few times without this.
Fixes: I#31290
|
|
so we can run multiple actions in one command.
Thanks to Matt Zagrabelny, who brought this idea and made first version!
|
|
This allows mail plugins to define their own actions that they handle,
and dispatches handling an action to the first plugin that declares it
can handle it. Using this, the handling of correspond and comment, as
well as the "unsafe" actions take and resolve, are moved out into their
own plugins.
As part of this, ParseCcAddressesFromHead, which was only called during
ticket creation, is inlined and placed in _HandleCreate in the new
RT::Interface::Email::Action::Defaults plugin, which is always enabled.
The $UnsafeEmailCommands configuration is now accomplished by adding
Action::Take and/or Action::Resolve to @MailPlugins.
|
|
|
|
|
|
dc653cb8, which introduced the optional GSSAPI authentication, did so in
a way that made it impossible to enable. It required externalauth=undef
(and the modules be loadable) in order for $no_strong_auth to be unset,
which is required to skip the HTTP Basic and username/password auth
paths. Unfortunately, it provided no way to _set_ an undef
externalauth, as the default value is set to 0 (despite the comment at
the top), and neither environment variables nor config file allow for
setting an undef value.
Rework the authentication paramters to bin/rt entirely, to clean this
up. Specifically, inspect an "auth" parameter, which may be set to
"rt", "basic", or "gssapi" and reacts appropriately. For backwards
compatibility, "externalauth=1" is equivalent to "auth=basic". Choosing
GSSAPI authentication also explicitly requires the GSSAPI and
LWP::Authen::Negotiate modules, and aborts if they fail to be found,
rather than falling back to sending RT's built-in auth.
Fixes I#25074.
|
|
As written, if RTEXTERNALAUTH=1 was set, RT prompted for a password,
then told you if it was going to be sent in the clear, and immediately
sent it (while telling you that you could ^C it, but giving you no
opportunity to do so).
Reverse the order to match the non-externalauth case below, into the
useful order.
|
|
* 4.2/multi-value-cf-in-rest:
cf multi values support on restful ticket creation
Un-TODO the tests
Move to a regex-based quoting parser for vsplit
Note that the vsplit code is duplicated
Only escape the output if we're going to quote it
Compare base64 versions of the data, soas to not spew binary data on failure
Update the tests to be more thorough
Add (failing) tests for escaping
|
|
* 4.2/command-line-parsing:
Forward-port run_validator (and timeout functionality) from RT 4.0
POD technically requires a blank line before each directive
Instead of explicitly printing to STDERR, use the logging infrastructure
Switch interactive tools to use Init()
Allow standard --quiet and --verbose options via Init()
Default to enabling error warnings to the screen for CLI tools
Init() also loads RT, removing more boilerplate for short scripts
Add a wrapper around Getopt::Long to add default --help option
Deprecate CleanEnv
Modernize SYNOPSYS
Deprecate unused and debug() sub
$debug is never set; remove unreachable code
Drop GetMessageContent; it is not currently called, and last was in RT2
|
|
Most of the below conflicts are due to M/D conflicts due to updated year
in the license tag.
Conflicts:
README
devel/tools/factory
lib/RT/Shredder/Plugin/Users.pm
lib/RT/Tickets_SQL.pm
sbin/rt-message-catalog
share/html/Admin/Elements/EditScrip
share/html/Admin/Elements/ListGlobalCustomFields
share/html/Admin/Elements/PickCustomFields
share/html/Admin/Elements/SelectRights
share/html/Elements/QuickCreate
share/html/Elements/SelectTicketTypes
share/html/NoAuth/RichText/dhandler
share/html/NoAuth/css/aileron/base.css
share/html/NoAuth/css/aileron/forms.css
share/html/NoAuth/css/aileron/images/dhandler
share/html/NoAuth/css/aileron/layout.css
share/html/NoAuth/css/aileron/main.css
share/html/NoAuth/css/aileron/misc.css
share/html/NoAuth/css/aileron/msie.css
share/html/NoAuth/css/aileron/msie6.css
share/html/NoAuth/css/aileron/ticket.css
share/html/NoAuth/css/ballard/base.css
share/html/NoAuth/css/ballard/images/dhandler
share/html/NoAuth/css/ballard/layout.css
share/html/NoAuth/css/ballard/main.css
share/html/NoAuth/css/ballard/misc.css
share/html/NoAuth/css/ballard/msie6.css
share/html/NoAuth/css/ballard/ticket.css
share/html/NoAuth/css/base/admin.css
share/html/NoAuth/css/base/articles.css
share/html/NoAuth/css/base/collection.css
share/html/NoAuth/css/base/login.css
share/html/NoAuth/css/base/main.css
share/html/NoAuth/css/base/misc.css
share/html/NoAuth/css/base/msie6.css
share/html/NoAuth/css/base/nav.css
share/html/NoAuth/css/base/portlets.css
share/html/NoAuth/css/base/theme-editor.css
share/html/NoAuth/css/base/ticket-form.css
share/html/NoAuth/css/base/ticket.css
share/html/NoAuth/css/base/tools.css
share/html/NoAuth/css/print.css
share/html/NoAuth/css/web2/base.css
share/html/NoAuth/css/web2/images/dhandler
share/html/NoAuth/css/web2/main.css
share/html/NoAuth/css/web2/misc.css
share/html/NoAuth/css/web2/msie6.css
share/html/NoAuth/css/web2/ticket.css
share/html/NoAuth/images/autohandler
share/html/NoAuth/js/jquery-ui-patch-datepicker.js
share/html/NoAuth/js/jquery_noconflict.js
share/html/NoAuth/js/late.js
share/html/NoAuth/js/userautocomplete.js
share/html/REST/1.0/search/ticket
share/html/Search/Graph.html
share/html/Search/Results.tsv
share/html/Ticket/Elements/ShowDependencies
share/html/Ticket/Elements/ShowHistory
share/html/Ticket/Elements/ShowTransaction
share/html/Ticket/Elements/ShowUserEntry
share/html/Ticket/ModifyPeople.html
share/html/Tools/Offline.html
share/static/css/aileron/boxes.css
share/static/css/aileron/nav.css
share/static/css/aileron/ticket-lists.css
share/static/css/aileron/ticket-search.css
share/static/css/ballard/boxes.css
share/static/css/ballard/msie.css
share/static/css/ballard/nav.css
share/static/css/ballard/ticket-lists.css
share/static/css/ballard/ticket-search.css
share/static/css/base/forms.css
share/static/css/base/rights-editor.css
share/static/css/mobile.css
share/static/css/web2/boxes.css
share/static/css/web2/layout.css
share/static/css/web2/msie.css
share/static/css/web2/nav.css
share/static/css/web2/ticket-lists.css
share/static/css/web2/ticket-search.css
share/static/js/cascaded.js
share/static/js/combobox.js
share/static/js/util.js
|
|
This also merges the 2.5 versions of the code.
|
|
|
|
|
|
|
|
Removing these variables is only necessary if RT runs the shell; they
were originally set in RT 1.0 when RT made common use of system() to
pipe data to other programs. RT now uses three-argument forms of
open(), and thus bypasses the shell entirely.
The function is left for backwards compatibility.
|
|
|
|
This also corrects an error in rt-email-dashboards, where the path to it
was mistakenly given as local/sbin/ instead of sbin/
|
|
|
|
This removes the preferences caching introduced in 4.2 in ddfeca8e,
replacing it with that of 4.0 from a273c51b and 5b707dfe. It also
reolves a number of conflicts brought about by 4.0/utf8-reckoning and
its 4.2 counterpart.
Conflicts:
lib/RT/Action/SendEmail.pm
lib/RT/Attachment.pm
lib/RT/Crypt/GnuPG.pm
lib/RT/Dashboard/Mailer.pm
lib/RT/I18N.pm
lib/RT/I18N/fr.pm
lib/RT/Interface/Email.pm
lib/RT/Interface/Email/Auth/Crypt.pm
lib/RT/Interface/Web.pm
lib/RT/Record.pm
lib/RT/Template.pm
lib/RT/Ticket.pm
lib/RT/Tickets.pm
lib/RT/User.pm
sbin/rt-test-dependencies.in
share/html/Admin/Users/Modify.html
share/html/Elements/EditCustomFieldDate
share/html/Elements/EditCustomFieldDateTime
share/html/NoAuth/css/aileron/ticket.css
share/html/NoAuth/css/base/ticket.css
share/html/Search/Results.tsv
share/html/Ticket/Create.html
share/html/Ticket/Elements/EditTransactionCustomFields
share/html/Ticket/Elements/PreviewScrips
share/html/Ticket/Update.html
share/html/Tools/Offline.html
t/api/i18n_guess.t
t/mail/dashboard-chart-with-utf8.t
t/mail/header-characters.t
t/mail/sendmail.t
t/web/offline_messages_utf8.t
t/web/offline_utf8.t
t/web/user_update.t
|
|
A reasonable use case for rt is to comment on a ticket (or
"correspond", which is just a comment that is also sent to the ticket
requestor). In the web form for commenting, there is the ability to
update the status of the ticket at the same time.
This feature should be exposed in the command line client as well.
Bug-Debian: http://bugs.debian.org/760292
|
|
|
|
Passing $@ to loc() causes its value to not be examined until later,
when it is substituted into the string. Between the ->require error and
then, the loc() machinery attempts to run for the first time, which
_also_ requires files, thus overwriting the original error in $@.
Store the error found in $@ away into a different variable, to ensure
that it is not lost before it is used. Passing "$@" instead of $@ would
similarly suffice, but the clarity of the extra variable is preferrable.
Fixes I#22991.
|
|
|