April 26th, 2001

  • cryo

adding a flag for 'type' of lj

While reading a thread here, it became evident that this has probably been brought up before, but I'm going to bring it up again.

There should probably be a flag type for a journal that the creator sets. Suggestions are:

bits or dropdowns:
[open] - no restrictions (default)
[adult] - content contains adult material and should reject anyone whose birthday (yes this can be faked, but still..) is below 18.
[nudity] - content can contain potential nudity
[explicit language] - contains potentially vulgar language and situations
[cryo] - abandon all hope ye who enter here

along with subsequent icons representing this when, for example showing a community
([user icon] username (posting in [user icon?] community)

the 2nd user icon doesn't really make sense for a community, and would be a perfect place
for a 'rating'.

This would help prevent certain 'lj abuse' issues that have occurred, as well as protecting lj with a self-governing rating system that is optional for people to participate in.
  • jnala

Secure auto-login

How can auto-login be handled securely?

This is bugging me, because it occurred to me that even if we had SSL in the clients and LDAP support in the sever, I still wouldn't be able to have people use LDAP passwords for LiveJournal. The LiveJournal server doesn't know the LDAP passwords, it can only verify credentials by attempting to bind to LDAP as the user, so the client has to send it an unhashed password. But if the client stores an unhashed sensitive password in the filesystem, that's bad; if that filesystem is a network-mounted home directory, that's really bad.

I can envision this working: On first connect, the client sends an unhashed password (over SSL of course). The server verifies it against LDAP, hashes it, stores the hash, and sends back the hash. The client stores the hash in a file, and subsequently uses that hash for auto-login. For better security, the hash should be salted with a LiveJournal-specific string, so that if anyone compromises it they can only use it to get into LiveJournal and not anything else that might use a hashed LDAP password.

On the client, this requires only two changes, aside from SSL support. First, if the server uses SSL, then send an unhashed password. Second, if the server returns a new password, store that instead of the password the user typed in.

The only weakness I see is that the hash will continue to work for authentication even if the LDAP password is changed, which is probably undesirable. (Or maybe there's a way to query LDAP to find out the last modified date for a specific field?)

Does this seem reasonable? Is there a better way?
cartoon cat


Regarding this support request...

Why is there an arbitrary date set for how far back you can date an entry? I, this guy, and lots of other people plan to use livejournal to enter old diary entries and similar things that require dates far from the present. It would be nice if you could make that date at least 100 years into the past, or perpetual if possible.
  • jnala

Short manual for intranets

I'm planning to write a short manual to distribute to coworkers when I announce LiveJournal as ready for use in our department; I don't think existing documentation is suitable for our needs. I expect that when I'm done, with a little modification it'll be of use to www.livejournal.com as well.

I sketched up a brief outline of such a manual over lunch today.

  1. Introduction
    • Lightweight system for creating periodically-updated web pages
    • Useful for journals, weblogs, announcement pages, discussion boards, ...
    • "Like instant messages to the web"
    • Provides excellent facilities for tracking updates to pages
    • Provides visibility between departments or geographically separate offices
    • Gets knowledge out of people's heads, paper notes, meetings, skimmed/deleted email, and into an organized, browseable, searchable web site
  2. Getting started
    • Probably minimal discussion of account setup, since many employees will have their accounts created for them in advance
    • Mention origin of LiveJournal software; references to www.lj.com, "paid accounts", legalese, COPPA, etc may be ignored
    • How to get/change your password
    • Where to edit user info later
    • What we use "interests" for (if anything)
  3. Downloading and using the client
    • Where to get it, how to install
    • How to post, how to set visibility
    • Where your page is located
    • How to edit existing posts
  4. Friends
    • Intro: friends are used for friends view, but also affect visibility, community posting access
    • How to add friends
    • How to access friends list, or others' friends lists
    • How to find people for friends list
  5. Communities
    • Intro: community == journal where multiple people can post
    • How to make, meaning of setup options
    • How to join and watch
    • How to post (client "Select Active Journal")
    • Making comments
    • Reading comments
    • Email notification
    • Using comments effectively
    • Future improvements to comment/notification system
  7. Advanced features
    • Intro: very powerful system, much is in flux, check most recent docs
    • Styles
    • Friend groups
    • Poll system
    • What else? I'm not a power user, I don't know what to put here
  8. Common uses
    • Quick section with more details on different ways to use LJ effectively
    • Personal work journal / scribble space
    • Keeping track of other members in a project team
    • Announcements page
    • Discussion board / brainstorming space
Should probably skip the last couple of sections for my first attempt at this. Anyway, comments or suggestions, particularly of existing text that I can steal from for some of the sections, would be welcome. Thanks.
  • Current Music
    New Order - True Faith