1
0
mirror of https://github.com/haiwen/seafile-server.git synced 2025-04-27 11:10:49 +00:00

Check if env is empty string (#748)

* Check if env is empty string

* Fix ci error

* Check if env is empty string

* Fix security issue for jwt

---------

Co-authored-by: Heran Yang <heran.yang@seafile.com>
This commit is contained in:
feiniks 2025-04-01 18:22:25 +08:00 committed by GitHub
parent 490f8d431c
commit 27fc5b3197
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 19 additions and 19 deletions

View File

@ -173,7 +173,7 @@ class Libevhtp(Project):
@chdir
def compile_and_install(self):
cmds = [
'cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF',
'cmake -DEVHTP_DISABLE_SSL=ON -DEVHTP_BUILD_SHARED=OFF .',
'make',
'sudo make install',
'sudo ldconfig',

View File

@ -41,7 +41,7 @@ int
ccnet_group_manager_prepare (CcnetGroupManager *manager)
{
const char *table_name = g_getenv("SEAFILE_MYSQL_DB_GROUP_TABLE_NAME");
if (!table_name)
if (!table_name || g_strcmp0 (table_name, "") == 0)
manager->priv->table_name = g_strdup ("Group");
else
manager->priv->table_name = g_strdup (table_name);

View File

@ -42,7 +42,7 @@ load_cache_option_from_env (CacheOption *option)
redis_max_conn = g_getenv("REDIS_MAX_CONNECTIONS");
redis_expiry = g_getenv("REDIS_EXPIRY");
if (!cache_provider) {
if (!cache_provider || g_strcmp0 (cache_provider, "") == 0) {
return;
}
@ -50,21 +50,21 @@ load_cache_option_from_env (CacheOption *option)
g_free (option->cache_provider);
option->cache_provider = g_strdup (cache_provider);
}
if (redis_host) {
if (redis_host && g_strcmp0(redis_host, "") != 0) {
g_free (option->redis_host);
option->redis_host = g_strdup (redis_host);
}
if (redis_port) {
if (redis_port && g_strcmp0(redis_port, "") != 0) {
option->redis_port = atoi (redis_port);
}
if (redis_passwd) {
if (redis_passwd && g_strcmp0 (redis_passwd, "") != 0) {
g_free (option->redis_passwd);
option->redis_passwd = g_strdup (redis_passwd);
}
if (redis_max_conn) {
if (redis_max_conn && g_strcmp0 (redis_max_conn, "") != 0) {
option->redis_max_connections = atoi (redis_max_conn);
}
if (redis_expiry) {
if (redis_expiry && g_strcmp0 (redis_expiry, "") != 0) {
option->redis_expiry = atoi (redis_expiry);
}
}

View File

@ -100,26 +100,26 @@ load_db_option_from_env (DBOption *option)
env_ccnet_db = g_getenv("SEAFILE_MYSQL_DB_CCNET_DB_NAME");
env_seafile_db = g_getenv("SEAFILE_MYSQL_DB_SEAFILE_DB_NAME");
if (env_user) {
if (env_user && g_strcmp0 (env_user, "") != 0) {
g_free (option->user);
option->user = g_strdup (env_user);
}
if (env_passwd) {
if (env_passwd && g_strcmp0 (env_passwd, "") != 0) {
g_free (option->passwd);
option->passwd = g_strdup (env_passwd);
}
if (env_host) {
if (env_host && g_strcmp0 (env_host, "") != 0) {
g_free (option->host);
option->host = g_strdup (env_host);
}
if (env_ccnet_db) {
if (env_ccnet_db && g_strcmp0 (env_ccnet_db, "") != 0) {
g_free (option->ccnet_db_name);
option->ccnet_db_name = g_strdup (env_ccnet_db);
} else if (!option->ccnet_db_name) {
option->ccnet_db_name = g_strdup ("ccnet_db");
seaf_message ("Failed to read SEAFILE_MYSQL_DB_CCNET_DB_NAME, use ccnet_db by default");
}
if (env_seafile_db) {
if (env_seafile_db && g_strcmp0 (env_seafile_db, "") != 0) {
g_free (option->seafile_db_name);
option->seafile_db_name = g_strdup (env_seafile_db);
} else if (!option->seafile_db_name) {

View File

@ -6,7 +6,7 @@ require (
github.com/dgraph-io/ristretto v0.2.0
github.com/go-redis/redis/v8 v8.11.5
github.com/go-sql-driver/mysql v1.5.0
github.com/golang-jwt/jwt/v5 v5.2.1
github.com/golang-jwt/jwt/v5 v5.2.2
github.com/google/uuid v1.1.1
github.com/gorilla/mux v1.7.4
github.com/json-iterator/go v1.1.12

View File

@ -17,8 +17,8 @@ github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC
github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=

View File

@ -5,7 +5,7 @@ go 1.17
require (
github.com/dgraph-io/ristretto v0.2.0
github.com/go-sql-driver/mysql v1.5.0
github.com/golang-jwt/jwt/v5 v5.2.1
github.com/golang-jwt/jwt/v5 v5.2.2
github.com/gorilla/mux v1.8.0
github.com/gorilla/websocket v1.4.2
github.com/sirupsen/logrus v1.8.1

View File

@ -11,8 +11,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang-jwt/jwt/v5 v5.2.2 h1:Rl4B7itRWVtYIHFrSNd7vhTiz9UpLdi6gZhZ3wEeDy8=
github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=