]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Add header guards, fix typo in license boilerplate
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 20 Sep 2019 14:42:32 +0000 (09:42 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 20 Sep 2019 14:42:39 +0000 (09:42 -0500)
38 files changed:
doc/antora/modules/howto/pages/modules/rlm_ldap/ldapsearch.adoc
src/lib/eap/chbind.h
src/lib/eap/compose.h
src/lib/eap/session.h
src/lib/eap/submodule.h
src/lib/eap/tls.h
src/lib/eap/types.h
src/lib/json/base.h
src/lib/redis/base.h
src/lib/redis/cluster.h
src/lib/redis/crc16.h
src/lib/server/connection.h
src/lib/server/crypt.h
src/lib/sim/attrs.h
src/lib/sim/base.h
src/lib/sim/comp128.h
src/lib/sim/eap_aka_common.h
src/lib/sim/eap_sim_common.h
src/lib/sim/id.h
src/lib/sim/milenage.h
src/lib/util/ascend.h
src/lib/util/cursor.h
src/lib/util/pair_cursor.h
src/lib/util/snprintf.h
src/lib/util/socket.h
src/modules/proto_ldap_sync/sync.h
src/modules/rlm_cache/rlm_cache.h
src/modules/rlm_cache/serialize.h
src/modules/rlm_eap/types/rlm_eap_aka/eap_aka.h
src/modules/rlm_eap/types/rlm_eap_sim/eap_sim.h
src/modules/rlm_eap/types/rlm_eap_ttls/eap_ttls.h
src/modules/rlm_krb5/krb5.h
src/modules/rlm_lua/lua.h
src/modules/rlm_mruby/rlm_mruby.h
src/modules/rlm_redis_ippool/redis_ippool.h
src/modules/rlm_rest/rest.h
src/modules/rlm_sql/rlm_sql.h
src/modules/rlm_yubikey/rlm_yubikey.h

index 31afbcefab2cc4b7a16a740f0c84a7a8c5dcf772..96771c492a4e67ad6b3ba90d2ebde23429e9c2bb 100644 (file)
@@ -93,11 +93,23 @@ If you have no prior information about the LDAP server follow the examples below
 adding progressively more connection parameters until ldapsearch returns one or more
 results.
 
+When a search completes successfully, the output will look resemble following,
+exit code of ldap search will be 0. The text will not be identical, as names and
+domains will be from the local LDAP server.
+
+[source,ldif]
+----
+dn: uid=john,ou=people,dc=example,dc=com
+objectClass: inetOrgPerson
+uid: john
+userPassword: password
+----
 ---
 === Search without bind (anonymous)
 At a minimum, unless you have defaults set in your local `ldap.conf` file,
 you will need to provide the following arguments:
 
+- `-z 1` - Limit the number of results to 1.
 - `-x` - Use simple authentication instead of SASL (correct for the majority of servers).
 - `-H <ldap uri>` - The LDAP server to connect to.
 - `-b <dn>` - A point in the LDAP tree to start the search from.
@@ -105,7 +117,7 @@ you will need to provide the following arguments:
 .Performing an anonymous search
 ====
 ```
-ldapsearch -x -H ldap://ldap.example.com:389 -D "cn=freeradius,dc=example,dc=com"
+ldapsearch -z 1 -x -H ldap://ldap.example.com:389 -b "cn=freeradius,dc=example,dc=com"
 ```
 ====
 
@@ -125,13 +137,13 @@ performed before attempting any operations on the LDAP server.
 The following arguments should be added to identify the LDAP client to the LDAP
 server:
 
-- `-D` - The bind DN.  A unique identifier for the user being bound.
-- `-w` - The bind password.
+- `-D <dn>` - The bind DN.  A unique identifier for the user being bound.
+- `-w <password>` - The bind password.
 
 .Performing a search with a bound user
 ====
 ```
-ldapsearch -x -H ldap://ldap.example.com:389 -D "cn=freeradius,dc=example,dc=com" -w mypassword -b "ou=people,dc=example,dc=com"
+ldapsearch -z 1 -x -H ldap://ldap.example.com:389 -D "cn=freeradius,dc=example,dc=com" -w mypassword -b "ou=people,dc=example,dc=com"
 ```
 ====
 ---
@@ -187,65 +199,38 @@ StartTLS usually runs on the same port as unencrypted LDAP.
 - `-ZZ` - Transition to encrypted communication using the StartTLS extension,
 and fail if we can't.
 
-.Performing a search with a bound user over TLS
+.Performing a search with a bound user with StartTLS
 ====
 ```
-ldapsearch -x -H ldap://ldap.example.com:389 -D "cn=freeradius,dc=example,dc=com" -w mypassword -b "ou=people,dc=example,dc=com"
+LDAPTLS_CACERT=cert_bundle.pem LDAPTLS_REQCERT=hard ldapsearch -z 1 -x -H ldap://ldap.example.com:389 -D "cn=freeradius,dc=example,dc=com" -w mypassword -b "ou=people,dc=example,dc=com" -ZZ
 ```
 ====
 
-The following changes to your `ldapsearch` command should be made to enable.
-Note that the arguments are different dependent on the type of TLS connection
-in use.
-
-
-
-
-
-==== Start TLS
-
-
-
-Where you replace the following as appropriately:
-
-* `ldaps://ldap.example.com:636`
-** location of the LDAP server and how to connect
-
-** `ldaps` is LDAP over SSL and defaults to port `636/tcp`
-
-** `ldap` is non-SSLed LDAP and defaults to port `389/tcp`
-**** add `-ZZ` as an argument if you use Start TLS
-
-** `ldapi` is for UNIX socket connections
+== Translating ldapsearch arguments to rlm_ldap configuration items
 
-* `cn=freeradius,dc=example,dc=com`
-** username used by FreeRADIUS when connecting to LDAP
+[width="100%",cols="30%,70%",options="header",]
+|===
+| ldapsearch              | rlm_ldap
+| `-z`                    | Not supported.
+| `-x`                    | Set by default.
+| `-H <uri>`              | `ldap { server = '<uri>' }`
+| `-b <dn>`               | `ldap { base_dn = '<dn>' }`
+| `-D <dn>`               | `ldap { identity = '<dn>' }`
+| `-w <password>`         | `ldap { password = '<password>' }`
 
-* `mypassword`
-** password used by FreeRADIUS is to use when connecting to LDAP
+If the `ldapsearch` program fails to return anything useful, then the
+previous steps should be performed until that program succeeds.
+Unfortunately, every piece of advice in this section is site-specific,
+and is independent of RADIUS.  Therefore you should not configure
+FreeRADIUS to use LDAP until such time as `ldapsearch` succeeds.
 
-* `ou=people,dc=example,dc=com`
-** top branch ('base') of the LDAP tree where users are found
 
 * `(objectClass=inetOrgPerson)`
   http://www.zytrax.com/books/ldap/apa/search.html[search filter]
   which captures the users (this is the LDAP equivalent of the `WHERE`
   clause in SQL)
 
-* the parameter `-z 10` limits the number of results returned to ten,
-  which should be informative, but not overwhelming.
 
-If this test works, there should be text returned where each result
-returned looks something like the following.  The text will of course
-not be identical, as names and domains will be from the local system.
-
-[source,ldif]
-----
-dn: uid=john,ou=people,dc=example,dc=com
-objectClass: inetOrgPerson
-uid: john
-userPassword: password
-----
 
 If no objects are returned, then check that the search filter is
 correct.  This checl is best done by removing the filter and use
@@ -274,11 +259,7 @@ If no users are returned, then verify:
      will be successful (and not continue indefinitely) when there is _no firewall blocking
   * `netcat -vz -w3 ldap.example.com 636` will return `succeeded` when there is no firewall blocking access
 
-If the `ldapsearch` program fails to return anything useful, then the
-previous steps should be performed until that program succeeds.
-Unfortunately, every piece of advice in this section is site-specific,
-and is independent of RADIUS.  Therefore you should not configure
-FreeRADIUS to use LDAP until such time as `ldapsearch` succeeds.
+
 
 It is always simpler to debug LDAP issues using an LDAP-specific tool
 such as `ldapsearch`.  Adding a RADIUS server to the mix will just
index 0ae8c4c56d186cdaab7e4e41da16af0e84bf0ac3..7ecae273cfc98e64f8c3132c66a031b15caf1519 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 8ad84fefe2119b81c030201f9f12a486dc9b8a67..7cc94578beb1a059fdd01f9783004a70adad5476 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 0fec69d5104c124718f6031fbf0ace79c9cfccbf..d4e75ddfe226a34e345d6478d98421dc38c250de 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index dcc9b72bc8c62df5805a19d8caa1951862d9041c..3268fe585abd0b8540b2a8bae17d9edef514d636 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 368816a4884d7c101cef46b9ac77a8dcdd72a6d2..b4fce5ef02998d3b0e0abf8ee8f9b16f0319f379 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 6c8a035efbd2bef101bcc8eef52ddaf0809193c0..24bccf90b6455d33d18ae286509f8137be624d9a 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index e5d9c1644c6fa2be900d5fe56a20cf12570dd27d..a0929045b0a72b3c2cd4477c930847d5bb56ac2d 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index d297249decc4ee090eaa6e1f66341f8c30c440e4..765ebe8d2baf6e88829000b73d729665fad2720e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index c2912619858c022a9c43a0f754a591e017c80fb3..f8cee8ca601bc987609ac29c8df0e3df72eeb37c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 0720dbd7c248814e3ec168c71187aaea8c5fc2f4..d43f4f10601dd0a5a92450ab903302c7d766cff8 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /*
  * @copyright 2001-2010 Georges Menie (www.menie.org)
  * @copyright 2010 Salvatore Sanfilippo (adapted to Redis coding style)
index 3787393514275a81b2361150c6e29d93a1818bce..65a435be6f3f96fd396a5330470c5b36679e4461 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index ecb07a886e9171e8fa731273413372465d55cc86..cf1ebbdf028e0087910827d6b198cf8652cfc984 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 566c3679f8e88a14ed710077b715a636b87252ea..1148014ccf5c51ed56b26a3dd5ea3023f17683a3 100644 (file)
@@ -1,5 +1,6 @@
+#pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 92ef629b15c5c6c17be8357096237915cb3d8f7a..d1fd262de6855a98003a7540ef3b6d9acd13998b 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 94009674dd3dd2fa5d9364b5f1a59f89b0533e2f..72c18b820b806aa608f9628de94195f5fc081ba4 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 0e8d35415e629098ef987b241e1d48d644d0c77c..55b41526df4eac5f871756da0f0a835756206a57 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index ec962d957e1a7a588dd141989c4cc5e50357dd9c..cc9146c74a1b0c1e2028b00f40e84a19741e6e7c 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 5dbc0f3479160df67ff4a1485795b79f1e9f69d3..0060592befef06a3d6489ce6e6b24eb3bae94c11 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 55aa1de5a513741f99ddd5121fe3b20713ba2d1b..551ecbd5c569adfd94dbd665413a551faeb9e061 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /**
  * @file src/lib/sim/milenage.h
  * @brief 3GPP AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208)
index b1148ee3776b2fd02fd6a3a191a065656124ee0f..967dd10d505437c443b1bf374572a81ba170e190 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /*
  *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
index 41a840507fc7127d735f4d380843870197ff910f..99b82fae69a636088a27f5f203d1acc1c94551d4 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License, cursor 2 of the
  *   License as published by the Free Software Foundation.
  *
index b79e7a77d2e07c548ac6a704c5db4ed32186945c..133495d9307b300653c43e17512ad6685c32d2bd 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License, cursor 2 of the
  *   License as published by the Free Software Foundation.
  *
index ccced37d610e5014b5c35eb0662a3d20f66b4816..5a86bc9d8e0ceddda1c72bfa441f81a1ff94eba3 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 937f25bfe96116744b3f4ef967d2ebbf741ffea2..0617a04395ef136b18bf592bc1e98c63ad32219a 100644 (file)
@@ -1,7 +1,7 @@
 #pragma once
 
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index ded083c9cfa14471070bc25f5a76c1e9c14c4b14..534a22697c9362fa5e2c028b8209f9dcc416eef8 100644 (file)
@@ -1,5 +1,6 @@
+#pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 1e767fc06fdf32ebb6f0cc8f292133aad6694924..4aca1fb2eaeea702333ce1310d164bb2ab4c39a7 100644 (file)
@@ -1,5 +1,6 @@
+#pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index c51cf9fae9276d200988a0ca0e387019356569f8..37e96c1610ca7d52f1f102ad01b524efa66fceec 100644 (file)
@@ -1,5 +1,6 @@
+#pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index f2aafa46af18efd3099734919db9958cb0c90104..9ed34b78c1dc7fa65d5a65efc3c99f03528426f7 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 73ab7961348c0b6370cb4ed638d73181ae0d33d2..0ad22d8631168aa0838aeb764b619e11444127ea 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 679f1f3243412c2fea34fac82736886e8b82096a..e14ec5b56ce3b48de3a4e5d2d7ea5211ba02d7ea 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 167006ed9b84fea3d04114e5ff5f2187ad560070..742c3590db6bb920b061eacb7b97325675c6ac36 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /*
  *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
index 246aa1b0c92cdc34b605353337313f7a5d96748d..7fb743986ef4c2e456506843f17263d97318df04 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License, version 2 if the
  *   License as published by the Free Software Foundation.
  *
index ee8c1b7eaf75251303e53d59fa7676ca865b1663..bb88612f19bf26fd6ef7258448e4c56464dfea61 100644 (file)
@@ -1,5 +1,6 @@
+#pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 085ea17305648dea9e1dff2798573ad009081692..ea0e043eabd5d0ea064fb2e933af242aef16b208 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index b7b5fdbe81789288d5b3a64cab4fef4457289956..d9f115758ce95d22b16a6a633d05422b96ffa85d 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /*
  *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
index 858fbb7cbddd8e67edd09e03a71f1e929d0a736b..499d82ee4696a2bd562e11594993b9dbc016ba04 100644 (file)
@@ -1,6 +1,6 @@
 #pragma once
 /*
- *   This program is is free software; you can redistribute it and/or modify
+ *   This program is free software; you can redistribute it and/or modify
  *   it under the terms of the GNU General Public License as published by
  *   the Free Software Foundation; either version 2 of the License, or (at
  *   your option) any later version.
index 630e528c713bd2c95d81fe70538724d9f745bc2b..a01a9b557f82902da1462ef3cd106aaa7b082522 100644 (file)
@@ -1,3 +1,19 @@
+#pragma once
+/*
+ *   This program is is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or (at
+ *   your option) any later version.
+ *
+ *   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 General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/module.h>
 #include <ctype.h>