Update CardDAV documentation with step-by-step setup guide
- Add detailed step-by-step CardDAV setup instructions - Document prerequisite for plain text password storage - Explain root_ca absolute path requirement - Add field-by-field configuration guide - Improve troubleshooting section with clear causes and solutions - Add notes about multiple accounts and auto-realm Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
edfd148ea6
commit
bcab149969
1 changed files with 44 additions and 19 deletions
63
README.md
63
README.md
|
|
@ -172,40 +172,65 @@ fc-match "Noto Color Emoji"
|
|||
# should now show: NotoColorEmoji.ttf: "Noto Color Emoji" "Regular"
|
||||
```
|
||||
|
||||
### CardDAV Synchronization Issues (Nextcloud, WebDAV servers)
|
||||
### CardDAV Setup (Nextcloud, WebDAV servers)
|
||||
|
||||
If you encounter "Synchronization error" (Synchronisierungsfehler) when using CardDAV with Nextcloud or other WebDAV servers, the problem may be related to password storage or authentication method.
|
||||
#### Step-by-Step Setup
|
||||
|
||||
#### The Problem
|
||||
1. **Prerequisite: Enable plain text password storage**
|
||||
- Go to Settings → Contacts → CardDAV → Edit any CardDAV entry
|
||||
- Enable **"Store plain text password (for HTTP Basic Auth)"**
|
||||
- This is required for Nextcloud/WebDAV servers that use HTTP Basic Authentication
|
||||
|
||||
Linphone by default stores passwords as a hashed value (HA1) instead of plain text. This works for SIP authentication (Digest Auth) but **does not work for HTTP Basic Authentication** which Nextcloud/WebDAV servers typically require.
|
||||
2. **Configure root_ca path** (important!)
|
||||
- Edit `~/.config/linphone/linphonerc`
|
||||
- In the `[sip]` section, set `root_ca` to an **absolute path**:
|
||||
```ini
|
||||
[sip]
|
||||
root_ca=/path/to/linphone/share/linphone/rootca.pem
|
||||
```
|
||||
- A relative path like `../share/linphone/rootca.pem` will NOT work!
|
||||
|
||||
When `store_ha1_passwd=1` (default), the password is hashed immediately after first use and the plain text password is deleted. On subsequent requests, the HTTP client cannot authenticate because it only has the hash, not the password needed for HTTP Basic Auth.
|
||||
3. **Add CardDAV account**
|
||||
- Go to Settings → Contacts → CardDAV
|
||||
- Click "Add CardDAV address book"
|
||||
- Fill in the fields:
|
||||
- **Display name**: Any name (e.g., "Nextcloud Contacts")
|
||||
- **Server URL**: Your CardDAV URL (e.g., `https://cloud.example.com/remote.php/dav/addressbooks/users/USERNAME/contacts/`)
|
||||
- **Username**: Your Nextcloud/WebDAV username
|
||||
- **Password**: Your password (or app password if 2FA is enabled)
|
||||
- **Realm**: Leave empty (will be auto-filled from URL host)
|
||||
- Click Save
|
||||
|
||||
#### The Solution
|
||||
4. **Verify synchronization**
|
||||
- After saving, the contacts should sync automatically
|
||||
- Check the Contacts section for your synced contacts
|
||||
|
||||
Enable plain text password storage in the CardDAV settings:
|
||||
#### Troubleshooting
|
||||
|
||||
1. Open Linphone Settings → Contacts → CardDAV
|
||||
2. Enable **"Store plain text password (for HTTP Basic Auth)"**
|
||||
- German: "Passwort im Klartext speichern (für HTTP Basic Auth)"
|
||||
**"Synchronization error" (Synchronisierungsfehler)**
|
||||
- Cause: Password is hashed instead of stored in plain text
|
||||
- Solution: Enable "Store plain text password" option (see step 1)
|
||||
|
||||
Alternatively, you can manually edit the `linphonerc` config file:
|
||||
**"SSL handshake failed: No CA Chain is set"**
|
||||
- Cause: The `root_ca` path in linphonerc is relative or invalid
|
||||
- Solution: Set an absolute path to rootca.pem (see step 2)
|
||||
|
||||
**Credentials not persisting after restart**
|
||||
- Cause: `store_ha1_passwd=1` (default) deletes passwords after first use
|
||||
- Solution: Enable plain text password storage
|
||||
|
||||
**Manual linphonerc configuration**
|
||||
```ini
|
||||
[sip]
|
||||
store_ha1_passwd=0
|
||||
root_ca=/absolute/path/to/linphone/share/linphone/rootca.pem
|
||||
```
|
||||
|
||||
**Security Note:** When this option is enabled, passwords are stored in plain text in the config file instead of being hashed. This is necessary for CardDAV/WebDAV services that use HTTP Basic Authentication.
|
||||
#### Notes
|
||||
|
||||
#### Additional Troubleshooting
|
||||
|
||||
* If you see "SSL handshake failed: No CA Chain is set", ensure the `root_ca` path in your linphonerc points to a valid certificate file with an absolute path.
|
||||
|
||||
* If credentials are not persisting after restart, make sure you have enabled plain text password storage as described above.
|
||||
|
||||
* Multiple CardDAV accounts are now supported. You can add multiple CardDAV address books in the settings.
|
||||
- Multiple CardDAV accounts are supported
|
||||
- The realm is automatically extracted from the server URL
|
||||
- For Nextcloud with 2FA, create an app password in Security settings
|
||||
|
||||
|
||||
## Specific instructions for the Mac Os X platform
|
||||
|
|
|
|||
Loading…
Reference in a new issue