p_sys->session.b_handshaked = false;
- const char *homedir = obj->p_libvlc->psz_datadir,
- *datadir = config_GetDataDir ();
- size_t l1 = strlen (homedir), l2 = strlen (datadir);
- char path[((l1 > l2) ? l1 : l2) + sizeof ("/ca-certificates.crt")];
- // > sizeof ("/ssl/private")
- // > sizeof ("/ssl/certs")
-
i_val = gnutls_certificate_allocate_credentials (&p_sys->x509_cred);
if (i_val != 0)
{
goto error;
}
- sprintf (path, "%s/ssl", homedir);
- utf8_mkdir (path, 0755);
-
- sprintf (path, "%s/ssl/certs", homedir);
- gnutls_Addx509Directory (VLC_OBJECT (p_session),
- p_sys->x509_cred, path, false);
+ char *userdir = config_GetUserDataDir ();
+ if (userdir != NULL)
+ {
+ char path[strlen (userdir) + sizeof ("/ssl/private")];
+ sprintf (path, "%s/ssl", userdir);
+ utf8_mkdir (path, 0755);
+
+ sprintf (path, "%s/ssl/certs", userdir);
+ gnutls_Addx509Directory (VLC_OBJECT (p_session),
+ p_sys->x509_cred, path, false);
+ sprintf (path, "%s/ssl/private", userdir);
+ gnutls_Addx509Directory (VLC_OBJECT (p_session), p_sys->x509_cred,
+ path, true);
+ free (userdir);
+ }
- sprintf (path, "%s/ca-certificates.crt", datadir);
- gnutls_Addx509File (VLC_OBJECT (p_session),
- p_sys->x509_cred, path, false);
+ const char *datadir = config_GetDataDir ();
+ {
+ char path[strlen (datadir) + sizeof ("/ca-certificates.crt")];
+ sprintf (path, "%s/ca-certificates.crt", datadir);
+ gnutls_Addx509File (VLC_OBJECT (p_session),
+ p_sys->x509_cred, path, false);
+ }
p_session->pf_handshake = gnutls_HandshakeAndValidate;
/*p_session->pf_handshake = gnutls_ContinueHandshake;*/
- sprintf (path, "%s/ssl/private", homedir);
- gnutls_Addx509Directory (VLC_OBJECT (p_session), p_sys->x509_cred,
- path, true);
-
i_val = gnutls_init (&p_sys->session.session, GNUTLS_CLIENT);
if (i_val != 0)
{
}
int vlclua_configdir( lua_State *L )
{
- lua_pushstring( L, vlclua_get_this( L )->p_libvlc->psz_configdir );
+ char *dir = config_GetConfigDir();
+ lua_pushstring( L, dir );
+ free( dir );
return 1;
}
int vlclua_cachedir( lua_State *L )
{
- lua_pushstring( L, vlclua_get_this( L )->p_libvlc->psz_cachedir );
+ char *dir = config_GetCacheDir();
+ lua_pushstring( L, dir );
+ free( dir );
return 1;
}
int vlclua_datadir_list( lua_State *L )
char **ppsz_dir_list )
{
int i = 0;
+ char *datadir = config_GetUserDataDir();
+ if( datadir == NULL )
+ return VLC_ENOMEM;
+
if( asprintf( &ppsz_dir_list[i], "%s" DIR_SEP "lua" DIR_SEP "%s",
- p_this->p_libvlc->psz_datadir, luadirname ) < 0 )
+ datadir, luadirname ) < 0 )
+ {
+ free( datadir );
return VLC_ENOMEM;
+ }
+ free( datadir );
i++;
# if defined(__APPLE__) || defined(SYS_BEOS) || defined(WIN32)