diff --git a/acme/account.go b/acme/account.go
index 82c087fe..925ab293 100644
--- a/acme/account.go
+++ b/acme/account.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package acme
import (
diff --git a/acme/acme.go b/acme/acme.go
index 76900192..a0eafddc 100644
--- a/acme/acme.go
+++ b/acme/acme.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package acme provides automatic access to certificates from Let's Encrypt and any other ACME-based CA
// The code here is largely coiped from https://github.com/go-acme/lego/tree/master/cmd
// This package is intended to provide basic functionality for obtaining and renewing certificates
diff --git a/cmd/acme.go b/cmd/acme.go
index de071390..104b7c27 100644
--- a/cmd/acme.go
+++ b/cmd/acme.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/awscontainer.go b/cmd/awscontainer.go
index d12e9158..c6f34231 100644
--- a/cmd/awscontainer.go
+++ b/cmd/awscontainer.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build awscontainer
// +build awscontainer
diff --git a/cmd/awscontainer_disabled.go b/cmd/awscontainer_disabled.go
index b40fce6b..ebbd6ec0 100644
--- a/cmd/awscontainer_disabled.go
+++ b/cmd/awscontainer_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !awscontainer
// +build !awscontainer
diff --git a/cmd/gen.go b/cmd/gen.go
index 083e39c6..a18256af 100644
--- a/cmd/gen.go
+++ b/cmd/gen.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import "github.com/spf13/cobra"
diff --git a/cmd/gencompletion.go b/cmd/gencompletion.go
index 5205e2ad..5e252af9 100644
--- a/cmd/gencompletion.go
+++ b/cmd/gencompletion.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/genman.go b/cmd/genman.go
index e9d94593..b171c3ff 100644
--- a/cmd/genman.go
+++ b/cmd/genman.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/initprovider.go b/cmd/initprovider.go
index 27876d1f..2984f631 100644
--- a/cmd/initprovider.go
+++ b/cmd/initprovider.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/install_windows.go b/cmd/install_windows.go
index 16268f35..949bf93e 100644
--- a/cmd/install_windows.go
+++ b/cmd/install_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/portable.go b/cmd/portable.go
index 0ed652bd..91e9fe4e 100644
--- a/cmd/portable.go
+++ b/cmd/portable.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !noportable
// +build !noportable
diff --git a/cmd/portable_disabled.go b/cmd/portable_disabled.go
index f9d9aa55..90263b6b 100644
--- a/cmd/portable_disabled.go
+++ b/cmd/portable_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build noportable
// +build noportable
diff --git a/cmd/reload_windows.go b/cmd/reload_windows.go
index 0b98ac4e..d2d9c9ba 100644
--- a/cmd/reload_windows.go
+++ b/cmd/reload_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/resetprovider.go b/cmd/resetprovider.go
index 437db6e7..eb48e6c6 100644
--- a/cmd/resetprovider.go
+++ b/cmd/resetprovider.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/revertprovider.go b/cmd/revertprovider.go
index e43c0782..9c6f08c7 100644
--- a/cmd/revertprovider.go
+++ b/cmd/revertprovider.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/root.go b/cmd/root.go
index 8ee33c75..1529cbb6 100644
--- a/cmd/root.go
+++ b/cmd/root.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package cmd provides Command Line Interface support
package cmd
diff --git a/cmd/rotatelogs_windows.go b/cmd/rotatelogs_windows.go
index 8dcabdea..a3edc214 100644
--- a/cmd/rotatelogs_windows.go
+++ b/cmd/rotatelogs_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/serve.go b/cmd/serve.go
index ce5a862f..41c9b18d 100644
--- a/cmd/serve.go
+++ b/cmd/serve.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/service_windows.go b/cmd/service_windows.go
index 706d9fb1..221e92a3 100644
--- a/cmd/service_windows.go
+++ b/cmd/service_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/smtptest.go b/cmd/smtptest.go
index cf7cd4a8..77e3230b 100644
--- a/cmd/smtptest.go
+++ b/cmd/smtptest.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/start_windows.go b/cmd/start_windows.go
index 2e10c340..07caea1c 100644
--- a/cmd/start_windows.go
+++ b/cmd/start_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/startsubsys.go b/cmd/startsubsys.go
index 6d509762..79588cb4 100644
--- a/cmd/startsubsys.go
+++ b/cmd/startsubsys.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/status_windows.go b/cmd/status_windows.go
index d431e2b6..00ca3a86 100644
--- a/cmd/status_windows.go
+++ b/cmd/status_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/stop_windows.go b/cmd/stop_windows.go
index 656aa076..fcab2db5 100644
--- a/cmd/stop_windows.go
+++ b/cmd/stop_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/cmd/uninstall_windows.go b/cmd/uninstall_windows.go
index 6f467d70..f57899b6 100644
--- a/cmd/uninstall_windows.go
+++ b/cmd/uninstall_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package cmd
import (
diff --git a/command/command.go b/command/command.go
index 42db839d..73927b9c 100644
--- a/command/command.go
+++ b/command/command.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package command
import (
diff --git a/command/command_test.go b/command/command_test.go
index 47e89ec7..7f0a5838 100644
--- a/command/command_test.go
+++ b/command/command_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package command
import (
diff --git a/common/actions.go b/common/actions.go
index 29a9766e..3156b254 100644
--- a/common/actions.go
+++ b/common/actions.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/actions_test.go b/common/actions_test.go
index 11f90835..efbab66b 100644
--- a/common/actions_test.go
+++ b/common/actions_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/clientsmap.go b/common/clientsmap.go
index e768fec6..f2375060 100644
--- a/common/clientsmap.go
+++ b/common/clientsmap.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/clientsmap_test.go b/common/clientsmap_test.go
index fa851984..854c81fa 100644
--- a/common/clientsmap_test.go
+++ b/common/clientsmap_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/common.go b/common/common.go
index d961b77e..b53b61f1 100644
--- a/common/common.go
+++ b/common/common.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package common defines code shared among file transfer packages and protocols
package common
diff --git a/common/common_test.go b/common/common_test.go
index efc3f8f9..05615eb1 100644
--- a/common/common_test.go
+++ b/common/common_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/connection.go b/common/connection.go
index 562ed06e..be7c624b 100644
--- a/common/connection.go
+++ b/common/connection.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/connection_test.go b/common/connection_test.go
index 74fa3659..35ad91eb 100644
--- a/common/connection_test.go
+++ b/common/connection_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/dataretention.go b/common/dataretention.go
index 8fc36001..3eee56fb 100644
--- a/common/dataretention.go
+++ b/common/dataretention.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/dataretention_test.go b/common/dataretention_test.go
index 433c2641..73a02f96 100644
--- a/common/dataretention_test.go
+++ b/common/dataretention_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/defender.go b/common/defender.go
index 3b02df55..04755d46 100644
--- a/common/defender.go
+++ b/common/defender.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/defender_test.go b/common/defender_test.go
index e8dba744..5c31c0ea 100644
--- a/common/defender_test.go
+++ b/common/defender_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/defenderdb.go b/common/defenderdb.go
index 838d7e87..c9bcdecf 100644
--- a/common/defenderdb.go
+++ b/common/defenderdb.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/defenderdb_test.go b/common/defenderdb_test.go
index f7bf9e64..93e4b109 100644
--- a/common/defenderdb_test.go
+++ b/common/defenderdb_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/defendermem.go b/common/defendermem.go
index d639f713..50569eb0 100644
--- a/common/defendermem.go
+++ b/common/defendermem.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/httpauth.go b/common/httpauth.go
index f03fc5f8..c3acb251 100644
--- a/common/httpauth.go
+++ b/common/httpauth.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/httpauth_test.go b/common/httpauth_test.go
index 63c4995a..c9bff886 100644
--- a/common/httpauth_test.go
+++ b/common/httpauth_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/protocol_test.go b/common/protocol_test.go
index 4873f7ea..6c46360f 100644
--- a/common/protocol_test.go
+++ b/common/protocol_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common_test
import (
diff --git a/common/ratelimiter.go b/common/ratelimiter.go
index bdaac675..db7e06e5 100644
--- a/common/ratelimiter.go
+++ b/common/ratelimiter.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/ratelimiter_test.go b/common/ratelimiter_test.go
index 82b029eb..d13bdd37 100644
--- a/common/ratelimiter_test.go
+++ b/common/ratelimiter_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/tlsutils.go b/common/tlsutils.go
index f12147b4..b5bc320b 100644
--- a/common/tlsutils.go
+++ b/common/tlsutils.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/tlsutils_test.go b/common/tlsutils_test.go
index 66c412c8..99dc08c6 100644
--- a/common/tlsutils_test.go
+++ b/common/tlsutils_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/transfer.go b/common/transfer.go
index f47879f0..dd1e1dc7 100644
--- a/common/transfer.go
+++ b/common/transfer.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/transfer_test.go b/common/transfer_test.go
index 5964b205..660379fc 100644
--- a/common/transfer_test.go
+++ b/common/transfer_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/transferschecker.go b/common/transferschecker.go
index 2e47eb61..e797272f 100644
--- a/common/transferschecker.go
+++ b/common/transferschecker.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/common/transferschecker_test.go b/common/transferschecker_test.go
index 0a9aae79..2b66c745 100644
--- a/common/transferschecker_test.go
+++ b/common/transferschecker_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package common
import (
diff --git a/config/config.go b/config/config.go
index c972b0ca..895a7279 100644
--- a/config/config.go
+++ b/config/config.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package config manages the configuration
package config
diff --git a/config/config_linux.go b/config/config_linux.go
index 7b84f4c9..23ee2512 100644
--- a/config/config_linux.go
+++ b/config/config_linux.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build linux
// +build linux
diff --git a/config/config_nolinux.go b/config/config_nolinux.go
index 448b2114..0c8fa7cd 100644
--- a/config/config_nolinux.go
+++ b/config/config_nolinux.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !linux
// +build !linux
diff --git a/config/config_test.go b/config/config_test.go
index bd682ad3..2c5ae5ae 100644
--- a/config/config_test.go
+++ b/config/config_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package config_test
import (
diff --git a/dataprovider/actions.go b/dataprovider/actions.go
index 3ca36099..6f2b09a5 100644
--- a/dataprovider/actions.go
+++ b/dataprovider/actions.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/admin.go b/dataprovider/admin.go
index aab891f3..b65871ee 100644
--- a/dataprovider/admin.go
+++ b/dataprovider/admin.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/apikey.go b/dataprovider/apikey.go
index 468dd479..a2d50a03 100644
--- a/dataprovider/apikey.go
+++ b/dataprovider/apikey.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/bolt.go b/dataprovider/bolt.go
index 9cc48e12..5afb16cc 100644
--- a/dataprovider/bolt.go
+++ b/dataprovider/bolt.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !nobolt
// +build !nobolt
diff --git a/dataprovider/bolt_disabled.go b/dataprovider/bolt_disabled.go
index 43cef589..cfbc80d0 100644
--- a/dataprovider/bolt_disabled.go
+++ b/dataprovider/bolt_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build nobolt
// +build nobolt
diff --git a/dataprovider/cachedpassword.go b/dataprovider/cachedpassword.go
index 049a3575..e05b534b 100644
--- a/dataprovider/cachedpassword.go
+++ b/dataprovider/cachedpassword.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/cacheduser.go b/dataprovider/cacheduser.go
index eb084e86..d532cb11 100644
--- a/dataprovider/cacheduser.go
+++ b/dataprovider/cacheduser.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/dataprovider.go b/dataprovider/dataprovider.go
index 43e275ef..bdbf3a2b 100644
--- a/dataprovider/dataprovider.go
+++ b/dataprovider/dataprovider.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package dataprovider provides data access.
// It abstracts different data providers and exposes a common API.
package dataprovider
diff --git a/dataprovider/group.go b/dataprovider/group.go
index 20223fb8..ee593a01 100644
--- a/dataprovider/group.go
+++ b/dataprovider/group.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/memory.go b/dataprovider/memory.go
index 3410e296..e73d88ca 100644
--- a/dataprovider/memory.go
+++ b/dataprovider/memory.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/mysql.go b/dataprovider/mysql.go
index 5521ddb1..7a75d89a 100644
--- a/dataprovider/mysql.go
+++ b/dataprovider/mysql.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !nomysql
// +build !nomysql
diff --git a/dataprovider/mysql_disabled.go b/dataprovider/mysql_disabled.go
index 1de5ef95..ff4c34c8 100644
--- a/dataprovider/mysql_disabled.go
+++ b/dataprovider/mysql_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build nomysql
// +build nomysql
diff --git a/dataprovider/pgsql.go b/dataprovider/pgsql.go
index c05ec4d0..44e2e7c8 100644
--- a/dataprovider/pgsql.go
+++ b/dataprovider/pgsql.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !nopgsql
// +build !nopgsql
diff --git a/dataprovider/pgsql_disabled.go b/dataprovider/pgsql_disabled.go
index ba5b26d6..573f19bb 100644
--- a/dataprovider/pgsql_disabled.go
+++ b/dataprovider/pgsql_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build nopgsql
// +build nopgsql
diff --git a/dataprovider/quotaupdater.go b/dataprovider/quotaupdater.go
index 9190e63d..954210bc 100644
--- a/dataprovider/quotaupdater.go
+++ b/dataprovider/quotaupdater.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/scheduler.go b/dataprovider/scheduler.go
index d87b2791..226b880f 100644
--- a/dataprovider/scheduler.go
+++ b/dataprovider/scheduler.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/session.go b/dataprovider/session.go
index 05da0984..22d78edd 100644
--- a/dataprovider/session.go
+++ b/dataprovider/session.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/share.go b/dataprovider/share.go
index 8589cb42..e0699458 100644
--- a/dataprovider/share.go
+++ b/dataprovider/share.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/sqlcommon.go b/dataprovider/sqlcommon.go
index 746a980b..59c63268 100644
--- a/dataprovider/sqlcommon.go
+++ b/dataprovider/sqlcommon.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/sqlite.go b/dataprovider/sqlite.go
index eb0bbe8e..188dd60d 100644
--- a/dataprovider/sqlite.go
+++ b/dataprovider/sqlite.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !nosqlite
// +build !nosqlite
diff --git a/dataprovider/sqlite_disabled.go b/dataprovider/sqlite_disabled.go
index 559a74bd..9e78a09f 100644
--- a/dataprovider/sqlite_disabled.go
+++ b/dataprovider/sqlite_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build nosqlite
// +build nosqlite
diff --git a/dataprovider/sqlqueries.go b/dataprovider/sqlqueries.go
index e4e7cf48..be379c54 100644
--- a/dataprovider/sqlqueries.go
+++ b/dataprovider/sqlqueries.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/dataprovider/user.go b/dataprovider/user.go
index a2082ab9..d95eb41a 100644
--- a/dataprovider/user.go
+++ b/dataprovider/user.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package dataprovider
import (
diff --git a/ftpd/cryptfs_test.go b/ftpd/cryptfs_test.go
index 105d6d3b..14591a6d 100644
--- a/ftpd/cryptfs_test.go
+++ b/ftpd/cryptfs_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd_test
import (
diff --git a/ftpd/ftpd.go b/ftpd/ftpd.go
index e133f0ed..77f5aadb 100644
--- a/ftpd/ftpd.go
+++ b/ftpd/ftpd.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package ftpd implements the FTP protocol
package ftpd
diff --git a/ftpd/ftpd_test.go b/ftpd/ftpd_test.go
index 6565c646..652239e5 100644
--- a/ftpd/ftpd_test.go
+++ b/ftpd/ftpd_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd_test
import (
diff --git a/ftpd/handler.go b/ftpd/handler.go
index eddc7eca..46402f8b 100644
--- a/ftpd/handler.go
+++ b/ftpd/handler.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd
import (
diff --git a/ftpd/internal_test.go b/ftpd/internal_test.go
index 3a06d25e..0c18b7f5 100644
--- a/ftpd/internal_test.go
+++ b/ftpd/internal_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd
import (
diff --git a/ftpd/server.go b/ftpd/server.go
index 5e9716ae..9c2f839b 100644
--- a/ftpd/server.go
+++ b/ftpd/server.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd
import (
diff --git a/ftpd/transfer.go b/ftpd/transfer.go
index 5cd2e1d2..ab2737f3 100644
--- a/ftpd/transfer.go
+++ b/ftpd/transfer.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package ftpd
import (
diff --git a/httpclient/httpclient.go b/httpclient/httpclient.go
index f4c60173..8618693e 100644
--- a/httpclient/httpclient.go
+++ b/httpclient/httpclient.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpclient
import (
diff --git a/httpd/api_admin.go b/httpd/api_admin.go
index 1df4beaf..d4768212 100644
--- a/httpd/api_admin.go
+++ b/httpd/api_admin.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_defender.go b/httpd/api_defender.go
index 32c0bf02..360e6425 100644
--- a/httpd/api_defender.go
+++ b/httpd/api_defender.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_events.go b/httpd/api_events.go
index 0320b041..851393ea 100644
--- a/httpd/api_events.go
+++ b/httpd/api_events.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_folder.go b/httpd/api_folder.go
index 7c999518..6a237712 100644
--- a/httpd/api_folder.go
+++ b/httpd/api_folder.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_group.go b/httpd/api_group.go
index d483b572..f22033a7 100644
--- a/httpd/api_group.go
+++ b/httpd/api_group.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_http_user.go b/httpd/api_http_user.go
index 4fe3c23e..846ee82c 100644
--- a/httpd/api_http_user.go
+++ b/httpd/api_http_user.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_keys.go b/httpd/api_keys.go
index cead8ac5..9c6a9f5f 100644
--- a/httpd/api_keys.go
+++ b/httpd/api_keys.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_maintenance.go b/httpd/api_maintenance.go
index 800176bd..049f82d9 100644
--- a/httpd/api_maintenance.go
+++ b/httpd/api_maintenance.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_metadata.go b/httpd/api_metadata.go
index 92fa6173..5ddbc979 100644
--- a/httpd/api_metadata.go
+++ b/httpd/api_metadata.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_mfa.go b/httpd/api_mfa.go
index ac749991..4ac1fb60 100644
--- a/httpd/api_mfa.go
+++ b/httpd/api_mfa.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_quota.go b/httpd/api_quota.go
index d1edece3..71f20948 100644
--- a/httpd/api_quota.go
+++ b/httpd/api_quota.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_retention.go b/httpd/api_retention.go
index 729b2361..78f1ca32 100644
--- a/httpd/api_retention.go
+++ b/httpd/api_retention.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_shares.go b/httpd/api_shares.go
index 3b8ff27b..810f4aa5 100644
--- a/httpd/api_shares.go
+++ b/httpd/api_shares.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_user.go b/httpd/api_user.go
index 16cac82e..38f4667e 100644
--- a/httpd/api_user.go
+++ b/httpd/api_user.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/api_utils.go b/httpd/api_utils.go
index dd0c9a87..22161314 100644
--- a/httpd/api_utils.go
+++ b/httpd/api_utils.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/auth_utils.go b/httpd/auth_utils.go
index 1636efc4..e1fcfce6 100644
--- a/httpd/auth_utils.go
+++ b/httpd/auth_utils.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/file.go b/httpd/file.go
index 8178016b..1aeb8d69 100644
--- a/httpd/file.go
+++ b/httpd/file.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/flash.go b/httpd/flash.go
index d17e6705..0ce79b02 100644
--- a/httpd/flash.go
+++ b/httpd/flash.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/flash_test.go b/httpd/flash_test.go
index 81297564..375dee93 100644
--- a/httpd/flash_test.go
+++ b/httpd/flash_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/handler.go b/httpd/handler.go
index 26c35e83..385ebd31 100644
--- a/httpd/handler.go
+++ b/httpd/handler.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/httpd.go b/httpd/httpd.go
index 0b7e8125..e6011222 100644
--- a/httpd/httpd.go
+++ b/httpd/httpd.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package httpd implements REST API and Web interface for SFTPGo.
// The OpenAPI 3 schema for the exposed API can be found inside the source tree:
// https://github.com/drakkan/sftpgo/blob/main/openapi/openapi.yaml
diff --git a/httpd/httpd_test.go b/httpd/httpd_test.go
index 51c9a7ca..b2a46bc4 100644
--- a/httpd/httpd_test.go
+++ b/httpd/httpd_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd_test
import (
diff --git a/httpd/internal_test.go b/httpd/internal_test.go
index 2fb63fd6..29a7bc4d 100644
--- a/httpd/internal_test.go
+++ b/httpd/internal_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/middleware.go b/httpd/middleware.go
index f74b92aa..d920ee7b 100644
--- a/httpd/middleware.go
+++ b/httpd/middleware.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/oidc.go b/httpd/oidc.go
index 6bf506b7..b40576d9 100644
--- a/httpd/oidc.go
+++ b/httpd/oidc.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/oidc_test.go b/httpd/oidc_test.go
index b1787fd0..337e750b 100644
--- a/httpd/oidc_test.go
+++ b/httpd/oidc_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/oidcmanager.go b/httpd/oidcmanager.go
index 7148d6f3..0b71dd33 100644
--- a/httpd/oidcmanager.go
+++ b/httpd/oidcmanager.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/resetcode.go b/httpd/resetcode.go
index d91edaa1..271c1731 100644
--- a/httpd/resetcode.go
+++ b/httpd/resetcode.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/server.go b/httpd/server.go
index aae8c4db..43258297 100644
--- a/httpd/server.go
+++ b/httpd/server.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/web.go b/httpd/web.go
index 67785ddf..9dd9a53c 100644
--- a/httpd/web.go
+++ b/httpd/web.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/webadmin.go b/httpd/webadmin.go
index 57b04570..8a369e67 100644
--- a/httpd/webadmin.go
+++ b/httpd/webadmin.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpd/webclient.go b/httpd/webclient.go
index ec1f97f2..c602108b 100644
--- a/httpd/webclient.go
+++ b/httpd/webclient.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package httpd
import (
diff --git a/httpdtest/httpdtest.go b/httpdtest/httpdtest.go
index 7c63acaa..410d6f2e 100644
--- a/httpdtest/httpdtest.go
+++ b/httpdtest/httpdtest.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package httpdtest provides utilities for testing the exposed REST API.
package httpdtest
diff --git a/kms/basesecret.go b/kms/basesecret.go
index 5608f7ec..f57f63c4 100644
--- a/kms/basesecret.go
+++ b/kms/basesecret.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package kms
import (
diff --git a/kms/builtin.go b/kms/builtin.go
index 4a2eaafd..2cdd2f6b 100644
--- a/kms/builtin.go
+++ b/kms/builtin.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package kms
import (
diff --git a/kms/kms.go b/kms/kms.go
index 9cfd123f..2a9b85c6 100644
--- a/kms/kms.go
+++ b/kms/kms.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package kms provides Key Management Services support
package kms
diff --git a/kms/local.go b/kms/local.go
index 85cf2f09..b714776e 100644
--- a/kms/local.go
+++ b/kms/local.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package kms
import (
diff --git a/logger/hclog.go b/logger/hclog.go
index ef615edb..e52a8c43 100644
--- a/logger/hclog.go
+++ b/logger/hclog.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package logger
import (
diff --git a/logger/journald.go b/logger/journald.go
index e7319b3e..32a04085 100644
--- a/logger/journald.go
+++ b/logger/journald.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build linux
// +build linux
diff --git a/logger/journald_nolinux.go b/logger/journald_nolinux.go
index d421798c..d8a68d84 100644
--- a/logger/journald_nolinux.go
+++ b/logger/journald_nolinux.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !linux
// +build !linux
diff --git a/logger/lego.go b/logger/lego.go
index ac1230ec..748ecb0d 100644
--- a/logger/lego.go
+++ b/logger/lego.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package logger
import "fmt"
diff --git a/logger/logger.go b/logger/logger.go
index 7f19e0c0..6344e03a 100644
--- a/logger/logger.go
+++ b/logger/logger.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package logger provides logging capabilities.
// It is a wrapper around zerolog for logging and lumberjack for log rotation.
// Logs are written to the specified log file.
diff --git a/logger/request_logger.go b/logger/request_logger.go
index c78788f1..0cf50399 100644
--- a/logger/request_logger.go
+++ b/logger/request_logger.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package logger
import (
diff --git a/logger/sync_wrapper.go b/logger/sync_wrapper.go
index c3737604..0151afb0 100644
--- a/logger/sync_wrapper.go
+++ b/logger/sync_wrapper.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package logger
import (
diff --git a/main.go b/main.go
index 4bdac6e5..db686e2b 100644
--- a/main.go
+++ b/main.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Fully featured and highly configurable SFTP server with optional
// FTP/S and WebDAV support.
// For more details about features, installation, configuration and usage
diff --git a/metric/metric.go b/metric/metric.go
index 3742cdc8..5842ec2c 100644
--- a/metric/metric.go
+++ b/metric/metric.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !nometrics
// +build !nometrics
diff --git a/metric/metric_disabled.go b/metric/metric_disabled.go
index 678e67b3..8d169dc1 100644
--- a/metric/metric_disabled.go
+++ b/metric/metric_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build nometrics
// +build nometrics
diff --git a/mfa/mfa.go b/mfa/mfa.go
index 0bd89506..4e82d9e4 100644
--- a/mfa/mfa.go
+++ b/mfa/mfa.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package mfa provides supports for Multi-Factor authentication modules
package mfa
diff --git a/mfa/mfa_test.go b/mfa/mfa_test.go
index 66b66cd1..78507269 100644
--- a/mfa/mfa_test.go
+++ b/mfa/mfa_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package mfa
import (
diff --git a/mfa/totp.go b/mfa/totp.go
index ff33a47a..62b93254 100644
--- a/mfa/totp.go
+++ b/mfa/totp.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package mfa
import (
diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml
index ed46d888..85afde98 100644
--- a/openapi/openapi.yaml
+++ b/openapi/openapi.yaml
@@ -31,7 +31,7 @@ info:
name: API support
url: 'https://github.com/drakkan/sftpgo'
license:
- name: AGPLv3
+ name: AGPL-3.0-only
url: 'https://www.gnu.org/licenses/agpl-3.0.en.html'
servers:
- url: /api/v2
diff --git a/plugin/auth.go b/plugin/auth.go
index 53935bd3..f0e676c9 100644
--- a/plugin/auth.go
+++ b/plugin/auth.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/ipfilter.go b/plugin/ipfilter.go
index 8524059c..1def39c3 100644
--- a/plugin/ipfilter.go
+++ b/plugin/ipfilter.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/kms.go b/plugin/kms.go
index 5fe96a6b..cb3073c5 100644
--- a/plugin/kms.go
+++ b/plugin/kms.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/metadata.go b/plugin/metadata.go
index 65c27f2d..74f164ed 100644
--- a/plugin/metadata.go
+++ b/plugin/metadata.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/notifier.go b/plugin/notifier.go
index cd23d2fa..e8760901 100644
--- a/plugin/notifier.go
+++ b/plugin/notifier.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/plugin.go b/plugin/plugin.go
index 8d7096f4..94c288f5 100644
--- a/plugin/plugin.go
+++ b/plugin/plugin.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package plugin provides support for the SFTPGo plugin system
package plugin
diff --git a/plugin/searcher.go b/plugin/searcher.go
index fa820ec2..e4e1d26e 100644
--- a/plugin/searcher.go
+++ b/plugin/searcher.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/plugin/util.go b/plugin/util.go
index ba96270a..e3b692e1 100644
--- a/plugin/util.go
+++ b/plugin/util.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package plugin
import (
diff --git a/service/awscontainer.go b/service/awscontainer.go
index 240404cd..3047a472 100644
--- a/service/awscontainer.go
+++ b/service/awscontainer.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build awscontainer
// +build awscontainer
diff --git a/service/awscontainer_disabled.go b/service/awscontainer_disabled.go
index 0bd48d34..d57d362a 100644
--- a/service/awscontainer_disabled.go
+++ b/service/awscontainer_disabled.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !awscontainer
// +build !awscontainer
diff --git a/service/service.go b/service/service.go
index e558f963..f8816aa7 100644
--- a/service/service.go
+++ b/service/service.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package service allows to start and stop the SFTPGo service
package service
diff --git a/service/service_portable.go b/service/service_portable.go
index 80120aa6..bceac596 100644
--- a/service/service_portable.go
+++ b/service/service_portable.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !noportable
// +build !noportable
diff --git a/service/service_windows.go b/service/service_windows.go
index 0d00be73..3f706954 100644
--- a/service/service_windows.go
+++ b/service/service_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package service
import (
diff --git a/service/signals_unix.go b/service/signals_unix.go
index 22a24480..756f3308 100644
--- a/service/signals_unix.go
+++ b/service/signals_unix.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !windows
// +build !windows
diff --git a/service/signals_windows.go b/service/signals_windows.go
index 23b7cbdf..caabf1eb 100644
--- a/service/signals_windows.go
+++ b/service/signals_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package service
import (
diff --git a/sftpd/cmd_unix.go b/sftpd/cmd_unix.go
index 5a02e05c..475eaa2a 100644
--- a/sftpd/cmd_unix.go
+++ b/sftpd/cmd_unix.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !windows
// +build !windows
diff --git a/sftpd/cmd_windows.go b/sftpd/cmd_windows.go
index c9250db2..9385d589 100644
--- a/sftpd/cmd_windows.go
+++ b/sftpd/cmd_windows.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/cryptfs_test.go b/sftpd/cryptfs_test.go
index 8c14d1c1..e0238fc0 100644
--- a/sftpd/cryptfs_test.go
+++ b/sftpd/cryptfs_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd_test
import (
diff --git a/sftpd/handler.go b/sftpd/handler.go
index 65b90b8e..bb7eb519 100644
--- a/sftpd/handler.go
+++ b/sftpd/handler.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/internal_test.go b/sftpd/internal_test.go
index bb203a5c..494eab4a 100644
--- a/sftpd/internal_test.go
+++ b/sftpd/internal_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/internal_unix_test.go b/sftpd/internal_unix_test.go
index 2fbcb20e..4ef26419 100644
--- a/sftpd/internal_unix_test.go
+++ b/sftpd/internal_unix_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
//go:build !windows
// +build !windows
diff --git a/sftpd/lister.go b/sftpd/lister.go
index 5ec491d6..7690bd61 100644
--- a/sftpd/lister.go
+++ b/sftpd/lister.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/middleware.go b/sftpd/middleware.go
index 20cab5d1..6b54e0b6 100644
--- a/sftpd/middleware.go
+++ b/sftpd/middleware.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/middleware_test.go b/sftpd/middleware_test.go
index e285beba..e8980568 100644
--- a/sftpd/middleware_test.go
+++ b/sftpd/middleware_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/scp.go b/sftpd/scp.go
index d1a2acce..d70816e4 100644
--- a/sftpd/scp.go
+++ b/sftpd/scp.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/server.go b/sftpd/server.go
index c196ceeb..4427e037 100644
--- a/sftpd/server.go
+++ b/sftpd/server.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/sftpd.go b/sftpd/sftpd.go
index a1a43450..157a4b44 100644
--- a/sftpd/sftpd.go
+++ b/sftpd/sftpd.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package sftpd implements the SSH File Transfer Protocol as described in https://tools.ietf.org/html/draft-ietf-secsh-filexfer-02.
// It uses pkg/sftp library:
// https://github.com/pkg/sftp
diff --git a/sftpd/sftpd_test.go b/sftpd/sftpd_test.go
index 73c31b87..c2020d4b 100644
--- a/sftpd/sftpd_test.go
+++ b/sftpd/sftpd_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd_test
import (
diff --git a/sftpd/ssh_cmd.go b/sftpd/ssh_cmd.go
index 0ebe6fab..f2a013c5 100644
--- a/sftpd/ssh_cmd.go
+++ b/sftpd/ssh_cmd.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/subsystem.go b/sftpd/subsystem.go
index 879bb14a..a36e7c99 100644
--- a/sftpd/subsystem.go
+++ b/sftpd/subsystem.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/sftpd/transfer.go b/sftpd/transfer.go
index 52b0a017..0e3fd039 100644
--- a/sftpd/transfer.go
+++ b/sftpd/transfer.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package sftpd
import (
diff --git a/smtp/smtp.go b/smtp/smtp.go
index c7b6dc86..62229eec 100644
--- a/smtp/smtp.go
+++ b/smtp/smtp.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package smtp provides supports for sending emails
package smtp
diff --git a/telemetry/router.go b/telemetry/router.go
index b5835ae0..d1e49440 100644
--- a/telemetry/router.go
+++ b/telemetry/router.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package telemetry
import (
diff --git a/telemetry/telemetry.go b/telemetry/telemetry.go
index dec93ec4..fd5cda2d 100644
--- a/telemetry/telemetry.go
+++ b/telemetry/telemetry.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
// Package telemetry provides telemetry information for SFTPGo, such as:
// - health information (for health checks)
// - metrics
diff --git a/telemetry/telemetry_test.go b/telemetry/telemetry_test.go
index cda542b1..3fa71c40 100644
--- a/telemetry/telemetry_test.go
+++ b/telemetry/telemetry_test.go
@@ -1,3 +1,17 @@
+// Copyright (C) 2019-2022 Nicola Murino
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as published
+// by the Free Software Foundation, version 3.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
package telemetry
import (
diff --git a/templates/common/forgot-password.html b/templates/common/forgot-password.html
index 740dcb10..e41cdd0e 100644
--- a/templates/common/forgot-password.html
+++ b/templates/common/forgot-password.html
@@ -1,3 +1,18 @@
+
diff --git a/templates/common/reset-password.html b/templates/common/reset-password.html
index f08f4c75..dfc2698c 100644
--- a/templates/common/reset-password.html
+++ b/templates/common/reset-password.html
@@ -1,3 +1,18 @@
+
diff --git a/templates/email/reset-password.html b/templates/email/reset-password.html
index 79a458fc..da8caa62 100644
--- a/templates/email/reset-password.html
+++ b/templates/email/reset-password.html
@@ -1,3 +1,18 @@
+
Hello there!
Your SFTPGo email verification code is "{{.Code}}", this code is valid for 10 minutes.
diff --git a/templates/email/retention-check-report.html b/templates/email/retention-check-report.html
index d4bdde2d..a0aa5b68 100644
--- a/templates/email/retention-check-report.html
+++ b/templates/email/retention-check-report.html
@@ -1,3 +1,18 @@
+
Retention check report for user "{{.Username}}"
Status: {{.Status}}
diff --git a/templates/webadmin/admin.html b/templates/webadmin/admin.html
index 71d63388..dc4c992a 100644
--- a/templates/webadmin/admin.html
+++ b/templates/webadmin/admin.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/admins.html b/templates/webadmin/admins.html
index 7e53ba0f..bcc9faa4 100644
--- a/templates/webadmin/admins.html
+++ b/templates/webadmin/admins.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/adminsetup.html b/templates/webadmin/adminsetup.html
index a143d5aa..d88ddd41 100644
--- a/templates/webadmin/adminsetup.html
+++ b/templates/webadmin/adminsetup.html
@@ -1,3 +1,18 @@
+
diff --git a/templates/webadmin/base.html b/templates/webadmin/base.html
index e73cdbc3..36fc8c5a 100644
--- a/templates/webadmin/base.html
+++ b/templates/webadmin/base.html
@@ -1,3 +1,18 @@
+
{{define "base"}}
diff --git a/templates/webadmin/baselogin.html b/templates/webadmin/baselogin.html
index 46bebf28..8c766ccc 100644
--- a/templates/webadmin/baselogin.html
+++ b/templates/webadmin/baselogin.html
@@ -1,3 +1,18 @@
+
{{define "baselogin"}}
diff --git a/templates/webadmin/changepassword.html b/templates/webadmin/changepassword.html
index fe87f53a..930163b3 100644
--- a/templates/webadmin/changepassword.html
+++ b/templates/webadmin/changepassword.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/connections.html b/templates/webadmin/connections.html
index 0b1f0b99..9775b128 100644
--- a/templates/webadmin/connections.html
+++ b/templates/webadmin/connections.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/defender.html b/templates/webadmin/defender.html
index dae02e3f..a7e4ccb7 100644
--- a/templates/webadmin/defender.html
+++ b/templates/webadmin/defender.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/folder.html b/templates/webadmin/folder.html
index 9707b1bf..f77e978b 100644
--- a/templates/webadmin/folder.html
+++ b/templates/webadmin/folder.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/folders.html b/templates/webadmin/folders.html
index c6a7d63a..11ff3bc4 100644
--- a/templates/webadmin/folders.html
+++ b/templates/webadmin/folders.html
@@ -1,3 +1,18 @@
+
{{template "base" .}}
{{define "title"}}{{.Title}}{{end}}
diff --git a/templates/webadmin/fsconfig.html b/templates/webadmin/fsconfig.html
index 5a5ac279..c1514d93 100644
--- a/templates/webadmin/fsconfig.html
+++ b/templates/webadmin/fsconfig.html
@@ -1,3 +1,18 @@
+
{{define "fshtml"}}