user auth patches

Ralf Habacker ralf.habacker at freenet.de
Thu Jun 14 00:26:31 PDT 2007


Ralf Habacker schrieb:
> Havoc Pennington schrieb:
>> Hi,
>>
>> abstract the user auth a bit more and allow there to be no unix user.
>>
>> The Windows port is broken for the moment, but it should now be possible
>> to delete all the code for emulating dbus_uid_t/dbus_gid_t on Windows.
>> If it isn't let me know where it's still needed.
> dbus-sysdeps-unix.h should not be included in windows, but it is 
> included in dbus-userdb.c and dbus-userdb-util.c. Should these files 
> are completly removed from the windows build ?
>
If I do so, I have to readd the following structs to dbus-sysdeps-win.h

typedef struct {
    int uid;
    char *username;
    int n_group_ids;
    dbus_gid_t *group_ids;
    int primary_gid;
    char *homedir;
} DBusUserInfo;

typedef struct {
    int gid;
    char *groupname;
} DBusGroupInfo;

typedef struct DBusCredentials{
    int uid;
    int gid;
    int pid;
} DBusCredentials;


libdbus could the be build, bus dbus-daemon complains about many missing 
symbols (see below) Should they all have to be ported ? Why need I _unix 
functions on windows ?  Are there portable functions, which could be 
used by unix and windows to avoid duplicating code ?  I thought that 
files like config-parser.c and dbus-transport.c  should only use 
platform independent abstractions.

------ Erstellen gestartet: Projekt: dbus-daemon, Konfiguration: Debug 
Win32 ------
Verknüpfen...
config-parser.obj : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_parse_unix_group_from_config" in Funktion 
"_start_busconfig_child".
config-parser.obj : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_parse_unix_user_from_config" in Funktion 
"_start_busconfig_child".
connection.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__dbus_unix_groups_from_uid" in Funktion 
"_bus_connection_get_unix_groups".
policy.obj : error LNK2001: Nicht aufgelöstes externes Symbol 
"__dbus_unix_groups_from_uid".
policy.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__dbus_unix_user_is_at_console" in Funktion 
"_bus_policy_create_client_policy".
policy.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__dbus_unix_user_is_process_owner" in Funktion 
"_bus_policy_allow_unix_user".
policy.obj : error LNK2019: Verweis auf nicht aufgelöstes externes 
Symbol "__dbus_windows_user_is_process_owner" in Funktion 
"_bus_policy_allow_windows_user".
dbus-1.lib(dbus-threads.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__dbus_lock_system_users".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_unref" in Funktion 
"__dbus_transport_init_base".
dbus-1.lib(dbus-auth.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__dbus_credentials_unref".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_new" in Funktion 
"__dbus_transport_init_base".
dbus-1.lib(dbus-auth.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__dbus_credentials_new".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_include" in Funktion 
"__dbus_transport_get_is_authenticated".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_get_unix_uid" in 
Funktion "_auth_via_unix_user_function".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_get_windows_sid" in 
Funktion "_auth_via_windows_user_function".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_same_user" in Funktion 
"_auth_via_default_rules".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol 
"__dbus_credentials_new_from_current_process" in Funktion 
"_auth_via_default_rules".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_are_anonymous" in 
Funktion "__dbus_transport_get_is_anonymous".
dbus-1.lib(dbus-auth.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__dbus_credentials_are_anonymous".
dbus-1.lib(dbus-transport.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_credentials_get_unix_pid" in 
Funktion "__dbus_transport_get_unix_process_id".
dbus-1.lib(dbus-transport-socket.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_read_credentials_socket" in Funktion 
"_exchange_credentials".
dbus-1.lib(dbus-transport-socket.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_send_credentials_socket" in Funktion 
"_exchange_credentials".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_add_from_username" in Funktion 
"_sha1_handle_first_client_response".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_add_credential" in Funktion 
"_sha1_handle_second_client_response".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_add_credentials" in Funktion 
"_sha1_handle_second_client_response".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_username_from_current_process" in Funktion 
"_handle_client_initial_response_cookie_sha1_mech".
dbus-1.lib(dbus-keyring.obj) : error LNK2001: Nicht aufgelöstes externes 
Symbol "__dbus_username_from_current_process".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_are_superset" in Funktion 
"_handle_server_data_external_mech".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_parse_and_add_desired" in Funktion 
"_handle_server_data_external_mech".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_clear" in Funktion 
"_handle_server_data_external_mech".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_append_desired_identity" in Funktion 
"_handle_client_initial_response_external_mech".
dbus-1.lib(dbus-auth.obj) : error LNK2019: Verweis auf nicht aufgelöstes 
externes Symbol "__dbus_credentials_are_empty" in Funktion 
"__dbus_auth_get_identity".
dbus-1.lib(dbus-keyring.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_homedir_from_username" in Funktion 
"__dbus_keyring_new_homedir".
dbus-1.lib(dbus-keyring.obj) : error LNK2019: Verweis auf nicht 
aufgelöstes externes Symbol "__dbus_homedir_from_current_process" in 
Funktion "__dbus_keyring_new_homedir".
F:\daten\windbus\cvs-commit-3-msvc-build\bin\Debug\dbus-daemon.exe : 
fatal error LNK1120: 29 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter 
"file://f:\daten\windbus\cvs-commit-3-msvc-build\bus\dbus-daemon.dir\Debug\BuildLog.htm" 
gespeichert.
dbus-daemon - 35 Fehler, 0 Warnung(en)


Ralf



More information about the dbus mailing list