Rename library and update build system

Change-Id: I78c6a412c5e2181e58649c0e0aa2aa2f97da16a1
diff --git a/src/algo/aes.cpp b/src/algo/aes.cpp
index c71946b..bf36aa7 100644
--- a/src/algo/aes.cpp
+++ b/src/algo/aes.cpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "aes.hpp"
@@ -25,7 +25,7 @@
 #include <ndn-cxx/security/transform/stream-sink.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 DecryptKey<Aes>
@@ -91,5 +91,5 @@
 }
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/algo/aes.hpp b/src/algo/aes.hpp
index d0fbabd..685ea4b 100644
--- a/src/algo/aes.hpp
+++ b/src/algo/aes.hpp
@@ -1,24 +1,24 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_ALGO_AES_HPP
-#define NDN_GEP_ALGO_AES_HPP
+#ifndef NDN_NAC_ALGO_AES_HPP
+#define NDN_NAC_ALGO_AES_HPP
 
 #include "common.hpp"
 #include "encrypt-params.hpp"
@@ -27,7 +27,7 @@
 #include <ndn-cxx/security/key-params.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 class Aes
@@ -50,11 +50,11 @@
           const EncryptParams& params);
 };
 
-typedef DecryptKey<Aes> AesEncryptKey;
-typedef EncryptKey<Aes> AesDecryptKey;
+using AesEncryptKey = DecryptKey<Aes>;
+using AesDecryptKey = EncryptKey<Aes>;
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ALGO_AES_HPP
+#endif // NDN_NAC_ALGO_AES_HPP
diff --git a/src/algo/encrypt-params.cpp b/src/algo/encrypt-params.cpp
index 91b5588..6663249 100644
--- a/src/algo/encrypt-params.cpp
+++ b/src/algo/encrypt-params.cpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "encrypt-params.hpp"
@@ -22,7 +22,7 @@
 #include <openssl/rand.h>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 EncryptParams::EncryptParams(tlv::AlgorithmTypeValue algorithm, uint8_t ivLength)
@@ -62,5 +62,5 @@
 }
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/algo/encrypt-params.hpp b/src/algo/encrypt-params.hpp
index 030f443..26b494c 100644
--- a/src/algo/encrypt-params.hpp
+++ b/src/algo/encrypt-params.hpp
@@ -1,30 +1,30 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_ENCRYPT_PARAMS_HPP
-#define NDN_GEP_ENCRYPT_PARAMS_HPP
+#ifndef NDN_NAC_ENCRYPT_PARAMS_HPP
+#define NDN_NAC_ENCRYPT_PARAMS_HPP
 
 #include "../tlv.hpp"
 #include <ndn-cxx/encoding/buffer-stream.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 class EncryptParams
@@ -50,7 +50,7 @@
 };
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ENCRYPT_PARAMS_HPP
+#endif // NDN_NAC_ENCRYPT_PARAMS_HPP
diff --git a/src/algo/encryptor.cpp b/src/algo/encryptor.cpp
index c9f7745..4f626c2 100644
--- a/src/algo/encryptor.cpp
+++ b/src/algo/encryptor.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "encryptor.hpp"
@@ -25,7 +25,7 @@
 #include <openssl/rand.h>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 /**
@@ -148,5 +148,5 @@
 }
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/algo/encryptor.hpp b/src/algo/encryptor.hpp
index 4dde07e..7c46355 100644
--- a/src/algo/encryptor.hpp
+++ b/src/algo/encryptor.hpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef NDN_ENCRYPTOR_HPP
@@ -24,7 +24,7 @@
 #include <ndn-cxx/data.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 /**
@@ -48,7 +48,7 @@
             const EncryptParams& params);
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
 #endif // NDN_ENCRYPTOR_HPP
diff --git a/src/algo/error.hpp b/src/algo/error.hpp
index d9abdb2..2ed6cfa 100644
--- a/src/algo/error.hpp
+++ b/src/algo/error.hpp
@@ -1,43 +1,39 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_ALGO_ERROR_HPP
-#define NDN_GEP_ALGO_ERROR_HPP
+#ifndef NDN_NAC_ALGO_ERROR_HPP
+#define NDN_NAC_ALGO_ERROR_HPP
 
 #include <stdexcept>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 class Error : public std::runtime_error
 {
 public:
-  explicit
-  Error(const std::string& what)
-    : std::runtime_error(what)
-  {
-  }
+  using std::runtime_error::runtime_error;
 };
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ALGO_ERROR_HPP
+#endif // NDN_NAC_ALGO_ERROR_HPP
diff --git a/src/algo/rsa.cpp b/src/algo/rsa.cpp
index 85f4498..ff6c31d 100644
--- a/src/algo/rsa.cpp
+++ b/src/algo/rsa.cpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "rsa.hpp"
@@ -24,7 +24,7 @@
 #include <ndn-cxx/security/transform/public-key.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 DecryptKey<Rsa>
@@ -80,5 +80,5 @@
 }
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/algo/rsa.hpp b/src/algo/rsa.hpp
index db44474..89719e5 100644
--- a/src/algo/rsa.hpp
+++ b/src/algo/rsa.hpp
@@ -1,31 +1,31 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_ALGO_RSA_HPP
-#define NDN_GEP_ALGO_RSA_HPP
+#ifndef NDN_NAC_ALGO_RSA_HPP
+#define NDN_NAC_ALGO_RSA_HPP
 
 #include "encrypt-params.hpp"
 #include "../decrypt-key.hpp"
 #include <ndn-cxx/security/key-params.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace algo {
 
 class Rsa
@@ -46,11 +46,11 @@
           const uint8_t* payload, size_t payloadLen);
 };
 
-typedef DecryptKey<Rsa> RsaPrivateKey;
-typedef EncryptKey<Rsa> RsaPublicKey;
+using RsaPrivateKey = DecryptKey<Rsa>;
+using RsaPublicKey = EncryptKey<Rsa>;
 
 } // namespace algo
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ALGO_RSA_HPP
+#endif // NDN_NAC_ALGO_RSA_HPP
diff --git a/src/common.hpp b/src/common.hpp
index 14bca91..a478820 100644
--- a/src/common.hpp
+++ b/src/common.hpp
@@ -1,28 +1,28 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_COMMON_HPP
-#define NDN_GEP_COMMON_HPP
+#ifndef NDN_NAC_COMMON_HPP
+#define NDN_NAC_COMMON_HPP
 
 #include "config.hpp"
 
-#ifdef NDN_GEP_HAVE_TESTS
+#ifdef NDN_NAC_HAVE_TESTS
 #define VIRTUAL_WITH_TESTS virtual
 #define PUBLIC_WITH_TESTS_ELSE_PROTECTED public
 #define PUBLIC_WITH_TESTS_ELSE_PRIVATE public
@@ -34,15 +34,6 @@
 #define PROTECTED_WITH_TESTS_ELSE_PRIVATE private
 #endif
 
-/** \def DECL_OVERRIDE
- *  \brief expands to 'override' if compiler supports this feature, otherwise expands to nothing
- */
-#ifdef HAVE_CXX_OVERRIDE
-#define DECL_OVERRIDE override
-#else
-#define DECL_OVERRIDE
-#endif
-
 #include <cstddef>
 #include <list>
 #include <map>
@@ -71,37 +62,11 @@
 #include <boost/property_tree/ptree.hpp>
 
 namespace ndn {
-namespace gep {
-
-using std::size_t;
-
-using boost::noncopyable;
-
-using std::shared_ptr;
-using std::unique_ptr;
-using std::weak_ptr;
-using std::bad_weak_ptr;
-using std::make_shared;
-using std::enable_shared_from_this;
-
-using std::static_pointer_cast;
-using std::dynamic_pointer_cast;
-using std::const_pointer_cast;
-
-using std::function;
-using std::bind;
-using std::ref;
-using std::cref;
-
-using ndn::Interest;
-using ndn::Data;
-using ndn::Name;
-using ndn::Exclude;
-using ndn::Block;
+namespace nac {
 
 using security::v2::Certificate;
-using ndn::security::v2::Validator;
-using ndn::security::ValidatorNull;
+using security::v2::Validator;
+using security::ValidatorNull;
 using security::v2::DataValidationSuccessCallback;
 using security::v2::DataValidationFailureCallback;
 using security::v2::ValidationError;
@@ -110,19 +75,15 @@
 using namespace ndn::tlv;
 } // namespace tlv
 
-namespace name = ndn::name;
-namespace time = ndn::time;
-namespace signal = ndn::util::signal;
+const name::Component NAME_COMPONENT_FOR("FOR");
+const name::Component NAME_COMPONENT_READ("READ");
+const name::Component NAME_COMPONENT_SAMPLE("SAMPLE");
+const name::Component NAME_COMPONENT_ACCESS("ACCESS");
+const name::Component NAME_COMPONENT_E_KEY("E-KEY");
+const name::Component NAME_COMPONENT_D_KEY("D-KEY");
+const name::Component NAME_COMPONENT_C_KEY("C-KEY");
 
-const ndn::name::Component NAME_COMPONENT_FOR("FOR");
-const ndn::name::Component NAME_COMPONENT_READ("READ");
-const ndn::name::Component NAME_COMPONENT_SAMPLE("SAMPLE");
-const ndn::name::Component NAME_COMPONENT_ACCESS("ACCESS");
-const ndn::name::Component NAME_COMPONENT_E_KEY("E-KEY");
-const ndn::name::Component NAME_COMPONENT_D_KEY("D-KEY");
-const ndn::name::Component NAME_COMPONENT_C_KEY("C-KEY");
-
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_COMMON_HPP
+#endif // NDN_NAC_COMMON_HPP
diff --git a/src/consumer-db.cpp b/src/consumer-db.cpp
index 661ab04..96e8427 100644
--- a/src/consumer-db.cpp
+++ b/src/consumer-db.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -25,7 +25,7 @@
 #include <sqlite3.h>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 using util::Sqlite3Statement;
 
@@ -118,5 +118,5 @@
   statement.step();
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/consumer-db.hpp b/src/consumer-db.hpp
index 8500b67..29230dd 100644
--- a/src/consumer-db.hpp
+++ b/src/consumer-db.hpp
@@ -2,30 +2,30 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <dreamerbarrychang@gmail.com>
  */
 
-#ifndef NDN_GEP_CONSUMER_DB_HPP
-#define NDN_GEP_CONSUMER_DB_HPP
+#ifndef NDN_NAC_CONSUMER_DB_HPP
+#define NDN_NAC_CONSUMER_DB_HPP
 
 #include "common.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 /**
  * @brief ConsumerDB is a class to manage decryption keys for consumer.
@@ -36,11 +36,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit
-    Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
@@ -79,7 +75,7 @@
   unique_ptr<Impl> m_impl;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_CONSUMER_DB_HPP
+#endif // NDN_NAC_CONSUMER_DB_HPP
diff --git a/src/consumer.cpp b/src/consumer.cpp
index 4470089..cd1cdc1 100644
--- a/src/consumer.cpp
+++ b/src/consumer.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  * @author Yingdi Yu <yingdi@cs.ucla.edu>
@@ -24,7 +24,7 @@
 #include "encrypted-content.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 const Link Consumer::NO_LINK = Link();
 
@@ -290,5 +290,5 @@
     handleNack(interest, lp::Nack(), link, callback, errorCallback);
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/consumer.hpp b/src/consumer.hpp
index 777425d..55dee91 100644
--- a/src/consumer.hpp
+++ b/src/consumer.hpp
@@ -2,26 +2,26 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  * @author Yingdi Yu <yingdi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_CONSUMER_HPP
-#define NDN_GEP_CONSUMER_HPP
+#ifndef NDN_NAC_CONSUMER_HPP
+#define NDN_NAC_CONSUMER_HPP
 
 #include "common.hpp"
 #include "consumer-db.hpp"
@@ -32,7 +32,7 @@
 #include <ndn-cxx/security/validator-null.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 typedef function<void(const Data&, const Buffer&)> ConsumptionCallBack;
 
@@ -212,7 +212,7 @@
   std::map<Name, Buffer> m_dKeyMap;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_CONSUMER_HPP
+#endif // NDN_NAC_CONSUMER_HPP
diff --git a/src/decrypt-key.hpp b/src/decrypt-key.hpp
index df45428..4c61099 100644
--- a/src/decrypt-key.hpp
+++ b/src/decrypt-key.hpp
@@ -1,29 +1,29 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_DECRYPT_KEY_HPP
-#define NDN_GEP_DECRYPT_KEY_HPP
+#ifndef NDN_NAC_DECRYPT_KEY_HPP
+#define NDN_NAC_DECRYPT_KEY_HPP
 
 #include "encrypt-key.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 template<class Algorithm>
 class DecryptKey
@@ -56,7 +56,7 @@
   Buffer m_keyBits;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_DECRYPT_KEY_HPP
+#endif // NDN_NAC_DECRYPT_KEY_HPP
diff --git a/src/encrypt-key.hpp b/src/encrypt-key.hpp
index ba0d778..7df3910 100644
--- a/src/encrypt-key.hpp
+++ b/src/encrypt-key.hpp
@@ -1,29 +1,29 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2015,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef NDN_GEP_ENCRYPT_KEY_HPP
-#define NDN_GEP_ENCRYPT_KEY_HPP
+#ifndef NDN_NAC_ENCRYPT_KEY_HPP
+#define NDN_NAC_ENCRYPT_KEY_HPP
 
 #include "common.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 template<class Algorithm>
 class EncryptKey
@@ -50,7 +50,7 @@
   Buffer m_keyBits;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ENCRYPT_KEY_HPP
+#endif // NDN_NAC_ENCRYPT_KEY_HPP
diff --git a/src/encrypted-content.cpp b/src/encrypted-content.cpp
index 68d0e9c..776755c 100644
--- a/src/encrypted-content.cpp
+++ b/src/encrypted-content.cpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Yingdi Yu <yingdi@cs.ucla.edu>
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
@@ -26,7 +26,7 @@
 #include <boost/lexical_cast.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 BOOST_CONCEPT_ASSERT((boost::EqualityComparable<EncryptedContent>));
 BOOST_CONCEPT_ASSERT((WireEncodable<EncryptedContent>));
@@ -214,5 +214,5 @@
   return (wireEncode() == rhs.wireEncode());
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/encrypted-content.hpp b/src/encrypted-content.hpp
index 8a96fc7..53bad96 100644
--- a/src/encrypted-content.hpp
+++ b/src/encrypted-content.hpp
@@ -1,26 +1,26 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of gep (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of gep authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * gep is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * gep is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * gep, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Yingdi Yu <yingdi@cs.ucla.edu>
  */
 
-#ifndef NDN_ENCRYPTED_CONTENT_HPP
-#define NDN_ENCRYPTED_CONTENT_HPP
+#ifndef NDN_NAC_ENCRYPTED_CONTENT_HPP
+#define NDN_NAC_ENCRYPTED_CONTENT_HPP
 
 #include "tlv.hpp"
 #include <list>
@@ -28,7 +28,7 @@
 #include <ndn-cxx/key-locator.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 class EncryptedContent
 {
@@ -36,10 +36,7 @@
   class Error : public ndn::tlv::Error
   {
   public:
-    explicit Error(const std::string& what)
-      : ndn::tlv::Error(what)
-    {
-    }
+    using ndn::tlv::Error::Error;
   };
 
 public:
@@ -52,7 +49,8 @@
                    const uint8_t* iv = 0,
                    size_t ivLen = 0);
 
-  explicit EncryptedContent(const Block& block);
+  explicit
+  EncryptedContent(const Block& block);
 
   void
   setAlgorithmType(tlv::AlgorithmTypeValue type);
@@ -100,6 +98,7 @@
 public:
   bool
   operator==(const EncryptedContent& rhs) const;
+
   bool
   operator!=(const EncryptedContent& rhs) const
   {
@@ -116,7 +115,7 @@
   mutable Block m_wire;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_ENCRYPTED_CONTENT_HPP
+#endif // NDN_NAC_ENCRYPTED_CONTENT_HPP
diff --git a/src/error-code.hpp b/src/error-code.hpp
index e070efe..10d2f62 100644
--- a/src/error-code.hpp
+++ b/src/error-code.hpp
@@ -1,31 +1,31 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Yingdi Yu <yingdi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_ERROR_CODE_HPP
-#define NDN_GEP_ERROR_CODE_HPP
+#ifndef NDN_NAC_ERROR_CODE_HPP
+#define NDN_NAC_ERROR_CODE_HPP
 
 #include "common.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 enum class ErrorCode {
   Timeout = 1,
@@ -37,9 +37,9 @@
   DataRetrievalFailure = 36
 };
 
-typedef function<void (const ErrorCode&, const std::string&)> ErrorCallBack;
+using ErrorCallBack = std::function<void (const ErrorCode&, const std::string&)>;
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_ERROR_CODE_HPP
+#endif // NDN_NAC_ERROR_CODE_HPP
diff --git a/src/group-manager-db.cpp b/src/group-manager-db.cpp
index 57a3697..0e94661 100644
--- a/src/group-manager-db.cpp
+++ b/src/group-manager-db.cpp
@@ -1,20 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -27,7 +27,7 @@
 #include <ndn-cxx/util/string-helper.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 using util::Sqlite3Statement;
 
@@ -391,5 +391,5 @@
   }
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/group-manager-db.hpp b/src/group-manager-db.hpp
index a311ecf..59c0e66 100644
--- a/src/group-manager-db.hpp
+++ b/src/group-manager-db.hpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -25,7 +25,7 @@
 #include "schedule.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 /**
  * @brief GroupManagerDB is a class to manage the database of group manager.
@@ -38,17 +38,15 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
   /**
    * @brief Create the database of group manager at path @p dbPath.
    */
-  explicit GroupManagerDB(const std::string& dbPath);
+  explicit
+  GroupManagerDB(const std::string& dbPath);
 
   ~GroupManagerDB();
 
@@ -202,7 +200,7 @@
   unique_ptr<Impl> m_impl;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
 #endif // GEP_GROUP_MANAGER_DB_HPP
diff --git a/src/group-manager.cpp b/src/group-manager.cpp
index dfcb260..0521dff 100644
--- a/src/group-manager.cpp
+++ b/src/group-manager.cpp
@@ -1,24 +1,20 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for
- * NDN). See AUTHORS.md for complete list of ndn-group-encrypt authors and
- * contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt 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 3 of the License, or (at your option) any
- * later version.
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt 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.
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see
- * <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -33,7 +29,7 @@
 #include <ndn-cxx/util/string-helper.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 GroupManager::GroupManager(const Name& prefix,
                            const Name& dataType,
@@ -260,5 +256,5 @@
   m_db.cleanEKeys();
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/group-manager.hpp b/src/group-manager.hpp
index 56feb28..afb7349 100644
--- a/src/group-manager.hpp
+++ b/src/group-manager.hpp
@@ -1,26 +1,26 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
- * Copyright (c) 2014-2018,  Regents of the University of California
+ * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_GROUP_MANAGER_HPP
-#define NDN_GEP_GROUP_MANAGER_HPP
+#ifndef NDN_NAC_GROUP_MANAGER_HPP
+#define NDN_NAC_GROUP_MANAGER_HPP
 
 #include "group-manager-db.hpp"
 #include "algo/rsa.hpp"
@@ -28,7 +28,7 @@
 #include <ndn-cxx/security/key-chain.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 class GroupManager
 {
@@ -36,10 +36,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
@@ -103,8 +100,7 @@
   void
   updateMemberSchedule(const Name& identity, const std::string& scheduleName);
 
-
-PUBLIC_WITH_TESTS_ELSE_PRIVATE :
+PUBLIC_WITH_TESTS_ELSE_PRIVATE:
   /**
    * @brief Calculate interval that covers @p timeslot
    * and fill @p memberKeys with the info of members who is allowed to access the interval.
@@ -157,7 +153,7 @@
   KeyChain m_keyChain;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_GROUP_MANAGER_HPP
+#endif // NDN_NAC_GROUP_MANAGER_HPP
diff --git a/src/interval.cpp b/src/interval.cpp
index 8d96f77..1402baf 100644
--- a/src/interval.cpp
+++ b/src/interval.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -22,7 +22,7 @@
 #include "interval.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 static const TimeStamp DEFAULT_TIME = boost::posix_time::from_iso_string("14000101T000000");
 
@@ -109,5 +109,5 @@
   return *this;
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/interval.hpp b/src/interval.hpp
index 6cf6b86..d442252 100644
--- a/src/interval.hpp
+++ b/src/interval.hpp
@@ -2,31 +2,31 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_INTERVAL_HPP
-#define NDN_GEP_INTERVAL_HPP
+#ifndef NDN_NAC_INTERVAL_HPP
+#define NDN_NAC_INTERVAL_HPP
 
 #include "common.hpp"
 #include <boost/date_time/posix_time/posix_time.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 typedef boost::posix_time::ptime TimeStamp;
 
@@ -37,10 +37,7 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
@@ -49,7 +46,8 @@
    *
    * @param isValid If isValid is true, the created interval is an empty interval
    */
-  explicit Interval(bool isValid = false);
+  explicit
+  Interval(bool isValid = false);
 
   Interval(const TimeStamp& startTime, const TimeStamp& endTime);
 
@@ -114,7 +112,7 @@
   bool m_isValid;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_INTERVAL_HPP
+#endif // NDN_NAC_INTERVAL_HPP
diff --git a/src/producer-db.cpp b/src/producer-db.cpp
index 0cde47d..3f75796 100644
--- a/src/producer-db.cpp
+++ b/src/producer-db.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Prashanth Swaminathan <prashanthsw@gmail.com>
  */
@@ -26,7 +26,7 @@
 #include <sqlite3.h>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 using util::Sqlite3Statement;
 using time::system_clock;
@@ -144,5 +144,5 @@
   statement.step();
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/producer-db.hpp b/src/producer-db.hpp
index a846901..6147204 100644
--- a/src/producer-db.hpp
+++ b/src/producer-db.hpp
@@ -2,30 +2,30 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Prashanth Swaminathan <prashanthsw@gmail.com>
  */
 
-#ifndef NDN_GEP_PRODUCER_DB_HPP
-#define NDN_GEP_PRODUCER_DB_HPP
+#ifndef NDN_NAC_PRODUCER_DB_HPP
+#define NDN_NAC_PRODUCER_DB_HPP
 
 #include "common.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 /**
  * @brief ProducerDB is a class to manage the database of data producer.
@@ -38,14 +38,12 @@
   class Error : public std::runtime_error
   {
   public:
-    explicit Error(const std::string& what)
-      : std::runtime_error(what)
-    {
-    }
+    using std::runtime_error::runtime_error;
   };
 
 public:
-  explicit ProducerDB(const std::string& dbPath);
+  explicit
+  ProducerDB(const std::string& dbPath);
 
   ~ProducerDB();
 
@@ -81,7 +79,7 @@
   unique_ptr<Impl> m_impl;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_PRODUCER_DB_HPP
+#endif // NDN_NAC_PRODUCER_DB_HPP
diff --git a/src/producer.cpp b/src/producer.cpp
index ac9aca0..bc7c0d5 100644
--- a/src/producer.cpp
+++ b/src/producer.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Prashanth Swaminathan <prashanthsw@gmail.com>
  * @author Yingdi Yu <yuyingdi@gmail.com>
@@ -28,7 +28,7 @@
 #include <iostream>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 using time::system_clock;
 
@@ -314,5 +314,5 @@
   return true;
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/producer.hpp b/src/producer.hpp
index 8724d1b..2081d5d 100644
--- a/src/producer.hpp
+++ b/src/producer.hpp
@@ -2,26 +2,26 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Prashanth Swaminathan <prashanthsw@gmail.com>
  * @author Yingdi Yu <yuyingdi@gmail.com>
  */
 
-#ifndef NDN_GEP_PRODUCER_HPP
-#define NDN_GEP_PRODUCER_HPP
+#ifndef NDN_NAC_PRODUCER_HPP
+#define NDN_NAC_PRODUCER_HPP
 
 #include "error-code.hpp"
 #include "producer-db.hpp"
@@ -30,7 +30,7 @@
 #include <ndn-cxx/security/key-chain.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 // @brief Callback returns vector of Data contains content keys encrypted by E-KEYS
 typedef function<void(const std::vector<Data>&)> ProducerEKeyCallback;
@@ -216,7 +216,7 @@
   Link m_keyRetrievalLink;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_PRODUCER_HPP
+#endif // NDN_NAC_PRODUCER_HPP
diff --git a/src/repetitive-interval.cpp b/src/repetitive-interval.cpp
index fbbe0a9..9815aa5 100644
--- a/src/repetitive-interval.cpp
+++ b/src/repetitive-interval.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -26,7 +26,7 @@
 #include <boost/date_time/posix_time/posix_time.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 static const TimeStamp DEFAULT_TIME = boost::posix_time::from_iso_string("14000101T000000");
 
@@ -282,5 +282,5 @@
   return (static_cast<size_t>(m_unit) < static_cast<size_t>(interval.getRepeatUnit()));
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/repetitive-interval.hpp b/src/repetitive-interval.hpp
index de9b63c..4400f05 100644
--- a/src/repetitive-interval.hpp
+++ b/src/repetitive-interval.hpp
@@ -2,31 +2,31 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_REPETITIVE_INTERVAL_HPP
-#define NDN_GEP_REPETITIVE_INTERVAL_HPP
+#ifndef NDN_NAC_REPETITIVE_INTERVAL_HPP
+#define NDN_NAC_REPETITIVE_INTERVAL_HPP
 
 #include "common.hpp"
 #include "interval.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 ///@brief An advanced interval which can have a repeat pattern and repeat unit
 class RepetitiveInterval
@@ -140,7 +140,7 @@
   mutable Block m_wire;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_REPETITIVE_INTERVAL_HPP
+#endif // NDN_NAC_REPETITIVE_INTERVAL_HPP
diff --git a/src/schedule.cpp b/src/schedule.cpp
index 797467a..0fd78f6 100644
--- a/src/schedule.cpp
+++ b/src/schedule.cpp
@@ -2,19 +2,19 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
@@ -26,7 +26,7 @@
 #include <ndn-cxx/util/concepts.hpp>
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 /**
  * @brief Helper functon to calculate black interval results or white interval results
@@ -210,5 +210,5 @@
   }
 }
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
diff --git a/src/schedule.hpp b/src/schedule.hpp
index a919767..d13c93a 100644
--- a/src/schedule.hpp
+++ b/src/schedule.hpp
@@ -2,31 +2,31 @@
 /**
  * Copyright (c) 2014-2018, Regents of the University of California
  *
- * This file is part of ndn-group-encrypt (Group-based Encryption Protocol for NDN).
- * See AUTHORS.md for complete list of ndn-group-encrypt authors and contributors.
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
  *
- * ndn-group-encrypt is free software: you can redistribute it and/or modify it under the terms
+ * NAC 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 3 of the License, or (at your option) any later version.
  *
- * ndn-group-encrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
+ * NAC 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
- * ndn-group-encrypt, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
  *
  * @author Zhiyi Zhang <zhiyi@cs.ucla.edu>
  */
 
-#ifndef NDN_GEP_SCHEDULE_HPP
-#define NDN_GEP_SCHEDULE_HPP
+#ifndef NDN_NAC_SCHEDULE_HPP
+#define NDN_NAC_SCHEDULE_HPP
 
 #include "common.hpp"
 #include "repetitive-interval.hpp"
 
 namespace ndn {
-namespace gep {
+namespace nac {
 
 /**
  * @brief Schedule is used to manage the time, which contains two sets of RepetitiveIntervals
@@ -39,7 +39,8 @@
 public:
   Schedule();
 
-  explicit Schedule(const Block& block);
+  explicit
+  Schedule(const Block& block);
 
 public:
   template<encoding::Tag TAG>
@@ -78,7 +79,7 @@
   mutable Block m_wire;
 };
 
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_SCHEDULE_HPP
+#endif // NDN_NAC_SCHEDULE_HPP
diff --git a/src/tlv.hpp b/src/tlv.hpp
index 26444ac..6aae9a1 100644
--- a/src/tlv.hpp
+++ b/src/tlv.hpp
@@ -1,29 +1,27 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
 /**
-* Copyright (c) 2013-2014 Regents of the University of California.
-*
-* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
-*
-* ndn-cxx library is free software: you can redistribute it and/or modify it under the
-* terms of the GNU Lesser General Public License as published by the Free Software
-* Foundation, either version 3 of the License, or (at your option) any later version.
-*
-* ndn-cxx library 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 Lesser General Public License for more details.
-*
-* You should have received copies of the GNU General Public License and GNU Lesser
-* General Public License along with ndn-cxx, e.g., in COPYING.md file.  If not, see
-* <http://www.gnu.org/licenses/>.
-*
-* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
-*/
+ * Copyright (c) 2014-2018, Regents of the University of California
+ *
+ * This file is part of NAC (Name-Based Access Control for NDN).
+ * See AUTHORS.md for complete list of NAC authors and contributors.
+ *
+ * NAC 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 3 of the License, or (at your option) any later version.
+ *
+ * NAC 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
+ * NAC, e.g., in COPYING.md file.  If not, see <http://www.gnu.org/licenses/>.
+ */
 
-#ifndef NDN_GEP_TLV_HPP
-#define NDN_GEP_TLV_HPP
+#ifndef NDN_NAC_TLV_HPP
+#define NDN_NAC_TLV_HPP
 
 namespace ndn {
-namespace gep {
+namespace nac {
 namespace tlv {
 
 enum {
@@ -55,7 +53,7 @@
 };
 
 } // namespace tlv
-} // namespace gep
+} // namespace nac
 } // namespace ndn
 
-#endif // NDN_GEP_TLV_HPP
+#endif // NDN_NAC_TLV_HPP