Revert library versioning 82/119782/2 accepted/tizen/common/20170320.174055 accepted/tizen/ivi/20170320.222038 accepted/tizen/mobile/20170320.221940 accepted/tizen/tv/20170320.222003 accepted/tizen/unified/20170320.222058 accepted/tizen/wearable/20170320.222021 submit/tizen/20170320.093323
authorSunmin Lee <sunm.lee@samsung.com>
Thu, 16 Mar 2017 02:36:57 +0000 (11:36 +0900)
committerSunmin Lee <sunm.lee@samsung.com>
Mon, 20 Mar 2017 06:13:34 +0000 (15:13 +0900)
libtzplatform-config has too many dependency issues.
The change of library version even needs many packages
to be built manually.
So, this solution is not acceptable now.

- Revert "Get library version from meta package"
- Revert "Deprecate signup validation"

Change-Id: Ie99a6503b2303bcaa0769e4ac93263a76b659689

configure.ac
packaging/tizen-platform-config.spec
src/Makefile.am
src/global-api.c
src/shared-api.c
src/shared-api.h

index 56b2811..4acc6fc 100644 (file)
@@ -11,8 +11,8 @@ AC_PROG_CC
 AM_PROG_AR
 LT_INIT([disable-static])
 
-AC_SUBST([LIBTZPLATFORM_CONFIG_SO_VERSION], [$(cat /etc/libtzplatform-config.version | egrep -v "#")])
-AC_SUBST([LIBTZPLATFORM_CONFIG_VERSION], [3.0])
+AC_SUBST([LIBTZPLATFORM_CONFIG_SO_VERSION], [2:0:0])
+AC_SUBST([LIBTZPLATFORM_CONFIG_VERSION], [2.0])
 
 AC_CONFIG_FILES([
 Makefile
index 488dd7a..7583841 100644 (file)
@@ -14,7 +14,7 @@ Source1001:     %{name}.manifest
 Source1002:     201.tizen-platform-config_upgrade.sh
 Source2001:     200.filesystem-pre.patch.sh
 Source2002:     799.filesystem-post.patch.sh
-BuildRequires:  tizen-platform-config-meta >= 1.3
+BuildRequires:  tizen-platform-config-meta
 BuildRequires:  gperf
 # for sha256sum
 BuildRequires:  coreutils
index f532812..c4223da 100644 (file)
@@ -40,6 +40,7 @@ SRC_TOOL = \
 
 SRC_FROMTOOL= \
        tzplatform_variables.h \
+       signup.inc \
        hash.inc
 
 libtzplatform_config_@LIBTZPLATFORM_CONFIG_VERSION@_la_CFLAGS = -fPIC
@@ -60,6 +61,9 @@ tzplatform_variables.h: tizen-platform.conf tzplatform-tool
 hash.inc: tizen-platform.conf tzplatform-tool
        ./tzplatform-tool c $< >$@
 
+signup.inc: tizen-platform.conf tzplatform-tool
+       ./tzplatform-tool signup $< >$@
+
 libtzplatform_config_@LIBTZPLATFORM_CONFIG_VERSION@_la_LDFLAGS = -version-info $(LIBTZPLATFORM_CONFIG_SO_VERSION)
 libtzplatform_config_@LIBTZPLATFORM_CONFIG_VERSION@_la_LDFLAGS += -Wl,--version-script=tzplatform_config.sym
 libtzplatform_config_@LIBTZPLATFORM_CONFIG_VERSION@_la_LDFLAGS += -Wl,-O3
index 2639097..f54410f 100644 (file)
@@ -34,6 +34,8 @@
 #include "shared-api.h"
 #include "isadmin.h"
 
+#include "signup.inc"
+
 int tzplatform_getcount()
 {
     return _TZPLATFORM_VARIABLES_COUNT_;
@@ -41,92 +43,92 @@ int tzplatform_getcount()
 
 const char* tzplatform_getname(enum tzplatform_variable id)
 {
-    return _getname_tzplatform_(id);
+    return _getname_tzplatform_(id, tizen_platform_config_signup);
 }
 
 enum tzplatform_variable tzplatform_getid(const char *name)
 {
-    return _getid_tzplatform_(name);
+    return _getid_tzplatform_(name, tizen_platform_config_signup);
 }
 
 const char* tzplatform_getenv(enum tzplatform_variable id) 
 {
-    return _getenv_tzplatform_(id);
+    return _getenv_tzplatform_(id, tizen_platform_config_signup);
 }
 
 const char* tzplatform_context_getenv(struct tzplatform_context *context, enum tzplatform_variable id)
 {
-    return _context_getenv_tzplatform_(id, context);
+    return _context_getenv_tzplatform_(id, tizen_platform_config_signup, context);
 }
 
 int tzplatform_getenv_int(enum tzplatform_variable id)
 {
-    return _getenv_int_tzplatform_(id);
+    return _getenv_int_tzplatform_(id, tizen_platform_config_signup);
 }
 
 int tzplatform_context_getenv_int(struct tzplatform_context *context, enum tzplatform_variable id)
 {
-    return _context_getenv_int_tzplatform_(id, context);
+    return _context_getenv_int_tzplatform_(id, tizen_platform_config_signup, context);
 }
 
 const char* tzplatform_mkstr(enum tzplatform_variable id, const char * str)
 {
-    return _mkstr_tzplatform_(id, str);
+    return _mkstr_tzplatform_(id, str, tizen_platform_config_signup);
 }
 
 const char* tzplatform_context_mkstr(struct tzplatform_context *context, enum tzplatform_variable id, const char *str)
 {
-    return _context_mkstr_tzplatform_(id, str, context);
+    return _context_mkstr_tzplatform_(id, str, tizen_platform_config_signup, context);
 }
 
 const char* tzplatform_mkpath(enum tzplatform_variable id, const char * path)
 {
-    return _mkpath_tzplatform_(id, path);
+    return _mkpath_tzplatform_(id, path, tizen_platform_config_signup);
 }
 
 const char* tzplatform_context_mkpath(struct tzplatform_context *context, enum tzplatform_variable id, const char *path)
 {
-    return _context_mkpath_tzplatform_(id, path, context);
+    return _context_mkpath_tzplatform_(id, path, tizen_platform_config_signup, context);
 }
 
 const char* tzplatform_mkpath3(enum tzplatform_variable id, const char * path, const char* path2)
 {
-    return _mkpath3_tzplatform_(id, path, path2);
+    return _mkpath3_tzplatform_(id, path, path2, tizen_platform_config_signup);
 }
 
 const char* tzplatform_context_mkpath3(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2)
 {
-    return _context_mkpath3_tzplatform_(id, path, path2, context);
+    return _context_mkpath3_tzplatform_(id, path, path2, tizen_platform_config_signup, context);
 }
 
 const char* tzplatform_mkpath4(enum tzplatform_variable id, const char * path, const char* path2, const char *path3)
 {
-    return _mkpath4_tzplatform_(id, path, path2, path3);
+    return _mkpath4_tzplatform_(id, path, path2, path3, tizen_platform_config_signup);
 }
 
 const char* tzplatform_context_mkpath4(struct tzplatform_context *context, enum tzplatform_variable id, const char *path, const char *path2, const char *path3)
 {
-    return _context_mkpath4_tzplatform_(id, path, path2, path3, context);
+    return _context_mkpath4_tzplatform_(id, path, path2, path3, tizen_platform_config_signup, context);
 }
 
 uid_t tzplatform_getuid(enum tzplatform_variable id)
 {
-    return _getuid_tzplatform_(id);
+    return _getuid_tzplatform_(id, tizen_platform_config_signup);
 }
 
 uid_t tzplatform_context_getuid(struct tzplatform_context *context, enum tzplatform_variable id)
 {
-    return _context_getuid_tzplatform_(id, context);
+    return _context_getuid_tzplatform_(id, tizen_platform_config_signup, context);
 }
 
 gid_t tzplatform_getgid(enum tzplatform_variable id)
 {
-    return _getgid_tzplatform_(id);
+    return _getgid_tzplatform_(id, tizen_platform_config_signup);
 }
 
 gid_t tzplatform_context_getgid(struct tzplatform_context *context, enum tzplatform_variable id)
 {
-    return _context_getgid_tzplatform_(id, context);
+    return _context_getgid_tzplatform_(id, tizen_platform_config_signup, context);
 }
 
 int tzplatform_has_system_group(uid_t uid)
index 801b6b7..742e69a 100644 (file)
@@ -58,10 +58,25 @@ static struct tzplatform_context global_context = {
     .user = _USER_NOT_SET_
 };
 
-/*
- * Tizen 4.0: signup validation is deprecated
- *  version matching will be conducted by numbering of so version
- */
+/* the signup of names */
+#include "signup.inc"
+
+/* validate the signup */
+static void validate_signup(char signup[33])
+{
+    if (memcmp(signup+1, tizen_platform_config_signup+1, 32)) {
+        syslog(LOG_CRIT, "Bad signup of the client of tizen-platform-config");
+        abort();
+    }
+    signup[0] = 1;
+}
+
+/* check the signup */
+static inline void check_signup(char signup[33])
+{
+    if (!signup[0])
+        validate_signup(signup);
+}
 
 /* locks the context */
 inline static void lock(struct tzplatform_context *context)
@@ -135,7 +150,7 @@ void tzplatform_context_reset(struct tzplatform_context *context)
     unlock( context);
 }
 
-uid_t tzplatform_get_user(void)
+uid_t tzplatform_get_user(char signup[33])
 {
     return tzplatform_context_get_user( &global_context);
 }
@@ -188,26 +203,29 @@ int tzplatform_context_set_user(struct tzplatform_context *context, uid_t uid)
 
 /*************** PUBLIC INTERNAL API begins here **************/
 
-const char* _getname_tzplatform_(int id)
+const char* _getname_tzplatform_(int id, char signup[33])
 {
+    check_signup(signup);
     return 0 <= id && id < _TZPLATFORM_VARIABLES_COUNT_ ? keyname(id) : NULL;
 }
 
-int _getid_tzplatform_(const char *name)
+int _getid_tzplatform_(const char *name, char signup[33])
 {
+    check_signup(signup);
     return hashid(name, strlen(name));
 }
 
-const char* _getenv_tzplatform_(int id)
+const char* _getenv_tzplatform_(int id, char signup[33]) 
 {
-    return _context_getenv_tzplatform_(id, &global_context);
+    return _context_getenv_tzplatform_(id, signup, &global_context);
 }
 
-const char* _context_getenv_tzplatform_(int id, struct tzplatform_context *context)
+const char* _context_getenv_tzplatform_(int id, char signup[33], struct tzplatform_context *context)
 {
     const char *array[2];
     const char *result;
 
+    check_signup(signup);
     result = get_lock(id, context);
     if (result != NULL) {
         array[0] = result;
@@ -218,32 +236,34 @@ const char* _context_getenv_tzplatform_(int id, struct tzplatform_context *conte
     return result;
 }
 
-int _getenv_int_tzplatform_(int id)
+int _getenv_int_tzplatform_(int id, char signup[33])
 {
-    return _context_getenv_int_tzplatform_(id, &global_context);
+    return _context_getenv_int_tzplatform_(id, signup, &global_context);
 }
 
-int _context_getenv_int_tzplatform_(int id, struct tzplatform_context *context)
+int _context_getenv_int_tzplatform_(int id, char signup[33], struct tzplatform_context *context)
 {
     const char *value;
     int result;
 
+    check_signup(signup);
     value = get_lock(id, context);
     result = value==NULL ? -1 : atoi(value);
     unlock( context);
     return result;
 }
 
-const char* _mkstr_tzplatform_(int id, const char * str)
+const char* _mkstr_tzplatform_(int id, const char * str, char signup[33])
 {
-    return _context_mkstr_tzplatform_(id, str, &global_context);
+    return _context_mkstr_tzplatform_(id, str, signup,  &global_context);
 }
 
-const char* _context_mkstr_tzplatform_(int id, const char *str, struct tzplatform_context *context)
+const char* _context_mkstr_tzplatform_(int id, const char *str, char signup[33], struct tzplatform_context *context)
 {
     const char *array[3];
     const char *result;
 
+    check_signup(signup);
     result = get_lock(id, context);
     if (result != NULL) {
         array[0] = result;
@@ -255,16 +275,17 @@ const char* _context_mkstr_tzplatform_(int id, const char *str, struct tzplatfor
     return result;
 }
 
-const char* _mkpath_tzplatform_(int id, const char * path)
+const char* _mkpath_tzplatform_(int id, const char * path, char signup[33])
 {
-    return _context_mkpath_tzplatform_(id, path, &global_context);
+    return _context_mkpath_tzplatform_(id, path, signup,  &global_context);
 }
 
-const char* _context_mkpath_tzplatform_(int id, const char *path, struct tzplatform_context *context)
+const char* _context_mkpath_tzplatform_(int id, const char *path, char signup[33], struct tzplatform_context *context)
 {
     const char *array[3];
     const char *result;
 
+    check_signup(signup);
     result = get_lock(id, context);
     if (result != NULL) {
         array[0] = result;
@@ -276,16 +297,17 @@ const char* _context_mkpath_tzplatform_(int id, const char *path, struct tzplatf
     return result;
 }
 
-const char* _mkpath3_tzplatform_(int id, const char * path, const char* path2)
+const char* _mkpath3_tzplatform_(int id, const char * path, const char* path2, char signup[33])
 {
-    return _context_mkpath3_tzplatform_( id, path, path2, &global_context);
+    return _context_mkpath3_tzplatform_( id, path, path2, signup,  &global_context);
 }
 
-const char* _context_mkpath3_tzplatform_(int id, const char *path, const char *path2, struct tzplatform_context *context)
+const char* _context_mkpath3_tzplatform_(int id, const char *path, const char *path2, char signup[33], struct tzplatform_context *context)
 {
     const char *array[4];
     const char *result;
 
+    check_signup(signup);
     result = get_lock(id, context);
     if (result != NULL) {
         array[0] = result;
@@ -298,16 +320,17 @@ const char* _context_mkpath3_tzplatform_(int id, const char *path, const char *p
     return result;
 }
 
-const char* _mkpath4_tzplatform_(int id, const char * path, const char* path2, const char *path3)
+const char* _mkpath4_tzplatform_(int id, const char * path, const char* path2, const char *path3, char signup[33])
 {
-    return _context_mkpath4_tzplatform_( id, path, path2, path3, &global_context);
+    return _context_mkpath4_tzplatform_( id, path, path2, path3, signup,  &global_context);
 }
 
-const char* _context_mkpath4_tzplatform_(int id, const char *path, const char *path2, const char *path3, struct tzplatform_context *context)
+const char* _context_mkpath4_tzplatform_(int id, const char *path, const char *path2, const char *path3, char signup[33], struct tzplatform_context *context)
 {
     const char *array[5];
     const char *result;
 
+    check_signup(signup);
     result = get_lock(id, context);
     if (result != NULL) {
         array[0] = result;
@@ -321,16 +344,17 @@ const char* _context_mkpath4_tzplatform_(int id, const char *path, const char *p
     return result;
 }
 
-uid_t _getuid_tzplatform_(int id)
+uid_t _getuid_tzplatform_(int id, char signup[33])
 {
-    return _context_getuid_tzplatform_( id, &global_context);
+    return _context_getuid_tzplatform_( id, signup,  &global_context);
 }
 
-uid_t _context_getuid_tzplatform_(int id, struct tzplatform_context *context)
+uid_t _context_getuid_tzplatform_(int id, char signup[33], struct tzplatform_context *context)
 {
     uid_t result;
     const char *value;
 
+    check_signup(signup);
     result = (uid_t)-1;
     value = get_lock(id, context);
     if (value != NULL) {
@@ -340,16 +364,17 @@ uid_t _context_getuid_tzplatform_(int id, struct tzplatform_context *context)
     return result;
 }
 
-gid_t _getgid_tzplatform_(int id)
+gid_t _getgid_tzplatform_(int id, char signup[33])
 {
-    return _context_getgid_tzplatform_( id, &global_context);
+    return _context_getgid_tzplatform_( id, signup,  &global_context);
 }
 
-gid_t _context_getgid_tzplatform_(int id, struct tzplatform_context *context)
+gid_t _context_getgid_tzplatform_(int id, char signup[33], struct tzplatform_context *context)
 {
     gid_t result;
     const char *value;
 
+    check_signup(signup);
     result = (uid_t)-1;
     value = get_lock(id, context);
     if (value != NULL) {
index a8801e6..8735026 100644 (file)
 #ifndef SHARED_API_H
 #define SHARED_API_H
 
-extern const char* _getname_tzplatform_(int id);
-extern int _getid_tzplatform_(const char *name);
-extern const char* _getenv_tzplatform_(int id) ;
-extern const char* _context_getenv_tzplatform_(int id, struct tzplatform_context *context);
-extern int _getenv_int_tzplatform_(int id);
-extern int _context_getenv_int_tzplatform_(int id, struct tzplatform_context *context);
-extern const char* _mkstr_tzplatform_(int id, const char * str);
-extern const char* _context_mkstr_tzplatform_(int id, const char *str, struct tzplatform_context *context);
-extern const char* _mkpath_tzplatform_(int id, const char * path);
-extern const char* _context_mkpath_tzplatform_(int id, const char *path, struct tzplatform_context *context);
-extern const char* _mkpath3_tzplatform_(int id, const char * path, const char* path2);
-extern const char* _context_mkpath3_tzplatform_(int id, const char *path, const char *path2, struct tzplatform_context *context);
-extern const char* _mkpath4_tzplatform_(int id, const char * path, const char* path2, const char *path3);
-extern const char* _context_mkpath4_tzplatform_(int id, const char *path, const char *path2, const char *path3, struct tzplatform_context *context);
-extern uid_t _getuid_tzplatform_(int id);
-extern uid_t _context_getuid_tzplatform_(int id, struct tzplatform_context *context);
-extern gid_t _getgid_tzplatform_(int id);
-extern gid_t _context_getgid_tzplatform_(int id, struct tzplatform_context *context);
+extern const char* _getname_tzplatform_(int id, char signup[33]);
+extern int _getid_tzplatform_(const char *name, char signup[33]);
+extern const char* _getenv_tzplatform_(int id, char signup[33]) ;
+extern const char* _context_getenv_tzplatform_(int id, char signup[33], struct tzplatform_context *context);
+extern int _getenv_int_tzplatform_(int id, char signup[33]);
+extern int _context_getenv_int_tzplatform_(int id, char signup[33], struct tzplatform_context *context);
+extern const char* _mkstr_tzplatform_(int id, const char * str, char signup[33]);
+extern const char* _context_mkstr_tzplatform_(int id, const char *str, char signup[33], struct tzplatform_context *context);
+extern const char* _mkpath_tzplatform_(int id, const char * path, char signup[33]);
+extern const char* _context_mkpath_tzplatform_(int id, const char *path, char signup[33], struct tzplatform_context *context);
+extern const char* _mkpath3_tzplatform_(int id, const char * path, const char* path2, char signup[33]);
+extern const char* _context_mkpath3_tzplatform_(int id, const char *path, const char *path2, char signup[33], struct tzplatform_context *context);
+extern const char* _mkpath4_tzplatform_(int id, const char * path, const char* path2, const char *path3, char signup[33]);
+extern const char* _context_mkpath4_tzplatform_(int id, const char *path, const char *path2, const char *path3, char signup[33], struct tzplatform_context *context);
+extern uid_t _getuid_tzplatform_(int id, char signup[33]);
+extern uid_t _context_getuid_tzplatform_(int id, char signup[33], struct tzplatform_context *context);
+extern gid_t _getgid_tzplatform_(int id, char signup[33]);
+extern gid_t _context_getgid_tzplatform_(int id, char signup[33], struct tzplatform_context *context);
 
 #endif