Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
199 commits
Select commit Hold shift + click to select a range
f393e7e
add box Mo
Mar 18, 2025
3e53b8b
tests ok
Mar 19, 2025
5fe8b49
comparaison dates
Mar 19, 2025
f7145ea
Fix POS has some product unvisible when using smartphone
eldy Mar 20, 2025
841a109
FIX Sort and search Ref Project column was missing (#33539)
mapiolca Mar 20, 2025
f7c9d4e
migration: 19.0→20.0: rename llx_commande_fournisseur_dispatch sequen…
alexandre-janniaux Mar 20, 2025
b88b72a
before Wysy
Mar 20, 2025
56af276
after wysy
Mar 20, 2025
92baf3f
Fix : MAIN_SEARCH_PRODUCT_BY_FOURN_REF search critera (#33550)
thersane-john Mar 20, 2025
7eb6a9e
fix buy price (#33552)
altairis-tof Mar 20, 2025
c0dac26
Update mo.class.php
eldy Mar 20, 2025
cb05c6a
Update mo.class.php
eldy Mar 20, 2025
a07120d
Update conf.class.php
eldy Mar 24, 2025
9070f5b
retour PR
Mar 24, 2025
d773dd9
Merge branch 'NEW_ADD_HOME_BOX_MRP' of github.com:atm-jonathan/doliba…
Mar 24, 2025
cbb9f5a
Replace hard coded value with var
eldy Mar 24, 2025
9b36b6e
Fix typo
eldy Mar 24, 2025
1bd2ed6
Merge branch 'develop' into NEW_ADD_HOME_BOX_MRP
eldy Mar 24, 2025
28094b3
Merge branch 'develop' into NEW_ADD_HOME_BOX_MRP
eldy Mar 24, 2025
965b73f
Doc
eldy Mar 26, 2025
72ed45b
Add code to make SMTPs debug
eldy Mar 26, 2025
f12e04d
Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into 21.0
eldy Mar 26, 2025
69f5b0b
add parenthesis
Mar 26, 2025
6cc62ab
Merge branch 'develop' of https://github.com/Dolibarr/dolibarr into N…
Mar 26, 2025
19411c9
Merge branch 'NEW_ADD_HOME_BOX_MRP' of github.com:atm-jonathan/doliba…
Mar 26, 2025
6cae387
Prepare emailing code for unsubcribing emails
eldy Mar 26, 2025
2efe17b
Code comment
eldy Mar 26, 2025
14d9b4a
NEW Can filter on field "Refuse emailing" in list of thirdparties.
eldy Mar 26, 2025
ec0b487
NEW Can filter on public/private notes in list sale orders thirdparties
eldy Mar 26, 2025
d975325
Look and feel v22 for description/notes into lines
eldy Mar 26, 2025
58039d4
FIX: we must retrieve linked order_supplier and no other object (#33602)
altairis-noe Mar 26, 2025
745b140
fix CI (#33624)
frederic34 Mar 26, 2025
b50020d
Update README.md (#33618)
dolibit-ut Mar 26, 2025
41f29a3
Update ai.lib.php (#33619)
dolibit-ut Mar 26, 2025
7de2428
Update custom_prompt.php (#33623)
dolibit-ut Mar 26, 2025
43fe728
Update setup.php (#33620)
dolibit-ut Mar 26, 2025
84cecce
Disable intervention creation from an order (#33625)
zahwyrix Mar 26, 2025
33c7378
Add phpunit test
eldy Mar 26, 2025
889e5e9
Clean code
eldy Mar 26, 2025
9cbe86f
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 26, 2025
0595e25
NEW_SUBMIT_FOR_ALL_MARK_RESPAWN (#32101)
atm-jonathan Mar 27, 2025
df9fea2
Complete #33605 by adding phpunit tests
eldy Mar 27, 2025
3a70dcd
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 27, 2025
8df6e64
FIX|Fix # SQL error when filtering by draft status in list (#33605)
atm-corentin Mar 27, 2025
a6d542b
Fix responsive of color picker
eldy Mar 27, 2025
576ea1f
Fix responsive
eldy Mar 27, 2025
40675ac
Upgrade to font awesome 5.15
eldy Mar 27, 2025
75d9571
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 27, 2025
007fad9
FIX picto for unknown mime type
eldy Mar 27, 2025
6f9d1a5
Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop
eldy Mar 27, 2025
6361c10
Debug v22
eldy Mar 27, 2025
1a015cd
Exclude more files
eldy Mar 27, 2025
a71c320
Exclude more files
eldy Mar 27, 2025
6a76f55
Clean font awesome picto
eldy Mar 27, 2025
3e9ba9f
QUAL: Must use img_picto instead of hard coded html
eldy Mar 27, 2025
0e6f6ca
Debug v22
eldy Mar 27, 2025
8e23f51
NEW Show IP of previous connexion and date of last password change in
eldy Mar 27, 2025
94ce834
Fix phpunit
eldy Mar 27, 2025
473e88a
FIX syntax error on list of intervention for external users
eldy Mar 27, 2025
5aaf644
Debug v22
eldy Mar 28, 2025
c18ab6d
Debug v22
eldy Mar 28, 2025
d1b8438
Debug v22
eldy Mar 28, 2025
0a1c338
Add log to help debug
eldy Mar 28, 2025
7b58b23
FIX Redirect in PHP is reliable, not in Javascript !
eldy Mar 28, 2025
74f85c8
FIX Report by custom groupe was empty
eldy Mar 28, 2025
a8a95cb
debian build package on bookworm (#33635)
rycks Mar 28, 2025
3080121
Code comment
eldy Mar 28, 2025
6abdb6e
Try a fix for #33611
eldy Mar 28, 2025
81f232c
fix CI (#33631)
frederic34 Mar 28, 2025
70e4d1c
build zip & tar package : add more files on exclude list (#33634)
rycks Mar 28, 2025
38e21a1
FIX: missing formObjectOptions hook on payment card (#33629)
jyhere Mar 28, 2025
bbfd7a3
QUAL: doActions should be able to redefine default actions (#33637)
altairis-noe Mar 28, 2025
c855778
FIX extrafields.class.php, working filter of sellist and chkbxlst on …
Vaadasch Mar 28, 2025
007a136
UIUX: Update documentation interface (#33604)
EchoLoGeek Mar 28, 2025
f2e981b
Merge branch 'develop' into NEW_ADD_HOME_BOX_MRP
eldy Mar 28, 2025
1b9ff5e
FIX Must make different redirect according to frame or not.
eldy Mar 28, 2025
21ce661
Add a condition for the redirect
eldy Mar 28, 2025
2945f0d
Allow different mode of redirect in website payment
eldy Mar 28, 2025
9e0d637
Prepare 3 mode for payments pages
eldy Mar 28, 2025
cadc4d4
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 28, 2025
4f00b49
Fix reliability of ip in logs
eldy Mar 28, 2025
dc1ad0e
Update fail2ban files
eldy Mar 28, 2025
6171cd8
Update fail2ban files
eldy Mar 28, 2025
e6ebf31
package: make dir if needed (#33644)
rycks Mar 28, 2025
0aa0588
New Implements findNearest for societe module (#33643)
Hystepik Mar 28, 2025
476b5d6
FIX: useless condition in bankjournal.php (#33639)
jyhere Mar 28, 2025
67dff53
Fix some problem on new category/tag (#33632)
aspangaro Mar 28, 2025
36bd2c7
Manage supplier prices permission (#33636)
altairis-tof Mar 28, 2025
2c20bc9
Add stock card missing hooks (#33649)
omogenot Mar 29, 2025
f48682d
Fix menu link
eldy Mar 29, 2025
5c6094a
Comment
eldy Mar 29, 2025
7c7e4ac
Fix CI (property dc not defined)
eldy Mar 29, 2025
f996316
NEW Add link to picto help page on module builder
eldy Mar 29, 2025
85ca234
When Update CommandeFournisseurLigne rang not updated (#33651)
vmaury Mar 29, 2025
fdfdece
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 29, 2025
5863984
Look and feel v22
eldy Mar 29, 2025
ea5bc7b
Clean code
eldy Mar 29, 2025
4ba3f0d
Clean and standardize code for Categories
eldy Mar 29, 2025
c689cff
FIX Position of dropdonw with checkbox column on left
eldy Mar 29, 2025
30801a6
Debug v22
eldy Mar 29, 2025
3ab8e13
Debug v22
eldy Mar 29, 2025
1bbdd30
Fix position of drowndown when checkbox column is on left
eldy Mar 29, 2025
a6266e0
Fix label
eldy Mar 29, 2025
55fab0f
NEW Add page list for categories.
eldy Mar 29, 2025
6398c2e
Look and feel v22
eldy Mar 29, 2025
71479cf
Add object and action to beforeBodyClose (#33652)
zahwyrix Mar 29, 2025
ffbcd11
NEW Accountancy - Centralized account are highlighted (#33648)
aspangaro Mar 29, 2025
c9ecc5d
Remove deprecated columns `price_ht` and `remise` from llx_contratdet…
atm-florianm Mar 29, 2025
05184e7
Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0
eldy Mar 29, 2025
bc86310
Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0
eldy Mar 29, 2025
533ca31
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0
eldy Mar 29, 2025
72bd56e
Prepare v21.0.1
eldy Mar 29, 2025
f7e0fdc
Fix phpunit
eldy Mar 29, 2025
dfca22e
Fix ci (#33660)
mdeweerd Mar 30, 2025
e35c59a
GIFF-Accountancy-2025 - Automatic numbering of accounting entries (#…
jyhere Mar 31, 2025
f21ac25
Fix : php warning (#33664)
thersane-john Mar 31, 2025
9741fcf
NEW Accountancy - Add filter on chart of accounts (#33656)
aspangaro Mar 31, 2025
3eab9d5
Fix center
eldy Mar 31, 2025
d74383a
Update clientfourn.php (#33663)
rogue-spectre Mar 31, 2025
bc5b4cf
Update clientfourn.php (#33663)
rogue-spectre Mar 31, 2025
238f684
Fix extension of debian.tar file
eldy Mar 31, 2025
3fe6132
Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 18.0
eldy Mar 31, 2025
c2d96f8
UIUX : Giff UX Doc add experiment Tooltip freeze (#33655)
thersane-john Mar 31, 2025
d0d4eed
Change ux doc link (#33657)
thersane-john Mar 31, 2025
fc34a12
UIUX : Giff UX Doc : add experiment ux ajax input feedback (#33661)
thersane-john Mar 31, 2025
ca1afd6
Clean code
eldy Mar 31, 2025
b146e32
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 31, 2025
7cadf5d
FIX|Fix # fatal trying update desc invoice situation (#33607)
atm-corentin Mar 31, 2025
5d8fdc1
Remove global variable
eldy Mar 31, 2025
e210a18
Doc
eldy Mar 31, 2025
0b445fa
Fix bad link
eldy Mar 31, 2025
90b5e96
FIX #27976
eldy Mar 31, 2025
0bd5371
FIX #27976
eldy Mar 31, 2025
eb3032f
fix missing translation (#33665)
frederic34 Mar 31, 2025
665814f
Doc
eldy Mar 31, 2025
d880c82
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 31, 2025
915eb89
Merge branch '18.0' of git@github.com:Dolibarr/dolibarr.git into 19.0
eldy Mar 31, 2025
aaeb312
Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0
eldy Mar 31, 2025
f543dac
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0
eldy Mar 31, 2025
5a28052
Fix ai dropdown and ai content generation (#33666)
Hystepik Mar 31, 2025
6c8ae0b
Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop
eldy Mar 31, 2025
e435f76
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Mar 31, 2025
1428503
Restore phan instruction
eldy Mar 31, 2025
9ab0fb0
Fix phan
eldy Mar 31, 2025
1535db7
Fix load status
eldy Mar 31, 2025
04b48b7
FIX Link to download check receipt.
eldy Mar 31, 2025
ce0bcdf
feat(contract-line): created new endpoint paginated with limit and pa…
atm-irvine Mar 31, 2025
80937f3
Fix transfert stock float (#33669)
thersane-john Mar 31, 2025
929c9e4
Qual: Suppress unneeded phan-force (#33671)
mdeweerd Mar 31, 2025
ccc25e5
[MC] Fix illegal table.column PostgreSQL UPDATE syntax (#33673)
Chostakovitch Mar 31, 2025
1325b24
Clean code to fix some phan warnings
eldy Apr 1, 2025
158e2f0
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Apr 1, 2025
8db856a
Fix error with vi_VN
eldy Apr 1, 2025
bb826b9
Add more phpunit to aclude lang file with a simple % character.
eldy Apr 1, 2025
b925cdd
Sync transifex
eldy Apr 1, 2025
202a71a
FIX: Sort Stock To Date on PMP (#33678)
FHenry Apr 1, 2025
8947216
API can now show linkedObjectsIds (#33675)
JonBendtsen Apr 1, 2025
0aea170
Qual: Add comment on return to avoid 'redundant' notice (#33676)
mdeweerd Apr 1, 2025
a6f2001
FIX #33424 Create cronjob security key not posible (#33677)
PsyCrow-code Apr 1, 2025
3d066c4
FIX #33424 Create cronjob security key not posible (#33677)
PsyCrow-code Apr 1, 2025
63bf68f
Fix : php warning (#33664)
thersane-john Mar 31, 2025
2bff983
Try to fix CI
eldy Apr 1, 2025
f824e03
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Apr 1, 2025
15fce79
remove duplicate code (#33681)
frederic34 Apr 1, 2025
dfd9e63
Fix supplier proposal list fatal error (#33679)
YannisHoareau Apr 1, 2025
733fbec
FIX: tcpdf: prevent error with 'data:' URLs (backport of https://gith…
marc-dll Apr 1, 2025
4c523cf
Update doc
eldy Apr 1, 2025
84674e7
Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 19.0
eldy Apr 1, 2025
2100f3b
Merge branch '19.0' of git@github.com:Dolibarr/dolibarr.git into 20.0
eldy Apr 1, 2025
f34949f
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 20.0
eldy Apr 1, 2025
5e990ff
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0
eldy Apr 1, 2025
bcf0ef0
Test switch in dol_eval function()
eldy Apr 1, 2025
95befad
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Apr 1, 2025
cc8c7b8
Fix possible remote code execution using dol_concatdesc in dol_eval. To
eldy Apr 1, 2025
65388c0
clean code (#33683)
frederic34 Apr 1, 2025
b3cbf93
Fix warning
eldy Apr 1, 2025
e00b0f1
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Apr 1, 2025
8efa60f
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into
eldy Apr 1, 2025
15f2f4f
Clean code
eldy Apr 1, 2025
3edadbd
Add option MAIN_DISALLOW_STRING_OBFUSCATION_IN_DOL_EVAL. Close #33612
eldy Apr 1, 2025
5d51d06
Share not allowed extension into the method getExecutableContent()
eldy Apr 1, 2025
493bfdc
Clean code
eldy Apr 1, 2025
4e9060b
Fix translation
eldy Apr 1, 2025
17dfec8
FIX Edit of payment mode from the bank transfer tab of salary
eldy Apr 1, 2025
16c76a6
FIX The payment mode for salary on credit transfer must be credit
eldy Apr 1, 2025
7d0581b
FIX Add a try catch to avoid fatal error on bad translation string
eldy Apr 1, 2025
62fba4f
Add missing try catch
eldy Apr 1, 2025
1053470
Merge branch '20.0' of git@github.com:Dolibarr/dolibarr.git into 21.0
eldy Apr 1, 2025
f5a61d9
Merge branch '21.0' of git@github.com:Dolibarr/dolibarr.git into develop
eldy Apr 1, 2025
0780695
Try CI fix
eldy Apr 1, 2025
f7d034a
NEW Option MAIN_SECURITY_MAXFILESIZE_DOWNLOADED become official
eldy Apr 1, 2025
a1c3131
Add Massactions Validate/Cancel/RegeneratePDF/MergePDF/EditStartDate/…
atm-GregM Apr 1, 2025
387e3b1
shipping can manage its contacts (#33680)
frederic34 Apr 1, 2025
a9568c4
Look and feel v22
eldy Apr 1, 2025
65fb217
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into d…
eldy Apr 1, 2025
27dc84f
NEW Can link member subscription/contribution with proposal, order an…
JonBendtsen Apr 1, 2025
73eb4e6
NEW : Rounding unit price - line discount before applying quantity - …
omogenot Apr 1, 2025
232986d
Merge branch 'develop' into NEW_ADD_HOME_BOX_MRP
eldy Apr 1, 2025
dd4fca9
Update mo_list.php
eldy Apr 1, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -185,7 +185,7 @@ A so high ratio is very rare on a so popular project and with the increasing pop

Translations
------------
The source language (en_US) is maintained in the repository. See the [Code](#code) section above.
The source language (en_US) is maintained in the repository.

All other translations are managed online at [Transifex](https://www.transifex.com/dolibarr-association/dolibarr/).

Expand Down
41 changes: 40 additions & 1 deletion ChangeLog
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,49 @@ The following changes may create regressions for some external modules, but were
* The deprecated variable $trigger_name (duplicate of variable $triggersendname) has been removed. You must use $triggersendname everywhere now.
* The behavior of constant STOCK_ALLOW_NEGATIVE_TRANSFER has been reversed. It has been renamed to STOCK_DISALLOW_NEGATIVE_TRANSFER.
* Method Categoie->getObjectsInCateg() is deprecated. Try by using instead getListForItem() or containing().
* Global variable $bctag and $conffiletoshowshort has been removed.
* Global variables $bctag, $conffiletoshowshort, $type2label has been removed.
* Deprecatedproperty ->fk_departement that was replaced by ->state_id has been completely removed.
* If you setup the API to update multicurrency rate from internet, you may need to re-enter your API key (so API key will be crypted in database).


***** ChangeLog for 21.0.1 compared to 21.0.0 *****

FIX: #33360
FIX: #33365 Global search for single shipment (#33401)
FIX: #33404 - to keep the method findNearest an agnostic method.
FIX: #33435 Warnings
FIX: Accountancy simplified - with multiple entities, amount of the entry is multiplied by the number of entities (#33370)
FIX: Add a new email for notification
FIX: Bad link to download tax vat document
FIX: Blank page on agenda event per user
FIX: blank page on smartphone for bank SEPA direct transfer page
FIX: close all services on contract will close all lines (#33466)
FIX: Count on supplier invoice list does not match count in DB (#33351)
FIX: CR on script output
FIX: CSS center end CSS in total
FIX: Duplicate load of extrafield ->fetch_optionals()
FIX: fatal error in notification sending email when error array is empty
FIX: Link to country setup on company setup page
FIX: Loading of deliveries in shipping card was loading everything
FIX: Missing ref_ext in group by in list of product
FIX: Must make different redirect in paymentok/ko according to frame or not.
FIX: PAIEMENT Wrong field displayed for DateChequeReceived (#33390)
FIX: picto for unknown mime type
FIX: Replace compromised tj-actions/changed-files (#33481)
FIX: Report by custom group was empty
FIX: Responsive
FIX: shipment dispatch origin line (#33415)
FIX: Show the default duration of a membership type.
FIX: Sort and search Ref Project column was missing (#33539)
FIX: syntax error on list of intervention for external users
FIX: text in tooltip on buttons when pb is not a permission problem
FIX: Translation of column in list of invoice
FIX: warnings (#33423)
FIX: Warning when getNomUrl is called before top_httphead
FIX: we must retrieve linked order_supplier and no other object (#33602)
SEC FIX: Reflected XSS reported by 柏天浩


***** ChangeLog for 21.0.0 compared to 20.0 *****

For users:
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Product Variants
- Bill of Materials (BOM)
- Manufacturing Orders (MO)
- Workstations / Workplaces

Customer/Sales Management

Expand Down Expand Up @@ -175,12 +176,13 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
- Data export/import
- Barcodes
- LDAP connectivity
- ClickToDial integration
- Click-To-Dial integration
- Mass emailing
- RSS integration
- Social platforms linking
- Payment platforms integration (PayPal, Stripe, Paybox...)
- Email-Collector
- AI support via API

(around 100 modules available by default, 1000+ addons at the official marketplace Dolistore.com)

Expand Down
14 changes: 12 additions & 2 deletions dev/build/makepack-dolibarr.pl
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
# Change this to defined target for option 98 and 99
$PROJECT="dolibarr";

$PUBLISHBETARC="$ENV{'DESTIASSLOGIN'}\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/dolibarr_documents/website/www.dolibarr.org/files";
$PUBLISHBETARC="$ENV{'DESTIASSOLOGIN'}\@vmprod1.dolibarr.org:/home/dolibarr/asso.dolibarr.org/dolibarr_documents/website/www.dolibarr.org/files";
$PUBLISHSTABLE="$ENV{'DESTISFLOGIN'}\@frs.sourceforge.net:/home/frs/project/dolibarr";

#@LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","EXEDOLIWAMP","SNAPSHOT"); # Possible packages
Expand Down Expand Up @@ -435,6 +435,10 @@
print $ret."\n";
# Copy to final dir
$NEWDESTI=$DESTI;
if ( !-d "$NEWDESTI/signatures" ) {
use File::Path qw( make_path );
make_path "$NEWDESTI/signatures" or die "Failed to create path: $NEWDESTI/signatures";
}
print "Copy \"$SOURCE/htdocs/install/filelist-$MAJOR.$MINOR.$BUILD.xml\" to $NEWDESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml\n";
use File::Copy qw(copy);
copy "$SOURCE/htdocs/install/filelist-$MAJOR.$MINOR.$BUILD.xml", "$NEWDESTI/signatures/filelist-$MAJOR.$MINOR.$BUILD.xml";
Expand Down Expand Up @@ -991,6 +995,11 @@

# Removed files we don't need (already removed)
#$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/ckeditor/_source`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/.codeclimate.yml`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/.pre-commit-config.yaml`;
$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/.vscode`;
$ret=`find $BUILDROOT/$PROJECT.tmp/ -type f -name '.editorconfig' -exec rm {} \\;`;
$ret=`find $BUILDROOT/$PROJECT.tmp/ -type f -name '.travis.yml' -exec rm {} \\;`;

# Rename upstream changelog to match debian rules
$ret=`mv $BUILDROOT/$PROJECT.tmp/ChangeLog $BUILDROOT/$PROJECT.tmp/changelog`;
Expand Down Expand Up @@ -1195,7 +1204,8 @@
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}_amd64.changes"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}.dsc"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}.debian.tar.xz"=>'package_debian-ubuntu',
#"$DESTI/package_debian-ubuntu/${FILENAMEDEB}.debian.tar.xz"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEB}.debian.tar.gz"=>'package_debian-ubuntu',
"$DESTI/package_debian-ubuntu/${FILENAMEDEBSHORT}.orig.tar.gz"=>'package_debian-ubuntu',
"$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'package_windows',
"$DESTI/standard/$FILENAMETGZ.tgz"=>'standard',
Expand Down
7 changes: 7 additions & 0 deletions dev/build/tgz/tar_exclude.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,13 @@
.git
.gitignore
.scrutinizer.yml
.travis.yml
.vscode
.idea
.editorconfig
.codeclimate.yml
.pre-commit-config.yaml
.mailmap
Thumbs.db
dev/build/exe
dev/build/html
Expand Down
6 changes: 6 additions & 0 deletions dev/build/zip/zip_exclude.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,9 @@ dolibarr*.deb
dolibarr*.zip
cvschangelogbuilder_dolibarr*
dolibarr_install.log
.travis.yml
.vscode
.idea
.editorconfig
.codeclimate.yml
.pre-commit-config.yaml
43 changes: 28 additions & 15 deletions dev/dolibarr_changes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,22 +146,35 @@ with
}

* Replace in tcpdf.php:
if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {
if ($imgsrc[0] === '@') {
// data stream
$imgsrc = '@'.base64_decode(substr($imgsrc, 1));
$type = '';
} else {
if (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {
with
// @CHANGE LDR Add support for src="file://..." links
if (strpos($imgsrc, 'file://') === 0) {
$imgsrc = str_replace('file://', '/', $imgsrc);
$imgsrc = urldecode($imgsrc);
$testscrtype = @parse_url($imgsrc);
if (empty($testscrtype['query'])) {
// convert URL to server path
$imgsrc = str_replace(K_PATH_URL, K_PATH_MAIN, $imgsrc);
} elseif (preg_match('|^https?://|', $imgsrc) !== 1) {
// convert URL to server path
$imgsrc = str_replace(K_PATH_MAIN, K_PATH_URL, $imgsrc);
}
}
elseif (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {
$reg = array(); // @CHANGE Avoid warning
if ($imgsrc[0] === '@') {
// data stream
$imgsrc = '@'.base64_decode(substr($imgsrc, 1));
$type = '';
} elseif (preg_match('@^data:image/([^;]*);base64,(.*)@', $imgsrc, $reg)) {
$imgsrc = '@'.base64_decode($reg[2]);
$type = $reg[1];
} else {
// @CHANGE LDR Add support for src="file://..." links
if (strpos($imgsrc, 'file://') === 0) {
$imgsrc = str_replace('file://', '/', $imgsrc);
$imgsrc = urldecode($imgsrc);
$testscrtype = @parse_url($imgsrc);
if (empty($testscrtype['query'])) {
// convert URL to server path
$imgsrc = str_replace(K_PATH_URL, K_PATH_MAIN, $imgsrc);
} elseif (preg_match('|^https?://|', $imgsrc) !== 1) {
// convert URL to server path
$imgsrc = str_replace(K_PATH_MAIN, K_PATH_URL, $imgsrc);
}
} elseif (($imgsrc[0] === '/') AND !empty($_SERVER['DOCUMENT_ROOT']) AND ($_SERVER['DOCUMENT_ROOT'] != '/')) {


* In tecnickcom/tcpdf/include/tcpdf_static.php, in function fopenLocal, replace:
Expand Down
7 changes: 3 additions & 4 deletions dev/setup/fail2ban/filter.d/web-accesslog-limit403.conf
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# Fail2Ban configuration file
#
# Regexp to detect forbidden access on pages (public or not) so we can add mitigation on IP making too much
# Regexp to detect forbidden access on pages (public or not) so we can add mitigation on IP making too much
# access to your a Dolibarr instance.


[Definition]

# To test, you can inject this example into log
# echo `myvirtualhost.com:443 1.2.3.4 - - [15/Dec/2022:09:57:47 +0000] "GET /public/abc" 403 123 "-" "Mozilla" >> /var/log/apache2/access.log
#
# then
# fail2ban-client status web-accesslog-limit403
# then
# fail2ban-client status web-accesslog-limit403
#
# To test rule file on a existing log file
# fail2ban-regex /var/log/apache2/access.log /etc/fail2ban/filter.d/web-accesslog-limit403.conf --print-all-matched
Expand Down
20 changes: 20 additions & 0 deletions dev/setup/fail2ban/filter.d/web-accesslog-limit404.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Fail2Ban configuration file
#
# Regexp to detect not found access on pages (public or not) so we can add mitigation on IP making too much
# access to a Dolibarr instance.

[Definition]

# To test, you can inject this example into log
# echo 'myvirtualhost.com:443 1.2.3.4 - - [15/Dec/2022:09:57:47 +0000] "GET /attemptedpage HTTP/1.1" 404 123 "-" "Mozilla"' >> /var/log/apache2/other_vhosts_access.log
# echo '1.2.3.4 - - [18/Jul/2024:00:17:15 +0000] "GET /attemptedpage HTTP/1.1" 404 4142 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:71.0) Gecko/20100101 Firefox/71.0"' >> /var/log/apache2/access_ssl.log
# WARNING: Set the date in log that is current date
#
# then
# fail2ban-client status web-accesslog-limit404
#
# To test rule file on a existing log file
# fail2ban-regex /var/log/apache2/other_vhosts_access.log /etc/fail2ban/filter.d/web-accesslog-limit404.conf

failregex = <HOST> - - .*HTTP/[0-9]+(.[0-9]+)?" 404
ignoreregex =
7 changes: 3 additions & 4 deletions dev/setup/fail2ban/filter.d/web-dolibarr-limitpublic.conf
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# Fail2Ban configuration file
#
# Regexp to detect access on public pages so we can add mitigation on IP making too much
# Regexp to detect access on public pages so we can add mitigation on IP making too much
# access to your a Dolibarr instance.


[Definition]

# To test, you can inject this example into log
# echo `date +'%Y-%m-%d %H:%M:%S'`" INFO 1.2.3.4 --- Access to GET /public/clicktodial/cidlookup.php" >> /mypath/documents/dolibarr.log
#
# then
# fail2ban-client status web-dolibarr-limitpublic
# then
# fail2ban-client status web-dolibarr-limitpublic
#
# To test rule file on a existing log file
# fail2ban-regex /mypath/documents/dolibarr.log /etc/fail2ban/filter.d/web-dolibarr-limitpublic.conf --print-all-matched
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
# Fail2Ban configuration file
#
# Regexp to detect access on passwordforgotten.php page so we can add mitigation on IP making too much
# Regexp to detect access on passwordforgotten.php page so we can add mitigation on IP making too much
# access to this Dolibarr page.


[Definition]

# To test, you can inject this example into log
# echo `date +'%Y-%m-%d %H:%M:%S'`" INFO 1.2.3.4 --- Access to GET /passwordforgotten.php - action=buildnewpassword, massaction=" >> /mypath/documents/dolibarr.log
#
# then
# fail2ban-client status web-dolibarr-rulespassforgotten
# then
# fail2ban-client status web-dolibarr-rulespassforgotten
#
# To test rule file on a existing log file
# fail2ban-regex /mypath/documents/dolibarr.log /etc/fail2ban/filter.d/web-dolibarr-rulespassforgotten.conf --print-all-matched
# fail2ban-regex /mypath/documents/dolibarr.log /etc/fail2ban/filter.d/web-dolibarr-passf.conf --print-all-matched

failregex = ^ [A-Z\s]+ <HOST>\s+--- Access to .*/passwordforgotten.php - action=buildnewpassword
ignoreregex =
9 changes: 4 additions & 5 deletions dev/setup/fail2ban/filter.d/web-dolibarr-rulesbruteforce.conf
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# Fail2Ban configuration file
#
# Regexp to detect try to check a couple login/password so we can add mitigation
# on IP making too much tries.

# Regexp to detect try to check a couple login/password so we can add mitigation
# on IP making too much tries.

[Definition]

# To test, you can inject this example into log
# echo `date +'%Y-%m-%d %H:%M:%S'`" INFO 1.2.3.4 functions_dolibarr::check_user_password_abcd Authentication KO" >> /mypath/documents/dolibarr.log
#
# then
# fail2ban-client status web-dolibarr-rulesbruteforce
# then
# fail2ban-client status web-dol-bruteforce
#
# To test rule file on a existing log file
# fail2ban-regex /mypath/documents/dolibarr.log /etc/fail2ban/filter.d/web-dolibarr-rulesbruteforce.conf --print-all-matched
Expand Down
12 changes: 12 additions & 0 deletions dev/setup/fail2ban/jail.d/web-accesslog-limit403.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[web-accesslog-limit403]

; rule against call of 403 forbidden access (for all servers)
; note: you must change the path of log file to the one of the web server for the virtual host of the Dolibarr
enabled = true
port = http,https
filter = web-accesslog-limit403
logpath = /var/log/apache2/*access*_log
action = %(action_mw)s
bantime = 600 ;
findtime = 30 ;
maxretry = 100 ; 100 error 403 in 30 second, we can ban
11 changes: 11 additions & 0 deletions dev/setup/fail2ban/jail.d/web-accesslog-limit404.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[web-accesslog-limit404]

; rule against call of 404 forbidden access (for all servers)
enabled = true
port = http,https
filter = web-accesslog-limit404
logpath = /var/log/apache2/*access*_log
action = %(action_mw)s
bantime = 600 ;
findtime = 30 ;
maxretry = 100 ; 100 error 404 in 30 second, we can ban
12 changes: 12 additions & 0 deletions dev/setup/fail2ban/jail.d/web-dolibarr-limitpublic.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[web-dol-limitpublic]

; rule to add rate limit on some public pages
; note: you must keep enough for public access like agenda export, emailing trackers, stripe ipn access, ...
enabled = true
port = http,https
filter = web-dolibarr-limitpublic
logpath = /mypath/documents/documents/dolibarr.log
action = %(action_mw)s
bantime = 86400 ; 1 day
findtime = 86400 ; 1 day
maxretry = 500 ; 500 access to a public page in the same day, we ban
11 changes: 11 additions & 0 deletions dev/setup/fail2ban/jail.d/web-dolibarr-passf.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[web-dol-passf]

; rule against call of password forgotten page
enabled = true
port = http,https
filter = web-dolibarr-passf
logpath = /mypath/documents/documents/dolibarr.log
action = %(action_mw)s
bantime = 4320000 ; 50 days
findtime = 86400 ; 1 day
maxretry = 10
11 changes: 11 additions & 0 deletions dev/setup/fail2ban/jail.d/web-dolibarr-rulesbruteforce.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[web-dol-bruteforce]

; rule against bruteforce hacking (login + api)
enabled = true
port = http,https
filter = web-dolibarr-rulesbruteforce
logpath = /mypath/documents/documents/dolibarr.log
action = %(action_mw)s
bantime = 86400 ; 1 day
findtime = 3600 ; 1 hour
maxretry = 20 ; 10 login error in 1 hour, we ban
Loading
Loading