Commit Graph

223 Commits

Author SHA1 Message Date
Don HO
5356f648c2
Remove some ugly coding styles 2019-03-13 02:02:35 +01:00
Don HO
3f5f69c6a6 [EU-FOSSA] Enhance external call code to avoid eventual arbitrary commands execution 2019-03-10 23:27:05 +01:00
Don HO
94c4608cc1 Fix a typo & add some comments 2019-03-01 13:35:26 +01:00
Pavel Nedev
1dfa92c4b7 Add 'Open Plugins Folder...' command
Closes #5224, closees #5225
2019-03-01 01:03:34 +01:00
Don HO
3baef49079 Add SHA256 checking of the authentity of used modules
In order to remove the code signing certificate dependency, SHA256 checking of the authentity of used modules (Scilexer.dll, GUP.exe and nppPluginList.dll) is added.
See the followling link for the detail information:
https://notepad-plus-plus.org/community/topic/17184/remove-code-signing-from-notepad
2019-02-27 10:14:36 +01:00
Don HO
da2d14436c [EU-FOSSA] Enhance the macroable detection to avoid crash 2019-02-24 11:34:27 +01:00
Don HO
4472620f30 Remove "Get More Plugins" menu item 2019-02-20 09:46:17 +01:00
Don HO
b90be4a05b [EURO-FOSSA] Fix a vunerability from "Search on Internet" command
Restrict the usage of customized search engine on only "http://" or "https://" url schema to avoid whatever application can be launched via "Search on Internet" command.
2019-02-20 00:34:28 +01:00
Don HO
5bcf55c59e Add stackoverflow as search engine 2019-02-19 13:05:02 +01:00
Don HO
501980782f [EU-FOSSA] Check Updater's certificate before launching it 2019-02-13 19:39:39 +01:00
Don HO
7fe3cda1d0 [EU-FOSSA] Use wcscpy_s instead of lstrcpy to prevent from buffer overflow 2019-02-11 02:07:04 +01:00
Don HO
51f10bdba5 Add "Remove Duplicate Lines" feature
Remove duplicate consecutive lines from whole document.
2019-02-01 01:00:36 +01:00
Don HO
0f936707a2 [EU-FOSSA] Fix a security issue: RCE via unsanitized command line in "Open containing folder"
Summary of the Issue:
A remote code execution (RCE) vulnerability was found when a user opens a crafted containing folder in the command line. Code execution is possible by injecting a & followed by system commands into the name of the folder.

Steps to reproduce:
Download the attached archive on Windows: unzip_me.zip (F404758)
Unzip it and navigate into it
Open the txt file inside with Notepad++
Go to File -> Open containing folder -> cmd

Impact statement:
Successful exploitation of this vulnerability would allow an attacker to remotely execute arbitrary commands on the victim's computer.
2019-01-14 20:20:19 +01:00
Don HO
953919c406 Make new added SHA-256 hash features translatable 2018-12-26 00:06:04 +01:00
Don HO
647651b7ee Add generation of SHA-256 hash feature 2018-12-16 20:14:30 +01:00
Kovra
4f67c09859 Make text display right in summary panel
Close #5037

User @buggalicious found the summary text is displaying a count of characters without line endings not blanks.
Patch should address #3849 by updating the text to describe what is actually being counted.
2018-12-03 03:09:31 +01:00
Don HO
78a0f57ed1 Make Plugins Admin translatable 2018-11-27 13:12:56 +01:00
Don HO
f03ce289d3 Fix "Import plugins" not working issue. 2018-11-17 19:01:24 +01:00
Don HO
17ac06f83a Fix a regression of fail removing different architecture plugins 2018-11-12 03:37:42 +01:00
Don HO
519fecbb82 Add SHA-256 implementation and use sha-256 instead of md5 in Plugin Admin 2018-10-24 09:45:35 +02:00
Chris Cammack
fe458a7072 Fix hanging problem while switching back a fully-folded document by using shortcut (Ctrl-TAB)
Use the _isFolding flag to avoid expensive redundant operations that cause an apparent hang when opening or switching tabs to a large fully-folded file.

The released version of Notepad++ uses the _isFolding flag to avoid expensive redundant operations when switching to a fully-folded tab using the mouse pointer.

However, opening a fully-folded file or switching to a fully-folded tab with the keyboard can produce a delay so long that Notepad++ appears to hang forever.

The hang is 100% reproducible and can be demonstrated in less than 60 seconds:

Download a deeply-nested file such as https://raw.githubusercontent.com/notepad-plus-plus/notepad-plus-plus/master/PowerEditor/src/Parameters.cpp or https://github.com/notepad-plus-plus/notepad-plus-plus/files/1555939/nppTest.zip
Open the file in Notepad++ and fold it using Alt-0
Create a new empty tab
Switch back and forth between tabs using the mouse, which is fast
Switch back and forth between tabs using the keyboard (Ctrl-Tab, Ctrl-Page(Up|Down), Ctrl-NumPad[0-9]), which will hang
This pull request applies the existing _isFolding flag to the forgotten keyboard and file open operations and prevents the hang caused by opening or switching tabs to a fully-folded file.

Fix #3996, fix #1128, fix #1806, fix #4871
Close #4867
2018-10-07 23:42:47 +02:00
Rajendra Singh
efbc3b2160 Fix Tail moniotoring incoherent status after deleting a monitored file
Steps to Reproduce the Issue:

1. Open two files a.txt (first tab) and b.txt (second tab)
2. Start tail monitoring for a.txt (first tab) and activate b.txt (second tab)
3. Now delete a.txt from the explorer
4. Come back to notepad++
5. Observe the behavior now

Unexpected Behavior:

At step 4, if user choose to keep the file, a.txt is still marked as monitoring. As soon as del action occurs, b.txt automatically comes under "tail monitoring".
If user choose to remove file, a.txt should be removed from the notepad. This is absolutely fine.

Fix #4750, close #4751
2018-10-05 23:49:55 +02:00
Pavel Nedev
abc6bc144b Fix possible file corruption during backup or power loss or other abnormal N++ termination
Fixes #240, Fixes #2381, Fixes #2883, Fixes #4346, Fixes #4655 and probably more issues related to loss of data.
Close #4803
2018-10-03 01:42:57 +02:00
Don HO
eb4edb50ef Plugin Admin - in progress 2018-07-19 02:03:17 +02:00
Silent
a9d203a60a Deprecate wstat/stat in favour of WinAPI GetFileAttributesEx - unifies code and behaviour between Windows versions
Fixes #4491, fixes #3969, fixes #2535, fixes #215, close #4541
2018-06-25 00:33:09 +02:00
Silent
08eb29e3d6 Force cpp standard const char pointer on string literals
const-ified all string literals to suppress warnings on gcc and allow /Zc:strictStrings to be used with Visual Studio

Fix #4146, close #4150
2018-06-25 00:06:26 +02:00
Don HO
593cf451fb Clean up 2018-06-24 01:16:01 +02:00
Silent
1482420fcb Fixed pointer truncations reported after removing /Wv:18
Close #4544
2018-06-21 02:36:28 +02:00
nrecker
e65b4c37bf Fix Sort Lines as Integers issue: use Natural Sort algorithm
This changes the line operations "Sort as Integers Ascending" and "Sort as Integers Descending" to sort by Natural Sort Order, in which consecutive numerals are considered as one character. This causes "2" < "10", just like in the old Integer sort, but also "foo 2" < "foo 10", which was not previously available functionality. In cases where every line is a single integer, Natural Sort functions exactly the same as Integer Sort; when every line begins with a single integer, it is a valid Integer Sort.

Close #4413, fix #2025
2018-05-06 13:25:10 +02:00
Don HO
f0e1ecdc72 Add ghost typing Unicode capacity 2018-03-07 02:17:26 +01:00
Don HO
789cf387df Make new entries translatable 2018-03-02 20:23:24 +01:00
Don HO
a1b4628b8b Fix the wrong integer replacement (instead of string)
Fix also some minor grammatical errors

Close #4203
2018-02-20 13:38:09 +01:00
Don HO
bd0867ee62 Add new language and update translations 2018-02-19 11:40:47 +01:00
Don HO
213af53389 Add more translations
Find dialog status bar messages are translatable.
Add more shortcut mapper translation entries.
2018-02-14 10:02:55 +01:00
Don HO
fb17638de7 Enhance Shortcut Mapper and make it translatable 2018-02-10 18:52:59 +01:00
Don HO
1a86603a0c Make more dialog strings translatable 2018-02-04 21:38:49 +01:00
SinghRajenM
926a5f5300 Fix menu items' state is not maintained due to save macro command
Fixes #4112, fixes #4114, closes #4115
2018-01-30 09:26:08 +01:00
Don Ho
e339c0f600 Notepad++ 7.5.2 release 2017-11-27 09:32:44 +01:00
SinghRajenM
60f113727c Remove unused/empty encoding from shortcut mapper
Closes #3763
2017-11-25 14:54:45 +01:00
Don HO
4005bf4182 Add DSpellCheck plugin into distribution 2017-11-23 22:44:22 +01:00
Oleksandr Redko
c304b3b873 Fix static analyzer message "The ternary operator always returns constant"
V583 The '?:' operator, regardless of its conditional expression, always returns one and the same value: 22. nppcommands.cpp 1696
2017-10-29 18:18:22 +02:00
Don HO
1c5e6191bd Adapt json format for Plugin admin 2017-09-24 18:27:42 +02:00
Don HO
e2f5f51fbc Read plugin list as json format (in progress) 2017-09-17 00:52:35 +02:00
Thomas Linder Puls
854acae4a1 Add Visual Prolog language support
Closes #1439
2017-08-25 09:43:36 +02:00
Cyrillev
fbbe9344d9 New feature: Opens file in its default viewer
This feature has the same effect as double-clicking this file in Windows Explorer.

Closes #3577, fixes #3576
2017-08-13 12:04:00 +02:00
SinghRajenM
194376d6d7 Fixed monitoring related issuse and corrected code
Updated file "NppIO.cpp" to deal with issue #3553

However both existing and updated code looks same, but it is not.
command(IDM_VIEW_MONITORING);
looks equal to

buf->stopMonitoring();
checkMenuItem(IDM_VIEW_MONITORING, false);
_toolBar.setCheck(IDM_VIEW_MONITORING, false);
buf->setUserReadOnly(false);
Updated code works on the current file being processed while existing code command(IDM_VIEW_MONITORING); works with current active buffer. Debugging for reported case can help to understand the above statement.

Justification for updating file "NppCommands.cpp":

See static HANDLE hThread gets a handle when monitoring is activated on a tab.
This handle is overwritten if monitoring is activated on another tab. Resource leak happens here as previous handle can't be closed at all.
However, this handle is not used anywhere in the code, then just why not to close the handle as soon thread is created.

Closes #3554, fixes #3553
2017-07-24 19:28:26 +02:00
Cyrillev
02bdd11700 Add new languages support
Connect Scintilla Lexers to npp : SCLEX_ASN1 (Abstract Syntax Notation One), SCLEX_AVS (AviSynth), SCLEX_BLITZBASIC, SCLEX_PUREBASIC, SCLEX_FREEBASIC, SCLEX_CSOUND, SCLEX_ERLANG, SCLEX_ESCRIPT, SCLEX_FORTH, SCLEX_LATEX, SCLEX_MMIXAL, SCLEX_NIMROD, SCLEX_NNCRONTAB, SCLEX_OSCRIPT, SCLEX_REBOL, SCLEX_REGISTRY, SCLEX_RUST, SCLEX_SPICE, SCLEX_TXT2TAGS

Connect Scintilla Lexers to npp :

asn1 (Abstract Syntax Notation One) : https://fr.wikipedia.org/wiki/ASN.1#Exemple
avs (AviSynth) : http://avisynth.nl/index.php/Script_examples
blitzbasic : http://www.blitzbasic.com/bmdocs/command.php?name=Mid&ref=2d_cat
http://www.blitzbasic.com/codearcs/codearcs.php?cat=8"
csound : http://www.csounds.com/manual/html/PrefaceGettingStarted.html
erlang : http://erlang.org/doc/man/file.html
http://erlang.org/documentation/doc-5.3.6.13/doc/getting_started/getting_started.html"
escript : http://erlang.org/doc/man/escript.html
forth : http://wiki.c2.com/?ExampleForthCode
freebasic : http://www.freebasic.net/
latex : http://physics.clarku.edu/sip/tutorials/TeX/intro.html (Sample LaTeX file)
mmixal : http://mmix.cs.hm.edu/examples/hello.html
nimrod : http://www.csse.monash.edu.au/~nimrod/nimrodportal/manual/planfileexamples.shtml
nncrontab : http://www.nncron.ru/help/EN/working/cron-format.htm
oscript : http://www.oscriptadventures.com/
purebasic : https://www.purebasic.com/documentation/reference/ide_form.html
rebol : http://www.rebol.net/cookbook/recipes/0031.html
registry : windows registry file
rust : http://rustbyexample.com/std_misc/file/open.html
spice : http://www.seas.upenn.edu/~jan/spice/spice.overview.html
txt2tags : https://github.com/txt2tags/txt2tags/blob/master/samples/sample.t2t
2017-07-23 10:24:53 +02:00
Don HO
c8969b773f Add SWIFT language support 2017-06-17 20:03:28 +02:00
Don HO
11accf92e9 Fix issue of lossing syntax highlighting during "save as"
The new behaviour is: as user set a new syntax highlighting once, the
new file extension of "save as" will be ignored.

Fixes #1298
2017-05-09 01:59:05 +02:00
Don HO
f4228f5e52 Add "droppong folder as workspace" warning while both files and folddrs are being dropped. 2017-05-02 20:01:53 +02:00